CS지식/네트워크

TIL 정리_128(TCP 구조와 플래그)

ran4 2022. 8. 1. 23:34

https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi 

위의 강의를 듣고 정리한 내용입니다


TCP 프로토콜


Transmission Control Protocol

  • 전송 제어 프로토콜을 뜻한다
  • 연결지향형 프로토콜이다
  • UDP와 다르게 기능이 많고 안정적이다

 

TCP 하는 일

인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간의 통신을

안정적으로, 순서대로, 에러없이 교환할 수 있게 한다.

 

TCP의 안정성을 필요로 하지 않는 애플리케이션의 경우 일반적으로 TCP 대신 UDP를 사용한다

 

TCP는 UDP보다 안전하지만 느리다

-> 느리다고는 하지만, 일반적으로 체감할 수 없다

 

 

TCP 프로토콜의 구조

 

Source Port Destination Port
Sequence Number
Acknowledgement Number
Offset Reserved TCP Flags
C E U A P R S F
Window
Checksum Urgent Pointer
TCP Options(variable length, optional)

 

일반적으로 20bytes로 구성된다

-> 최대 60bytes까지 늘어날 수 있다

 

  • Offset : offset보다는 헤더의 길이를 의미한다
  • Reserved : 예약된 필드로, 사용하지 않는 필드이다
  • Window : 데이터를 보낼 때 상대방과 요청&응답할 때 사용된다

 

 

TCP의 Flags

TCP가 연결 상태를 물어볼 때 여러 가지 형태로 데이터를 보내는데,

그때 나타내는 형태를 의미한다

-> TCP의 주 기능이 플래그로 나눠진다

 

 

플래그의 C E U A P R S F //강조된 부분만 다룬다

 

Urgent Flag

긴급 비트, 보내는 데이터의 우선순위가 높음을 의미한다

 

Urgent Pointer

Urgent flag와 세트라 보면 된다, 어디서부터 긴급값인지 나타내는 위치값을 의미한다

 

Acknowledgement flag

TCP에서 중요한 플래그로, 자주 사용된다

승인 비트로 응답을 할 때 사용된다

 

Push flag

push 비트로 TCP 버퍼 유무에 관계없이 데이터를 넣는다

 

Reset flag

초기화 비트 상대방과 연결이 된 상태에서 추가적으로 데이터를 주고받을 때

문제가 생기면 연결을 새로고침한다

 

Syn flag 

동기화 비트를 의미하며 상대방과 연결을 시작할 때 무조건 사용하는 플래그이다

처음 보내진 후 둘 사이의 연결이 동기화 된다

 

Fin flag

데이터를 주고받은 후 연결을 종료할 때 사용한다

 

**플래그는 동시에 여러 개가 세팅될 수 있다

'CS지식 > 네트워크' 카테고리의 다른 글

TIL 정리_130(TCP 전송, 상태)  (0) 2022.08.05
TIL 정리_129(TCP 3Way Handshake)  (0) 2022.08.03
TIL 정리_127(UDP)  (0) 2022.07.29
TIL 정리_126(4계층 이론)  (0) 2022.07.27
TIL 정리_125(조각화)  (0) 2022.07.25