IP v6
Tác giả: Đă
̣
ng Quang Minh
IPv6
Hai vấn đề lớn mà IP v.4 đang phải đối mặt là việc thiếu hụt các địa chỉ, đặc biệt là các
không gian địa chỉ tầm trung (lớp B) và việc phát triển về kích thước rất nguy hiểm của
các bảng định tuyến trong Internet.
Trong những năm 1990, CIDR được xây dựng dựa trên khái niệm mặt nạ địa chỉ
(address mask). CIDR đã tạm thời khắc phục được những vấn đề nêu trên. Khía cạnh
tổ chức mang tính thứ bậc của CIDR đã cải tiến khả năng mở rộng của IPv.4. Mặc dù
có thêm nhiều công cụ khác ra đời như kỹ thuật subnetting (1985), kỹ thuật VLSM
(1987) và CIDR (1993), các kỹ thuật trên đã không cứu vớt IP v.4 ra khỏi một vấn đề
đơn giản: không có đủ địa chỉ cho các nhu cầu tương lai. Có khoảng 4 tỉ địa chỉ IPv.4
nhưng khoảng địa chỉ này là sẽ không đủ trong tương lai với những thiết bị kết nối vào
Internet và các thiết bị ứng dụng trong gia đình có thể yêu cầu địa chỉ IP.
Một vài giải pháp tạm thời, chẳng hạn như dùng RFC1918 trong đó dùng một phần
không gian địa chỉ làm các địa chỉ dành riêng và NAT là một công cụ cho phép hàng
ngàn hosts truy cập vào Internet chỉ với một vài IP hợp lệ. Tuy nhiên giải pháp mang
tính dài hạn là việc đưa vào IPv.6 với cấu trúc địa chỉ 128-bit. Không gian địa chỉ rộng
lớn của IPv.6 không chỉ cung cấp nhiều không gian địa chỉ hơn IPv.4 mà còn có những
cải tiến về cấu trúc. Với 128 bits, sẽ có
340,282,366,920,938,463,463,374,607,431,768,211,456 địa chỉ.
Trong năm 1994, IETF đã đề xuất IPv.6 trong RFC 1752. IPv.6 khắc phục vào một số
vấn đề như thiếu hụt địa chỉ, chất lượng dịch vụ, tự động cấu hình địa chỉ, vấn đề xác
thực và bảo mật. Đối với một doanh nghiệp đã dùng hạ tầng mạng theo IPV4, để
chuyển sang IPv6 không phải là việc dễ dàng. Một giao thức IP mới sẽ yêu cầu các
phần mềm mới, các phần cứng mới và các phương pháp quản trị mới. Cũng có thể,
IPv4 và IPv6 sẽ cùng tồn tại, ngay cả bên trong một Autonomous System trong khoảng
thời gian sắp tới.
IP v.6 có các đặc điểm và lợi ích như sau:
- Không gian địa chỉ rộng lớn
- Địa chỉ unicast và địa chỉ multicast
- Tổng hợp địa chỉ (address aggregation)
- Tự động cấu hình
- Renumbering
- Cấu trúc header đơn giản, hiệu quả
- Bảo mật
- Cơ động
- Các tuỳ chọn để chuyển đổi từ IPv4 sang IPv6
Như được định nghĩa trong RFC1884 và RFC2373, các địa chỉ IPv6 là 128-bit dùng để
nhận dạng cho các cổng của routers và tập các cổng của routers. Có ba kiểu địa chỉ tồn
tại:
- Unicast: là địa chỉ cho một giao tiếp. Một gói dữ liệu được gửi tới một địa chỉ
Unicast sẽ được phân phối tới cổng giao tiếp được chỉ ra bởi địa chỉ đó.
- Anycast: là địa chỉ cho tập hợp các cổng giao tiếp. Các tập này thông thường thuộc về
các node khác nhau. Một gói dữ liệu được gửi tới một địa chỉ anycast sẽ được phân
phối đến cổng giao tiếp gần nhất hay đầu tiên trong nhóm anycast.
- Multicast: địa chỉ cho một tập hợp các cổng giao tiếp (thông thường thuộc về các
node khác nhau). Khi một gói được gửi đến một địa chỉ multicast, tất cả các cổng giao
tiếp sẽ nhận được gói dữ liệu này.
Để viết một địa chỉ dạng 128-bit ở dạng dễ đọc hơn, kiến trúc của IPv6 đã loại bỏ dạng
cú pháp dấu chấm thập phân của IPv4 mà chỉ dùng dạng thập lục phân. Vì vậy, IPv6 có
thể được viết bao gồm 32 ký tự dạng hex với dấu hai chấm ‘:’ tách địa chỉ ra thành tám
phần, mỗi phần có chiều dài 16-bit.
Theo các kế hoạch hiện tại, các node chạy IPv6 kết nối vào Internet sẽ dùng một kỹ
thuật gọi là địa chỉ khả kết toàn cục (aggregatable global unicast address). Trong đó có
nhiều điểm tương đồng với kỹ thuật summary như trong version 4. Địa chỉ tích hợp
của IPv6 có ba mức:
- Mức public topology: là tập hợp các nhà cung cấp kết nối Internet.
- Mức vùng: mức này là cục bộ đối với các tổ chức.
- Mức cổng giao tiếp: mức này ảnh hưởng đến các cổng giao tiếp riêng lẽ. Link-
local address là địa chỉ chỉ được sử dụng trên 1 kết nối (hay 1 cổng của router) và
địa chỉ này phải duy nhất trong liên kết đó. Địa chỉ này có thể được sử dụng trong
mạng cục bộ (các máy có chung địa chỉ mạng )và có thể không có router trong
mạng này. Địa chỉ này có dạng :FE80::<MAC>. Subnet ID của lọai địa chỉ này
được gán =0. Do đó lọai địa chỉ này không thể được sử dụng để giao tiếp ra khỏi
subnet cục bộ được.
Dạng địa chỉ của IPv6
Địa chỉ IPv6 thì rất khác so với địa chỉ IPv4. Không chỉ khác nhau về kích thước (dài
hơn gấp 4 lần) mà sự khác nhau còn trong dạng biểu hiện ở dạng thập lục phân so với
dạng thập phân. Các dấu ‘:’ sẽ tách các số dạng thập lục phân là các thành phần của địa
chỉ 128-bit. Một ví dụ của địa chỉ Ipv6 là như sau:
4021:0000:240E:0000:0000:0AC0:3428:121C
Để tránh nhầm lẫn, lỗi và các trạng thái phức tạp không cần thiết, các luật sau sẽ được
xác định:
- Các số dạng thập lục phân không phân biệt chữ thường và chữ hoa.
- Bất cứ một số 0 nào đứng trước các vùng 16 bit có thể được bỏ qua và được tượng
trưng bằng dấu ‘:’. Một cặp dấu :: chỉ ra rằng các giá trị 16 bit của các số 0 đã được
rút gọn. Quá trình nhận dạng số sẽ dễ dàng nhận ra số chữ số 0 đã bị thu gọn bằng
cách thêm vào số chữ số 0 cho đến khi nào thu được một địa chỉ dài 128-bit
- Chỉ có một cặp các dấu ‘:’ là cho phép tồn tại trong một địa chỉ bởi vì quá trình
nhận dạng sẽ không thể chỉ ra có bao nhiêu số 0 trong mỗi vị trí.
Ví dụ địa chỉ 4021:0000:240E:0000:0000:0AC0:3428:121C có thể được viết ở dạng
4021:0:240E::0AC0:3428:121C
Mặc dù không thể có hai phiên bản của hai dấu ‘::’, các vùng với nhiều chữ số 0 chỉ có
thể được biểu diễn như 0. Trong ví dụ nêu trên, các chữ số 0 trong vùng thứ hai của địa
chỉ được thu gọn lại thành một chữ số 0. Nếu một địa chỉ không có phần host, địa chỉ
có thể kết thúc ở dạng ‘::’. Ví dụ 4021:0:240E::.
IPv6 có thể có nhiều dạng và nó có khả năng giải quyết các hạn chế của IPv4.
Cấu trúc ba mức này được thể hiện thông qua cấu trúc của địa chỉ tích hợp của IPv6,
trong đó bao gồm các vùng sau:
Vùng tiền tố FP: 3 bit của FP sẽ được dùng để chỉ ra kiểu của địa chỉ (là unicast.
Multicast…). Giá trị 001 chỉ ra đây là địa chỉ toàn cục
Vùng TLA ID (top level aggregation) được dùng để chỉ ra mức thẩm quyền cho địa chỉ
này. Các Internet Router sẽ duy trì các bảng cần thiết cho tất cả các giá trị TLA. VớI
13-bit, vùng này có thể có đến 8,192 TLAs.
RES field (8 bits): kiến trúc của IPv6 định nghĩa vùng dành riêng sao cho các giá trị
TLA hoặc NLA có thể mở rộng. Hiện tại, giá trị này bằng zero
NLA ID (24 bits): vùng này được dùng để chỉ ra ISP. Vùng này có thể được sắp xếp để
phản ánh mối quan hệ giữa các ISP.
LSA ID (16 bits): được dùng bởi các tổ chức để tạo ra các kiến trúc địa chỉ bên trong
của nó và để chỉ ra các mạng con.
Interface ID (64 bits): chỉ ra các cổng giao tiếp riêng lẽ trên một kết nối. Vùng này là
tương tự như vùng host trên IPv4 nhưng nó được dẫn xuất từ dạng địa chỉ IEEE EUI-
64 bit. Dạng địa chỉ này tương tự như địa chỉ MAC nhưng thêm vào một vùng 16 bit.
Thêm vào dạng địa chỉ tích hợp toàn cục nêu trên, IPv6 hỗ trợ các địa chỉ nội bộ, tương
tự như các địa chỉ RFC1918. Nếu một node không được gán một địa chỉ toàn cục hay
một địa chỉ cục bộ nêu trên, nó có thể được định vị bằng địa chỉ kết nối cục bộ, chỉ ra
một phân đoạn mạng. Local–Use Unicast address: được gọi là địa chỉ đơn hướng dùng
nội bộ, được dùng cho một tổ chức có mạng máy tính riêng ( dùng nội bộ) chưa nối với
mạng Internet tòan cầu hiện tại nhưng sẵn sàng nối được khi cần. Ngòai ra địa chỉ này
còn được chia thành 2 loại là Link-Local ( nhận dạng đường kết nối local) và Site local
(nhận dạng trong phạm vi nội bộ có thể nhiều nhóm Node – Subnet). Link-local, sẽ
được sử dụng ngay lần đầu khi thiết bị IPv6 bật lên. Do khả năng tự cấu hình của IPv6,
nên khi thiết bị được bật lên, tự động một địa chỉ là link-local sẽ được gán. Chú ý là
địa chỉ này không phải do ta gán mà do máy tự gán để giao tiếp trong nội bộ kết nối,
nghĩa là với các host có chung địa chỉ subnet. Sau đó, khi thấy có router tồn tại trong
mạng thì máy sẽ gửi các gói tin router solicitation và advertising để xin router 1 subnet
ID để tạo site-local để sử dụng giao tiếp giữa các subnet. Chú ý là 2 địa chỉ này không
được định tuyến ra internet.
IPv6 Multicast Addresses
Một địa chỉ multicast là một địa chỉ xác định một nhóm các cổng của router, thông
thường trên các hệ thống đầu cuối khác nhau. Các gói tin sẽ được phân phối đến tất cả
các hệ thống được chỉ ra trong địa chỉ multicast. Sử dụng địa chỉ multicast thì hiệu quả
hơn địa chỉ broadcast, trong đó yêu cầu tất cả các hệ thống đầu cuối phải ngừng tất cả
các việc đang xử lý. Bởi vì một địa chỉ multicast là một địa chỉ của một nhóm các máy
tính, nếu một máy tính không phải là thành viên của nhóm địa chỉ này, nó sẽ drop các
gói ở layer 2. Tuy nhiên broadcast vẫn được xử lý trước khi các hệ thống xác định rằng
dạng broadcast này là không liên quan đến nó. Các thiết bị lớp 2 thường lan truyền các
broadcast bởi vì các địa chỉ broadcast không được lưu trữ trong bảng CAM. Không
giống như router (hành động mặc định của router là drop các gói tin trong đó phần địa
chỉ là không biết), switch sẽ phát tán tất cả các frame với phần địa chỉ là không xác
định ra tất cả các cổng của switch. Về mặt lý thuyết, điều này cũng đúng với các địa
chỉ multicast mặc dù một vài thiết bị có các cơ chế thông minh để giới hạn các dạng
truyền multicast.
IPv6 không dùng cơ chế broadcast mà chỉ dựa vào địa chỉ multicast. Mặc dù IPv4 dùng
địa chỉ multicast như định nghĩa RFC2356, nó sử dụng theo một cách khác. Các địa chỉ
IPv6 có các dãy địa chỉ khác nhau. Tất cả các địa chỉ IPv6 bắt đầu với 8 bit đầu tiên
gán bằng 1. Vì vậy tất cả các địa chỉ multicast sẽ bằng đầu với giá trị F. Dãy địa chỉ
multicast là FF00::/8 - FFFF::/8
Giá trị octet thứ hai, theo sau octet đầu tiên, chỉ ra tầm vực và thời gian sống của địa
chỉ multicast. Theo cách này, IPv6 có hàng triệu nhóm địa chỉ multicast.
Tóm tắt địa chỉ (Address Aggregation)