Chức năng chính của IP là cung cấp khả năng kết nối các mạng con thành một liên mạng để truyền dữ liệu. IP là một giao thức kiểu “không liên kết” nghĩa là không cần phải thiết lập liên kết trước khi truyền dữ liệu.
Khuôn dạng gói IP:
Đơn vị dữ liệu dùng trong IP là datagram. Khuôn dạng gói datagram được chỉ ra trong hình 2.2
Hình 2.2 Khuôn dạng gói IP
Ý nghĩa của các tham số như sau:
- VER (4 bits): Chỉ ra phiên bản hiện hành của IP được cài đặt.
- IHL (4 bits): Chỉ độ dài phần đầu (Internet Header Length) của datagram, tính theo đơn vị word (32bits). Độ dài tối thiểu là 5 words = 20 bytes.
- Type of Service (8 bits): Đặc tả tham số về dịch vụ.
- Total Length (16 bits): Chỉ độ dài của toàn bộ datagram bao gồm cả phần header (tính theo đơn vị byte).
- Identification (16 bits): Cùng với các tham số khác (như Source Address
và Destination Address) tham số này dùng để định danh duy nhất cho
35
- Frags (3 bits): Liên quan đến sự phân đoạn các datagram.
- Fragment Offsets (13 bits): Chỉ vị trí của đoạn (fragment) ở trong datagram, tính theo đơn vị 64 bits, có nghĩa là mỗi đoạn (trừ đoạn cuối cùng) phải chứa một vùng dữ liệu có độ dài là bội số của 64 bits.
- Time to Live (8 bits): Quy định thời gian tồn tại (tính bằng giây) của datagram trong liên mạng để tránh tình trạng một datagram bị quẩn trên liên mạng. Thời gian này được cho bởi trạm gửi và được giảm đi (thường quy ước là 1 đơn vị) khi datagram đi qua mỗi router trên mạng.
- Protocol (8 bits): Chỉ giao thức tầng trên kế tiếp sẽ nhận vùng dữ liệu ở trạm đích (hiện tại thường là UDP hoặc TCP được cài đặt trên IP).
- Header Checksum (16 bits): Mã kiểm soát lỗi 16 bits theo phương pháp
CRC, chỉ cho vùng header.
- Source Address (32 bits): Địa chỉ của trạm nguồn. - Destination Address (32 bits): Địa chỉ của trạm đích.
- Options (độ dài thay đổi): Khai báo các options do người gửi yêu cầu.
- Padding (độ dài thay đổi): vùng đệm được dùng để đảm bảo cho phần header luôn kết thúc ở một mốc 32 bits.
- Data (độ dài thay đổi): vùng dữ liệu, có độ dài là bội số của 8 bits và tối
đa là 65535 bytes Khi được truyền trên mạng, các datagram được gắn thêm phần
mào đầu (header) tạo thành các khung (frame) do đường truyền vật lý
không xác định được các datagram. Toàn bộ datagram sẽ được nằm trong
vùng dữ liệu của frame như hình 2.3 dưới đây:
36