10 기타 전송 계층 프로토콜
비연결형 서비스를 제공하는 UDP의 헤더와 데이터 전송 방법을 이해한다. 실시간 데이터 전송 프로토콜을 살펴본다. RTP의 헤더와 동작 원리를 이해한다. OSI TP의 서비스 프리미티브 종류와 동작을 이해한다.
1절. UDP UDP 헤더 [그림 10-1] 비연결형 서비스를 제공 헤더와 전송 데이터에 대한 체크섬 기능을 제공 Best Effort 전달 방식을 지원 UDP 헤더 [그림 10-1] 프로토콜 오버헤드의 최소화
1절. UDP UDP 헤더 Source Port / Destination Port 송수신 프로세스에 할당된 네트워크 포트 번호 Length: 헤더를 포함한 UDP 데이터그램의 크기 Checksum: 헤더와 데이터에 대한 체크섬
1절. UDP UDP의 데이터 전송 UDP에서의 데이터그램 분실 [그림 10-2] 각 데이터그램이 독립적으로 전송됨 데이터 순서 번호 기능을 제공하지 않음 데이터 분실 오류는 상위 계층에서 해결해야 함
1절. UDP UDP의 데이터 전송 UDP에서의 데이터그램 도착 순서 변경 [그림 10-3] 데이터 순서 번호 기능을 제공하지 않음 데이터 도착 순서 변경 오류는 상위 계층에서 해결해야 함
2절. RTP(Real Time Protocol) 실시간 서비스 데이터 변형/분실 오류를 복구하는 기능이 상대적으로 덜 중요 도착 순서, 패킷의 지연 간격, 데이터 압축 등이 중요 UDP: 기능이 단순하여 빠른 전송을 지원 (순서 번호 보완 필요) 실시간 요구 사항 일반 데이터 서비스 환경 파일 전송, 전자 메일 등 신뢰성이 중요 성능과 지연 문제는 덜 중요 실시간 데이터 서비스 환경 정해진 시간 내에 도착하는지의 여부가 중요 신뢰성은 덜 중요
2절. RTP 실시간 요구 사항 버퍼의 역할 [그림 10-4] 네트워크에서 데이터의 시간 간격이 불규칙적으로 변함 수신 프로세스의 버퍼를 이용하여 시간 간격이 일정하도록 보정
2절. RTP 실시간 요구 사항 지터 [그림 10-5] 데이터그램의 도착 지연 시간의 분포
2절. RTP RTP의 데이터 전송 프로토콜 동작 원리: [그림 10-6] UDP:작고 빠른 전송 기능을 지원하는 UDP 프로토콜 위에서 구현 RTP: 데이터그램 분실이나 도착 순서 변경 등의 오류는 RTP에서 해결 각각의 응용 환경에 따라 별도의 모듈을 작성하고, 필요 시 이를 첨삭하도록 설계
2절. RTP RTP의 데이터 전송 프로토콜 RTP 릴레이 믹서 트랜슬레이터 데이터 전송 과정에서 데이터를 중개하는 기능을 제공 믹서와 트랜슬레이터로 구분 믹서 여러 송신 프로세스의 데이터그램을 적절히 조합하여 새로운 데이터그램 생성 믹싱 과정에서 데이터그램 스트림에 대한 시간 정보 제공 트랜슬레이터 RTP 데이터그램을 하나 이상의 출력용 데이터그램으로 만들어 줌 예를 들어서 고해상도의 비디오 신호를 저해상도로 변환
2절. RTP RTP 헤더 고정 헤더 [그림 10-7] 응용 환경에 따라 고정 헤더의 뒤에 가변 크기의 헤더가 추가됨 CSRC 구분자 목록: 믹서에 의해 추가된 경우에 사용
2절. RTP RTP 헤더 Extension: 확장 헤더의 존재 유무 CSRC Count: CSRC 구분자의 개수 Payload Type 페이로드의 유형 표 10-1 Sequence Number 분실, 순서 번호 변경 오류 검출 Timestamp 데이트그램의 생성 시기
2절. RTP RTP 제어 프로토콜 주요 기능 QoS와 혼잡 제어: 데이터 분배 과정에서 발생하는 서비스 품질에 관한 피드백 기 능을 지원 Identification: RTCP 패킷에는 RTCP 송신 프로세스에 관한 정보가 포함됨 세션 크기: RTCP 데이터그램의 최대 전송률은 5초당 1 데이타그램 세션 제어: 최소한의 세션 제어 정보를 옵션으로 제공
3절. OSI TP(Transport Protocol) 클래스 0: 기본 기능 클래스 1: 기본 오류 복구 기능 클래스 2: 멀티플렉싱 클래스 3: 오류 복구, 멀티플렉싱 클래스 4: 오류 검출, 오류 복구, 멀티플렉싱
3절. OSI TP OSI TP 서비스 프리미티브 T-CONNECT.request: 연결 설정 T-CONNECT.indication: 연결 설정 T-CONNECT.response: 연결 설정 T-CONNECT.confirm: 연결 설정 T-DISCONNECT.request: 연결 해제 T-DISCONNECT.indication: 연결 해제 T-DATA.request: 데이터 전송 T-DATA.indication: 데이터 전송 T-EXPEDITED-DATA.request: 긴급 데이터 전송 T-EXPEDITED-DATA.indication: 긴급 데이터 전송 T-UNITDATA.request: 비연결형 데이터 전송 T-UNITDATA.indication: 비연결형 데이터 전송
3절. OSI TP OSI TP 전송 과정 [그림 10-8]