- 높은 신뢰성을 보장하기 위하여 헤더에 많은 정보를 포함하고 있다.
Source Port : 송신 포트 번호
Desination Port : 수신 포트 번호
Sequence Numbr : TCP 세그먼트 안의 데이터 송신 바이트 위치 / 송신 데이터의 일렬번호를 담고있다.
Acknowledgement Number : 수신자의 다음 데이터 바이트 순서번호 / 상대방이 다음에 전송할 일렬번호를 담고있다.
Data Offset / Header Length : 헤더의 길이 / 헤더의 정보를 담고있다.
Received : 예약되어 있는 필드 / 나중을 위해 남겨두는 비트
Control Flag :
- URG (Urgent Pointer) : 특정(긴급)상황 시, 특정 데이터를 읽기 원하는 경우 사용
- ACK (Acknowledgement) : 요청에 대한 확인 응답 시 사용
- PSH (Request for push) : 네트워크에서 버퍼링 우회와 데이터 즉시 통과 시 사용
- RST (Reset the connection) : Tcp연결 중 특이사항이 발생하여 강제 종료시 사용
- SYN (Synchronized sequence number) : 클라이언트, 서버의 일렬번호(동기화)를 확인 시 사용
- FIN (Terminate the connection) : Tcp연결 종료 시 사용
Window Size : 수신측이 받을 수 있는 데이터 사이즈
Chacksum : Tcp헤더 데이터를 포함한 세그먼트 전체 계산 값
Urgent Position : 긴급히 처리해야 하는 데이터 바이트 위치
Tcp Options : 연결이 구성되는 동안의 최대 세그먼트 크기 옵션
- 서버와 클라이언트가 최초 연결 시 수행되는 과정이다.
(과정 그림)
- SYN (Synchronous Idle) : ‘동시에 발생하다’의 약자로, 다른 컴퓨터로 전송 된 Tcp패킷으로 연결이 이루어 지도록 요청한다.
- ACK (Acknowledgement) : ‘승인’의 약자로, 다른 컴퓨터나 네트워크 장치가 다른 컴퓨터에 SYN / ACK 또는 다른 요청을 보낸것을 확인한 응답을 나타낸다.
- 연결순서와 마찬가지로 데이터의 안전성을 위하여 서버와 클라이언트간 FIN(Finish)을 통하여 안정적으로 종료하는 과정이다.
- 서버와 클라이언트가 연결 종료 시 수행되는 과정이다.
(과정 그림)