공부합시다!/Network

Packet Analysis - 5. TCP Header

간서치 2022. 3. 18. 14:39
728x90

아! 드디어 Packet 분석의 마지막 입니다.

드디어 TCP Header 입니다.

Network도 참 할게 많네요!

헌데 Public Cloud가 활성화 되면서 이 부분에 별로 시간투자를 안하시는데......

Architeckture의 가장 기본이 Network 입니다.

Docker나 Kubernetes를 하면서도 가장 공부하기 까다로워 하는 부분이니 꼭 익혀두시고 넘어가세요!

 

기본이 튼튼하면 어디에나 적용할 수 있습니다.

 

1. TCP Header 

 1.1. TCP Header 구조 : 참 단단하게 생겼네요! ㅎㅎ

TCP Header

 1.2. TCP Header 분석

  1.2.1. Source Port 

   1.2.1.1. Data를 생성한 App이 사용하는 Port

  1.2.2. Destination Port

   1.2.2.1. 목적지 App이 사용하는 Port

  1.2.3. Sequence Number

   1.2.3.1. 전송되는 모든 Data의 모든 Byte에 고유한 일련번호 부여

   1.2.3.2. Sequence Nunber를 이용하여 Data를 올바른 순서로 재배열함.

  1.2.4. Acknowledgement Number

   1.2.4.1. 다음 Segment 수신 준비 완료

   1.2.4.2. 모든 Data 수신 완료 확인

  1.2.5. Header Length(Offset)

   1.2.5.1. Header 길이를 32Bit로 나타냄

   1.2.5.2. 최소 5(20Byte) ~ 최대 16(60Byte)

  1.2.6. Reserved 

   1.2.6.1. 차후 사용을 위해서 예약된 4Bit

  1.2.7. Control Flags : 6개의 서로 다른 제어 Flag, 동시에 여러개 설정 가능

   1.2.7.1. CWR(Congestion Window Reduced) : 혼잡 윈도우 크기 감소

   1.2.7.2. ECN(Explicit Congestion Notification) : 혼잡을 알림

   1.2.7.3. URG(Urgent) : Urgent Pointer Field가 가리키는 Segment번호까지 긴급 Data가 포함되어 있음을 알리는 Filed값, 설정되지 않음녀 Urgent Pointer Field는 무시

   1.2.7.4. ACK(Acknowledgment) : 확인 응답 메세지

   1.2.7.5. PSH(Push) : Data를 포함한 것을 의미

   1.2.7.6. RST(Reset) : 수신 거부 하고자 할때 사용

   1.2.7.7. SYN(Synchronize) : 가상회선이 처음 연결될때 두 시스템의 TCP Software는 의미 있는 확인 메세지를 전송하기 위해 일련 번호를 서로 동기화

   1.2.7.8. FIN(Finish) : 작업이 끝나고 가상 회선을 종결하고자 할 때 사용

  1.2.8. Windows Size :

   1.2.8.1. 송신 시스템의 가용 수신 버퍼 크기

  1.2.9. Checksum 

   1.2.9.1. TCP Segment의 내용이 유효한지 검증하고 손상여부 검사

 

네 이것으로 Header Analysis을 종료하고 다음에 다시 뵙겠습니다.

Have a nice day!

728x90