IP 데이터 그램의 헤더
VERS
4 비트 프로토콜 버전(현재 4)
H.LEN
4비트 헤더 길이(32bit 길이)이고, 선택 사양과 Padding없이 20 Octet
SERVICE TYPE(TOS : 서비스 유형)
어떻게 데이터 그램이 다루어져야 하는지를 나타냄
비트 | 값이 0 일 때 | 값이 1일 때 |
0 ~ 2 | 우선순위 | |
3 | 보통 지연 | 지연 적음 |
4 | 보통 처리율 | 고속 처리율 |
5 | 보통 안정성 | 높은 안정성 |
6 ~ 7 | 예약 | |
▶ 서비스 유형 필드의 구조
TOTAL LENGTH
- 헤더와 데이터 모두를 포함하는 데이터그램 내의 총 Octet수
- 216 = 65536 Octet이고, H.LEN을 빼면 실제 데이터 영역의 크기
IDENTIFICATION(식별번호)
- 본래의 데이터그램을 절단하여 여러 개의 조각으로 메시지가 분류되는데, 이 조각들이 모두 하나의 데이터그램에서 절단된 것임을 알려주는 것
- 식별 번호는 하나의 수이며, 송신자가 생성
FLAGS(플래그)
- 두 비트 DF(Don't Fragment)와 MF(More Fragment)는 데이터그램의 절단된 조각을 제어하기 위한 것
- DF 비트가 1로 되어 있다면, IP는 어떤 상황에서도 절단하지 않고는 전송이 불가능하다 하더라도 데이터그램을 절단하지 않음
- MF 비트는 데이터그램이 여러 조각으로 절단된 경우에 사용되며, 후속 조각이 있는지 없는지를 나타냄
- 필ㄷ의 첫 번째 비트는 사용하지 않음
FRAGMENT OFFSET(세분화 오프셋)
- MF 비트를 사용하는 경우 조각 오프셋은 본래 데이터그램으로부터 현재 조각이 갖는 위치를 나타냄
- 목적지 호스트는 이 필드를 사용해서 본래의데이터그램을 정확하게 조합할 수 있음
TIME TO LIVE(TTL)
- 1과 255사이의 양의 정수로, 카운터가 0인 경우 데이터그램은 버려지고 오류 메시지가 스스로 되돌려짐
- 데이터그램이 루프를 포함하는 경로로 영원히 이동하는 것을 방지
TYPE(Protocol)
전송 계층에서 사용할 프로토콜의 번호를 기입하며 ICMP=1, TCP=6, UDP=17
HEADER CHECKSUM
헤더 비트들의 체크섬 필드
IP OPTIONS
특정 작업(네트워크 관리, 보안)에 관해서는 IP 프로토콜 헤더가 확장되어 옵션을 포함
PADDING
선택 사양이 32비트 단위로 끝나지 않는 겨우 0 비트를 채워줌
SOURCE/DESTINATION IP ADDRESS
송신자와 목적지의 IP 주소
TCP 헤더
메시지 단위
- 데이터를 운반하는 메시지
- Acknowledgement
- 연결을 생성하거나 종료하는데 사용하는 2-Way Handshake 부분의 메시지
SOURCE PORT
송신측 컴퓨터의 애플리케이션 구별
- TCP : FTP(20,21), Telnet(23), SMTP(25), HTTP(80)
- UDP : DNS(53), TFTP(69), SNMP(161)
DESTINATION PORT
수신측 컴퓨터의 애플리케이션을 구별
SEQUENCE NUMBER
보내는 데이터를 위한 참조로 세그먼트 내에 전달되는 데이터의 순서 번호
ACKNOWLEGEGMENT NUMBER
수신된 데이터의 순서 번호
HLEN
세그먼트 헤더의 길이를 정의하는 정수를 가지고 있음
CODE BITS
- URG : 긴급한(Urgent) 데이터임을 표시
- ACK : 응답 번호를 표시
- PSH : 세그먼트 PUSH를 요청하며, 현재 세그먼트의 데이터가 즉시 응용 계층에 전달되어야 함
- RST : 연결을 재설정
- SYN : 순서 번호를 동기화 함
- FIN : 데이터 전송의 종료를 의미
WINDOWS
흐름 제어를 위해 사용
URGENT POINT
빨리 처리해야 할 페이로드(Payload)의 위치를 알려줌
3-Way Handshake
- 신뢰성 있는 연결의 성립과 종료를 보장하기 위하여, TCP는 3개의 메시지가 교환되는 3-Way handshake를 이용
동기화 세그먼트(SYN Segment)
연결을 설정하는 데 사용하는 3-Way Handshake의 메시지를 설명
종료 세그먼트(FIN Segment)
연결을 종료하는데 사용하는 3-Way Handshake의 메시지를 설명
Acknowledgement(ACK)
각 방향에서 전송된 ACK는 연결이 종료되기 전에 모든 데이터가 도착했다는 것을 보장
- 3-Way Handshake에서는 양측이 SYN이나 FIN에 대한 각 ACK를 보내기 전에는 연결을 새로 연거나 닫지 않음
- 양 종단간 연결을 설정하기 위해 TCP는 임의의 32비트 연속 수의 생성을 요청
혼잡(Congestion) 제어
UDP
구분 | TCP | UDP |
수신 순서 | 송신 순서대로 수신 | 송신 순서와 다를 수 있음 |
오류 제어, 흐름 제어 | 사용 | 거의 사용 안함 |
연결제어 | 연결형 | 비연결형 |