Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

네트워크기초실습 7주차 정리 - 3교시 본문

1-2/네트워크 기초 실습

네트워크기초실습 7주차 정리 - 3교시

김브래 2022. 10. 14. 21:38

TCP

TCP

TCP 개요

 

- 전송 계층에 해당 (OSI 계층형 모델, TCP/IP 모델)

- 네트워크 계층인 IP 패킷의 Payload에 탑재되는 SDU중 하나

- 연결 지향형(Connection Oriented) 프로토콜

- 흐름제어를 위해 슬라이딩 윈도우 (Sliding Window) 방식을 사용

- 최소 20 바이트의 헤더 크기를 가짐

TCP 구조

 

- 송신 포트 (Source Port, 16비트)

; 운영체제 내 송신 프로세스의 주소

; 프로세스 식별을 위해 운영체제는 동적인 번호를 할당

 

- 수신 포트 (Destination Port, 16비트)

; 수신 프로세스의 주소

; 수신 포트는 서버 구동 시 할당됨

 

- 순서 번호 (Sequence Number, 32비트)

; TCP 세그먼트의 일련번호

; 일련번호는 세그먼트 별 1씩 증가 (보안을 위해 운영체제마다 일부 다름)

; 세그먼트의 누락 해결, 순서 교정 및 중복 세그먼트 방지용

--------------------------------------------------------------------

- ACK 번호 (Acknowledge Number, 32비트)

; 다음 번에 수신될 것으로 예상되는 세그먼트의 번호

 

- HLEN (Header Length, 4비트)

; 헤더의 크기(지정 크기 X4, 기본값: 101b) - 기본값: 0101b  = 5 -> 20바이트 (=5X4) 

; 이 값을 통해, 세그먼트 내 데이터 (SDU)의 시작 위치를 알 수 있음

 

- 예약 (Not Used)

; 미래를 위해 남겨 놓은 영역

; 현재까지 사용되지 않고 있음

------------------------------------------------------------------

플래그 비트 (Flag Bits, 6비트)

 

- 회선, 데이터의 관리와 제어 기능 등을 수행하는 영역

 

- URG 플래그 (Urgent)

; 긴급 포인터임을 알림

; 순서에 상관 없이 먼저 송신됨

 

- ACK 플래그

; ACK 번호 영역의 값이 유효

; 접속 요청에 사용되는 STN 메시지 이후에는 항상 1로 설정됨

 

- PSH 플래그

; 버퍼의 내용을 채우지 않고 바로 전송을 수행

 

- RST 플래그

; TCP 연결을 해제하기 위해 사용

; 전송 중에서 강제 접속 해제에 사용

 

- SYN 플래그

; 연결 설정에 사용

 

- FIN 플래그

; 전송할 남은 데이터가 없음을 알림, 즉 연결 종료

-------------------------------------------------------------

- 윈도우 크기 (Window Size, 16비트)

; 흐름 제어를 위해 사용하는 16비트 영역

; 송신자에 수신자의 버퍼 여유 크기를 지속적으로 통보

 

- 체크섬 (Checksum, 16비트)

; TCP 세그먼트 전체에 대한 오류 검출

; 에러 제어용

 

- 긴급 포인터 (Urgent Pointer, 16비트)

; URG 플래그가 설정된 경우 긴급 포인터 영역

; 응급 데이터의 위치

 

- 옵션 (32xn 비트)

; 다양한 확장 기능과 관련된 영역

; 옵션에 따라 TCP 헤더의 크기가 변함

; 타임스템프, 최대 세그먼트 크기 등의 기능이 포함

; 일부 옵션은 SYN 플래그가 설정되어 있을 때만 전송