با Meet eCDN On-Premises API کار کنید

این صفحه نحوه استفاده از Google Meet Enterprise Content Delivery Content (eCDN) API On-Premises برای Google Meet Live Streaming را توضیح می دهد.

راه حل API شرح داده شده در اینجا به مشتریان اجازه می دهد تا از مجموعه ویژگی های کامل Meet eCDN بدون افشای اطلاعات IP خصوصی در اختیار Google استفاده کنند. می توانید یک سرویس وب داخلی جدید در شبکه خود تعریف کنید که به جای اطلاعات آدرس IP خصوصی، یک شناسه ارسال می کند.

با نمای کلی eCDN آشنا شوید

eCDN در Meet تعبیه شده است و پس از راه‌اندازی توسط سرپرست Google Workspace، به‌طور خودکار در جریان پخش زنده شروع می‌شود. با روشن بودن Meet eCDN، بینندگان پخش جریانی زنده در یک شبکه محلی می‌توانند از طریق اشتراک‌گذاری همتا به همتا (P2P) رسانه پخش‌شده زنده را با سایر همتایان در شبکه به اشتراک بگذارند. اکثر دستگاه‌ها رسانه پخش‌شده زنده را از همتایان نزدیک دریافت می‌کنند و نیازی به دریافت آن از سرورهای Google ندارند. این باعث کاهش کل پهنای باند استفاده شده توسط بینندگان می شود. برای اطلاعات بیشتر درباره راه‌اندازی و استفاده از Meet eCDN، به میزبانی جریان‌های زنده بزرگ مراجعه کنید.

eCDN از بینندگان Meet Live Streaming می‌خواهد که در گروه‌های همتای مرتب شوند. یک گروه همتا مجموعه ای از گره ها است که مجاز به اشتراک گذاری رسانه با یکدیگر هستند. دستگاه‌های موجود در یک گروه همتا یا مجاز به همتا کردن هستند یا از همتا کردن مسدود می‌شوند. دستگاه‌های مجاز فقط می‌توانند به دستگاه‌های دیگر در همان گروه همتا متصل شوند. برای اطلاعات بیشتر درباره گروه‌های همتا، قبل از شروع میزبانی جریان‌های زنده بزرگ را ببینید.

زمان استفاده از API

eCDN می‌تواند گروه‌های همتا را با استفاده از چندین خط‌مشی مشابه تشکیل دهد: random ، subnet یا custom rules . دومی جدولی از محدوده های شبکه خصوصی را با سرور ردیاب eCDN Google به اشتراک می گذارد تا آدرس های IP خصوصی هر گره همتا را به یک گروه همتا ترسیم کند. خط مشی custom rules راه حل ترجیحی است و در اکثر محیط های تولید مناسب است.

با این حال، خط مشی custom rules شما را ملزم می کند که بخش بزرگی از ساختار شبکه خصوصی خود را با Google به اشتراک بگذارید. علاوه بر این، تک تک کاربران آدرس های IP خصوصی شناسایی شده محلی خود را هنگام استفاده از eCDN در معرض Google قرار می دهند. برای برخی از سازمان‌ها، دستورالعمل‌های امنیتی آنها ممکن است اجازه اشتراک‌گذاری اطلاعات IP خصوصی را ندهد.

با Meet eCDN On-Premises API توسعه دهید

Meet eCDN On-Premises API مشخصات سرور وب را ارائه می دهد که می توانید آن را به صورت محلی در شبکه سازمان خود اجرا و میزبانی کنید. می‌توانید یک سرویس وب سفارشی که با API سازگار است بسازید تا همه وظایف وابسته به اطلاعات IP خصوصی را انجام دهد تا اطلاعات با Google به اشتراک گذاشته نشود.

API شامل دو مرحله حیاتی برای تطبیق آدرس‌های IP خصوصی است که معمولاً توسط سرور ردیاب eCDN مدیریت می‌شود: نشانی‌های IP خصوصی را به یک گروه همتا نقشه‌برداری می‌کند و پروتکل شرح جلسه (SDP) مبادله داده پیشنهادی-پاسخ در طول سیگنال‌دهی WebRTC.

پس از تکمیل وب سرویس، باید کنسول Admin را به گونه ای پیکربندی کنید که از خط مشی همتاسازی On-premises service استفاده کند و نشانی وب سرویس وب سفارشی خود را درج کند.

الزامات

اگر به هر یک از این الزامات برای سازمانتان نیاز دارید، از سرپرست Google Workspace خود بپرسید:

  • هر وب سروری که از HTTPS استفاده می کند می تواند این API را پیاده سازی کند.

  • از HTTPS برای جلوگیری از خرابی محتوای مختلط استفاده کنید.

  • داده های JSON را بپذیرید و برگردانید. از هر کدگذاری محتوایی که توسط مرورگر شما پشتیبانی می شود استفاده کنید.

  • نقاط پایانی را در یک مسیر /v n ارائه دهید که در آن n نسخه API انتخاب شده است. به عنوان مثال، /v1/get-peering-group .

  • تماشاگران Meet Live Streaming می‌توانند از طریق کنسول Google Admin درباره URL سرویس وب شما اطلاعات کسب کنند. URL را می توان به صورت سراسری، در هر واحد سازمانی یا هر گروه تنظیم کرد. مطمئن شوید که بینندگان می توانند به نمونه اختصاص داده شده سرویس خود متصل شوند. برای اطلاعات بیشتر، پیکربندی کنسول مدیریت را ببینید.

  • سرویس شما باید ظرف دو ثانیه پاسخ دهد. در غیر این صورت، سرویس گیرنده eCDN خاموش می شود و بیننده به تماشای رویداد زنده به عنوان یک غیر eCDN معمولی ادامه می دهد و کاربر از صرفه جویی در پهنای باند خودداری می کند.

  • سرویس شما باید سرصفحه های اشتراک منابع متقاطع (CORS) زیر را تنظیم کند:

    • Access-Control-Allow-Origin: meet.google.com
    • Access-Control-Allow-Headers: GET, POST, OPTIONS
    • Access-Control-Allow-Credentials: true

آدرس های IP خصوصی را به یک گروه همتا نقشه برداری کنید

مشتری eCDN هر بار که سعی می کند دوباره به سرور ردیاب eCDN متصل شود، تماسی برقرار می کند. پس از اینکه دستگاه یک آدرس IP خصوصی را شناسایی کرد، آدرس باید به گروه همتای مناسب نگاشت شود. شما باید آدرس IP خصوصی را به سروری در شبکه خود بفرستید و به صورت دستی آن را با استفاده از متد get-peering-group() به یک گروه همتا حل کنید. شناسه گروه همتا در پاسخ بازگردانده می شود. هنگام برقراری ارتباط با Google، شناسه گروه همتا به‌جای آدرس‌های IP خصوصی ارسال می‌شود.

چگونه آدرس های IP خصوصی به یک گروه همتا نگاشت می شوند.
شکل 1. نگاشت آدرس های IP خصوصی به یک گروه همتا.

نمونه کد زیر نحوه فراخوانی متد get-peering-group() به همراه پاسخ خطای احتمالی و بدنه پاسخ مورد انتظار را نشان می دهد:

POST /v1/get-peering-group
Content-Type: application/json

Request body:
{
  "availableIPs": []{
    "format": "ipv4"|"ipv6",
    "address": "DETECTED_ADDRESS"
  }
}

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE",
}

Response body:
{
  "result": "PEERING_GROUP_ID",
  "error": null,
}

جدول زیر فرمت های پاسخ مورد انتظار را نشان می دهد:

وضعیت HTTP خطا شناسه گروه همتا واکنش مشتری
200 تهی رشته غیر خالی کلاینت باید در یک گروه همتا طبقه بندی شود و به سرور ردیاب eCDN متصل شود.
200 NOT_FOUND تهی مشتری جلسه eCDN را پایان می دهد.
200 BLOCKED تهی مشتری جلسه eCDN را پایان می دهد.
200 رشته های غیر خالی دیگر تهی مشتری جلسه eCDN را پایان می دهد.
302 (پیدا شد) کلاینت از تغییر مسیر به URL جدید مشخص شده در سرصفحه Location بدنه پاسخ پیروی می کند.
هر کد وضعیت دیگری هر رشته ای هر رشته ای مشتری جلسه eCDN را پایان می دهد.

تبادل داده پیشنهاد-پاسخ SDP

برای شروع اتصال WebRTC، دستگاه ها باید پیشنهادات و پاسخ های SDP خود را مبادله کنند، از جمله نامزدهای برقراری اتصال تعاملی (ICE) که حاوی اطلاعات IP خصوصی است. آنها این کار را به عنوان بخشی از فرآیند سیگنال دهی WebRTC انجام می دهند.

مشتریان باید نامزدهای ICE خود را در داخل شبکه خود از طریق Meet eCDN On-Premises API با استفاده از روش encrypt-sdp() رمزگذاری کنند. این روش از کلیدی استفاده می‌کند که هرگز در معرض Google قرار نمی‌گیرد. سپس پیشنهاد SDP رمزگذاری شده با استفاده از سرور ردیاب eCDN برای همتا ارسال می شود. سپس کلاینت peer اطلاعات دریافتی را در داخل شبکه خود با استفاده از روش decrypt-sdp() رمزگشایی می کند. سپس Google پیشنهادات و پاسخ‌ها را بین همتایان متصل ارسال می‌کند.

هنگامی که اتصال با استفاده از Meet eCDN On-Premises API برقرار شد، eCDN به طور معمول کار می کند. همتایان رسانه را از طریق شبکه همتای معمولی هدایت می‌کنند و ترافیک رسانه از API عبور نمی‌کند یا از آن استفاده نمی‌کند.

چگونه داده های پیشنهاد و پاسخ SDP رمزگذاری و رمزگشایی می شوند.
شکل 2. رمزگذاری و رمزگشایی داده های پیشنهاد و پاسخ SDP.

نمونه کد زیر نحوه فراخوانی متد encrypt-sdp() همراه با پاسخ خطای احتمالی و بدنه پاسخ مورد انتظار را نشان می دهد:

POST /v1/encrypt-sdp
Content-Type: application/json

Request body:
{
  "data": "SDP_DATA" // raw SDP data
},

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE", // error message
}

Response body:
{
  "result": "ENCRYPTED_DATA_STRING", // encrypted data as string
  "error": null,
}

نمونه کد زیر نحوه فراخوانی متد decrypt-sdp() همراه با پاسخ خطای احتمالی و بدنه پاسخ مورد انتظار را نشان می دهد:

POST /v1/decrypt-sdp
Content-Type: application/json

Request body:
{
  "data": "ENCRYPTED_DATA_STRING", // encrypted data as string (size limit: 1 MB)
},

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE", // error message
}

Response body:
{
  "result": "SDP_DATA" // raw SDP data
  "error": null,
}

جدول زیر فرمت های پاسخ مورد انتظار را نشان می دهد:

وضعیت HTTP خطا شناسه گروه همتا واکنش مشتری
200 تهی رشته غیر خالی مشتری انتظار دارد که از داده های SDP به درستی کدگذاری یا رمزگشایی شده استفاده شود.
200 هر رشته غیر خالی تهی مشتری جلسه eCDN را پایان می دهد.
302 (پیدا شد) کلاینت از تغییر مسیر به URL جدید مشخص شده در سرصفحه Location بدنه پاسخ پیروی می کند.
هر کد وضعیت دیگری هر ارزشی هر ارزشی مشتری جلسه eCDN را پایان می دهد.

کنسول Admin را پیکربندی کنید

برای استفاده از Meet eCDN On-Premises API، باید eCDN را در کنسول مدیریت پیکربندی کنید تا نشانی وب سرویس وب سفارشی شما را در بر گیرد.

برای تنظیم eCDN، با استفاده از On-premises service یک خط مشی همتا ایجاد کنید تا اطلاعات IP را به صورت دستی با گروه های همتا مطابقت دهد. اگر از 443 پیش‌فرض استفاده نمی‌کنید، می‌توانید یک شماره پورت نیز وارد کنید. URL باید با قالب زیر مطابقت داشته باشد: WEB_SERVICE.example.com:8080 ، جایی که WEB_SERVICE نام سرویس وب شما است.

برای اطلاعات بیشتر در مورد تنظیم یک خط مشی همتا، به پیکربندی گروه بندی شبکه مراجعه کنید.