본문 바로가기

Stove Dev Camp10

SCTP 프로토콜(기존 프로토콜 TCP, UDP)(1) SCTP 프로토콜이란? 간단하게 이야기 해서 UDP와 TCP프로토콜의 장점을 합친 차세대 프로토콜이다. 멀티 스트리밍과 멀티 호밍을 지원하며 TCP에서 문제점으로 재기 되었던 TCP-SYN 공격 문제 및 "half-open closing" 문제들을 해결할 수 있다. VoIP 신호 전달 외에도 다중 미디어를 전송하는 웹 응용, WebRTC등의 프로토콜에서 사용된다. UDP와 TCP의 특징은? 위 설명에서 SCTP 프로토콜은 UDP와 TCP 프로토콜의 장점을 모은 차세대 프로토콜이라고 하였다. 그럼 여기서 이야기 하는 UDP TCP 프로토콜은 무엇일까? 세가지 프로토콜 모두 OSI 7계층에서 4 Layer인 Transport Layer에 속해있다. 3 Layer인 IP를 이용하여 실제 라우터로 연결되어있는 .. 2021. 1. 25.
WebRTC Data Channel WebRTC Data Channel이 뭔데? 처음 회사에서 프로젝트를 진행할때 만해도 WebRTC를 동영상 스트리밍 용도로 사용하고 채팅은 4 Layer단의 TCP 소켓을 이용하거나 Web Socket을 사용하여 구현할 예정이었다. 그러나 이번 프로젝트의 주 맥락이 WebRTC이고 자체로 영상이 아닌 Data를 전송할 수 있는 DataChannel을 지원한다. WebRTC는 당연히 UDP위에서 동작하기 때문에 UDP로 동작한다. WebRTC 프로토콜의 스택은 다음 그림과 같다. 따라서, WebRTC를 통해서 Peer to Peer 로 동작하는 데이터 전송 방식이라고 생각하면 된다. Data Channel과 다른 전송 채널과의 차이 일반적으로 생각하고 있는 Web Socket 방식은 TCP위에서 작동되며 .. 2021. 1. 18.
WebRTC란? (STUN과 TURN 서버의 이해) (2) 이전 글 복습 중간에 방화벽이 존재하거나 NAT 환경에 놓여 있는 경우에는 각 Peer에 대한 직접적인 시그널링이 불가능하다고 이야기하였다. 그렇기 떄문에 시그널링을 하고 연결을 하기 위해서는 무언가 다른 방법이 필요하다. 이러한 방식을 UDP Hole Punching 방식이라고 하는데 중간에 무언가 중개해줘야할 누군가가 필요하다. 그래서 두가지 방식이 존재한다. 1. STUN 서버 stun 은 Session Traversal Uilities for NAT의 약자이다. 아까 위에서 설명했듯이 NAT환경에서는 Private IP를 별도로 가지고 있기 때문에 Peer to Peer(이하 P2P) 통신이 불가능 하다. 따라서 클라이언트는 자신의 Public IP를 확인하기 위해 STUN 서버로 요청을 보내고 .. 2020. 12. 29.
WebRTC란? (1) WebRTC? WebRTC (Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이다. W3C에서 제시된 초안이며, 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용될 수 있다. - 위키백과- 간단하게 이야기 해서 웹브라우저간에 Adobe Flash나 ActiveX와 같은 별도의 플러그인 없이 서로 통신할 수 있도록 만든 기술이며 이것을 이용해서 음성,영상 통화 등 여러가지를 할 수 있다. 여러분이 알만한 회사중에 WebRTC로 구성된 서비스는 Discord가 있다. 일반적인 통신은 그림을 대충 그러보자면 이렇게 서버를 거쳐서 클라이언트에게 전송하는 방식이다. 하지만 WebRTC의 기본적인 통작과정은 다음과 같다. 대략 이.. 2020. 12. 22.