Với cấu trúc đơn giản hơn và chiều dài tăng lên tới 40 byte, Header của IPv6 cho phép xử lý hiệu quả hơn rất nhiều so với IPv4, giúp cho quá trình chuyển tiếp gói tin nhanh hơn…
Có gì mới trong cấu trúc IP Version 6
Một trong những thay đổi quan trọng là không còn tồn tại trường Options trong Header của IPv6. Trường Options này được sử dụng để thêm các thông tin về các dịch vụ tuỳ chọn khác nhau. VD: Thông tin liên quan đến mã hoá có thể được thêm vào tại đây.
Vì vậy, chiều dài của IPv4 Header thay đổi tuỳ theo tình trạng. Do sự thay đổi đó, các Router điều khiển giao tiếp theo những thông tin trong IP Header không thể đánh giá chiều dài Header chỉ bằng cách xem xét phần đầu gói tin. Điều này làm cho khó khăn trong việc tăng tốc xử lý gói tin với hoạt động của phần cứng.
Trong địa chỉ IPv6 thì những thông tin liên quan đến dịch vụ kèm theo được chuyển hẳn tới một phân đoạn khác gọi là Header mở rộng “Extension Header”. Trong hình vẽ trên là Next Header. Đối với những gói tin thuần tuý, chiều dài của Header được cố định là 40 byte. Về xử lý gói tin bằng phần cứng, có thể thấy trong IPv6 có thể thuận tiện hơn IPv4.
Một trường khác cũng được bỏ đi là Header Checksum. Header checksum là 1 số sử dụng để kiểm tra lỗi trong thông tin Header, được tính toán ra dựa trên những con số của Header. Tuy nhiên, có một vấn đề nảy sinh là Header chứa trường TTL (Time to Live), giá trị trường này thay đổi mỗi khi gói tin được truyền qua 1 router. Do vậy, Header Checksum cần phải được tính toán lại mỗi khi gói tin đi qua 1 Router. Nếu giải phóng router khỏi công việc này, chúng ta có thể giảm được trễ.
Thực ra, tầng TCP phía trên tầng IP có kiểm tra lỗi của các thông tin khác nhau bao gồm cả địa chỉ nhận và gửi. Vậy có thể thấy các phép tính tương tự tại tầng IP là dư thừa, nên Header Checksum được gỡ bỏ khỏi IPv6.
Trường có cùng chức năng với “Service Type” được đổi tên là Traffic Class. Trường này được sử dụng để biểu diễn mức ưu tiên của gói tin, ví dụ có nên được truyền với tốc độ nhanh hay thông thường, cho phép thiết bị thông tin có thể xử lý gói một cách tương ứng. Trường Service Type gồm TOS (Type of Service) và Precedence. TOS xác định loại dịch vụ và bao gồm: giá trị, độ tin cậy, thông lượng, độ trễ hoặc bảo mật. Precedence xác định mức ưu tiên sử dụng 8 mức từ 0-7.
Trường Flow Label có 20 bít chiều dài, là trường mới được thiết lập trong IPv6. Bằng cách sử dụng trường này, nơi gửi gói tin hoặc thiết bị hiện thời có thể xác định một chuỗi các gói tin, ví dụ Voice over IP, thành 1 dòng, và yêu cầu dịch vụ cụ thể cho dòng đó. Ngay cả trong IPv4, một số các thiết bị giao tiếp cũng được trang bị khả năng nhận dạng dòng lưu lượng và gắn mức ưu tiên nhất định cho mỗi dòng. Tuy nhiên, những thiết bị này không những kiểm tra thông tin tầng IP ví dụ địa chỉ nơi gửi và nơi nhận, mà còn phải kiểm tra cả số port là thông tin thuộc về tầng cao hơn. Trường Flow Label trong IPv6 cố gắng đặt tất cả những thông tin cần thiết vào cùng nhau và cung cấp chúng tại tầng IP.
IPv6 có mục tiêu cung cấp khung làm việc truyền tải thông minh, dễ dàng xử lý cho thiết bị bằng cách giữ cho Header đơn giản và chiều dài cố định.
Các Header mở rộng của IP Version 6
Header cơ bản có chiều dài cố định 40 byte, mọi gói tin IPv6 đều có Header này. Header mở rộng là tuỳ chọn. Nó sẽ không được gắn thêm vào nếu các dịch vụ thêm vào không được sử dụng. Các thiết bị xử lý gói tin (ví dụ Router), cần phải xử lý Header cơ bản trước, song ngoại trừ một số trường hợp đặc biệt, chúng không phải xử lý Header mở rộng. Router có thể xử lý gói tin hiệu quả hơn vì chúng biết chỉ cần nhìn vào phần Header cơ bản với chiều dài như nhau.
Header mở rộng được chia thành nhiều loại tuỳ thuộc vào dạng và chức năng chúng phục vụ. Khi nhiều dịch vụ thêm vào được sử dụng, phần Header mở rộng tương ứng với từng loại dịch vụ khác nhau được đặt tiếp nối theo nhau.
Trong cấu trúc Header IPv6, có thể thấy 8 bít của trường Next Header. Trường này sẽ xác định xem Header mở rộng có tồn tại hay không, khi mà Header mở rộng không được sử dụng, Header cơ bản chứa mọi thông tin tầng IP. Nó sẽ được theo sau bởi Header của tầng cao hơn, tức là Header của TCP hay UDP, và trường Next Header chỉ ra loại Header sẽ theo sau.
Mỗi Header mở rộng (Extension Header) cũng chứa trường Next Header và xác định Header mở rộng nào sẽ theo sau nó. Node đầu cuối khi nhận được gói tin chức Extension Header sẽ xử lý các Extension Header này theo thứ tự được sắp xếp của chúng.
2031:0:130f::9c0:876a:130b
2031::130f::9c0:876a:130b -> Biểu diễn sai
FF01:0:0:0:0:0:0:1 -> FF01::1
0:0:0:0:0:0:0:1 -> ::1
0:0:0:0:0:0:0:0 -> ::
- 3 bit đầu luôn luôn có giá trị 001.
- Registry xác định nhà cung cấp cao nhất trong hệ thống các nhà cung cấp trên toàn thế giới.
- ISP Prefix xác định nhà cung cấp tiếp theo.
- Site Prefix xác định các Site mà ISP cung cấp IPv6 tới.
- Subnet Prefix là giá trị tạo ra trong các Site để thiết lập mạng IPv6.
- Interface ID tương tự như phần Host ID trong IPv4 để xác định địa chỉ cụ thể của một interface.
Địa chỉ Site-Local
– Địa chỉ Link-Local và Site-Local có thể trùng lặp trong các Link khác nhau, các Site khác nhau. Do đó để tránh hiện tượng trùng lặp này, người ta đã phát triển ra địa chỉ Unique-Local.Địa chỉ Unique-Local
Địa chỉ Unique-Local là loại địa chỉ duy nhất để xác định một Host trong một tổ chức (Hoặc hệ thống) có nhiều Site
- 111110: 7 bits đầu là giá trị cố định FC00::/7. L=0 : Local là Prefix: FC00::/8
- Glocal ID : Địa chỉ Site (Site ID). Có thể gán tùy ý.
- Subnet ID : Địa chỉ Subnet trong Site
Trong địa chỉ IPv6 không còn tồn tại khái niệm địa chỉ Broadcast. Mọi chức năng của địa chỉ Broadcast trong IPv4 được đảm nhiệm thay thế bởi địa chỉ IPv6 Multicast. Địa chỉ Multicast giống địa chỉ Broadcast ở chỗ điểm đích của gói tin là một nhóm các máy trong một mạng, song không phải tất cả các máy.
Flag:
- Bằng 0 đối với các địa chỉ Multicast sử dụng cho tạm thời cho người dùng qui định.
- Bằng 1 đối với các địa chỉ Multicast sử dụng cố định cho các giao thức chuẩn qui định.
Scope:
- Bằng 1 cho các interface Local.
- Bằng 2 cho các kết nối Link-Local.
- Bằng 3 cho các Subnet-Local.
- Bằng 4 cho Admin-Local.
- Bằng 5 cho Site-Local.
- Bằng 8 cho tổ chức (hay toàn hệ thống các Site).
- Bằng E cho Global.
Địa chỉ Anycast là khái niệm mới xuất hiện trên IPv6 và chưa từng có trên IPv4. Với loại địa chỉ này, người sử dụng có thể đặt cùng một địa chỉ Anycast cho nhiều thiết bị trong mạng. Khi muốn liên lạc với địa chỉ này, các host sẽ chọn thiết bị nào gần nhất với chúng, rất thích hợp trong các cơ chế Redundancy hay Load Blancing. Địa chỉ Anycast có cùng cấu trúc với địa chỉ Global Unicast.