전송계층(Transport)
정의
전송 계층은 최종 시스템 및 호스트 간의 데이터 전송 조율을 담당한다. 보낼 데이터의 용량과 속도, 목적지 등을 처리한다. 쉽게 전송자와 수신자를 연결하는 통신서비스를 제공한다. 전송 계층의 예 중에서 가장 잘 알려진 것이 전송 제어 프로토콜(TCP)이다. TCP는 인터넷 프로토콜(IP) 위에 구축되는데 흔히 TCP/IP로 알려져 있다. 기기의 IP 주소가 여기서 작동한다.
프로토콜 종류
프로토콜의 종류에는 TCP, UDP, SCTP, DCCP가 있다.
전송 제어 프로토콜(Transmission Control Protocol, TCP)
-
인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다. TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 세그먼트 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다.
-
웹 브라우저들이 월드 와이드 웹에서 서버에 연결할 때 사용되며, 이메일 전송이나 파일 전송에도 사용된다.
세그먼트 구조
기본적으로 TCP통신은 다음의 과정을 거친다.
송신TCP가 헤더를 붙여 세그먼트를 만든 후 IP계층으로 전달 -> capsulation
수신쪽은 헤더를 때고 어플리케이션계층으로 전달 -> encapsulation
TCP 프로토콜에 쓰이는 통신단위인 세그먼트는 헤더+데이터섹션으로 나눠진다. 먼저 헤더가오고 뒤따라서 데이터계층이 붙는다. 다음은 헤더의 사진이다. 헤더의 크기는 기본 20바이트로 옵션이 붙으면 60바이트까지 늘어난다.
-
송신/발신 포트번호: 기본적으로 연결형 프로토콜이기 때문에 송신지와 발신지가 필요하다.
-
순서 번호: TCP는 버퍼에서 각 바이트마다 번호를 매김, 이 번호가 흐름제어, 오류제어에 사용된다 (신뢰성보장), 초기번호(ISN)은 랜덤으로 선택된다.
-
확인 번호: 수신쪽에 세그먼트를 받았음을 알림
-
헤더 길이: 4bits는 0~15까지 표현가능 하지만 최대 60bits이므로 4로 나눈값을 저장한다.
사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)
UDP의 전송 방식은 너무 단순해서 서비스의 신뢰성이 낮고, 데이터그램 도착 순서가 바뀌거나, 중복되거나, 심지어는 통보 없이 누락시키기도 한다. UDP는 일반적으로 오류의 검사와 수정이 필요 없는 애플리케이션에서 수행할 것으로 가정한다. DNS와 IPTV, VoIP, 온라인게임 등이 있다.
UDP데이터그램
- 송신/발신 포트번호:
스트림 제어 전송 프로토콜(Stream Control Transmission Protocol, SCTP)
전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP)와 비슷한 역할을 수행한다. TCP와 UDP의 동일한 서비스 기능들 가운데 일부를 제공한다. TCP처럼 연결지향 프로토콜이며 UDP 메시지지향프로토콜의 강점을 갖고있다. 다른점은 혼잡제어를 통해 신뢰성 있는 순차적 메시지전송을 보장한다.
혼잡제어: 전자 통신 네트워크로 들어가는 정보 소통량을 조절하여 네트워크가 혼잡해지지 않게 조절하는 것을 말한다. 송신측에서 네트워크 속도를 측정하고 이를 기반으로 정보소통량을 조정한다.
DCCP(Datagram Congestion Control Protocol, 데이터그램 혼잡 제어 프로토콜)
: 비신뢰성 + 혼잡제어
전송계층 프로토콜 비교
|기능 및 특성| UDP | TCP | SCTP | DCCP | |———-|:————-:|:——:|:——-:|:——-:| | 패킷 헤더 크기 | 8 바이트 | 20 ~ 60바이트 | 12바이트 | 12 or 16바이트 | | 패킷 형태| 데이터그램|세그먼트|데이터그램|데이터그램| |연결지향|No|Yes|Yes|Yes| |신뢰성|No|Yes|Yes|No| |전달 순서보장|No|Yes|Yes|No| |체크섬|Yes|Yes|Yes|Yes| |체크섬 크기|16|16|32|16|
체크섬(checksum)은 중복 검사의 한 형태로, 오류 정정을 통해, 공간(전자 통신)이나 시간(기억 장치) 속에서 송신된 자료의 무결성을 보호하는 단순한 방법이다. 더하거나 빼기