기록해야 기억에 남는다
WebRTC (2) - SDP, RTP 본문
1) 'SDP'란 무엇인가?
- SDP (Session Description Protocol)는 "인터넷 상에서 멀티미디어 세션 정보를 알려주기 위해 `멀티미디어 세션 또는 호(呼)에 대한 정보`를 기술하는 포멧 관련 프로토콜"
- 즉, 단말 간 미디어 타입 및 포맷을 협상하는 프로토콜
- 'Offer/Answer' 모델로 동작하며 멀티미디어 세션 파라미터를 협상 (negotiation) 할 때 중요한 역할을 함
- ex) codec negotiation과 같은 'capability exchange' 수행
2) 능력교환, 'capability exchange' 란 무엇인가?
- 'capability exchange' (능력 교환)
- 영상 회의 등에서 임의의 두 단말이 상대방과 통신하기 위해 서로 통신할 수 있는 공통되는 능력이 있는지 알아야 함
- 채널을 통해 통화 가능한 능력 정보를 상호 교환
- 능력 교환을 통해 음성/영상 codec 등의 협상이 이루어지고 공통의 모드로 통화할 수 있게 됨
3) RTP란 무엇인가?
- RTP (Real-Time Transport Protocol)는 "IP 네트워크 상에서 오디오와 비디오를 전달하기 위한 통신 프로토콜"
- RTP는 전화, 그리고 WebRTC, 텔레비전 서비스, 웹 기반 푸시 투 토크 기능을 포함한 화상 통화 분야 등의 스트리밍 미디어를 수반하는 통신, 엔터테인먼트 시스템에 사용됨.
- RTP는 일반적으로 UDP 위에서 동작하며 RTCP (RTP Control Protocol) 와 결합하여 사용됨.
- RTP가 오디오/비디오와 같은 미디어 스트림 전송, RTCP는 전송 통계 / QoS 모니터링 / 다중 스트림 동기화 등의 역할을 수행함.

4) webRTC protocol이란 무엇인가? (프로토콜 관점)
- webRTC의 경우 TCP, UDP 등 다양한 프로토콜 위에서 동작함
- 기본적으로 미디어 스트림을 주고 받기 위한 RTCPeerConnection 의 경우 UDP 기반의 RTP로 동작함
- RTP의 경우 DTLS (Datagram Transport Layer Security) 으로 암호화 되어 SRTP (Secure Real-Time Transport Protocol) 으로 동작함.
- 미디어 스트림 이외의 데이터 (채팅 - text 등)를 주고 받기 위한 DataChannel 의 경우 SCTP (Stream Control Transport Protocol) 위에서 동작함.

참고
'Live-Streaming > WebRTC' 카테고리의 다른 글
| WebRTC (6) - Kurento RecorderEndpoint (2) (0) | 2023.03.10 |
|---|---|
| WebRTC (5) - Kurento RecorderEndpoint (0) | 2023.03.07 |
| WebRTC (4) - Kurento One2ManyCall (0) | 2023.03.07 |
| WebRTC (3) - About Kurento (0) | 2023.03.07 |
| WebRTC (1) (0) | 2023.03.07 |