개발하는 쿠키
article thumbnail

👊 시작하기

팀 프로젝트로 WebRTC를 활용한 웹사이트를 만들게 되면서 사용되는 기술에 대해 알아보려고 합니다.

1. WebRTC란?

- WebRTC(Web Real-Time Communication)는 웹 브라우저 간에 플러그인 없이 서로 통신할 수 있는 API입니다.

- 카메라 또는 마이크를 활용한 음성통화, 영상통화, 화면 공유나 P2P 파일 공유 등으로 활용됩니다.

2. WebRTC 장점, 단점

2-1. 장점

- 지연시간(Latency)이 짧다.

콘텐츠를 잘개 쪼개서 전송하는(Cunked Streaming) 방식으로 파일 사이즈를 줄여서 전송 지연시간을 단축한다. 

 

- Chunked Streaming

 전송되기 전에 전체 세그먼트가 로드될 때까지 기다리지 않고 chunk가 준비될 때 각 세그먼트를 점진적으로 전달할 수 있다.

- 보안성이 좋다.

암호화된 스트림을 위해 DTLS 및 SRTP와 함께 매우 높은 보안 기능이 내장되어 있다.

그래서 암호화되지 않는 RTMP보다 보안성이 좋다.

 

- DTLS (Datagram Transmission Layer Security)

  • 도청, 변조 또는 메시지 위조를 방지하기 위해 고안된 방식으로 데이터 그램 기반 애플리케이션에 대한 보안을 제공하는 통신 프로토콜이다.

- SRTP (Secure Real-time Transport Protocol)

  • 실시간으로 전송되는 멀티미디어 데이터를 암호화하여 송, 수신하는 프로토콜을 의미한다.

- RTMP (Real Time Messaging Protocol)

  • RTMP는 어도비 시스템사의 독점통신 규약으로 오디오, 비디오 및 기타 데이터를 인터넷을 통해 스트리밍 할 때 쓰인다.

 

2-2. 단점

- STUN/TURN 서버가 필요하다.

방화벽 문제로 인해 다른 네트워크 상에서는 STUN/TURN 서버를 설치한 후에 사용할 수 있다.

 

- STUN

  • 클라이언트가 자신의 Public IP 확인 위해 STUN 서버 요청 보냄 -> 서버로부터 자신의 Public IP 받기

- TURN

  • Client 간 통신할 때 Public 망에 존재하는 TURN서버를 경유하여 통신한다.
  • 클라이언트가 자신의 Private IP 포함된 TURN 메세지를 턴 서버로 보내면,
  • Network Layer IP 주소와 Transport Layer의 UDP 포트 넘버와 차이 확인해서 Public IP로 응답한다.

 

3. WebRTC 원리

WebRTC는 NAT 우회 과정을 거치기 때문에 웹에서 실시간으로 데이터를 교환할 수 있다.

 

- NAT (network address translation)

  • IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. 

 

🍉 Reference

https://ko.wikipedia.org/wiki/WebRTC

 

WebRTC - 위키백과, 우리 모두의 백과사전

WebRTC 위키백과, 우리 모두의 백과사전.

ko.wikipedia.org

https://webrtc.org/

 

WebRTC

An open framework for the web that enables Real-Time Communications (RTC) capabilities in the browser.

webrtc.org

https://gh402.tistory.com/38?category=935378 

 

[WebRTC] WebRTC란 무엇일까?

1. WebRTC란 무엇인가? Web Real-Time Communication의 약자 웹, 앱(안드로이드, iOS) 에서 별 다른 소프트웨어 없이, 카메라, 마이크 등을 사용해서 실시간 커뮤니케이션을 제공해주는 기술 우리가 잘 알고

gh402.tistory.com

 

반응형
profile

개발하는 쿠키

@COOKIE_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!