본문 바로가기
네트워크 기초(개정판)

09. 연결지향형 TCP 프로토콜 - TCP 프로토콜 구조와 TCP의 플래그

by 움터 2021. 1. 29.

1. TCP 프로토콜

- 전송 제어 프로토콜(Transmissio Control protocol, TCP)은 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 통신을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다.

- TCP의 안정성을 필요로 하지 않는 애플리케이션의 경우 일반적으로 TCP 대신 비접속형 사용자 데이터그램 프로토콜(User Datagram Protocol)을 사용한다.

- TCP는 UDP보다 안전하지만 느리다.(But TCP와 UDP와의 속도 차이를 느낄만큼 차이는 나지않는다. )

 

 

2. TCP 프로토콜의 구조

* 사진 추가 설명 *

- Sequence Number(4Byte) 

- Acknowledgment Number(4Byte) 

- TCP Options : 일반적으로 잘 안붙고, 붙더라도 4Byte씩 붙고 총 10개까지 붙을수있다.

- Offset이라고 보다는 Header의 길이라고 생각하면 됨.

- Reserved는 예약된 필드로 사용하지 않는 필드

- Window : 상대방에게 얼마만큼 보내야 하는지 확인과 알려주는 곳.

 

3. TCP 플래그

U A P R S F만 알아두자.

- 플래그가 하는 일은 TCP가 계속 통신을 하면서 상대방과 연결 상태 등을 물어보는데에 사용.

- U, Urgent Flag(긴급 비트) : 보내는 데이터가 우선 순위가 높은 데이터가 포함되어있음을 지정

- A, ACK Flag : TCP에서 중요하고 가장 많이 사용되는 Flag, 승인을 해줄때 사용되는 플래그

- P, Pash Flag : TCP버퍼가 일정한 크기만큼 쌓여야 되는데, 상관없이 데이터를 밀어넣겠다라는 것을 의미

- R, Reset Flag : 상대방과 연결되어있는 상태에서 추가적으로 데이터를 받을려고 하는데 문제가 발생했을때, 이떄 새로고침 할때의 플래그

- S, Synchronization Flag(동기화 비트) : 상대방과 연결을 시작할때 무조건 사용하는 플래그

- F, Finish Flag : 연결을 끊을때 사용되는 플래그

 

Flag의 예시

* 추가설명* 

Reserved, Nonce, Congestion Window Reduced, ECN-Echo는 잘 사용안하고 그 아래에 있는 플래그만 주로 사용

 

댓글