• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

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

    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.
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
Trung Tâm Tin Học VnPro
149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
Tel : (08) 35124257 (5 lines)
Fax: (08) 35124314

Home page: http://www.vnpro.vn
Support Forum: http://www.vnpro.org
- Chuyên đào tạo quản trị mạng và hạ tầng Internet
- Phát hành sách chuyên môn
- Tư vấn và tuyển dụng nhân sự IT
- Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

Network channel: http://www.dancisco.com
Blog: http://www.vnpro.org/blog

  • #2
    Sao các hình trong tất cả các stick đều không có vậy. Anh nào đã có vui lòng cho em xin hoặc có thể chỉ sách mà anh đã lấy ảnh được không. Em cần tham khảo vì cần làm đề tài.
    Em cám ơn

    Comment

    • Working...
      X