Hình 18.10 hiển thị một ví dụ về gói IPv6 bao gồm một phiên bản của mỗi tiêu đề, ngoại trừ những gói liên quan đến bảo mật. Lưu ý rằng tiêu đề IPv6 và mỗi tiêu đề mở rộng bao gồm trường Tiêu đề Tiếp theo. Trường này identifies các loại tiêu đề ngay sau. Nếu tiêu đề tiếp theo là tiêu đề mở rộng, thì trường này chứa định danh kiểu của tiêu đề đó. Nếu không, trường này chứa định danh giao thức của giao thức lớp trên bằng IPv6 (typically một giao thức cấp vận chuyển), sử dụng các giá trị tương tự như trường Giao thức IPv4. Trong Hình 18.10, giao thức lớp trên là TCP;
do đó, dữ liệu lớp trên được thực hiện bởi gói IPv6 bao gồm tiêu đề TCP, tiếp theo là một khối dữ liệu ứng dụng.
Chúng tôi first nhìn vào tiêu đề IPv6 chính và sau đó lần lượt kiểm tra từng phần mở rộng.
Biểu đồ 18.10 Gói IPv6 với Tiêu đề mở rộng (chứa Phân đoạn TCP)
Tiêu đề IPv6 Hop-by-hop tiêu đề tùy chọn Tùy chọn điểm đến Tiêu đề Tiêu đề TCP Tiêu đề định tuyến Dữ liệu ứng dụng Tiêu đề mảnh
Trường Tiêu đề Tiếp theo Octets: 40 Biến số Biến số 8 Biến số Biến số 20 (phần biến tùy chọn ) Bắt buộc Tiêu đề IPv6 Tùy chọn phần mở rộngTiêu đề IPv6 gói thân thể
18.5 / IPv6 33
Biểu đồ 18.11 Tiêu đề IPv6
Tiêu đề IPv6
Tiêu đề IPv6 có chiều dài cố định là 40 octets, bao gồm các trường sau (Hình 18.11):
• Phiên bản (4 bit): Số phiên bản giao thức Internet; giá trị là 6.
• DS /ECN (8 bit): Có sẵn để sử dụng bởi các nút gốc và / hoặc bộ định tuyến chuyển tiếp cho các dịch vụ khác biệt và chức năng tắc nghẽn, như được mô tả cho trường IPv4 DS / ECN.
• Flow Label (20 bit): Có thể được mộtmáy chủ để dán nhãn các gói mà nó đang yêu cầu xử lý đặc biệt bởi các bộ định tuyến trongmạng; được thảo luận sau đó.
• Chiều dài tải trọng (16 bit): Chiều dài của phần còn lại của gói IPv6 sau tiêu đề, trong octets. Nói cách khác, đây là tổng chiều dài của tất cả các tiêu đề mở rộng cộng với PDU cấp vận chuyển.
• Tiêu đề tiếp theo (8 bit): Xác định loại tiêu đề ngay sau tiêu đề IPv6; đây sẽ là tiêu đề mở rộng IPv6 hoặc tiêu đề lớp cao hơn, chẳng hạn như TCP hoặc UDP.
• Hop Limit (8 bit): Số lượng hoa bia cho phép còn lại cho gói này. Giới hạn hop được đặt thành một số giá trị tối đa mong muốn theo nguồn và decremented bởi 1 bởi mỗi nút chuyển tiếp gói. Gói sẽ bị loại bỏ nếu Hop Limit bị phá hủy xuống 0. Đây là một sự đơn giản hóa đối với việc xử lý cần thiết cho trường Time to Live của IPv4.Sự đồng thuận là nỗ lực bổ sung trong việc tính toán các khoảng thời gian trong IPv4 không làm tăng giá trị đáng kể cho giao thức. Trên thực tế, các bộ định tuyến IPv4, như một quy tắc chung, coi trường Time to Live như một trường giới hạn hop.
• Địa chỉ nguồn (128 bit): Địa chỉ của người khởi nguồn gói.
Phiên bản DS ECN Nhãn Dòng
chảy
Chiều dài tải trọng Tiêu đề tiếp theo Giới hạn nhảy
Địa chỉ Nguồn Địa chỉ Đích Bit: 0 4 10 12 16 24 31 10 3 2 bi t 4 0 oc te ts
• Địa chỉ đích (128 bcủa nó): Địa chỉ của người nhận dự định của gói. Điều này trên thực tế có thể không phải là điểm đến cuối cùng dự định nếu có tiêu đề Định tuyến, như đã giải thích sau đó.
Mặc dù tiêu đề IPv6 dài hơn phần bắt buộc của tiêu đề IPv4 (40 octets so với 20 octets), nó chứa ít trường hơn (8 so với 12). Do đó, các bộ định tuyến có ít xử lý hơn để thực hiện trên mỗi tiêu đề, điều này sẽ tăng tốc độ định tuyến.
Flow Label RFC 3967 định nghĩa một dòng chảy là một chuỗi các gói được gửi từ một nguồn cụ thể đến mộtđiểm đến ấu trùng particu(unicast, anycast hoặc multicast) mà nguồn mong muốn xử lý đặc biệt bởi các bộ định tuyến can thiệp. Một luồng được xác định duy nhất bởi sự kết hợp của địa chỉ nguồn, địa chỉ đích và nhãn luồng 20 bit nonzero. Do đó, tất cả các packets là một phần của cùng một dòng chảy được gán cùng một nhãn dòng chảy bởi nguồn.
Từ quan điểm của nguồn, một luồng thường sẽ là một chuỗi các gói được tạo ra từ một phiên bản ứng dụng duy nhất tại nguồn và cócùng yêu cầu dịch vụ chuyển. Một luồng có thể bao gồm một kết nối TCP duy nhất hoặc thậm chí nhiều kết nối TCP; một ví dụ về sau này là một ứng dụng truyền tệp, có thể có một kết nối điều khiển và nhiều kết nối dữ liệu. Một đóngbăng appl duy nhất có thể tạo ra một dòng chảy duy nhất hoặc nhiềuluồng. Một ví dụ sau này là hội nghị đa phương tiện, có thể có một luồng cho âm thanh và một cho cửa sổ đồ họa, mỗi dòng có yêu cầu truyền khác nhau về tốc độ dữ liệu, độ trễ và độ trễ variation.
Từ quan điểm của bộ định tuyến, dòng chảy là một chuỗi các gói chia sẻ các thuộc tính ảnh hưởng đến cách các gói này được xử lý bởi bộ định tuyến. Chúng bao gồm đường dẫn, phân bổ nguồn lực, loại bỏ yêu cầu, kế toán và thuộc tính bảo mật. Bộ định tuyến có thể xử lý các gói từ các luồng khác nhau khác nhau theo một số cách, bao gồm phân bổ các kích thước bộ đệm khác nhau, ưu tiên khác nhau về chuyển tiếp và yêu cầu chất lượng dịch vụ khác nhau từ các mạng.
Không có ý nghĩa đặc biệt đối với bất kỳ nhãn dòng chảy cụ thể nào. Thay vào đó, việc xử lý đặc biệt được cung cấp cho một luồng gói phải được khai báo theo một cách khác. Ví dụ: một nguồn có thể đàm phán hoặc yêu cầu xử lý đặc biệt trước thời hạn từ các bộ định tuyến bằng giao thức điều khiển hoặc tại thời điểm truyền thông tin trong một trong các tiêu đề mở rộng trong gói, chẳng hạn như tiêu đề Tùy chọn Hop-by-Hop. Ví dụ về xử lý đặc biệt có thể được yêu cầu bao gồm một số loại chất lượng dịch vụ phi liên quan và một số hình thức dịch vụ thời gian thực.
Về nguyên tắc, tất cả các yêu cầu của người dùng đối với một luồng cụ thể có thể được xác định trong tiêu đề mở rộng và bao gồm với mỗi gói. Nếu chúng ta muốn để lại khái niệm dòng chảy mở để bao gồm một loạt các yêu cầu, cách tiếp cận thiết kế này có thể sắp đặt lại trong tiêuđề gói rất lớn. Lựa chọn thay thế, được thông qua cho IPv6, là nhãn dòng chảy, trong đó các yêu cầu dòng chảy được xác định trước khi bắt đầu dòng chảy và nhãn dòng chảy duy nhất được gán cho dòng chảy. Trong trường hợp này, bộ định tuyến phải lưu yêu cầu dòng chảy information về mỗi dòng chảy.
Các quy tắc sau đây áp dụng cho nhãn dòng chảy:
1. Máy chủ hoặc bộ định tuyến không hỗ trợ trường Flow Label phải đặt trường về 0 khi khởinguồn gói, vượt qua trường không thay đổi khi chuyển tiếp gói và bỏ qua trường khi nhận