본문 바로가기
Study

WebRTC 개념정리

by JSIM_DEV 2021. 1. 29.

SDP 교환 과정

  1. 호출자가 SDP offer를 만들면서 시작
  2. 수신자에게 offer를 전달
  3. 수신자는 호출자에게 SDP 정보를 포함한 answerSDP를 전송

이 단계를 거쳐서 수신자, 호출자는 서로의 SDP 값을 알게된다. 하지만, 미디어 데이터를 교환할 방법을 모르는 상태

ICE Candidate 교환

  1. SDP를 교환한 이후에 실행
  2. ICE Candidate를 교환
  3. 피어 간 서로 호환되는 ICE Candidate를 찾으면, 미디어 간 통신이 시작
  4. ICE Candidate 교환은 미디어 통신이 시작되었다 하더라도 지속적으로 교환하고, 더 나은 Candidate가 나오면 바뀐다.

Signaling Server

  • 피어간 커넥션을 이어주는 매개자 역할을 하는 서버이다.
  • 개발자가 직접 구축해야 하고, 구현방식에 제약이 없다.
  • 아래 3가지 정보를 중개한다.
    • ICE Candidate 정보 - Network 정보
    • SDP - Media Capability 정보 교환
    • Session Control Message - 피어간 연결 초기화, 종료, 에러 로그

NAT (Network Address Translation)

  • 기술 라우터를 통해 네트워크 트래픽을 주고 받는 기술
  • 라우터가 공인 IP를 가지고 있고, 라우터에 연결된 기기는 사설 IP를 갖는다.
  • 공유기가 NAT의 기술에 사용되는 기기

ICE (Interactive Connectivity Establishment)

  • 기술 P2P간 다이렉트 통신을 위한 기술로 서로의 기기와 통신하기 위해 최적의 경로를 찾게 해주는 프레임워크이다.

STUN (Session Traversal Utilities for NAT)

  • 서버 STUN 서버는 기기의 공인 IP를 찾아내고 P2P 연결을 방해하는 요소가 라우터 내에 있는지 알아내는 프로토콜이다.

TURN (Traversal Using Relay around NAT)

  • 서버 TURN 서버는 STUN서버를 이용한 연결이 실패했을 경우 미디어 데이터를 릴레이 해주는 역할을 한다.
  • TURN 서버를 통해서 모든 정보를 중계하기 때문에 대안이 전혀 없을때만 사용하는 것이 바람직하다.

SDP (Session Description Protocol)

  • 정보 P2P가 서로간 주고받을 데이터의 형식, 코덱, 암호화 방법 등을 기술하는 표준이다.
  • 미디어 데이터 자체가 아닌 메타데이터이다.
  • ICE Candidate 정보 P2P 간 다이렉트 통신을 위한 여러 경로이다.
  • P2P 간 ICE Candidate 교환을 통해서 최적으로 경로를 정한다.
  • Signaling Server 서버 기기 간 커넥션을 만드는 역할을 한다.

'Study' 카테고리의 다른 글

캐시와 캐싱서버  (0) 2020.12.10
Docker 에 mysql 서버 설치  (0) 2020.12.10