전송 계층( Transport Layer )
。애플리케이션 계층의Message를Client Process와Server Process간 전달 역할의프로토콜( TCP/UDP )을 포함하는 계층
▶Process-to-Process
。전송계층 PDU:세그먼트
。송 수신자간데이터 전송을 관리 및 신뢰성과 정확성을 보장
。Host와Host간 실제 전달은네트워크 계층에서 수행
▶ 목적지Host의전송 계층으로Segment를 전달하기위해 출발지Host의TCPorUDP는Segment와 목적지 주소를네트워크 계층으로 전달
전송 계층특징
IP주소를 기반으로네트워크 계층을 통해 성립된통신위에서 실질적인 활용을 위한 다양한 기능을 정의
。세그먼트의 순서보장,에러처리등
단일 IP 주소를 가지는Host에서 구동중인 여러프로세스들에게패킷을 전달하기위해포트 기반 분할을 수행
세그먼트( Segment )
。TCP / UDP의데이터 전송 단위
。어플리케이션 계층으로부터 전달된Message( )를전송 계층에서캡슐화를 통해전송 계층 헤더( )를 부착하여Segment( )를 생성
▶전송 계층 헤더: 수신 측전송 계층에서포트번호등의 사용될 정보를 포함
TCP
세그먼트구성
▶ 이후네트워크 계층으로 전송 시 해당내용들을 모두 포함하여IP 패킷( =IP 데이터그램)으로캡슐화후 전송
- 포트 :
。송 / 수신 Host의포트번호를 모두 포함
Sequence / Acknowledgement Number(SYN / ACK) :
。통신 주체끼리데이터를 주고 받았는지 확인하는 용도
▶송신 Host에서수신 Host로IP 패킷전송 시수신 Host에서송신 Host로 수신했다는Acknowledgement를 전송하여IP 패킷의 손실을 방지
。TCP는SYN / ACK를 활용하여 3-way handshaking / 4-way handshaking방법을 사용하여 장치간TCP 연결을성립및종료
SYN( SYNchronize sequence numbers ) :
연결확인을 위해 전송하는무작위 숫자값의플래그 패킷
▶클라이언트 SYN 패킷 : ISNc
▶서버 SYN 패킷 : ISNs
ACK( ACKnowledgements sequence numbers ) :
상대 Host로부터 수신한SYN에1d라는키워드를 추가한플래그 패킷
▶ACK = ISNc + 1
▶ 잘수신했다는 표시용도
ISN( Initial Sequence Numbers ) :
클라이언트와서버가 각각 처음으로 생성한SYN
▶ISNs:server_isn
▶ISNc:client_isn
Flags:
。Segment의 목적 ( ex.ACK, SYN, FIN)
Window Size:
。세그먼트를 만든 주체가 얼마나 많은 데이터를 받을지 전달
Urgent Pointer:
。세그먼트의 처리 중요도를 설정
▶Urgent Pointer를 통해 수신된 다량의세그먼트중 가장 우선권을 가져서 처리됨.
일반적인 데이터
UDP
세그먼트구성
。TCP 세그먼트에 비해 더욱 간단하여 용량적으로 더 효율적임.
▶UDP 특성인데이터손실 및 순서오류에 대한 방지책이 없으므로 간단함.
▶대용량 스트리밍 서비스등에 유리
출처
인프런 - AWS 강의