- 전송 계층은 네트워크의 구성요소와 프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공하는 계층이다. end to end간의 데이터 전송을 담당한다.
데이터 링크와 다른 점은 데이터 링크는 물리적인 연결에 대한 얘기이지만, 전송 계층은 논리적인 연결에 대한 프로세스간 통신을 담당한다. - 주된 프로토콜로 연결형 통신에 사용되는 TCP와 비연결형 통신에 사용되는 UDP가 있고,
TCP는 신뢰성있고 정확한 데이터를 전달하기 위한 프로토콜이다.
UDP는 데이터가 빠르게 전송되는 것을 목적으로 하고 있는 프로토콜이다.
- 애플리케이션 계층에서 URL을 인식할 때 아래와 같이 인식합니다.
- scheme://[userInfo:Password@]host[:port][/path][?query][#fragment]
- 기본적으로 [ ]는 생략이 가능
scheme
: 서비스의 종류, 프로토콜 정보://
: 뒤에 이어지는 문자열이 서버주소임을 나타냄userInfo
: 사용자명password
: 패스워드host
: 도메인 (서버 주소):port
: 포트 번호/path
: 경로?query
: Query String, Query Parameter#Fragment
: 내부 북마크- scheme 조건에 따라서 TCP를 사용하는 프로토콜과 UDP를 사용하는 프로토콜이 대부분 다르므로 다르다고 인식합니다.
- TCP 헤더를 붙였을 때는 세그먼트 라고 부릅니다.
- UDP 헤더를 붙였을 때는 UDP 데이터그램 이라고 부릅니다.
- TCP는 서로 간의 신뢰성있는 통신이 목적이기 때문에 멀티캐스팅과 브로드캐스팅을 사용하지 않습니다.
- RTP(Real-time Transport Protocal)는 실시간 음성과 영상 및 데이터를 IP 네트워크로 전송하는 표준 프로토콜입니다.
- 추가적으로 RTP는 RTCP를 이용하여 데이터의 전달 상황을 감시 및 최소한의 제어 기능과 미디어 식별등을 제공하고 있고, RTP가 RTCP를 사용하는 것은 옵션입니다.
- 데이터를 안정성있게 제공하기 위하여 RTP는 내부적으로 Timestamp(발송 시간)을 사용하여 수신측에서 재정렬하도록 해줍니다.