Chương 2 CễNG NGHỆ IP
2.2.2.3 Phõn mảnh và hợp nhất phõn mảnh của cỏc gúi IP[2,3]
Cỏc gúi số liệu IP phải được nhỳng trong khung số liệu của mức liờn kết số liệu tương ứng, trước khi chuyển tiếp trong mạng. Quỏ trỡnh nhận 1 gúi số liệu IP diễn ra ngược lại.
Vớ dụ: với mạng Ethernet ở mức liờn kết số liệu, quỏ trỡnh truyền 1 gúi số liệu IP diễn ra như sau: Khi gửi 1 gúi số liệu IP cho mức Ethernet đớch, kiểu khung Ethernet (chỉ số liệu mà Ethernet đang mang là của IP) và cuối cựng là gúi IP. Mức liờn kết số liệu đặt địa chỉ Ethernet nguồn là địa chỉ kết nối mạng của mỡnh và tớnh toỏn giỏ trị tổng kiểm tra (checksum). Trường Type chỉ ra kiểu khung là 0x0800 đối với số liệu IP. Mức liờn kết số liệu sẽ chuyển khung số liệu theo thuật toỏn truy nhập Ethernet.
Hỡnh 2.4. Phương thức đúng gúi số liệu
Một gúi số liệu IP cú độ dài tối đa 65536 byte, trong khi hầu hết cỏc mức liờn kết số liệu chỉ hỗ trợ cỏc khung số liệu nhỏ hơn độ lớn tối đa của gúi số liệu IP nhiều lần (vớ dụ độ dài lớn nhất của một khung số liệu Ethernet là 1500 byte). Vỡ vậy, cần phải cú cơ chế phõn mảnh khi phỏt và hợp mảnh khi thu đối với cỏc gúi số liệu IP.
Người ta định nghĩa độ dài tối đa của 1 gúi số liệu liờn kết là MTU (Maximum Transmit Unit). Khi cần chuyển 1 gúi số liệu IP cú độ dài lớn hơn MTU của 1 mạng cụ thể, người ta phải chia gúi số liệu IP đú thành những gúi IP nhỏ hơn, gọi chung là mảnh (fragment). Trong phần tiờu đề của gúi số liệu IP cú cỏc thụng tin về mảnh và xỏc định cỏc mảnh cú quan hệ phụ thuộc để hợp thành sau này. Vớ dụ Ethernet chỉ hỗ trợ cỏc khung cú độ dài tối đa 1500 bytes. Nếu muốn gửi 1 gúi số liệu IP gồm 2000 byte qua Ethernet, phải chia gúi IP thành 2 gúi nhỏ hơn, mỗi gúi vừa với giới hạn MTU của Ethernet.
Hỡnh 2.5. Phõn mảnh gúi dữ liệu
IP dựng cờ MF (3 bit thấp của trường Flags trong phần đầu gúi IP) và trường Fragment Offset của gúi IP (đĩ bị phõn đoạn) để định danh gúi IP đú là 1 phõn đoạn và vị trớ của phõn đoạn này trong gúi IP gốc. Cỏc gúi cựng trong chuỗi phõn mảnh đều cú trường này giống nhau. Cờ MF bằng 0 nếu là gúi đầu của chuỗi phõn mảnh và 1 nếu là gúi cuối phõn mảnh.
chuỗi phõn mảnh cú cựng trường định danh. Khi phõn mảnh đầu tiờn được nhận, IP khởi động 1 bộ đếm thời gian (giỏ trị ngầm định là 15s). IP phải nhận hết cỏc phõn mảnh kế tiếp trước khi đồng hồ tắt. Nếu khụng, IP phải hủy tất cả cỏc phõn mảnh trong hàng đợi hiện thời cú cựng trường định danh.
Khi nhận được hết cỏc phõn mảnh, IP thực hiện hợp nhất cỏc gúi phõn mảnh thành gúi IP gốc và sau đú xử lý gúi số liệu này như 1 gúi số liệu IP bỡnh thường. IP thường chỉ thực hiện hợp nhất cỏc gúi tại hệ thống đớch nơi gúi số liệu được chuyển đến.