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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바