Այս հոդվածում մենք կուսումնասիրենք WebRTC-ի հիմունքները, կվերլուծենք դրա հիմնական հասկացությունները և կհասկանանք բրաուզերների միջև տեսաձայնային հոսքերի հաստատման գործընթացը։
WebRTC (Web Real-Time Communication)-ն բաց կոդով նախագիծ և ֆրեյմվորկ է, որը հնարավորություն է տալիս վեբ և մոբայլ հավելվածներին որսալ և հեռարձակել աուդիո, վիդեո և կամայական տվյալներ անմիջապես սարքերի (peers) միջև: WebRTC-ի հիմնական առավելությունն այն է, որ տվյալների փոխանակումը կատարվում է առանց միջանկյալ մեդիա սերվերի, ինչը զգալիորեն նվազեցնում է ուշացումները (latency) և սերվերային ծախսերը:
Հասկանալու համար, թե ինչպես է WebRTC-ն աշխատում իրական պայմաններում, պետք է դիտարկել հինգ հիմնական հասկացություն՝ NAT, STUN, TURN, ICE և SDP:
Յուրաքանչյուր սարք ունի և՛ հանրային (public), և՛ մասնավոր (private) IP հասցե: Մինչ հանրային IP-ն օգտագործվում է ինտերնետում հաղորդակցվելու համար, լոկալ ցանցի ներսում գտնվող սարքերն օգտագործում են մասնավոր հասցեներ: NAT-ն այն մեխանիզմն է, որը մասնավոր հասցեն փոխակերպում է հանրայինի՝ թույլ տալով լոկալ սարքերին կապ հաստատել արտաքին աշխարհի հետ:
Կարդալ ավելին NAT-ի մասին՝ RFC 2663
STUN (Session Traversal Utilities for NAT) սերվերն օգտագործվում է ինտերնետում օգտատիրոջ հանրային ինքնությունը պարզելու համար: Երբ Client A-ն հարցում է ուղարկում STUN սերվերին, վերջինս պատասխանում է՝ հայտնելով օգտատիրոջ հանրային IP հասցեն և պորտը (port): Այս պարամետրերը հետագայում փոխանցվում են Client B-ին, ինչը հնարավորություն է տալիս երկու կողմերին հաստատել ուղիղ կապի ուղի:
Կարդալ ավելին STUN-ի մասին՝ RFC 8489
Որոշ դեպքերում firewall-ները կամ բարդ «Symmetric NAT» համակարգերը թույլ չեն տալիս հաստատել ուղիղ peer-to-peer միացում: Այս իրավիճակներում օգնության է հասնում TURN սերվերը, որը գործում է որպես կամուրջ կամ ռելե (relay): Այն ստանում է մեդիահոսքը Client A-ից և ուղարկում Client B-ին (և հակառակը): Չնայած սա ներգրավում է սերվեր մեդիայի փոխանակման մեջ, այն երաշխավորում է կապի հաջող հաստատումը նույնիսկ ամենաբարդ պայմաններում:
Կարդալ ավելին TURN-ի մասին՝ RFC 5766

ICE-ն այն ֆրեյմվորկն է, որը կառավարում է միացման բուն գործընթացը: Եթե STUN-ը և TURN-ը գործիքներ են IP/պորտ զույգերը գտնելու համար, ապա ICE-ն «համակարգողն» է, որը գնահատում է բոլոր հասանելի ուղիները: Այն առաջնահերթությունը տալիս է ամենաուղիղ միացմանը (STUN) և ավտոմատ կերպով անցնում է TURN-ին միայն անհրաժեշտության դեպքում՝ ապահովելով կայուն և հուսալի կապ:
Կարդալ ավելին ICE-ի մասին՝ RFC 8445
SDP-ն մեդիա սեսիայի պարամետրերի պաշտոնական հայտարարագիրն է: Այն ապահովում է, որ երկու սարքերն էլ հասկանան հաղորդակցության տեխնիկական պահանջները: Օրինակ՝ SDP-ն համաձայնեցնում է, թե արդյոք սեսիան լինելու է միայն աուդիո թե նաև վիդեո, որ կոդեկներն են սպասարկվում (օրինակ՝ VP8 կամ H.264) և ինչպիսի ցանցային կարգավորումներ են անհրաժեշտ:
Կարդալ ավելին SDP-ի մասին՝ RFC 8866
Հաջորդ թեմայում մենք կիրականացնենք գործնական օրինակ, որտեղ ցույց կտանք, թե ինչպես ստեղծել RTC միացում և իրական ժամանակում հեռարձակել մեդիա երկու սարքերի միջև:









Comments (0)