2. webRTC의 SDP, ICE, 시그널링에 대해서

2024. 9. 20. 07:09·CS/짤막지식

시그널링 


시그널링은 WebRTC에서 두 디바이스가 P2P 연결을 설정하기 전에 필요한 정보를 교환하는 과정이다.

이 과정에서는 SDP(Session Description Protocol)와 ICE 후보자 정보가 주고받아지며, 이를 통해 두 디바이스는 서로 어떤 미디어(오디오, 비디오)를 주고받을지와 연결 경로를 결정한다.

 

시그널링 데이터:

  1. SDP: 미디어와 연결 설정 정보.
  2. ICE 후보자: 네트워크 경로 정보.

시그널링 서버: 

- 시그널링 서버는 WebRTC에서 두 디바이스가 직접 연결되기 전에, 연결 설정에 필요한 정보(SDP와 ICE 후보자)를 주고받는 중개 서버

 

역할:

  1. SDP 교환: 두 디바이스가 어떤 미디어(오디오/비디오)와 네트워크 설정으로 연결할지 Offer와 Answer 형태로 정보를 교환한다.
  2. ICE 후보자 교환: P2P 연결을 성립하기 위해 각 디바이스의 네트워크 경로 정보를 교환한다.

시그널링 서버는 연결 자체를 담당하지 않고, 연결 전에 필요한 데이터를 주고받는 역할만 수행한다.

 

 

SDP (Session Description Protocol) & ICE (Interactive Connectivity Establishment) 


SDP (Session Description Protocol) 

  • SDP는 WebRTC에서 피어 간의 연결을 설정하기 위해 사용되는 정보다. 여기에는 오디오, 비디오 코덱, 포트, 네트워크 정보 등 연결을 위한 세부 정보들이 담겨 있다.
  • Offer/Answer 과정에서 서로의 SDP를 교환하며, 피어가 어떤 미디어를 주고받을지 결정한다.

Offer/Answer에 대해

  1. Offer: 통신을 시작하려는 디바이스가 Offer(제안)를 만든다. 이 Offer에는 SDP 정보(오디오/비디오 코덱, 네트워크 세부사항 등)가 포함된다.
  2. 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
'CS/짤막지식' 카테고리의 다른 글
  • WebRTC with ChatGPT
  • restful API vs websocket
  • 1. webRTC 기초 정리
  • 변수 쓸 때 숫자는 Int, Double로 다양하게 받으면서, 왜 문자는 String으로 퉁치죠?
복복씨
복복씨
개발자여, 사고하라 !
  • 복복씨
    정리노트
    복복씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (118)
      • 개발새발자 (21)
        • 의 삶 (7)
        • 의 회고 (9)
        • 의 낙서장 (5)
        • 영어 (0)
      • FrontEnd (1)
        • React (1)
      • Flutter (38)
        • 새싹 (5)
        • Dart (8)
        • Flutter (14)
        • iOS 에서 Flutter 로 전환하며 (2)
        • 챗지피티랑놀.기 (3)
        • 하루 한 입 플러터 (2)
      • CS (7)
        • 짤막지식 (6)
      • IOS (6)
        • Swift (0)
        • UIKit (1)
        • SwitUI (4)
      • 머신러닝-딥러닝 (28)
        • 논문리뷰 (3)
        • study (16)
        • Kaggle (9)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    부트캠프
    사그널링서버
    runzonedguarded
    플러터 새싹
    새싹 플러터
    expando
    새싹
    getit
    플러터 di
    IOS
    swiftui 플러터
    용산캠
    깊은참조
    Flutter Lifecycle
    initState()
    FLUTTER
    코드 결합도
    테킷 앱스쿨
    flutter lottie
    한주 회고
    플러터
    새싹 용산
    unawaited
    futurerecord2
    멋쟁이 사자처럼
    flutter 애니메이션
    시그널링데이터
    schedulemicrotask
    핫 리로드
    dart
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
복복씨
2. webRTC의 SDP, ICE, 시그널링에 대해서
상단으로

티스토리툴바