컴퓨터 네트워크 - 멀티미디어 응용: RTP(Real-time Transport Protocol)

1 분 소요


K-MOOC에서 부산대학교 유영환 교수님의 “컴퓨터 네트워킹” 강의를 수강하며 적은 노트


Real-time Transport Protocol

RTP(Real-time Transport Protocol)

  • 멀티미디어 데이터들이 공통으로 필요한 정보를 표준화
    • payload의 타입
    • sequence number
    • timestamp
  • 엔드 시스템(최종 송신자와 수신자)에서 작동
  • UDP 기반, 일부 TCP
  • ex) 64 Kbps의 PCM(Pulse Code Modulation) 오디오
    1. 오디오 청크에 RTP 헤더를 붙이고 이걸 UDP 세그먼트에 담아 전송
    2. 목적지에서는 UDP 헤더를 떼고 RTP 헤더 정보로 데이터 해석
  • 데이터 전달의 실시간성을 보장하지는 않음
    • UDP 헤더 밑에 RTP 헤더가 있으므로 중간의 라우터들은 이 정보를 사용하지 않음

RTP 헤더

  • payload type: 데이터가 인코딩된 방식, 7 bit
    • 인코딩 기술에 번호가 부여됨
    • 0번 PCM, 3번 GSM, 31번 H.261, 33번 MPEG2 video 등
  • sequence number: 매 RTP 패킷을 전송할 때 마다 값이 1씩 증가, 16 bit
  • timestamp: 데이터가 샘플링 되었을 때의 시간, 32 bit
    • 한 번 샘플링될 때마다 1씩 증가
    • 청크는 샘플링된 것들을 여러 개 모은 것이므로, 패킷마다 그 크기만큼 증가
  • SSRC(Synchronization Sour ID): 하나의 세션 안에 여러 개 데이터 소스들이 있을 때 구별하기 위해서 부여하는 랜덤한 번호, 32 bit
    • 만약 겹치는 번호가 나오면 재할당
    • ex) 여러 명이서 화상 통화, 동영상의 비디오와 오디오 스트림

RTCP, RTSP

  • RTCP(Real-time Control Protocol): RTP가 잘 동작하고 있는지를 지속적으로 관찰하는 컨트롤 프로토콜
    • IP 프로토콜의 ICMP와 비슷함
      • ICMP(Internet Control Message Protocol): 패킷이 자꾸 버려지는지, 해당 포트 번호가 없는지 등 정보를 전달해주는 프로토콜
    • sender는 데이터와 함께 RTCP 정보도 보냄
      • ex) sender가 단위 시간 당 얼마나 자주 데이터를 보내는가 등
    • ex) 송신자가 100개를 보냈는데 수신자는 60개가 도달하고 10개는 에러
      • 해당 정보를 다시 계산해서 송신자에게 보내면 송신자는 혼잡을 감지하고 전송 속도를 조절하거나 저화질 전송
    • RTCP는 RTP를 통해 보내는 전체 데이터의 5% 정도가 되도록 함
      • RTCP가 쓸데없이 많으면 오히려 전달할 정보를 전달 못하게 될 수 있음
  • RTSP(Real-time Streaming Protocol): 사용자의 컨트롤 메시지(pause, forward, backward 등) 전송
    • HTTP 스트리밍에서는 필요 없음
      • TCP 기반이므로 커넥션이 이미 있기 때문에 컨트롤 메시지를 보내면 됨
    • 별도로 TCP 커넥션을 통해 서비스


태그:

카테고리:

업데이트:

댓글남기기