Notice
Recent Posts
Recent Comments
Link
투케이2K
16. (TWOK/STUDY) [투케이 학습] : WebRTC 실시간 스트리밍 STUN , TUN 서버 연결 학습 본문
[제 목]
[투케이 학습] : WebRTC 실시간 스트리밍 STUN , TUN 서버 연결 학습
[설 명]
/**
* -------------------------------------
* [요약 설명]
* -------------------------------------
* 1. WebRTC [ICE] 연결 형태 :
*
* Relayed Address : TURN 서버가 패킷 릴레이를 위해 할당하는 주소
* Server Reflexive Address : NAT 가 매핑한 클라이언트의 공인망(Public IP, Port)
* Local Address : 클라이언트의 사설주소(Private IP, Port)
* -------------------------------------
* 2. TUN / STUN 구분 :
*
* STUN 서버는 HOST 를 거쳐 >> Server Reflexive Address 만을 응답하지만,
* TURN 서버는 Relayed Address와 Server Reflexive Address 를 모두 응답한다
*
* STUN, TURN 서버를 이용해 SDP Answer IP주소 를 취득 >> RTCPeerConnection Remote 연결 수행
* -------------------------------------
* 3. 실시간 스트림 정보 요청 및 재생 로직 :
*
* Device A :
* getUserMedia() 로 미디어 캡처
* RTCPeerConnection 생성, RTCPeerConnection.addTrack() 호출 (addStream deprecated)
* RTCPeerConnection.createOffer() 메서드로 offer를 생성
* RTCPeerConnection.setLocalDescription() 메서드로 offer를 localDescription으로 설정
* setLocalDescription() 호출 후, Ice candidates를 STUN , TUN 서버에 요청
* 시그널링 서버(AWS)를 이용해 Device B에 Offer를 전송
*
*
* Device B :
* Device A의 Offer 를 수신
* RTCPeerConnection.setRemoteDescription()호출해서 remoteDescription 기록
* 호출 종료시, local media 캡처, 각 mediaTrack을 RTCPeerConnection.addTrack()을 통해 peer connection에 연결
* RTCPeerConnection.createAnswer() 메서드로 answer 생성
* RTCPeerConnection.setLocalDescription() 으로 생성된 answer에 localDescription을 설정
* 시그널링 서버를 사용해 Device A에 answer를 전달
*
*
* Device A :
* answer 을 받고
* RTCPeerConnection.setRemoteDescription() 호출로 answer를 remoteDescription으로 설정
* -------------------------------------
* 4. STUN 서버 특징 :
*
* 클라이언트는 자신의 Public IP를 확인하기 위해 STUN 서버로 요청을 보내고 서버로 부터 자신의 Public IP를 받는다
* 클라이언트는 자신이 받은 Public IP를 이용하여 시그널링을 할때 받은 그 정보를 이용해서 시그널링을 수행 한다
* STUN 서버는 candidate 에서 HOST 를 사용해 공인 주소를 얻고 usernameFragment 를 사용해 고유 식별자를 통해 인증을 수행
* -------------------------------------
* 5. TUN 서버 특징 :
*
* 클라이언트들이 통신할 때 Public 망에 존재하는 TURN 서버를 경유하여 통신한다
* 클라이언트는 자신의 Private IP가 포함된 TURN 메세지를 턴서버로 보내고 >> TURN 서버는 메세지에 포함된 Network Layer IP 주소와 Transport Layer의 UDP 포트 넘버와의 차이를 확인하고 클라이언트의 Public IP로 응답 한다
* -------------------------------------
*/
반응형
'투케이2K 학습정리' 카테고리의 다른 글
18. (TWOK/STUDY) [투케이 학습] : Firebase FCM V1 푸시 알림 전송 방식 학습 (0) | 2023.12.18 |
---|---|
17. (TWOK/STUDY) [투케이 학습] : IOS 아이폰 NFC 기능 지원 학습 (0) | 2023.10.17 |
15. (TWOK/STUDY) [투케이 학습] : 블루투스 (Bluetooth) SPP 시리얼 통신 학습 정리 (0) | 2023.08.29 |
14. (TWOK/STUDY) [투케이 학습] : NFC - 마이페어 (Mifare) 카드 시리얼 통신 학습 정리 (0) | 2023.08.29 |
13. (TWOK/STUDY) [투케이 학습] : 스마트 콘피그 (SmartConfig) 와이파이 TCP / IP 통신 기본 설명 및 학습 정리 (0) | 2023.08.29 |
Comments