
출처: https://www.youtube.com/watch?v=bWcNEk0H4Y0
web socket
중간에 서버 있다

client가 늘어날수록 서버에 부담
![]() |
|
![]() |
오디오, 영상이 실시간으로 주고 받는 경우 서버가 더더욱 힘들 것이다 |
![]() |
서버 없이 client 끼리 주고 받는 방법이 없을까?
![]() |
|
![]() |
|
![]() |
|
![]() |
Web RTC
클라이언트 간 직접 연결
표준화 된 구현
높은 호환성
기본적으로 암호화된 통식 방식
사용되는 곳
실시간 화상채팅, 회의
원격 협업 업무
클라이언트와 클라이언트가 데이터를 주고 받음
![]() |
|
![]() |
음성 통화, 화상 채팅 |
브라우저 API로 사용 가능

모바일, desktop 에서는 라이브러리 필요함

Web RTC 동작 원리
영상 통화 예시
![]() |
연결 되기 전 |
![]() |
peer to peer signaling 시그널링 |
![]() |
무엇으로 대화할까? 어떻게 대화할까? |
![]() |
|
![]() |
SDP
SDP
Sesstion
Description
Protocol
- 시그널링에 사용되는 프로토콜
![]() |
|
![]() |
|
![]() |
|
![]() |
클라이언트들은 서로 소통에 사용할 수 있는 네트워크 경로의 정보를 보낸다 |
![]() |
|
![]() |
|
![]() |
|
![]() |
host candidate 두 사용자가 같은 로컬 네트워크에 속한 경우 port 번호만 교환하면 된다 |
![]() |
server reflexive candidate 화상통화는 대부분 먼거리에 있는 사람들에서 일어난다 |
![]() |
NAT 네트워크에 연결됨 하나의 공인 ip 주소을 통해서 여러 장치가 인터넷에 접속한다 특정 기기와 연락을 주고 받으려면 해당 기기에 연결된 라우터의 공인 ip + port를 알아야한다 |
![]() |


STUN
sesstion
Traversal
Utilities
for NAT Server
- 나의 주소를 알아내기 위한 방법
client 자기자신의 자주 변경되는 ip, port를 알아내기 위한 것


클라이언트는 stun server에 요청을 보낸다

stun 서버는 응답으로 ip, port를 알려준다

![]() |
|
![]() |
|
TURN
Traversal Using Relays around NAT



데이터 전송

![]() |
화상 채팅 음성 통화 |
![]() |
udp 사용 |
![]() |
신뢰성 |
![]() |
빠른 전송 |
![]() |
SRTP
secure Real-time transport protocol
- 비디오, 오디오 실시간 전송

SCTP
Stream Control Transmission Protocol
- 신뢰성
- 파일 보낼 때 사용

WebRTC 적용하면 안되는 경우?
다 : 다 통신

Selective Forwarding Unit Multipoint Control Unit

'학습 기록 (Learning Logs) > CS Study' 카테고리의 다른 글
웹툰 생성 AI(Webtoon Maker)를 위한 서버 설계 (0) | 2025.02.24 |
---|---|
AI를 활용한 webtoon maker 만들기 (0) | 2025.02.20 |
SSE (Server Sent Events) (0) | 2025.02.20 |
Real-time Notification Service Using WebSocket (0) | 2025.02.20 |
concurrenct problem (0) | 2025.02.13 |