Phân đoạn và tái hợp trong IPv6 pptx

4 119 0
Phân đoạn và tái hợp trong IPv6 pptx

Đang tải... (xem toàn văn)

Thông tin tài liệu

4.2 Phân đoạn và tái hợp 4.2.1 IPv6 Datagram size, MTU, Fragment & Reassembly IP có nhiệm vụ truyền các gói tin qua hạ tầng mạng. Khi một đơn vị dữ liệu (Datagram) truyền giữa các Host trên mạng, nó phải đi qua từng Router, qua nhiều kết nối vật lý. Các gói tin này được đóng vào các Frame ở Datalink Layer. Để có thể truyền thành công một đơn vị dữ liệu từ đầu này đến đầu kia, kích thước của mỗi đơn vị dữ liệu phải phù hợp với kích thước tối đa mà hạ tầng mạng bên dưới có thể xử lý được. Giới hạn này gọi là Maximum Transfer Unit (MTU). Mỗi liên kết trên mạng đặc trưng bởi giá trị MTU này. Nếu một Datagram có kích thước lớn hơn giá trị MTU của mạng (các liên kết trên mạng từ nguồn đến đích), Datagram này phải được chia thành những đoạn nhỏ hơn. Quá trình này gọi là phân đoạn (Fragmentation). Các đoạn này được tái hợp ở trạm đích. Đây là vấn đề quan trọng đối với cả IPv4 lẫn IPv6. Tuy nhiên, khi ứng dụng cho IPv6, đã có một số thay đổi quan trọng trong giao thức. Những thay đổi này thể hiện rõ nét nhất ở cách thức Fragment và Reassembly được thực hiện. Những sự thay đổi này nhằm mục đích nâng cao hiệu quả của quá trình định tuyến, cũng như khả năng hoạt động ổn định của mạng. Cụ thể như sau: - Tăng giá trị MTU mặc định: Với IPv4, giá trị MTU tối thiểu mặc định là 576 byte. Với IPv6, giá trị này là 1280 byte, gấp đôi so với IPv4. Nhờ đó mà có thể nâng cao hiệu quả của việc truyền tin do cải thiện được tỷ số và hạn chế tần suất phân đoạn. HeaderLength MaximumPayload - Hạn chế việc phân đoạn trên từng Router: Với IPv4, một Datagram có thể được phân đoạn bởi trạm nguồn hoặc các Router trung gian trên route từ nguồn đến đích. Đối với IPv6, quá trình phân đoạn các gói tin chỉ xảy ra tại trạm nguồn, các Router không thực hiện quá trình này. Trạm nguồn phân đoạn các gói tin vừa với kích thước MTU tối thiểu trên toàn tuyến (MTU này được phát hiện nhờ Path MTU Discovery Protocol) và các đoạn này được tái hợp lại tại trạm đích. - MTU size error feedback: Trong IPv6, do Router không can thiệp vào quá trình phân đoạn các gói tin, do đó, khi gặp gói tin có kích thước lớn hơn MTU, Router buộc phải loại bỏ gói. Router có một cơ chế phản hồi (feedback) dùng ICMPv6 để thông báo cho trạm nguồn biết lỗi này. Cơ chế này đóng vai trò quan trọng trong Path MTU Discovery. - Path MTU Discovery: Đây là giao thức giúp cho trạm nguồn xác định kích thước MTU tối thiểu của toàn tuyến. Dựa vào đó trạm nguồn có thể phân đoạn các gói tin với kích thước thích hợp. Giao thức này được định nghĩa cho IPv4 nhưng đã được tái định nghĩa cho IPv6. 4.2.2 Quy tắc phân đoạn “Source only” trong IPv6 Đối với IPv4, Node nguồn có thể gửi đi các gói tin với kích thước bất kỳ trong phạm vi cho phép (£ MTU trên Local-link của nó). Trên đường đến đích, các gói có thể đi qua nhiều Router trung gian. Nếu các Router này nhận thấy kích thước các gói này lớn hơn MTU cho phép trên Local-link của Router, các Router này thực hiện phân đoạn các gói tin. Trên thực tế quá trình này xảy ra tiềm ẩn trên mạng, không thể giám sát được. Chính điều này ảnh hưởng đến phẩm chất của việc định tuyến các gói tin. Do phải xử lý các gói tin, Router chuyển các gói tin chậm hơn so với thông thường. Quá trình phânn đoạn này có thể xảy ra tại nhiều Node trên mạng, làm cho các gói tin bị “xé vụn”, dẫn đến HeaderLength MaximumPayload tăng lên. Đối với IPv6, Host nguồn dùng Path MTU Discovery Protocol để phát hiện MTU thích hợp cho toàn tuyến (đây chính là giá trị MTU nhỏ nhất trong số các MTU của các Local-link trên toàn tuyến từ nguồn đến đích). Nguyên lý hoạt động của Path MTU Discovery Protocol sẽ được mô tả ở dưới. Sau khi xác định được MTU thích hợp, Host nguồn sẽ tiến hành phân đoạn các gói tin với kích thước phù hợp với MTU đó, các Router không cần phải can thiệp vào các gói tin này nữa. Do đó, khắc phục được một số nhược điểm của IPv4. 4.2.3 Xác định kích thước thích hợp cho các Datagram Có hai cách để Host nguồn xác định kích thước phù hợp cho các gói tin dùng IPv6: - Dùng MTU mặc định: cách này là đơn giản nhất, Host nguồn chỉ cần dùng MTU mặc định tối thiểu là 1280 byte. Với giá trị này tất cả các Router đều có thể xử lý gói tin mà không gặp bất kỳ trục trặc nào về vấn đề kích thước của các Datagram vì đây là giá trị tối thiểu. Cách này đơn giản nhưng chưa thật sự mang lại hiệu quả. Cách này chỉ phù hợp với việc truyền dữ liệu trong phạm vi nhỏ, với lưu lượng dữ liệu thấp. - Dùng Path MTU Discovery Protocol: cách này được sử dụng phổ biến hơn. Giao thức này được mô tả trong RFC 1981, mô tả về cách thức mà Host có thể xác định MTU tối ưu để truyền các gói tin qua mạng. 4.2.4 Nguyên lý hoạt động của Path MTU Discovery Protocol Lúc đầu, Host chưa xác định được MTU của toàn tuyến, Host vẫn tiến hành gửi các gói tin với kích thước phù hợp với MTU Local-link của nó. Nếu các gói tin này đến đích mà không gặp trở ngại nào, thì MTU Local-link của Host cũng chính là MTU của toàn tuyến. Trong trường hợp một Router trung gian phát hiện ra gói có kích thước lớn hơn MTU Local-link của nó, Router loại bỏ gói đó và kích hoạt cơ chế phản hồi (MTU Size Error Feedback như đã đề cập ở trên). Router gửi về Host nguồn gói tin “ICMPv6 Packet Too Big“ (gói ICMPv6 chứa bản tin Packet Too Big). Khi nhận được gói tin này, Host nguồn biết được gói tin đã bị loại bỏ. Host nguồn tiến hành phân đoạn các gói tin theo kich thước MTU đã được cảnh báo trong bản tin Packet Too Big vừa nhận được. Quá trình này lặp đi lặp lại đến khi các gói tin truyền đến đích suôn sẻ. Lúc đó Path MTU Discovery proccess kết thúc. Path MTU của một tuyến từ nguồn đến đích có thể thay đổi liên tục do sự thay đổi về Routing Topology. Giá trị Path MTU giảm được nhận biết bởi bản tin Packet Too Big. Host nhận biết sự gia tăng của Path MTU bằng cách tăng kích thước các gói tin. Nếu tăng kích thước gói tin mà mạng vẫn chuyển được các gói đó thì Node lập tức cập nhật các giá trị Path MTU này. Đến khi nhận được bản tin Packet Too Big, Host lấy giá trị Path MTU trước đó. Khi vượt quá kích thước cho phép, các gói sẽ bị loại bỏ. Do đó, việc tăng kích thước này được thực hiện hết sức hạn chế. 4.2.5 Quá trình phân đoạn trong IPv6 Quá trình này tương tự như trong IPv4, tuy nhiên IPv6 còn có thêm phần Header mở rộng. Mỗi Datagram IPv6 chia thành hai phần: - Unfragmentable Part: Phần này bao gồm Main Header của Datagram ban đầu và Extension Header. Những phần này không thể thiếu trong mỗi Fragment sau khi đã được phân đoạn. - Fragmentable Part: Phần này bao gồm Payload của mỗi Datagram ban đầu và có thể có thêm phần Extension Header nếu có sự hiện diện của Authentication Header, Encapsulating Security Payload. Unfragment Part buộc phải có trong tất cả các đoạn sau khi phân. Còn Fragmentable Part có thể trãi đều trong các đoạn sau khi phân. Như vậy cấu trúc mỗi đoạn sau khi phân được sắp xếp theo trật tự sau: - Unfragmentable Part: Toàn bộ phần Unfragmentable của Datagram ban đầu, nhưng giá trị của trường Payload Legth được cập nhật lại, chỉ thị kích thước Payload của Datagram đã được phân đoạn. - Fragment Header. - Fragmentable Part: Một phần của phần Fragmentable của Datagram ban đầu. Sau đây là một ví dụ về cấu trúc các Datagram sau khi được phân đoạn: Giả sử có một IPv6 Datagram với kích thước 320 byte, bao gồm 40 byte IPv6 Header, 4 Extension Header kích thước 30 byte, và 160 byte dữ liệu. Trong đó có 2 Extension Header thuộc nhóm Unfragmentable, 2 Extension Header còn lại thuộc nhóm Fragmentable. Giả sử Path MTU mà Host nguồn học được là MTU=230 byte. Nó phân đoạn các Datagram như sau: Hình 4.2.5 Phân đoạn gói tin IPv6. Datagram ban đầu được chia thành 3 Datagram: - Datagram đầu tiên: Gồm 100 byte của phần Unfragmentable, theo sau là 30 byte Fragment Header và 100 byte của phần Fragmentable trong Datagram ban đầu. Phần Fragmentable này gồm 60 byte của 2 Extension Header là Authentication Header và Destination Option Header, 40 byte trong số 160 byte của phần data trong Payload ban đầu. 120 byte data còn lại được sắp xếp vào các Datagram sau. - Datagram thứ 2: Gồm 100 byte của phần Unfragmentable, theo sau là 30 byte Fragment Hea der, tiếp theo là 100 byte data tiếp theo của Payload ban đầu (byte 40 đến 139). 20 byte còn lại được sắp xếp vào các Datagram sau. - Datagram thứ 3: Gồm 100 byte của phần Unfragmentable, 30 byte Fragment Header và 20 byte data còn lại của phần Payload ban đầu. Cũng giống như trong IPv4, bit M (“More”) được xác lập giá trị 1 cho 2 Datagram đầu và được xác lập giá trị 0 cho Datagram thứ 3. Bit này giúp ích cho quá trình tái hợp các Datagram này ở Host đầu cuối. . những đoạn nhỏ hơn. Quá trình này gọi là phân đoạn (Fragmentation). Các đoạn này được tái hợp ở trạm đích. Đây là vấn đề quan trọng đối với cả IPv4 lẫn IPv6. Tuy nhiên, khi ứng dụng cho IPv6, . Payload. Unfragment Part buộc phải có trong tất cả các đoạn sau khi phân. Còn Fragmentable Part có thể trãi đều trong các đoạn sau khi phân. Như vậy cấu trúc mỗi đoạn sau khi phân được sắp xếp theo trật. đoạn các gói tin với kích thước thích hợp. Giao thức này được định nghĩa cho IPv4 nhưng đã được tái định nghĩa cho IPv6. 4.2.2 Quy tắc phân đoạn “Source only” trong IPv6 Đối với IPv4, Node nguồn có

Ngày đăng: 09/07/2014, 03:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan