سؤال

أنا مهتم في نظير-إلى-نظير اتصالات في المتصفح.لأن هذا يبدو أن يكون من الممكن مع WebRTC ، أنا أتساءل كيف يعمل exaclty.

لقد قرأت بعض التفسيرات ورأيت البيانية عن ذلك والآن من الواضح لي أن الاتصال establishmet يعمل على الخادم.الخادم يبدو أن تبادل بعض البيانات بين العميل التي هي على استعداد للاتصال مع بعضها البعض ، بحيث يمكن أن تبدأ اتصال مباشر ، مستقلة من الملقم.

ولكن هذا exaclty ما لا أفهمه.حتى الآن أعتقد أن الطريقة الوحيدة لإنشاء اتصالات هو الاستماع على منفذ على الكمبيوتر والاتصال إلى أن الميناء من الكمبيوتر B.ولكن هذا لا يبدو أن هذا هو الحال في WebRTC.أعتقد أن أيا من العملاء يبدأ الاستماع على منفذ.بطريقة ما, يمكن إنشاء اتصال دون الاستماع على الموانئ قبول اتصالات.لا العميل أو العميل ب يبدأ بدور الخادم.

ولكن كيف ؟ ما هي البيانات التي يتم تبادلها عبر ملقم متوافق مع WebRTC التي يمكن للعملاء استخدامها للاتصال مع بعضها البعض ؟

شكرا على تفسيرات لهذا :)

تحرير

وجدت هذا المادة.إنه لا علاقة متوافق مع WebRTC ، ولكن أعتقد أنه يجيب على جزء من السؤال.أنا لست متأكدا صعبة.فإنه لا يزال سيكون بارد, إذا كان شخص ما يمكن أن يفسر لي و تعطيني بعض الروابط الإضافية.

هل كانت مفيدة؟

المحلول

يقدم Webrtc عرض SDP إلى تطبيق العميل JS لإرسال (ومع ذلك يريد تطبيق JS) إلى الجهاز الآخر، والذي يستخدم ذلك لإنشاء إجابة SDP.

الحيلة هي أن SDP يشتمل على مرشحين ثلجا (فعالة "حاول التحدث إلي في عنوان IP هذا والمنفذ هذا المنفذ"). يعمل الجليد على لكمة المنافذ المفتوحة في جدران الحماية؛ على الرغم من أنه إذا كان كلا الجانبين ناتذ متماثل، فلن يكون ذلك ممكنا بشكل عام، ويمكن استخدام مرشح بديل (على خادم بدوره).

بمجرد التحدث مباشرة (أو عن طريق بدوره، وهو مرآة مرآة بشكل فعال)، فيمكنهم فتح اتصال DTLS واستخدامه إلى مفتاح تدفقات الوسائط SRTP-DTLS، وإرسال datachawnels عبر DTLS.

تحرير: الاختصارات هنا: http://blog.1click.io/10-jargons-abbrevations-for- Webrtc-Gars / لبقية، هناك جوجل. يتم تعريف معظمها من قبل IETF ( http://ietf.org/ )

تحرير 2: انتقلت فايرفوكس والكروم (والمواصفات) لاستخدام "هزيلة" لمرشحي الجليد، لذلك يتم إضافة مرشحات الجليد بشكل عام بعد الوجه إلى PeerConnection وتبادل بشكل مستقل عن SDP الأولي (على الرغم من أنه يمكنك الانتظار حتى المرشحين الأوليين جاهز قبل إرسال عرض، وحزمها معا). انظر https://webrtcglossary.com/trickle-ice/ و https://datatracker.ietf.org/doc/draft-ietf-ice-trickle/

نصائح أخرى

يمكن العثور على تفسير جيد للغاية في هذا الكتاب http: / /chimera.labs.oreilly.com/books/1230000000545/ch03.html#stun_turn_ice الذي يوفر الأساسيات حول كيفية استخدام Webrtc تكنولوجيا الثلج.

p>  أدخل وصف الصورة هنا

على وجه الخصوص على افتراض عنوان IP الخاص بخادم الصاعقة معروفا، يرسل تطبيق Webrtc أولا طلبا ملزما إلى خادم الصاعقة. يرد خادم الصاعقة برد يحتوي على عنوان IP العام ومنفذ العميل كما هو موضح من الشبكة العامة.

الآن يكتشف التطبيق IP العام وميناء Tuple الذي يمكن أن يرسل إلى الأقران الآخر من خلال SDP. (لاحظ أنه يتم إرسال SDP عبر قناة إشارة خارجية، F.I. Websocket تم تأسيسها من خلال خدمة ويب)

مع هذه الآلية في المكان، كلما أراد نظيرين التحدث مع بعضهما البعض عبر UDP، فيمكنهم بعد ذلك استخدام ماينات IP والمنفذ العام المنشأة لتبادل البيانات.

لسوء الحظ، في بعض الحالات قد يتم حظر UDP بواسطة جدار حماية. لمعالجة هذه المشكلة، كلما فشل الصاعقة، يمكننا استخدام اجتياز بروتوكول التبديل حول بروتوكول NAT (Turn) كإركاك، والذي يمكن تشغيله عبر UDP والتبديل إلى TCP إذا فشل كل شيء آخر.

إنشاء p2p متوافق مع WebRTC اتصال 3 خطوات (10.000 قدم نظرة عامة) :

  1. الخطوة 1: مما يشير:كل أقرانه توصيل الإشارات الخادم (باستخدام websockets على 80/443, المذنب, SIP,الخ...) تبادل المعلومات (عن قدرات وسائل الإعلام العامة IP:port أزواج عندما تصبح متاحة ، إلخ.)

  2. الخطوة 2: اكتشاف:الأجهزة المتصلة على الشبكة المحلية أو شبكات الهاتف المحمول لا يدركون العامة للملكية الفكرية (ميناء) حيث يمكن التوصل إلى ذلك فإنها تستخدم صاعقة/تشغيل الخوادم الموجودة على الإنترنت العامة لاكتشاف ip:port زوج (الجليد المرشحين).في العملية التي لكمة ثقب من خلال NAT/جهاز التوجيه الذي يستخدم في step3:

  3. الخطوة 3: اتصال P2P:مرة واحدة الجليد المرشحين يتم تبادلها من خلال الإشارات الأولية قناة كل الأقران هو على بينة من بعضها البعض ip:port (والثقوب تم لكمات في ناتس/أجهزة التوجيه) لذلك الند للند UDP الاتصال.

enter image description here

المخطط أعلاه يوضح عملية مع 2 أجهزة توصيل الشبكات المحلية.هذا جزء من مقال كتبته التي تتعامل مع استكشاف مشكلات الاتصال ولكنه يقوم بعمل جيد من شرح كيفية متوافق مع WebRTC يعمل.

كيف يعمل متوافق مع WebRTC

هذه الوثيقة توفر سريع و مجردة مقدمة متوافق مع WebRTC.من أجل الحصول على المزيد من المعلومات حول متوافق مع WebRTC يرجى إلقاء نظرة على مزيد من القراءة القسم في نهاية هذه الوثيقة.

متوافق مع WebRTC

متوافق مع WebRTC(شبكة الاتصالات في الوقت الحقيقي) هو مجموعة من التكنولوجيات التي تم تطويرها من أجل الند للند دوبلكس الاتصالات في الوقت الحقيقي بين المتصفحات.كما يبدو من اسمها يذكر أنه متوافق مع ويب و هو معيار W3C واحدة من السمات الهامة متوافق مع WebRTC هو أنه يعمل حتى خلف NAT عناوين.

WebRTC Peer to Peer

متوافق مع WebRTC يستخدم العديد من التقنيات لتوفير الوقت الحقيقي الند للند اتصال بين المتصفحات.هذه التقنيات هي * SDP (دورة وصف البروتوكول) * الجليد (التفاعل إنشاء اتصال) * RTP (الوقت الحقيقي البروتوكول)

هناك أكثر من شيء واحد وهو يشير إلى الخادم هناك حاجة إلى تشغيل متوافق مع WebRTC.ومع ذلك ، لا يوجد معرف ستاندارت في تنفيذ يشير إلى الخادم.كل تنفيذ يخلق أسلوبها الخاص.هناك سوف تعطي المزيد من المعلومات حول الإشارات خادم لاحقا في هذا القسم.

دعونا نعطي بعض المعلومات عن التقنيات المذكورة أعلاه.

SDP (دورة وصف البروتوكول)

SDP بسيطة بروتوكول يستخدم أي برامج الترميز المعتمدة في المتصفحات.على سبيل المثال نفترض أن هناك اثنين من أقرانه(العميل و العميل ب) والتي سوف تكون متصلا من خلال متوافق مع WebRTC. العميل و العميل ب إنشاء SDP السلاسل التي يحدد برامج الترميز التي تدعمها.على سبيل المثال ، العميل قد دعم H264, VP8 و VP9 الفيديو ، التأليف و PCM الترميز الصوت. العميل ب قد تدعم فقط H264 للفيديو فقط التأليف ترميز الصوت.في هذه الحالة الترميز التي سيتم استخدامها بين العميل و العميل ب هي H264 و التأليف.إذا كان هناك أي مشترك الترميز بين أقرانه, الند للند اتصال لا يمكن إنشاء.

قد يكون سؤالا عن كيفية هذه SDP سلاسل يتم إرسالها بين بعضها البعض.هذا هو المكان الذي يشير الخادم يأخذ مكان.

الجليد (التفاعل إنشاء اتصال)

الجليد هو السحر الذي يحدد العلاقة بين أقرانه حتى لو كانوا خلف NAT.دعونا نفترض مرة أخرى العميل و العميل ب سوف تحصل على اتصال و نلقي نظرة على كيف يستخدم الثلج على ذلك.

  • العميل يجد من العناوين المحلية والعامة عنوان الإنترنت باستخدام الصعق الخادم ويرسل هذه العنوان العميل ب من خلال الإشارات الخادم.كل العناوين الواردة من الصاعقة خادم يسمى الجليد المرشح

في الصورة أعلاه, هناك اثنين من الخوادم.واحد منهم هو الصاعقة وغيرها من منهم هو تشغيل الملقم.

الصاعقة يستخدم الملقم للسماح العميل تعلم كل العناوين.اسمحوا لي أن أعطي مثالا على هذا ، أجهزة الكمبيوتر لدينا عام واحد العنوان المحلي في الشبكة 192.168.0.0 وهناك الثانية عنوان نراها عند الاتصال www.whatismyip.com, هذا عنوان IP هو في الواقع عنوان IP العام من بوابة الإنترنت(مودم, روتر, الخ) لذلك دعونا نحدد الصاعقة الخادم ؛ الصاعقة خوادم يتيح أقرانهم تعرف لهم الجمهور المحلي عناوين IP.راجع للشغل, جوجل توفر مجانا الصاعقة الخادم(الصاعقة.ل.google.com:19302).

هناك واحد أكثر server تشغيل الملقم في الصورة.تشغيل الملقم يستخدم عندما الند للند لا يمكن تأسيس اتصال بين أقرانهم.تشغيل الخادم فقط مرحلات البيانات بين أقرانهم.

  • العميل ب يفعل نفس الشيء يحصل المحلية والعامة عناوين IP من ملقم STUN و يرسل هذه العناوين العميل من خلال الإشارات الخادم.

  • العميل يتلقى العميل ب's عناوين ويحاول كل عناوين IP عن طريق إرسال الأصوات الخاصة من أجل إنشاء اتصال مع العميل ب.إذا العميل يتلقى استجابة من أي عناوين IP ، فإنه يضع هذا العنوان في قائمة مع وقت استجابة وغيرها من أداء التفويض.في الماضي العميل اختيار أفضل عناوين وفقا أدائها.

  • العميل ب يفعل نفس الشيء من أجل الاتصال العميل

RTP (الوقت الحقيقي البروتوكول)

RTP ناضجة بروتوكول لنقل البيانات في الوقت الحقيقي.لأنه يقوم على UDP.الصوت والفيديو تنتقل مع RTP في WebRTC.هناك أخت بروتوكول RTP الاسم الذي RTCP(التحكم في الوقت الحقيقي البروتوكول) الذي يوفر جودة الخدمة في RTP الاتصالات.RTP يستخدم أيضا في RTSP(في الوقت الحقيقي الجري البروتوكول)

يشير إلى الخادم

الجزء الأخير هو يشير إلى الخادم التي لم يتم تعريف في WebRTC.كما ذكر أعلاه ، مما يشير إلى ملقم يستخدم لإرسال SDP سلاسل الجليد بين المرشحين العميل و العميل ب.يشير إلى ملقم تقرر أيضا التي والحصول على أقرانه متصلة مع بعضها البعض.WebSocket التكنولوجيا المستخدمة عموما في الإشارات خوادم الاتصالات.

التوافق

في العام الماضي, جميع المتصفحات بما في ذلك رحلات السفاري, حافة إصدارات جديدة دعم WebRTC.كروم ، فايرفوكس و أوبرا بالفعل دعم WebRTC لفترة من الوقت.ترميز الفيديو التي هي مشتركة بين المتصفحات H264.الصوت, التأليف المشترك في المتصفحات.PCM ويمكن أيضا أن تستخدم من أجل ترميز الصوت ولكن AAC لم يتم استخدامها حتى لو AAC ويدعم جميع المتصفحات بسبب قضايا الترخيص.كاميرات IP عموما H264 عن ترميز الفيديو و PCM أو AAC السمعية الترميز.

مزيد من القراءة و المراجع

راجع للشغل, أنا المطور في النمل وسائل الاعلام الخادم الذي يدعم قابلة واحد لكثير متوافق مع WebRTC الند للند الاتصال WebRTC

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top