WebRTC 관련 용어 정리

이수현·2022년 8월 19일
0

WebRTC

목록 보기
4/4

WebRTC 관련 용어 정리

NAT(Network Address Translation)

  • 단말에 Public IP 주소를 할당하기 위해 사용합니다.
  • 라우터는 Public IP 주소를 갖고 있고 모든 단말들은 라우터에 연결되어 있으며 Private IP 주소를 갖는다.
  • 요청은 단말의 Private 주소로부터 라우터의 Public 주소와 유일한 포트를 기반으로 번역한다. 이 덕분에, 각각의 단말이 유일한 Public IP 없이 인터넷 상에서 검색 가능하다.
  • 몇몇의 라우터들은 Symmetric NAT이라고 불리는 제한을 위한 NAT을 사용한다. 즉, Peer들이 오직 이전에 연결한 적 있는 연결들만 허용한다. 따라서 STUN 서버에 의해 Public IP 주소를 발견한다고 해도 모두가 연결을 할 수 있다는 것은 아니다.

ICE(Interactive Connectivity Establishment)

  • 브라우저가 Peer를 통한 연결이 가능하도록 해주는 프로토콜이다.
  • Peer 간 단순 연결 시 작동하지 않는 이유들
    • 연결을 시도하는 방화벽을 통과해야 함
    • 단말에 Public IP가 없다면 유일한 주소값을 할당해야 한다.
    • 라우터가 Peer간 직접 연결을 허용하지 않을 때 데이터를 릴레이해야 하는 경우
  • ICE는 위 작업들을 수행하기 위해 STUN과 TRUN 서버 둘 다 혹은 하나의 서버를 사용한다.

SDP(Session Description Protocol)

  • 해상도나 형식, 코덱, 암호화 등의 멀티미디어 컨텐츠의 연결을 설명하기 위한 표준이다.
  • 두 개의 Peer가 다른 한쪽이 데이터가 전송되고 있다는 것을 알게 해준다.
  • 기본적으로 미디어 컨텐츠 자체가 아닌 컨텐츠에 대한 메타데이터 설명이다.
  • 기술적으로 보자면 SDP는 프로토콜이 아니지만, 데이터 포맷은 디바이스 간의 미디어를 공유하기 위한 연결을 설명하기 위해 사용한다.

Signaling Server

  • Signaling Server는 사용자 간의 WebRTC를 위한 P2P 통신을 할 때 모르는 사용자를 엮어주는 역할을 한다.
    • 브라우저가 사용자의 장치에 접근한다.
    • Signaling Server를 통해 상대방의 정보를 얻는다.
    • P2P Connection을 통해 통신한다.
  • Signaling Server에서 정보 교환해야 할 것들
    • 통신을 열고 닫기 위한 세션 컨트론 메시지들 ( Session Control Messages )
    • 에러 메세지들 ( Error Messages )
    • 코덱 (Codecs)
    • 대역폭 (Bandwidth)
    • 미디어 유형 (Media Types)
    • IP 주소 (Ip Addresses)
    • 보안 키
    • etc

🔍 Signaling Server의 동작 원리

  1. 통신을 원하는 사용자는 상대 사용자에게 Signaling Server를 통해 자신의 정보들을 제공한다. ( ICE 사용 가능 )

  2. 상대 사용자는 그 정보들에 대해 자신의 정보를 담아 답장한다. ( ICE 사용 가능 )

WebRTC 기술 약어 모음집 링크

0개의 댓글