4계층 프로토콜 UDP, TCP
▶ 4계층 전송 계층 ( Transprot layer )은 송신자의 프로세스와 수신자의 프로세스를 연결하는 서비스를 제공하는 계층이다.
▶ 전송 계층은 연결 지향 데이터의 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화와 같은 편리한 서비를 제공한다.
▶ 전송 프로토콜 중 가장 장 알려진 것은
연결 지향전송박시으로 사용하는 전송제어 프로토콜( TCP )
단순한 전송에 사용되는 사용자 데이터 프로토콜 ( UDP )가 있다.
UDP 프로토콜
UDP 프로토콜 실습
TCP 프로토콜
▶ 전송 제어 프로토콜 (Transmission Control Protocol ) 은 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 통신을 안정적으로, 순서대로 에러없이 교환할 수 있게 합니다.
▶ TCP의 안정성을 필요로 하지 않은 애플리케이션의 경우 일반적으로 TCP 대신 비접속형 사용자 데이터그램 프로토콜 ( User Datagream Protocol )을 사용하여, TCP는 UDP보다 안전하지만 느리다.
▶ TCP 프로토콜의 구조
▶ TCP Flags의 각 기능
Window: 상대방과 데이터를 주고 받을 때, 얼마만큼의 데이터를 보낼 지 정하는 역할을 수행 ( 남아있는 TCP 공간을 알려줌 )
TCP Flags : 어떤값을 보낼지 세팅하는 값
C: X 사용하지 않음
E: X 사용하지 않음
U: Uregent ( 긴급 bit ) - 우선순위가 포함되어있음
1- 급한 데이터
A: Acknowledgment ( 승인 bit )
P: Push ( 밀어넣기 bit )
R: Reset ( 초기화 bit )
S: Syn ( 동기화 bit ) - 상대방과 연결을 시작할 때 반드시 사용
F: Fin ( 종료 bit )
TCP 프로토콜의 3Way Handshake
▶ TCP를 이용한 데이터 통신을 할 때 프로세스와 프로세스를 연결하기 위해 가장 먼저 수행되는 과정
1. 클라이언트가 서버에게 요청 패킷을 보내고
2. 서버가 클라이언트의 요청을 받아 패킷을 보내고
3. 클라이언트는 이를 최종적으로 수락하는 패킷을 보낸다.
위의 3개 과정을 3Way Handshake라고 부른다.
▶ 3Way Handshake 과정
1. 보낸 쪽에서 보낼 때는 SEQ번호와 ACK번호가 그대로이다.
2. 받는 쪽에서 SEQ번호는 받은 ACK번호가 된다.
3. 받는 쪽에서 ACK번호는 받은 SEQ번호 + 데이터 크기가 된다.
▶ TCP 상태 전이도 ( 연결상태 변화 )
실선은 클라이언트의 상태변화
점선은 서버의 상태 변화
▶ 와이어 샤크로 확인
TCP 프로토콜 실습
'네트워크 > 프로토콜' 카테고리의 다른 글
라우팅 프로토콜 (0) | 2020.01.13 |
---|---|
7계층 HTTP 프로토콜 (0) | 2020.01.12 |
3계층 IPv4 프로토콜과 ICMP 프로토콜 (0) | 2020.01.12 |
3계층 ARP프로토콜 (0) | 2020.01.12 |
3계층 IP주소 (0) | 2020.01.11 |