Bài viết chuyên đề
Cấu trúc đánh địa chỉ, các dạng địa chỉ IPv6 (Chuyên Đề Đào Tạo IPv6 – Phần 2)
20/03/2019 11:56:15
Cấu trúc đánh địa chỉ, các dạng địa chỉ IPv6 (Chuyên Đề Đào Tạo IPv6 – Phần 2)
Ba loại địa chỉ IPv6
Khi sử dụng địa chỉ IPv4, chúng ta rất quen thuộc với những đặc điểm sau:
- Một IPv4 node với một card mạng chỉ có thể được gán một địa chỉ IPv4 toàn cầu và định danh toàn cầu bằng địa chỉ đó.
- Phạm vi của địa chỉ IPv4: chúng ta biết địa chỉ broadcast IPv4 có phạm vi trong subnet, địa chỉ private có phạm vi site, địa chỉ toàn cầu có phạm vi toàn bộ mạng Internet.
Thế hệ địa chỉ IPv6 có những thay đổi cơ bản về mô hình địa chỉ, khi tìm hiểu về hoạt động của địa chỉ IPv6, trước tiên chúng ta cần nắm được một số đặc điểm sau để có cái nhìn tổng quát. Đó là:
- Theo cách thức một gói tin được truyền tải đến đích, địa chỉ IPv6 bao gồm ba loại: unicast, multicast, anycast. Mỗi loại địa chỉ lại gồm nhiều dạng địa chỉ khác nhau. Các dạng địa chỉ có phạm vi hoạt động nhất định và một tiền tố (prefix) xác định. Chúng ta dựa vào prefix để nhận dạng địa chỉ IPv6.
Ban đầu, có thể chúng ta sẽ thấy khó khăn khi phân biệt và nhớ chúng. Song, điều này sẽ trở nên rất dễ dàng khi chúng ta tìm hiểu sâu hơn và hiểu được cách thức hoạt động của IP phiên bản 6.
- Địa chỉ ipv6 được gắn cho các giao diện (interface), không phải gắn cho các node. Một giao diện có thể gắn đồng thời nhiều địa chỉ. Mỗi địa chỉ có thời gian sống (lifetime) hợp lệ tương ứng. Node IPv6 dù chỉ có một card mạng cũng sẽ có nhiều giao diện. Đây có thể là giao diện vật lý, hoặc là các giao diện ảo dành cho công nghệ đường hầm (tunnel). Một node ipv6 như vậy được xác định bởi bất kỳ địa chỉ unicast nào gắn cho một trong số các giao diện của nó.
- Để hoạt động được, thiết bị IPv6 có thể và cần phải được gắn nhiều dạng địa chỉ thuộc ba loại địa chỉ đã nêu trên.
RFC 3513 - Internet Protocol Version 6 (IPv6) Addressing Architecture mô tả cấu trúc ba loại địa chỉ ipv6:
1) Địa chỉ unicast
Địa chỉ unicast xác định một giao diện duy nhất trong phạm vi tương ứng. Trong mô hình định tuyến, các gói tin có địa chỉ đích là địa chỉ unicast chỉ được gửi tới một giao diện duy nhất. Địa chỉ unicast được sử dụng trong giao tiếp một – một.
2) Địa chỉ multicast
Địa chỉ multicast định danh nhiều giao diện. Gói tin có địa chỉ đích là địa chỉ multicast sẽ được gửi tới tất cả các giao diện trong nhóm được gắn địa chỉ đó. Địa chỉ multicast được sử dụng trong giao tiếp một – nhiều.
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. Ví dụ chức năng broadcast trong một subnet của địa chỉ ipv4 được đảm nhiệm bằng một loại địa chỉ ipv6 là địa chỉ multicast mọi node phạm vi link (link-local scope all-nodes multicast address FF02::1)
3) Địa chỉ anycast
Địa chỉ anycast cũng xác định tập hợp nhiều giao diện. Tuy nhiên, trong mô hình định tuyến, gói tin có địa chỉ đích anycast chỉ được gửi tới một giao diện duy nhất trong tập hợp. Giao diện đó là giao diện “gần nhất” theo khái niệm của thủ tục định tuyến.
Địa chỉ UNICAST
Địa chỉ unicast có năm dạng sau đây :
1) Địa chỉ đặc biệt (Special address)
Ipv6 sử dụng hai địa chỉ đặc biệt sau đây trong giao tiếp:
v 0:0:0:0:0:0:0:0 hay còn được viết "::" là dạng địa chỉ “không định danh” được sử dụng để thể hiện rằng hiện tại node không có địa chỉ. Địa chỉ “::” được sử dụng làm địa chỉ nguồn cho các gói tin trong thủ tục kiểm tra sự trùng lặp địa chỉ link-local và không bao giờ được gắn cho một giao diện hoặc được sử dụng làm địa chỉ đích.
v 0:0:0:0:0:0:0:1 hay "::1" được sử dụng làm địa chỉ xác định giao diện loopback, cho phép một node gửi gói tin cho chính nó, tương đương với địa chỉ 127.0.0.1 của ipv4. Các gói tin có địa chỉ đích ::1 không bao giờ được gửi trên đường link hay forward đi bởi router. Phạm vi của dạng địa chỉ này là phạm vi node
2) Địa chỉ Link-local
Địa chỉ link-local được sử dụng bởi các node khi giao tiếp với các node lân cận (neighbor node) trên cùng một đường kết nối. Khi không có router, các node IPv6 trên một đường link sẽ sử dụng địa chỉ link-local để giao tiếp với nhau. Phạm vi của dạng địa chỉ unicast này là trên một đường kết nối (phạm vi link).
Địa chỉ link-local luôn luôn được cấu hình một cách tự động, ngay cả khi không có sự tồn tại của mọi loại địa chỉ unicast khác.
Khái niệm node lân cận (neighbor node):
Trong IPv6, các node trên cùng một đường link coi nhau là các node lân cận (neighbor node). Trong mô hình hoạt động của IPv6, giao tiếp giữa các neighbor node là vô cùng quan trọng. IPv6 đã phát triển một thủ tục mới, tên gọi Neighbor Discovery (ND) là thủ tục thiết yếu, phục vụ giao tiếp giữa các neighbor node. Địa chỉ link-local cần thiết cho các quy trình Neighbor Discovery phụ trách.
Cấu trúc địa chỉ link-local
Cấu trúc của địa chỉ link-local như hình
Địa chỉ link-local bắt đầu bởi 10 bít prefix là FE80::/10, theo sau bởi 54 bit 0. 64 bít còn lại là định danh giao diện (interface ID)
Khái niệm định danh giao diện (Interface ID):
Trong mô hình địa chỉ ipv6, bất kể dạng địa chỉ nào, 64 bít cuối cùng được quy định là các bít định danh giao diện. Chúng xác định duy nhất một giao diện trên một đường link (phạm vi của tính duy nhất có thể rộng lớn hơn). 64 bít định danh giao diện này có thể tự động tạo dựa trên địa chỉ card mạng (địa chỉ MAC trong trường hợp kết nối Ethernet), hoặc gắn ngẫu nhiên. Cách thức tạo các bít định danh giao diện sẽ được mô tả chi tiết trong các phần sau.
3) Địa chỉ Site-local
Dạng địa chỉ ipv6 Site-local được thiết kế với mục đích sử dụng trong phạm vi một mạng, tương đương với địa chỉ dùng riêng (private) trong ipv4 (các vùng 10.0.0.0/8, 172.16.0.0/12, và 192.168.0.0/16). Phạm vi tính duy nhất của dạng địa chỉ này là phạm vi trong một mạng dùng riêng (ví dụ một mạng office, một tổ hợp mạng office của một tổ chức...). Các router gateway ipv6 không forward gói tin có địa chỉ site-local ra khỏi phạm vi mạng riêng của tổ chức. Do vậy, một vùng địa chỉ site-local có thể được dùng trùng lặp bởi nhiều tổ chức mà không gây xung đột định tuyến ipv6 toàn cầu. Địa chỉ site-local trong một site không thể được truy cập tới từ một site khác.
Cấu trúc địa chỉ Site-local cho trong hình
Địa chỉ site-local luôn luôn bắt đầu bằng 10 bít prefix FEC0::/10. Tiếp theo là 38 bít 0 và 16 bít mà tổ chức có thể phân chia subnet, định tuyến trong phạm vi site của mình. 64 bít cuối, như chúng ta còn nhớ, luôn là 64 bít định danh giao diện cụ thể trong một subnet.
Địa chỉ Site-local được định nghĩa trong thời kỳ đầu phát triển IPv6. Trong quá trình sử dụng IPv6, người ta nhận thấy nhu cầu sử dụng địa chỉ dạng site-local trong tương lai phát triển của thế hệ địa chỉ ipv6 là không thực tế và không cần thiết. Do vậy, IETF đã sửa đổi RFC3513, loại bỏ đi dạng địa chỉ site-local. Chức năng của địa chỉ Site-local được thay thế bởi dạng địa chỉ IPV6 khác đang được dự thảo, là Globally Unique Local
Tại đây, chúng ta đề cập đến địa chỉ Site-local với mục đích tìm hiểu, biết được trong quá trình phát triển ipv6, đã từng có dạng địa chỉ này.
4) Địa chỉ định danh toàn cầu (Global unicast address)
Đây là dạng địa chỉ tương đương với địa chỉ ipv4 public. Chúng được định tuyến và có thể liên kết tới trên phạm vi toàn cầu. Việc phân bổ và cấp phát dạng địa chỉ này do hệ thống các tổ chức quản lý địa chỉ quốc tế đảm nhiệm. Phạm vi tính duy nhất của địa chỉ unicast định danh toàn cầu là toàn bộ mạng Internet ipv6.
Không như địa chỉ ipv4, với cấu trúc định tuyến vừa phân cấp, vừa không phân cấp, địa chỉ Internet ipv6 được cải tiến trong thiết kế để đảm bảo có một cấu trúc định tuyến và đánh địa chỉ phân cấp rõ ràng.
Ba mục tiêu quan trọng nhất trong quản lý địa chỉ ipv4 là “sử dụng hiệu quả, tiết kiệm”, “tính tổ hợp” và “tính có đăng ký”. Tuy nhiên, đối với địa chỉ ipv6, mục tiêu đầu tiên được đặt lên hàng đầu là “tính tổ hợp”. Điều này rất dễ hiểu. Với chiều dài 128 bit, không gian địa chỉ vô cùng rộng lớn. Nếu địa chỉ ipv6 không được tổ hợp thật tốt, có cấu trúc định tuyến phân cấp rõ ràng hiệu quả thì không thể xử lý được một khối lượng thông tin khổng lồ đặt lên bảng thông tin định tuyến toàn cầu.
Cấu trúc địa chỉ Unicast toàn cầu:
Địa chỉ global unicast được bắt đầu với 3 bít prefix 001
Theo cách thức biểu diễn dạng số hexa, hiện nay hoạt động liên kết mạng IPv6 toàn cầu đang sử dụng địa chỉ thuộc vùng 2000::/3. Không gian địa chỉ đó được phân cấp nhỏ hơn cho từng mục đích sử dụng cụ thể. Nếu một địa chỉ ipv6, được bắt đầu bởi 2000::/3, chúng ta biết đó là vùng địa chỉ định tuyến toàn cầu.
Trong thời gian đầu tiên sử dụng địa chỉ IPv6, IANA cấp phát trong vùng 2001::/16 cho hoạt động Internet IPv6. Tới thời điểm hiện nay, nhu cầu sử dụng IPv6 gia tăng, các vùng địa chỉ khác bắt đầu được cấp phát, như 2400::/16.
Phân cấp định tuyến địa chỉ IPv6 Unicast toàn cầu
Theo RFC 3587 - IPv6 Global Unicast Address Format (Dạng thức địa chỉ IPv6 Unicast toàn cầu), địa chỉ IPv6 định danh toàn cầu được phân cấp định tuyến như sau:
v Phần cố định: 3 bít đầu tiên 001 xác định dạng địa chỉ global unicast.
v Phần định tuyến toàn cầu: 45 bit tiếp theo. Các tổ chức quản lý sẽ phân cấp quản lý vùng địa chỉ này, phân cấp chuyển giao lại cho các tổ chức khác. Kích thước nhỏ nhất trong định tuyến ra ngoài phạm vi một site là prefix /48.
Theo chính sách quản lý địa chỉ hiện tại, kích thước vùng địa chỉ nhỏ nhất được phân bổ cho một ISP là /32 và nếu khách hàng của ISP cần nhiều hơn một subnet, khi đó tổ chức sẽ nhận được /48. Tuy nhiên đây không phải những con số cố định. Chính sách quản lý địa chỉ toàn cầu luôn được thay đổi và xem xét để phù hợp nhất với nhu cầu và hoạt động mạng.
v Vùng định tuyến trong site: 16 bít tiếp theo là không gian địa chỉ mà tổ chức có thể tự mình quản lý, phân bổ, cấp phát và tổ chức định tuyến bên trong mạng của mình. Với 16 bít, tổ chức có thể tạo nên 65,536 subnet hoặc nhiều cấp định tuyến phân cấp hiệu quả sử dụng trong mạng của tổ chức.
5) Địa chỉ tương thích (Compatibility address)
Địa chỉ tương thích được định nghĩa nhằm mục đích hỗ trợ việc chuyển đổi từ địa chỉ ipv4 sang địa chỉ ipv6, bao gồm:
v Sử dụng trong công nghệ biên dịch giữa địa chỉ ipv4 – ipv6
v Hoặc được sử dụng cho một hình thức chuyển đổi được gọi là “đường hầm – tunnel”, lợi dụng cơ sở hạ tầng sẵn có của mạng ipv4 kết nối các mạng ipv6 bằng cách bọc gói tin ipv6 vào trong gói tin đánh địa chỉ ipv4 để truyền đi trên mạng ipv4.
Địa chỉ tương thích được cấu thành từ địa chỉ IPv4 và có nhiều dạng, được sử dụng trong các công nghệ đường hầm khác nhau. Trong đó, một số hiện nay đã không còn được sử dụng nữa. Chúng ta sẽ tìm hiểu ba trong số những dạng địa chỉ tương thích: địa chỉ IPv4-compatible, địa chỉ IPv4-mapped, địa chỉ 6to4.
Địa chỉ IPv4-compatible
Địa chỉ IPv4-compatible được tạo từ 32 bít địa chỉ ipv4 và được viết như sau:
0:0:0:0:0:0:w.x.y.z hoặc ::w.x.y.z
Trong đó w.x.y.z là địa chỉ ipv4 viết theo cách thông thường
Dạng địa chỉ IPv4-compatible được sử dụng cho công nghệ tunnel tự động. Nếu một địa chỉ IPv4-compatible được sử dụng làm địa chỉ ipv6 đích, lưu lượng ipv6 đó sẽ được tự động bọc trong gói tin có ipv4 header và gửi tới đích sử dụng cơ sở hạ tầng mạng ipv4.
Hiện nay, nhu cầu về dạng kết nối tunnel tự động này không còn nữa. Do vậy, dạng địa chỉ này cũng đã được loại bỏ không còn sử dụng trong giai đoạn phát triển tiếp theo của địa chỉ ipv6.
Địa chỉ IPv4-mapped:
Địa chỉ IPv4-mapped cũng được tạo nên từ 32 bít địa chỉ ipv4 và có dạng như sau: 0:0:0:0:0:FFFF:w.x.y.z hoặc ::FFFF:w.x.y.z
Trong đó w.x.y.z là địa chỉ ipv4 viết theo cách thông thường
Địa chỉ này được sử dụng để biểu diễn một node thuần ipv4 thành một node ipv6 và được sử dụng trong công nghệ biên dịch địa chỉ IPv4 – IPv6 (ví dụ công nghệ NAT-PT, phục vụ giao tiếp giữa mạng thuần địa chỉ ipv4 và mạng thuần địa chỉ ipv6). Địa chỉ IPv4-mapped không bao giờ được dùng làm địa chỉ nguồn hay địa chỉ đích của một gói tin ipv6.
Địa chỉ 6to4:
IANA đã cấp phát một prefix địa chỉ dành riêng 2002::/16 trong vùng địa chỉ có ba bít đầu 001 (vùng địa chỉ unicast toàn cầu) để sử dụng cho một công nghệ chuyển đổi giao tiếp ipv4-ipv6 rất thông dụng có tên gọi công nghệ tunnel 6to4. Chúng ta sẽ tìm hiểu về công nghệ chuyển đổi này trong phần 4 của cuốn sách này.
Địa chỉ 6to4 được sử dụng trong giao tiếp giữa hai node chạy đồng thời cả hai thủ tục ipv4 và ipv6 trên mạng cơ sở hạ tầng định tuyến của ipv4. Địa chỉ 6to4 được hình thành bằng cách gắn prefix 2002::/16 với 32 bít địa chỉ ipv4 (viết dưới dạng hexa), từ đó tạo nên một prefix địa chỉ /48.
Công nghệ tunnel 6to4 được mô tả trong RFC 3056 và sử dụng vô cùng rộng rãi.
Xem tiếp Phần 3: http://www.waren.vn/chuyen-de/cau-truc-danh-dia-chi-cac-dang-dia-chi-ipv6-chuyen-de-dao-tao-ipv6-phan-3.html