IPv4 Header so với IPv6 Header

IPv6 đang sử dụng hai loại header chính: Main IPv6 Header và IPv6 Extension Headers. Main IPv6 Header tương đương với IPv4 Header với một số khác biệt về trường được giới thiệu để có hiệu quả tốt hơn. Hình dưới đây so sánh header.

IPv4 và IPv6 – Hiểu sự khác biệt

Lưu ý rằng IPv6 header có ít trường hơn, điều này làm cho nó hiệu quả hơn và xử lý nhanh hơn. Một ưu điểm lớn khác là chiều dài header là kích thước cố định 40 byte, so với kích thước chiều dài thay đổi của IPv4 header.


Version

Trường Version là số nhận dạng dài 4 bit của phiên bản giao thức IP. Cần phải nói rằng, nó được đặt thành 4 trong IPv4 và 6 trong IPv6.

IPv4 và IPv6 – Hiểu sự khác biệt

Tuy nhiên, trong trường hợp phổ biến nhất khi IP được đóng gói trong Ethernet, việc xác định giao thức IP xảy ra ở lớp liên kết dữ liệu thông qua trường 16 bit trong các khung được gọi là EtherType. Mỗi khung có một trường EtherType xác định giao thức lớp trên trong phần tải trọng. Khi IPv6 được đóng gói trong Ethernet II, giá trị được sử dụng là 0x86dd,trong đó 0x có nghĩa là các chữ số là giá trị thập lục phân. Khi IPv4 được đóng gói trong Ethernet II, giá trị được sử dụng là 0x800.

IPv4 và IPv6 – Hiểu sự khác biệt


Traffic Class

Trường Traffic Class là một định danh dài 8 bit của lớp hoặc mức độ ưu tiên của gói tin. Đây là khái niệm tương tự như trường Type of Service trong IPv4 Header. 6 bit đầu tiên của trường Traffic Class đại diện cho trường DSCP như được định nghĩa trong RFC 2474 và 2 bit cuối cùng được sử dụng cho ECN như được định nghĩa trong RFC 3168.

IPv4 và IPv6 – Hiểu sự khác biệt

Ban đầu, trong IPv4 chỉ có 3 bit đầu tiên được sử dụng làm giá trị QoS được gọi là IP Precedence. Sau đó, nó được thay thế bằng công nghệ Diffserv sử dụng 6 bit đầu tiên và giá trị được gọi là Differentialted Services Code Point hoặc chỉ DSCP.


Flow Label

Flow label là một trường dài 20 bit chỉ ra cho các thiết bị trung gian biết rằng gói thuộc một chuỗi cụ thể giữa nguồn đích và đích. Bộ định tuyến IPv6 sử dụng trường này để phân biệt luồng lưu lượng khác nhau giữa cùng một nguồn và đích, ví dụ, các phiên TCP khác nhau giữa các điểm cuối giống nhau. Khi giá trị Flow label được đặt thành 0 có nghĩa là gói không được liên kết với bất kỳ luồng cụ thể nào.

IPv4 và IPv6 – Hiểu sự khác biệt


Payload Length

IPv6 Payload Length là mã định danh 16 bit có độ dài tính bằng byte của phần dữ liệu của gói bao gồm bất kỳ IPv6 Extension headers nào. Độ dài không bao gồm Main IPv6 Header. Như bạn có thể thấy trong hình dưới, bất kỳ Extension header nào cũng được coi là một phần của payload. Ngược lại, IPv4 Total Length đo độ dài của toàn bộ gói IP bao gồm cả IPv4 headers.

IPv4 và IPv6 – Hiểu sự khác biệt

Cả hai trường IPv4 Total-Length và IPv6 Payload-length đều dài 16 bit, do đó cho phép gói tin có độ dài lên đến 65.355 byte. Trong thực tế, hầu hết các gói IP (cả v4 và v6) đều có độ dài 1500 byte do một công nghệ được gọi là Maximun Transmission Unit(MTU),xác định kích thước tối đa của gói có thể đi qua liên kết. Tuy nhiên, IPv6 có thể mang trọng tải lớn hơn 65.355 byte bằng cách sử dụng tùy chọn Jumbo Payload trong tiêu đề mở rộng Hop-by-hop. Các gói lớn hơn này được gọi là jumbogram và được định nghĩa trong RFC 2675. Các gói IPv6 Jumbograms có thể mang tải trọng từ 65.536 đến 4.294.967.295 byte. Chúng được sử dụng bên trong các trung tâm dữ liệu và siêu máy tính tốc độ cao.


Next Header

Next Header là trường 8 bit chỉ định loại tiêu đề mở rộng đầu tiên(nếu có) hoặc giao thức lớp trên trong tải trọng như TCP,UDP hoặc ICMPv6 .  Trường này tương tự như trường giao thức IPv4 nhưng với một số tùy chọn bổ sung. Khi chỉ ra một giao thức lớp trên, trường Next Header của IPv6 sử dụng các giá trị tương tự được sử dụng trong giao thức IPv4.

IPv4 và IPv6 – Hiểu sự khác biệt

Một số giá trị phổ biến nhất được hiển thị trong bảng dưới đây:

IPv4 và IPv6 – Hiểu sự khác biệt


IPv4 Checksum Field

Trong IPv4 Header, có một trường Checksum được sử dụng để xác minh và loại bỏ các gói bị hỏng. Đây là một kiểm tra dự phòng theo chu kỳ 16 bit(CRC) được xác nhận và tính toán lại tại mỗi bước dọc theo đường dẫn mạng.

Trong IPv6, không có trường Checksum. Để làm cho header hiệu quả hơn và dễ xử lý hơn, những người tạo ra giao thức đã quyết định không bao gồm kiểm tra CRC này trong Layer 3 header. Tại thời điểm này, bạn có thể tự hỏi liệu điều này có làm cho IPv6 kém tin cậy hơn IPv4? Câu trả lời là KHÔNG vì các giao thức lớp trên như TCP và UDP có các trường tổng kiểm tra của riêng chúng như hình dưới. Ngoài ra, có một xác thực CRC ở lớp Ethernet và do đó trong IPv6, tổng kiểm tra là không cần thiết.

IPv4 và IPv6 – Hiểu sự khác biệt


IPv4 Time to Live (TTL) so với IPv6 Hop Limit

Trong IPv4, trường TTL đảm bảo một gói tin sẽ không lưu chuyển mạng vô thời hạn trong trường hợp có vòng lặp định tuyến. Mỗi khi một gói tin đi qua mộ thiết bị lớp 3, giá trị TTL sẽ giảm đi một. Khi giá trị trở thành 0, gói tin sẽ bị loại bỏ. Theo mặc định, giá trị TTL được đặt thành 255.

IPv4 và IPv6 – Hiểu sự khác biệt

Trong IPv6, trường Hop Limit về cơ bản cũng giống như vậy, chỉ là tên đã được thay đổi để mô tả chính xác hơn chức năng của trường.