PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Webrtc چیست و چگونه کار می کند ؟



hoss-far
August 10th, 2019, 16:46
Webrtc چیستWebrtc مخفف web real-time communications (https://webrtc.org/) است.
webrtc جهت رسیدت به اتصال مستقیم نقطه به نقطه ( peer to peer ) از چندین استاندارد و پروتکل کمک می گیرد. از جمله : data streams, STUN/TURN servers, signaling, JSEP, ICE, SIP, SDP, NAT, UDP/TCP, network sockets و … در ادامه به بررسی هر یک از این پروتکل ها می پردازیم.
اتصال peer to peerدستاورد اصلی « وب آر تی سی » اتصال real time و peer to peer دو نود ( node ) جهت انتقال صدا و تصویر هست. این مهم تاخیر در تماس های تصویری بسیار کم می کند و سیستم را پایدارتر.برای دستیابی به یک اتصال مستقیم peer to pe باید از فایروال ها و nat رد شد و سپس از طریق بروزر مبدا ( browser ) و فرستادن یک درخواست از طریق پروتکل html به بروزر مقصد رسید تا session برقرار شود.برای رسیدن به این هدف وب آر تی سی از ابزارهای مختلفی استفاد می کند که در زیر به آن ها اشاره می کنیم:
Firewalls and NAT Traversalتقریبا تمام کامپیوترهای کلاینت پشت nat هستند و از آی پی غیر پابلیک استفاده می کنند. وب آر تی سی برای عبور از nat از stun server اسفاده می کند.
STUN ) Session Traversal Utilities for NAT)Stun سروری است که به شما آی پی پابلیکی که توسط آن به دنیای اینترنت متصل می شوید ( آی پی سرور nat که شما پشت آن قرار دارید.)را به شما بر می گرداند. و با دانستن این آی پی شما می توانید به نودهای دیگر بگویید که درخواست های خود را به این آی پی ارسال کنند.در واقع سرور stun نقشی در انتقال داده ها و تصاویر ندارد بلکه صرفا آی پی پابلیک متصل به شما را به شما بازگشت می دهد و سپس از دور خارج می شود.
turn serverدر مواردی که علاوه بر nat فایروال های اختصاصی بر سر راه باشند و در ایجاد ارتباط خلل ایجاد کنند از turn server استفاده می شود.turn server برعکس stun در شبکه باقی می ماند و در صورت هر گونه مشکل در ایجاد connection وارد عمل می شود.این سبب کمی تاخیر در شبکه و انتقال اطلاعات می شود اما گاهی ما ناگذیر به استفاده از turn به جای stun هستیم.در واقع معمولا هر دو سرور چه stun و چه turn در شبکه webrtc باید موجود باشند.
ICEانتخاب بهترین مسیر و نیز انتخاب گزینه ی turn یا stun برعهده یپروتکل ICE ) Interactive Connectivity Establishment ) هست . که دربین گزینه های مختلف بهترین IP بهترین port و بهترین لایه transport را با استفاده از الگوریتم های خود مشخص می کند.برای درک بهتر الگوریتم ICE به چارت زیر نگاهی بیندازید.
https://magicservice.computer/stream/wp-content/uploads/2019/07/webrtc-complete-diagram-300x262.png
Signaling, Sessions, and Protocolsسیگنالینگ شامل تمام قوانین و استاندارد ها برای انتقال فایل های مولتی مدیا می باشد.ارتباط چگونه آغاز شود؟ چگونه پایان یابد؟چگونه رمز گذاری شود؟ بسته های دیتا در چه اندازه ای و با چه شتاب و ترتیبی و فرستاده شوند و …
سیگنالینگ برای تمام سوال های فوق داری جواب است. در webrtc از پروتکل مشخصی برای سیگنالینگ استفاده نمی کنند. این بدان معنی است که شما می توانید پروتکل محبوب خود را انتخاب کنید با این حال معمولا SIP در این مواقع یکی از پرطرفدارترین پروتکل هاست.این گونه هست که session برقرار می شود.
( Session Description Protocol ( SDPSDP پروتکلی است که بعد از اینکه sip استاندارد های زیر ساخت شبکه را برای برقراری session تعیین کرد در لایه اپلیکیشن استاندارد چگونگی انتقال دیتاهای حاوی مولتی مدیا را از طریق انتقال متادیتاهای مربوط به بسته های مولتی مدیا مشخص می کند.در واقع ابتدا پروتکل sip برای برقراری session مورد استفاده قرار می گیرد و سپس پروتکل SDP جهت برقراری ارتباط در لایه اپلیکیشن.
WebRTC JavaScript APIsدر نهایت api برای روشن کردن دوربین و میکروفون موبایل و یا لپ تاپ شما لازم است که توسط برنامه نوسی به زبان javascript انجام می شود.
برای مشاوره بیشتر در جهت راه اندازی webrtc با ما در تماس (https://magicservice.computer/%D8%AA%D9%85%D8%A7%D8%B3-%D8%A8%D8%A7-%D9%85%D8%A7/) باشید.