글

라벨이 TCP/UDP인 게시물 표시

RTMP으로 Video Streaming 구현하기 (DASH, HLS) - 1

이미지
구현 전 사전 간단한 개념. 1. RTMP(Real-Time Messaging Protocol)      1-1. 역할          - 실시간 오디오/비디오 데이터를 Client -> Server 로 전달 하기 위한 전송 프로토콜     1-2. 네트워크 특성          - 기본 포트 : 1935          - TCP 기반 연결 (지속 연결과 신뢰성 우선)     1-3. 전송 방식          - Push 방식          - Client(OBS-RTMP )가 Server로 밀어 넣음     1-4. 한계          - 일부  브라우저 에선 직접 재생 불가 Safari에선 가능하지만 다른 브라우저는 hls.js로 화면을 송출 해야함. 2. NGINX-RTMP-MODULE     2-1. 역할          - RTMP Stream을 받아들이는 ingest Server     2-2. 기능          - RTMP 연결 수신 (listen 1935)          - Stream Session 관리(Application, Stream Key)          - Stream Life Cycle 관리 (on_publish, on_done, on_pley)          -  RTMP -> HLS 패키징(...

TCP/UDP 통신 방식 (WireShark)

이미지
 📌TCP/UDP?  📍​ TCP TCP(Transmission Control Protocal) 전송 제어 프로토콜 3 - way handshake 를 통해 연결 설정, 4 - way handshake 를 통해 연결 해제 Client 와 Server는 1:1 연결 TCP는 데이터를 전송할 때 오류를 검사하여 전송된 데이터가 목적지에 온전하게 도달하도록 보장 (신뢰성이 높음) TCP는 전송이 실패한 경우 재전송 시도 TCP는 운영체제와 독립적으로 작동하므로 시스템과 디바이스 간 상호 운용성이 높음 전송단위는 Segment                 Segment  ❓ Header 의 구성요소 Source Port / Destination Port Sequence Number  Acknowledgment Number  Flags (SYN, ACK, FIN) Window Size Checksum Urgent Pointer Data 실제로 전송되는 애플리케이션 데이터 ✅ 정리하면 "Header(최소 20바이트)" + "DATA" 로 이루어져 있음   📍​ UDP UDP(User Datagram Protocal) 유저 데이터그램 프로토콜 UDP는 패킷을 더 적은 오버헤드로 전송하여 End to End 지연을 줄임 UDP는 일부 패킷이 누락되더라도 데이터를 전송  브로드캐스트 및 멀티캐스트 기능을 통해 하나의 UDP 전송을 여러 수신자에게 한 번에 전송 전송 단위는 Daragram              Datagram  ❓ Header의 구성요소 Source Port / Destination Port Length Checksum ( IPv6 에선 필수로 Checksum이 들어가야 함) Data 실제로 전송되는 애플리케이션 데이터 ✅ ...