WebRTC란?
WebRTC란
WebRTC(Web Real-Time Communication)는 웹과 애플리케이션에서 별다른 소프트웨어 없이 카메라, 마이크 등을 사용하여 실시간 커뮤니케이션을 제공해주는 기술이다
WebRTC의 기술
시그널링
- SDP(Session Description Protocol)은 멀티미디어 커뮤니케이션 세션을 설명하기 위한 포맷이다. SDP 자체는 미디어 스트림을 전달하지 않지만, 엔드 포인트 간에 네트워크 메트릭, 미디어 유형 및 기타 관련 속성의 연결에 사용된다.
연결
- STUN(Session Traversal Utilities for NAT)은 실시간 음성, 비디오, 메시징 애플리케이션 및 기타 상호작용 통신 부문에서 네트워크 주소 변환(NAT)과 통신하여 Peer의 공인IP 주소를 보내는 것을 말한다.
- TURN(Traversal Using Relays around NAT)은 NAT 보안정책으로 NAT 바인딩을 성공적으로 생성할 수 없는 경우 TURN서버와 연결하여 해당 서버를 통해 중계하는 것을 말한다.
- ICE(Interactive Connectivity Establishment)는 Peer와 연결하기 위해 STUN/TURN 서버를 이용하여 최적의 연결 경로를 찾아주는 프레임워크이다
보안
- DTLS(Datagram Transport Layer Security)는 데이터그램 기반 통신을 보호하기 위해 사용되는 프로토콜이다. DTLS은 스트림 중심의 TLS(Transport Layer Security)에 기반하여 유사한 수준의 보안을 제공합니다. 데이터그램 프로토콜인 DTLS는 메시지 전달 순서를 보장하지 않으며 메시지가 전달될 것임조차 보장하지 않는다.
- SRTP(Secure Real-time Transport Protocol)는 RTP(Real-time Transport Protocol)에서 데이터에 대한 암호화, 메시지 인증 및 무결성, 재생 공격 보호를 제공하기 위해 설계 되었다. SRTP는 Cisco와 Ericsson의 인터넷 프로토콜 및 암호화 전문가들로 구성된 소규모 팀에 의해 개발되었다
통신
- RTP(Real-time Transport Protocol)는 IP 네트워크를 통해 오디오 및 비디오를 전달하는 네트워크 프로토콜이다. RTC는 실시간 통신에 필수적인 시간 정보 및 매체의 동기화 기능을 제공한다.
- SCTP(Stream Control Transmission Protocol)는 컴퓨터 네트워킹에서 전송 계층 프로토콜의 하나이다. SCTP는 잘 알려진 프로토콜인 TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)와 비슷한 역할을 수행한다.
- RTCP(RTP Control Protocol)는 실시간 전송 프로토콜(RTP)와 같은 프로토콜이다. RTCP는 송신측과 수신측의 데이터 Sync를 맞추기 위한 제어 기능이 추가된 프로토콜이다. 멀티미디어 데이터의 전달 및 패키징 시에 RTP와 함께 사용하지만 RTCP가 직접 미디어 데이터를 전송하지는 않는다. RTCP는 패킷 손실, 패킷 지연 변화, 왕복 지연 시간 등의 통계 정보를 스트리밍 멀티미디어 세션 참여자들에게 주기적으로 보냄으로써 품질을 맞춰줄 수 있다.
참고문헌
더보기
- WebRTC API. https://developer.mozilla.org/ko/docs/Web/API/WebRTC_API. 2023. 4. 5.
- 세션 기술 프로토콜- Wikipedia. https://en.wikipedia.org/wiki/Session_Description_Protocol. 2023. 4. 5.
- RTC-Editor. https://www.rfc-editor.org/rfc/rfc4566#section-3. 2023. 4. 5.
- STUN이란?. https://velog.io/@doontagi/STUN%EC%9D%B4%EB%9E%80. 2023. 4. 7
- WebRTC란?. https://andonekwon.tistory.com/59. 2023. 4. 8
- Introduction to WebRTC protocols - Web APIs | MDN - Mozilla Developer. https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Protocols. 2023. 4. 8.
- DTLS-MDN. https://developer.mozilla.org/en-US/docs/Glossary/DTLS. 2023. 4. 8.
- 데이터그램 전송 계층 보안 DTLS 개념 이해 - 유아마루. https://urmaru.com/5. 2023. 4. 8.
- Secure Real-time Transport Protocol - Wikipedia. https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol. 2023. 4. 8.
- Real-time Transport Protocol - Wikipedia. https://en.wikipedia.org/wiki/Real-time_Transport_Protocol. 2023. 4. 8.
- Stream Control Transmission Protocol - Wikipedia. https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol. 2023. 4. 8.
- RTCP - 위키백과, 우리 모두의 백과사전. https://ko.wikipedia.org/wiki/RTCP. 2023. 4. 8.
댓글
이 글 공유하기
다른 글
-
Firebase crashlytics으로 앱 안정성 확보하기
Firebase crashlytics으로 앱 안정성 확보하기
2024.06.26 -
직접 클라우드 서버 제작 및 서버 인프라 설계
직접 클라우드 서버 제작 및 서버 인프라 설계
2023.12.18 -
Kotlin Coroutines 이란 무엇인가요?
Kotlin Coroutines 이란 무엇인가요?
2023.02.06 -
학교에서 배운 html로 반응형 웹페이지 만들어보기
학교에서 배운 html로 반응형 웹페이지 만들어보기
2019.12.19