TCP 헤더(IPv4)
바이트 스트림을 Segment 단위로 나눔
Segment : TCP를 이용하여 두 종단 호스트 간에 전달되는 데이터 단위
송신지 포트번호 16bit | 수신지 포트 번호 16bit | |||||||
순서번호(Sequence Number) 32bit | ||||||||
확인 응답 번호(Acknowledgement Number) 32bit | ||||||||
헤더 길이 4bit | 예약 6bit | urg | ack | psh | rst | syn | fin | Window 16bit |
검사 합 16bit | 긴급 포인터(Urgent Pointer) 16bit | |||||||
옵션 & 패딩(Padding) |
1. 송/수신지 포트 번호
16bit
segment 전송하는 host에 있는 응용프로그램의 포트 번호를 의미
2. 순서 번호(SEQ)
32bit
segment에 포함된 데이터의 첫 번째 바이트에 부여된 32비트 부호 없는 번호를 의미
수신지 TCP에게 segment의 첫 번째 바이트가 순서 번호에 해당하는 바이트임을 알려줌
3. 확인 응답 번호(ACK)
segment를 수신하는 노드가 상대편 노드에게 받는 바이트의 번호를 의미
성공적으로 수신한 마지막 바이트 순서 번호 + 1
4. 헤더 길이
4bit
TCP 헤더 길이를 4bit 워드 값으로 나타냄
5. 예약
나중에 사용하기로 예약된 6bit field
6. 플래그
프로토콜의 동작을 제어하는데 사용
URG : 긴급 처리 데이터 있음
ACK : 응답 확인 번호 사용
PSH : TCP가 받은 데이터를 상위 계층에 전달
RST : 연결 재설정
SYN : 연결을 초기화하기 위해 순서 번호를 동기화
FIN : 데이터 송신 종료
7. 윈도우 크기
상대방에게 유지되어야 하는 바이트 단위의 윈도우 크기를 정의
8. 검사 합
의사 헤드를 포함한 헤드 부분의 오류를 검출하는 검사 합 계산을 포함
9. 긴급 포인터
URG 플래그 설정 시, 긴급 데이터의 마지막 바이트의 위치를 나타냄
이 포인터 값의 순서 번호의 합으로 계산
10. 옵션
송신자가 수신하기를 원하는 segment의 최대 크기
'Computer Science > Network' 카테고리의 다른 글
Network] UDP 주요 함수 (0) | 2016.07.21 |
---|---|
Network] TCP 상태 전이 (0) | 2016.07.21 |
Network] TCP 기반 클라이언트 프로그램 주요 함수 (0) | 2016.07.21 |
Network] TCP 기반 서버 프로그램 주요 함수 (0) | 2016.07.21 |
Network] IPv4, IPv6 (0) | 2016.07.21 |