WebRTC 정리.

|

1. WebRTC란?

 

브라우저간 바이너리 데이터를 P2P 형식으로 교환하는 기술.

별도의 플러그인 설치가 없음.

구글의 오픈소스 프로젝트로 웹표준.

아직 완성되지 않은 기술.

 

2. 절차

 

 1) 퍼미션 허용

 2) IP, Port 등 공유

 3) 연결

 4) 데이터 교환

 

3. 용어 정리

 

* STUN ( Session Traversal Utilities for NAT )
 - 단말이 자신의 공인 IP 주소와 포트를 확인하는 과정에 대한 프로토콜.
 - 자신을 식별할 수 있는 정보를 반환해줌.

* TURN ( Traversal Using Relay NAT )
 - STUN을 통해서 자신을 식별할 수 없는 경우 사용
 - 네트워크 미디어를 중개하는 서버 ==> 중간의 서버를 거치기 때문에 P2P 통신이 아니며 지연이 발생하게 됨.
 
* Candidate
 - STUN, TURN 서버를 통해 얻은 IP 주소, 프로토콜, 포트로 구성된 연결 가능한 네트워크 주소들의 후보
   > 자신의 사설 IP와 포트 넘버
   > 자신의 공인 IP와 포트 넘버 (STUN, TURN 서버로부터 획득)
   > TURN 서버의 IP와 포트 넘버 (TURN 서버로부터 획득)

* ICE (Interactive Connectivitiy Establishment)
 - 두 개의 단말이 P2P 연결을 위한 최적의 경로를 찾는 프레임워크
 - Trickle ICE : Candidate 수집에는 오랜 시간이 걸리며, 그 과정중 지연이 발생 가능함. 따라서 이런 비효율적인 교환 작업을 병렬 프로세스로 수행할 수 있게 해줌. (비동기 처리를 통해 Candidate를 찾게되면 즉시 교환을 시작함)
 - ICE 프레임 워크는 STUN or TURN 서버를 통해서 상대방과 연결 가능한 후보들(Candidate)를 가지고 있음.

* Signaling
 - RTCPeerConnection 통신에 사용할 프로토콜, 채널, 미디어 코덱 및 형식, 데이터 전송 방법, 라우팅 정보와 NAT 통과 방법, IP 등을 포함한 통신 규격을 교환하기 위해 두 장치간 제어 정보를 교환하는 과정.

 

 

 

'Android > etc' 카테고리의 다른 글

외부 웹서버와 로컬 웹서버의 연계  (0) 2022.08.03
WebRTC Test (With Flutter)  (0) 2022.05.24
WebRTC Build  (0) 2022.05.23
안드로이드 앱 런칭용 이미지 및 기타 사이트  (0) 2020.02.19
구글 마테리얼 디자인  (0) 2020.01.08
And