<aside>
<img src="/icons/list-indent_green.svg" alt="/icons/list-indent_green.svg" width="40px" /> INDEX
</aside>
I. WEB RTC 그게 뭐예요?
- 웹 브라우저 환경 및 Android, IOS 애플리케이션에서 사용 가능한 비디오, 음성 및 일반 데이터가 피어간에 실시간으로 전송되도록 지원하는 오픈 소스이다.
- 구글이 오픈소스로 처음 만들었고 플러그인 설치없이 실시간으로 소통할 수 있도록 설계된 api 이다.
- 웹 표준으로 구현되며 모든 주요 브라우저에서 일반 JavaScript API로 제공한다.
II. 꼭 필요한 개념
1. 시그널링
- WEB RTC에서는 P2P 연결을 통해 데이터를 상호교환한다.
- 상대방과 연결하기 위해서 네트워크 정보, 미디어 데이터 정보등을 교환해야 한다.
(세션 제어 정보: 통신 초기화,종료 네트워크 정보: IP, PORT, 미디어 정보: SDP 형태)
- SDP,ICE 프로토콜을 주고 받으며 양방향 통신을 해야한다.
- SDP란?
- ICE란?
2. NAT
- 단말에 공개IP 주소를 할당하기 위해 사용한다.
- 라우터는 공개IP를 갖고 있고 모든 단말은 비공개 IP 주소를 갖는다.
- 단말의 비공개 주소로 부터 라우터의 공개 주소와 유일한 포트를 기반으로 번역한다.
- 몇몇의 라우터 들은 SYMMETRIC NAT을 사용한다(이전에 연결한 적 있는 연결만 허용)