Cấu trúc IP Version 6

0
310

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

IPv6 Header
image002
Hình 1. So sánh số trường trong Header của IPv4 và Header của IPv6
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.
image004
Hình 2. Cấu trúc và sự thay đổi trong Header của IPv6 so với IPv4

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.

image006
Hình 3. Next Header trong IPv6
Các qui tắc biểu diễn địa chỉ IP Version 6
x:x:x:x:x:x:x:x, x là một trường có chiều dài 16 bit viết dưới dạng Hexadecimal
– Bao gồm cả các ký tự A, B, C, D, E và F
– Trường 0000 có thể thay thế bằng 0, có thể lược bỏ số 0 nếu nó đứng đầu mỗi trường
Ví dụ: 2031:0:130F:0:0:9C0:876A:130B
– Các trường 0 liên tiếp nhau có thể thu gọn bằng ::, nhưng chỉ có thể biểu diễn một lần trong mỗi địa chỉ IPv6
Ví dụ:
2031:0000:130F:0000:0000:09C0:876A:130B
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   ->  ::
Phân loại địa chỉ IP Version 6
IPv6 có 3 loại địa chỉ: Unicast, Multicast và Anycast
Địa chỉ Unicast
Unicast là địa chỉ của một Interface cụ thể, riêng biệt được chia thành các loại sau: Global, Link-Local, Site-Local, Unique-Local.
Địa Global Unicast
image008Hình 4. Cấu trúc dải địa chỉ Global Unicast
Tương tự như địa chỉ Public của IPv4, Global Unicast của IPv6 là loại địa chỉ được cho phép trên mạng Internet được cung cấp theo cấu trúc phân tầng như hình trên.
  • 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ỉ Link-Local
image010Hình 5. Cấu trúc dải địa chỉ Link-Local
Địa chỉ Link-Local có thể xem là một cách để kết nối các Host với nhau mà không cần dùng tới địa chỉ Global Unicast. Đây là loại địa chỉ được tự động cấu hình trên interface cù một thiết bị và luôn có prefix là FE80::/10 kèm theo 64 bit định danh interface sử dụng cơ chế EUI-64 (Extended Unique Identifier – 64).
Địa chỉ Site-Local
image011Hình 6. Cấu trúc dải địa chỉ Site-Local
– Địa chỉ Site-Local trong IPv6 tương tự như địa chỉ Private trong IPv4, dùng cho nội bộ một Site là luôn bắt đầu bởi chuỗi bit 1111 1110 10 cố định tạo thành Prefix FEC0::/10.
– Đị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

image012Hình 7. Cấu trúc dải địa chỉ Unique-Local
  • 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
Địa chỉ Multicast
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.
Trong khi Broadcast gửi trực tiếp tới mọi host trong một subnet thì Multicast chỉ gửi trực tiếp cho một nhóm xác định các host, các host này lại có thể thuộc các subnet khác nhau. Host có thể lựa chọn có tham gia vào một nhóm Multicast cụ thể nào đó hay không (thường được thực hiện với thủ tục quản lý nhóm internet – Internet Group Management Protocol), trong khi đó với Broadcast, mọi host là thành viên của nhóm Broadcast bất kể nó có muốn hay không.
image014
Hình 8. Cấu trúc dải địa chỉ Multicast
8 bit đầu của dải địa chỉ Multicast luôn bắt đầu bằng 1111 1111. 8 bit sau được chia làm 2 thành phần:

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.
image016Bảng 1. Một số địa chỉ Multicast thông dụng
Anycast
Đị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.

LEAVE A REPLY