Điều khiển việc phân mảnh

Một phần của tài liệu Đề án Chọn đường và ứng dụng trong thiết kế mạng WAN (Trang 25)

Ba tr−ờng trong phần HEADER của datagram là IDENTIFICATION, FLAGS và FRAGMENT OFFSET điều khiển việc phân mảnh và lắp ráp datagram. Tr−ờng IDENTIFICATION chứa một số nguyên duy nhất định danh datagram. Nhớ lại rằng khi một Router phân mảnh 1 datagram thì nó copy phần lớn các tr−ờng trong phần HEADER của datagram ban đầu vào mỗi mảnh. Tr−ờng IDENTIFICATION cũng phải đ−ợc copy. Mục đích tr−ớc tiên là để cho đích biết là mảnh đến nào là của datagram nào. Khi một mảnh đến, đích dùng tr−ờng IDENTIFICATION để cùng với địa chỉ nguồn để xác định datagram. Các máy tính gửi datagram phải tạo ra một giá trị duy nhất cho mỗi datagram. Một kỹ thuật đ−ợc sử dụng bửi mọt phần mềm IP Giữ một bộ đếm toàn cục (global counter) trong bộ nhớ, tăng nó mỗi lần một datagram mới đ−ợc tạo ra, và gán kết quả nh− là tr−ờng IDENTIFICATION của datagram.

Nhớ lại rằng mỗi mảnh có có chính xác cùng khuôn dạng nh− khuôn dạng của datagram lúc ch−a phân mảnh.Đối với mỗi mảnh, tr−ờng FRAGMENT OFFSET xác định độ lệch trong (offset)datagram ban đầu của dữ liệu đnag đ−ợc mang bằng các mảnh, đ−ợc đo bằng các khối 8 octets bắt đầu từ offset 0. Để lắp ráp lại các datagram, đích phải có đ−ợc tất cả các mảnh từ mảnh có offset 0 cho tới mảnh có offset cao nhất.các mảnh không cần phải đến đúng trật tự và không có giao tiếp giữa Router đã phân mảnh datagram và đích đang lắp ráp chúng.

Hai bít thấp của tr−ờng FLAGS điều khiển việc phân mảnh. Thông th−ờng phần mềm ứng dúngử dụng TCP/IP không cần quan tâm tới việc phân mảnh bởi vì cả việc phân mảnh và lắp ráp lại các mảnh đều là các thủ tục tự động hoạt động tại một mức thấp trong hệ điều hành mà ng−ời dùng không thể thấy đ−ợc. Dù sao thì để kiểm tra lại phần mềm internet hoặc gỡ rối các vấn đề vận hành thì có thể kiểm tra kích th−ớc của các datagram thì rất quan trọng cho việc phân mảnh xảy ra. Bit điều khiển đầu tiên hỗ trợ trong những tr−ờng hợp kiểm tra nh− vậy bằng cách xác định rõ là datagram có thể bị phân mảnh hay là không. Nó đ−ợc gọi là bit không phân mảnh bởi vì việc thiết lập nó lên giá trị 1 xác định rằng datagram sẽ không bị phân mảnh. Một ứng dụng có thể chọn để không cho phép phân mảnh trong tr−ờng hợp chỉ khi toàn bộ datagram mới có tác dụng. Ví dụ xét một qúa trình khởi động từ xa của một máy tính : nó bắt đầu thi hành một ch−ơng trình nhỏ từ ROM, ch−ơng này sử dụng internet để yêu cầu thủ tục khởi tạo và máy kia gửi lại phần mềm mà nó yêu cầu. Tr−ờng hợp này máy cần hoặc là toàn bộ phần mềm hoặc là không, nên datagram của nó sẽ phải có bit “ donot fragment” đ−ợc thiết lập 1. Bất cứ khi nào 1 Router cần phân mảnh một datagram có bit “donot fragment” mang giá trị 1, thì Router đó sẽ huỷ Datagram và gửi một thông báo lỗi trở lại nguồn.

Bit thấp trong tr−ờng FLAGS xác định là mảnh chứa dữ liệu từ vị trí giữa của gói tin ban đầu hay từ vị trí cuối. Nó đ−ợc gọi là bit “more fragment”. Để biết tại sao một bit nh− vậy cần phải có, hãy xem xét việc phần mềm IP tại đích cố gắng lắp ráp lại một datagram. Nó sẽ nhận đ−ợc các mảnh có thể không đúng trình tự và cần biết khi nào nó đã nhận đ−ợc tất cả các mảnh của datagram. Khi một mảnh đến, tr−ờng TOTAL LENGTH ở HEADER cho biết kích th−ớc của mảnh nh−ng không cho biết kích th−ớc của gói tin ban đầu, vì vậy đích không thẻ sử dụng tr−ờng TOTAL LENGTH để biết là nó đã nhận đ−ợc toàn bộ các mảnh hay ch−a. Bit “ more fragment “ đã quyết định vấn đề này dễ dàng: Một khi đích nhận đ−ợc một fragment với bit “more fragment “ là 0, nó biết rằng mảnh này mang dữ liệu từ phần cuối của datagram ban đầu. Từ tr−ờng FRAGMENT OFFSET và TOTAL LENGTH, nó có thể tính ra đ−ợc chiều dài của datagram ban đầu. Bằng việc kiểm tra FRAGMENT OFFSET và TOTAL LENGTH của tất cả các mảnh nó nhận đ−ợc thì bên nhận có thể biết rằng các mảnh nó có chứa tất cả dữ liệu cần để láp ráp lại toàn bộ datagram hay là không.

Một phần của tài liệu Đề án Chọn đường và ứng dụng trong thiết kế mạng WAN (Trang 25)

Tải bản đầy đủ (PDF)

(108 trang)