TCP는 전송계층의 대표적인 연결지향 프로토콜입니다. 대부분의 파일 전송 프로토콜은 데이터가 오류 없이 제대로 전송되었는지 확인하기 위해 TCP를 사용합니다.
최소 20바이트 ~ 최대 60바이트
1) 출발지 포트 (2byte)
2) 도착지 포트 (2byte)
3) Sequence Number (4byte) ★
사용자를 식별하는 세션 번호입니다.
tcp 세그먼트를 식별하며, 여기서 세그먼트는 tcp를 이용하여 전송되는 데이터 단위를 말합니다. 수신 측에서 이 번호를 이용하여 패킷을 재 조립하며 번호는 각 패킷에 포함된 데이터의 byte 수 만큼 플러스해서 계속 변합니다.
4) Acknowledge Number (4byte) ★
상대방으로부터 수신한 데이터의 바로 다음에 수신할 데이터 순서 번호를 나타냅니다.
Sequence Number의 확인 응답으로서 데이터 전송자에게 패킷을 잘 받았으니 그 다음 패킷을 송신하라는 의미로 사용됩니다. 상대방이 다음에 전송할 패킷의 Sequence Number이기도 합니다.
5) Header length (1byte)
tcp헤더의 길이 값을 정의합니다. 일반적으로 tcp헤더의 길이는 20byte이며, tcp헤더 길이를 확장할 경우 4byte씩 증가합니다.
※ Reserved - 미래를 위해 예약된 필드로 항상 0으로 설정됩니다.
6) Flag (1byte)
- FIN (종료) - tcp 연결을 종료하려는 표시
- SYN (동기화) - 통시 시작 시 연결을 요청하고 ISN을 교환
- RST (리셋) - 송신자가 유효하지 않은 연결을 시도할 때 거부하는데 이용되고 또한 통신의 연결 및 종료를 정상적으로 할 수 없을 때 사용
- PSH (push 강제전송) - 일반적으로 모든 데이터를 전송하고 마지막에 보내는 신호로 수신측은 데이터를 즉시 전송하라는 의미
- ACK (확인) - SYN에 대한 확인의 의미
- URG ( 긴급, 거의안씀) - 긴급 포인터 필드가 유효함을 표시
7) Window size (2byte)
8) checksum (2byte)
데이터가 전송 중에 손실되지 않고 원본과 동일한지 검사합니다.
9) dummy (2byte)
'네트워크' 카테고리의 다른 글
[네트워크] DNS 설치 (0) | 2018.01.18 |
---|---|
[네트워크] TCP / IP 통신, 소켓이란 (Socket) (0) | 2017.12.15 |
[네트워크] IP주소 (0) | 2017.12.15 |
[네트워크] OSI 7 계층 (Layer) (1) | 2017.12.14 |
[네트워크] 프로토콜(Protocol)이란? (0) | 2017.12.12 |