시그널링
시그널링은 WebRTC에서 두 디바이스가 P2P 연결을 설정하기 전에 필요한 정보를 교환하는 과정이다.
이 과정에서는 SDP(Session Description Protocol)와 ICE 후보자 정보가 주고받아지며, 이를 통해 두 디바이스는 서로 어떤 미디어(오디오, 비디오)를 주고받을지와 연결 경로를 결정한다.
시그널링 데이터:
- SDP: 미디어와 연결 설정 정보.
- ICE 후보자: 네트워크 경로 정보.
시그널링 서버:
- 시그널링 서버는 WebRTC에서 두 디바이스가 직접 연결되기 전에, 연결 설정에 필요한 정보(SDP와 ICE 후보자)를 주고받는 중개 서버
역할:
- SDP 교환: 두 디바이스가 어떤 미디어(오디오/비디오)와 네트워크 설정으로 연결할지 Offer와 Answer 형태로 정보를 교환한다.
- ICE 후보자 교환: P2P 연결을 성립하기 위해 각 디바이스의 네트워크 경로 정보를 교환한다.
시그널링 서버는 연결 자체를 담당하지 않고, 연결 전에 필요한 데이터를 주고받는 역할만 수행한다.
SDP (Session Description Protocol) & ICE (Interactive Connectivity Establishment)
SDP (Session Description Protocol)
- SDP는 WebRTC에서 피어 간의 연결을 설정하기 위해 사용되는 정보다. 여기에는 오디오, 비디오 코덱, 포트, 네트워크 정보 등 연결을 위한 세부 정보들이 담겨 있다.
- Offer/Answer 과정에서 서로의 SDP를 교환하며, 피어가 어떤 미디어를 주고받을지 결정한다.
Offer/Answer에 대해
- Offer: 통신을 시작하려는 디바이스가 Offer(제안)를 만든다. 이 Offer에는 SDP 정보(오디오/비디오 코덱, 네트워크 세부사항 등)가 포함된다.
- Answer: Offer를 받은 상대 디바이스는 해당 정보에 맞게 Answer(응답)를 만든다. Answer에도 SDP 정보가 포함되어 있으며, 상대방의 연결 요청을 수락하는 의미다.
이 과정을 통해 두 디바이스가 미디어 통신에 필요한 연결 설정을 마친다.
ICE (Interactive Connectivity Establishment) 후보자
- ICE 후보자는 두 디바이스가 서로 통신할 수 있는 최적의 경로를 찾기 위한 네트워크 정보다.
- WebRTC는 여러 경로(후보자)를 탐색한 후, P2P 연결을 성립시킨다.
'CS > 짤막지식' 카테고리의 다른 글
| 2. 자료구조 / 알고리즘 - 코드 (1) | 2024.10.28 |
|---|---|
| WebRTC with ChatGPT (2) | 2024.10.02 |
| restful API vs websocket (0) | 2024.09.25 |
| 1. webRTC 기초 정리 (0) | 2024.09.19 |
| 변수 쓸 때 숫자는 Int, Double로 다양하게 받으면서, 왜 문자는 String으로 퉁치죠? (0) | 2024.07.30 |
