I. Các module chính
I.3.1. Cấu trúc của gói IP như sau
Hình IV. 4. Cấu trúc gói IP
- Ý nghĩa các field trong header IP:
+ Version (có chiều dài 4 bit): cho biết phiên bản của giao thức, đối với trường
hợp của chúng ta, giao thứclà IP version 4, trường này sẽ luôn có giá trị là 4 (0100).
+ Header Length (4 bit): cho biết chiều dài của header IP, tính theo đơn vị 4 byte (32
SVTH : 53
+ TOS (8 bit): Type of Service.
+ Total Length (16 bit): 16 bit tổng chiều dài của gói IP gồm cả phần header
+ Identification (16 bit): dùng nhận diện các phân đoạn của gói IP. + Flags: gồm 3 bit.
. Bit đầu tiên: không sử dụng.
. Bit 2: DF (Don’t Fragment) = 1 có nghĩa là không phân đoạn gói này . Bit 3: MF (More Fragment) = 0 => đây là phân đoạn cuối cùng.
+ Fragmented offset (13 bit): độ dời (đơn vị 8 byte) tính từ điểm bắt đầu của
Header tới điểm bắt đầu của phân đoạn(3 trường trên: Identification, Flags,
Fragmented offset dùng cho trường hợp đặc biệt khi ta cần chia đoạn dữ liệu ban đầu
thành nhiều phân đoạn, đóng gói trong các gói tin nhỏ hơn, khi đó ta cần dùng các
trường này cho mục đích ráp lại các phân đoạn để khôi phục lại đoạn dữ liệu ban đầu,
trong project của chúng ta sẽ không có xử lý trường hợp này).
+ TTL (Time to Live) (8 bit): thời gian tồn tại trên mạng hoặc số chặng trên
mạng mà gói đi qua trước khi bị hủy bỏ.
+ Protocol (8 bit): nhận diện Protocol trên lớp IP. + Header checksum (16 bit): sửa sai cho phần Header.
+ Các vùng địa chỉ nguồn, địa chỉ đích: địa chỉ IP 32 bit.
+ Option: các tùy chọn dùng cho việc kiểm tra: Loose source routing, Strict
source routing, Record route và Timestamp.
+ Padding: Gồm các số zero được thêm vào sao cho chiều dài của vùng Header
là bội số của 32 bit.