IPv4 header có nhiều cột và mỗi cột chứa các giá trị nhị phân mà giao thức IPv4 tham chiếu khi vận chuyển packet qua liên mạng. Xét các cột sau:
IP Destination Address: biểu diễn địa chỉ IPv4 của máy đích.
IP Source Address: biểu diễn địa chỉ IPv4 của máy nguồn.
Time-to-live (TTL): là một giá trị nhị phân 8 bit. Chỉ ra thời gian sống của một
packet trên mạng. Giá trị TTL bị giảm dần khi packet được xử lý tại mỗi router (hop). Khi giá trị này bằng 0, router hủy packet và packet này bị xóa khỏi mạng. Đây là một trong những cơ chế ngăn chặn vòng lặp định tuyến (routing loop). Giảm giá trị TTL tại mỗi hop đảm bảo rằng cuối cùng nó trở thành 0 và packet với cột TTL hết hiệu lực sẽ bị hủy. Nếu khơng có cơ hội này, packet di chuyển mãi trên mạng vì khơng có người nhận. Khi đó, tạo nên routing loop làm cho mạng bị tắt nghẽn.
Protocol: mỗi giá trị của cột này chỉ ra loại PDU của lớp trên mà packet đang
mang. Cột Protocol cho phép lớp Network chuyển dữ liệu đến giao thức phù hợp ở lớp trên.
Các giá trị phổ biến của cột này:
06 – TCP
17 – UDP
Differentiated Services (DS): trước kia gọi là Type-of-service, chứa một giá trị
nhị phân 8 bit, trong đó Differentiated Services Code Point (DSCP) là 6 bit và Explicit Congestion Notification (ECN) là 2 bit. Nó được dùng để quyết định độ ưu tiên của mỗi packet. Giá trị này cho phép cơ chế QoS được tác động đến các packet có độ ưu tiên cao. Bạn có thể cấu hình router dựa vào giá trị này để quyết định thứ tự ưu tiên chuyển các packet.
Fragment Offset: các router có thể phân mảnh một packet khi chuyển nó từ một
mơi trường nay sang một mơi trường khác mà nó có MTU nhỏ hơn. Khi có sự phân mảnh xảy ra, giao thức IPv4 ở lớp Network tại máy đích dựa vào cột Fragment Offset và cờ MF trong header để xây dựng lại packet. Sau đây chúng ta tìm hiểu các cờ liên quan:
Cờ More Fragment (MF) là một bit đơn trong cột Flag. Nó được dùng với Fragment Offset để phân mảnh và xây dựng lại packet. Khi các bit có cờ MF được bật, có nghĩa rằng nó khơng phải là phân mảnh cuối cùng của một packet. Khi máy nhận được một packet với MF=1, nó kiểm tra cột Fragment Offset để biết fragment này được đặt vào vị trí nào của một packet khi xây dựng lại paket. Ngược lai nếu MF=0 và cột Fragment Offset có một giá trị khác 0, thì nó đặt fragment đó vào vị trí cuối cùng của paket được xây dựng lại. Một packet không bị phân đoạn sẽ có tất cả thông tin về phân đoạn là 0 nghĩa là MF=0, Fragment Offset=0.
Cờ Don’t Fragment (DF) là một bit đơn trong cột Flag. Nó chỉ ra rằng packet này không được phân mảnh. Nếu cờ DF được bật, thì packet này khơng được phép phân mảnh. Nếu một router cần phân mảnh một packet để cho phép nó được chuyển xuống lớp Data Link nhưng DF được đặt là 1, thì router sẽ hủy packet này.
Version: chỉ ra phiên bản IP.
Header Length: chỉ ra kích thước của IP header.
Total Length: cho biết kích thước của tồn bộ packet bao gồm header và data,
được tính theo byte.
Identification: cột này được sử dụng để nhận dạng các fragment duy nhất của một IP packet.
Header Checksum: được dùng để kiểm tra lỗi header của packet.
1.2.5 | IPV6 HEADER