8.3 IPv6 Packet: Overcoming IPv4 Limitations and Its Structure

8.3 IPv6 Packet: Overcoming IPv4 Limitations and Its Structure
Photo by Shekai / Unsplash

8.3 IPv6 Packet

8.3.1 Hạn chế của IPv4

IPv4 vẫn đang được sử dụng ngày nay. Chủ đề này là về IPv6, cuối cùng sẽ thay thế IPv4. Để hiểu rõ hơn tại sao bạn cần biết giao thức IPv6, sẽ hữu ích khi biết các hạn chế của IPv4 và lợi thế của IPv6.

💡: IPv4 giống như hệ thống điện thoại cũ với số điện thoại 10 chữ số - cuối cùng sẽ hết số khi có quá nhiều người dùng. IPv6 giống như nâng cấp lên hệ thống mới với số điện thoại dài hơn rất nhiều.

Qua nhiều năm, các giao thức và quy trình bổ sung đã được phát triển để giải quyết các thách thức mới. Tuy nhiên, ngay cả với những thay đổi, IPv4 vẫn có ba vấn đề chính:

Mind map outlining the 3 main issues of IPv4: Address depletion (only 4 billion addresses, too many devices, IoT explosion), Lack of End-to-End connectivity (NAT hiding IP, difficult for P2P, gaming/video issues), and Network complexity (NAT is a temporary solution, increased latency, difficult to troubleshoot).
  • Cạn kiệt địa chỉ IPv4 - IPv4 có số lượng địa chỉ public duy nhất có sẵn hạn chế. Mặc dù có khoảng 4 tỷ địa chỉ IPv4, số lượng thiết bị hỗ trợ IP mới ngày càng tăng, kết nối luôn bật, và tiềm năng phát triển của các khu vực kém phát triển đã làm tăng nhu cầu về nhiều địa chỉ hơn.
  • Thiếu kết nối đầu cuối đến đầu cuối - Network Address Translation (NAT) là công nghệ thường được triển khai trong mạng IPv4. NAT cung cấp cách để nhiều thiết bị chia sẻ một địa chỉ IPv4 public. Tuy nhiên, vì địa chỉ IPv4 public được chia sẻ, địa chỉ IPv4 của máy chủ mạng nội bộ bị ẩn. Điều này có thể gây vấn đề cho các công nghệ yêu cầu kết nối đầu cuối đến đầu cuối.
  • Tăng độ phức tạp mạng - Mặc dù NAT đã kéo dài tuổi thọ của IPv4, nó chỉ được coi là cơ chế chuyển tiếp sang IPv6. NAT trong các triển khai khác nhau tạo ra độ phức tạp bổ sung trong mạng, tạo độ trễ và làm cho việc khắc phục sự cố khó khăn hơn.

8.3.2 Tổng quan IPv6

Vào đầu những năm 1990, Internet Engineering Task Force (IETF) lo ngại về các vấn đề với IPv4 và bắt đầu tìm kiếm sự thay thế. Hoạt động này dẫn đến sự phát triển của IP version 6 (IPv6). IPv6 khắc phục các hạn chế của IPv4 và là một cải tiến mạnh mẽ với các tính năng phù hợp hơn với nhu cầu mạng hiện tại và có thể dự đoán.

Các cải tiến mà IPv6 cung cấp bao gồm:

  • Tăng không gian địa chỉ - Địa chỉ IPv6 dựa trên địa chỉ phân cấp 128-bit so với IPv4 với 32 bit.
  • Cải thiện xử lý packet - IPv6 header đã được đơn giản hóa với ít trường hơn.
  • Loại bỏ nhu cầu về NAT - Với số lượng lớn địa chỉ IPv6 public, NAT giữa địa chỉ IPv4 private và IPv4 public không cần thiết. Điều này tránh một số vấn đề do NAT gây ra cho các ứng dụng yêu cầu kết nối đầu cuối đến đầu cuối.

💡: IPv6 giải quyết vấn đề của IPv4 giống như cách chúng ta chuyển từ số điện thoại 10 chữ số sang số di động - nhiều số hơn, liên lạc trực tiếp hơn, đơn giản hơn.

Không gian địa chỉ IPv4 32-bit cung cấp khoảng 4.294.967.296 địa chỉ duy nhất. Không gian địa chỉ IPv6 cung cấp 340.282.366.920.938.463.463.374.607.431.768.211.456, hoặc 340 undecillion địa chỉ. Con số này gần tương đương với mỗi hạt cát trên Trái đất.

So sánh Không gian Địa chỉ IPv4 và IPv6

Diagram comparing IPv4 and IPv6 address spaces. IPv4 is 32 bits with 4.3 billion addresses. IPv6 is 128 bits with 340 undecillion addresses, noted as being almost equal to the number of sand grains on Earth.
  • Có 4 tỷ địa chỉ IPv4
  • Có 340 undecillion địa chỉ IPv6

8.3.3 Các trường IPv4 Packet Header trong IPv6 Packet Header

Một trong những cải tiến thiết kế chính của IPv6 so với IPv4 là IPv6 header được đơn giản hóa.

Ví dụ, IPv4 header bao gồm header có độ dài thay đổi 20 octet (lên đến 60 byte nếu trường Options được sử dụng) và 12 trường header cơ bản, không bao gồm trường Options và Padding.

Đối với IPv6, một số trường vẫn giữ nguyên, một số trường đã thay đổi tên và vị trí, và một số trường IPv4 không còn cần thiết nữa.

IPv4 Packet Header - Các trường được giữ lại, thay đổi và loại bỏ

IPv4 Packet Header | IPv4 Packet Header | | :-------------------------------------------------------------------------------------------: | |

|

| IPv6 Packet Header | | :-------------------------------------------------------------------------------------------: | |

|

Các trường giữ nguyên tên:

  • Version
  • Source Address
  • Destination Address

Các trường thay đổi tên và vị trí:

  • Type of Service → Traffic Class
  • Total Length → Payload Length
  • Time-to-Live → Hop Limit
  • Protocol → Next Header

Các trường không còn cần thiết trong IPv6:

  • IHL
  • Identification
  • Flags
  • Fragment Offset
  • Header Checksum
  • Options
  • Padding

Ngược lại, IPv6 header đơn giản hóa bao gồm header có độ dài cố định 40 octet (chủ yếu do độ dài của địa chỉ IPv6 nguồn và đích).

IPv6 header đơn giản hóa cho phép xử lý IPv6 header hiệu quả hơn.

8.3.4 IPv6 Packet Header

Các trường trong IPv6 Packet Header

A diagram illustrating the structure of an IPv6 header, which is always 40 bytes. It shows the allocation of bytes for Version/Traffic Class/Flow Label (Bytes 1-4), Payload Length (Bytes 5-6), Next Header (Byte 7), Hop Limit (Byte 8), Source IPv6 Address (Bytes 9-24), and Destination IPv6 Address (Bytes 25-40). A note highlights that IPv6 is simpler than IPv4, lacking checksums and fragmentation, and having a fixed 40-byte header.

💡: IPv6 header giống như mẫu đơn mới - ngắn gọn hơn, đơn giản hơn, nhưng chứa được nhiều thông tin hơn (do địa chỉ dài hơn).

Các trường trong IPv6 packet header bao gồm:

  • Version - Trường này chứa giá trị nhị phân 4-bit được đặt thành 0110 xác định đây là IP version 6 packet.
  • Traffic Class - Trường 8-bit này tương đương với trường IPv4 Differentiated Services (DS).
  • Flow Label - Trường 20-bit này gợi ý rằng tất cả các packet có cùng flow label nhận được cùng loại xử lý bởi router.
  • Payload Length - Trường 16-bit này chỉ ra độ dài của phần dữ liệu hoặc payload của IPv6 packet. Điều này không bao gồm độ dài của IPv6 header, là header cố định 40-byte.
  • Next Header - Trường 8-bit này tương đương với trường IPv4 Protocol. Nó chỉ ra loại data payload mà packet đang mang, cho phép lớp network chuyển dữ liệu đến giao thức lớp trên thích hợp.
  • Hop Limit - Trường 8-bit này thay thế trường IPv4 TTL. Giá trị này giảm đi 1 bởi mỗi router chuyển tiếp packet. Khi bộ đếm đạt 0, packet bị loại bỏ, và thông báo ICMPv6 Time Exceeded được chuyển tiếp đến máy chủ gửi. Điều này chỉ ra rằng packet không đến đích vì hop limit đã vượt quá. Không giống như IPv4, IPv6 không bao gồm IPv6 Header Checksum, vì chức năng này được thực hiện ở cả lớp thấp hơn và lớp trên. Điều này có nghĩa là checksum không cần phải được tính toán lại bởi mỗi router khi nó giảm trường Hop Limit, điều này cũng cải thiện hiệu suất mạng.
  • Source IPv6 Address - Trường 128-bit này xác định địa chỉ IPv6 của máy chủ gửi.
  • Destination IPv6 Address - Trường 128-bit này xác định địa chỉ IPv6 của máy chủ nhận.

IPv6 packet cũng có thể chứa extension headers (EH), cung cấp thông tin lớp network tùy chọn. Extension headers là tùy chọn và được đặt giữa IPv6 header và payload. EH được sử dụng cho phân mảnh, bảo mật, hỗ trợ tính di động và nhiều hơn nữa.

Không giống như IPv4, router không phân mảnh IPv6 packet được định tuyến.

Read more