티스토리 뷰
728x90
반응형
WebRTC란?
- WebRTC(Web Real-Time Communication)이란 웹 애플리케이션과 사이트가 중간자 없이 브라우저 간에 오디오나 영상 미디어를 포착하고 마음대로 스트림할 수 있을 뿐만 아니라 임의의 데이터도 교환할 수 있도록하는 기술입니다.
- 간단히 말하자면 플러그인 설치 없이 웹 브라우저 간 P2P 연결을 통해 데이터 교환을 가능하게 하는 기술 입니다.
- P2P 연결은 중개 서버를 거치지 않기 때문에 빠른 속도가 보장되며, HTTPS가 강제되기 때문에 중간 공격에 대한 보안이 보장됩니다. 그리고 P2P 연결에서는 속도와 보안, 효율성을 고려해야하며, WebRTC가 범용적으로 사용되기 위해서는 다양한 플랫폼(Zoom, Meet)에 접속하는 사용자들에게 동일한 사용자 경험을 제공해야 합니다.
WebRTC의 역사
- WebRTC의 근간이 되는 여러 독점 기술 기업들을 구글이 인수하여 WebRTC 기술을 오픈 소스로 풀어버렸습니다. 그 후 구글은
크롬 브라우저에 탑재시키고 표준화까지 만들어버렸습니다. 그렇게 2011년 말에 WebRTC의 기술이 세상 밖으로 나오게 되었고 갓구글 저는 2022년에 WebRTC를 경험해봅니다,,,😂
WebRTC의 특징
- WebRTC는 웹에서 사용할 수 있는 유일한 P2P 기술입니다. 때문에 각각의 클라이언트들을 연결하는 과정도 신기합니다. 각각의 기기가 서버 도움 없이 연결되기 위해서는 이 연결을 도와주는 서버(Signaling)가 필요하고 P2P 연결이 불가능한 상황을 대비한 릴레이 서버(TURN)가 필요합니다.
WebRTC의 통신과정
- Peer to Peer Communication (P2P 통신)
- Peer to Peer 방식은 동등 계층간 통신 방식으로 클라이언트, 서버의 개념 없이 동등한 노드들로 구성되어 데이터를 주고 받는 형식입니다.
장점과 단점
장점
- Latency가 짧습니다.
- 우리가 알고 있는 인스타 라이브, 유튜브 라이브 등은 RTMP를 사용하여 실시간 스트리밍을 하고 있습니다. RTMP보다 WebRTC는 낮은 Latency를 가지고 있고 거의 지연시간이 없는 REAL-TIME과 비슷한 방송을 할 수 있습니다.
- 별 다른 소프트웨어 없이 실시간 커뮤니티가 가능합니다.
- 무료입니다.
단점
- 크로스 브라우징 문제
- WebRTC는 현재 크롬, 파이어폭스 뿐만 아니라 안드로이드, iOS 등 브라우저, 앱에서 사용할 수 있습니다. 그러나 사람들이 잘 사용하지 않는 브라우저나 최신 버전이 아닌 경우 사용하기가 힘듭니다. (Explorer는 지원이 안됩니다.)
- STURN/TURN 서버가 필요합니다.
- Peer to Peer 통신을 하기 위해서는 사용자의 IP주소를 알아야합니다. 하지만 대부분의 사용자는 방화벽등을 사용하고 다른 네트워크상에서 연결이 이루어지기 위해서는 STURN/TURN 서버가 꼭 필요합니다.
참고)
https://tech.kakaoenterprise.com/121
https://wormwlrm.github.io/2021/01/24/Introducing-WebRTC.html
https://gh402.tistory.com/38?category=935378
728x90
반응형
'FrontEnd' 카테고리의 다른 글
WebRTC 구현하기 (feat.P2P) (2) | 2022.04.09 |
---|---|
WebRTC를 이해하기 위해 필요한 지식들 (0) | 2022.04.06 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 서비스 기반 아키텍처
- pipeline architecture
- spring boot redisson destributed lock
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot excel download oom
- space based architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot excel download paging
- transactional outbox pattern
- spring boot redisson 분산락 구현
- redis sorted set으로 대기열 구현
- service based architecture
- spring boot redisson sorted set
- 공간 기반 아키텍처
- spring boot 엑셀 다운로드
- transactional outbox pattern spring boot
- pipe and filter architecture
- microkernel architecture
- redis sorted set
- java ThreadLocal
- 레이어드 아키텍처란
- redis 대기열 구현
- JDK Dynamic Proxy와 CGLIB의 차이
- java userThread와 DaemonThread
- polling publisher spring boot
- 람다 표현식
- spring boot poi excel download
- @ControllerAdvice
- 자바 백엔드 개발자 추천 도서
- spring boot redis 대기열 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함