Giới thiệu về IPv6 (II)

Bài viết này sẽ tiếp tục giới thiệu cho các bạn giao thức IPv6 bằng cách thảo luận về việc định dạng địa chỉ và các loại địa chỉ khác nhau của IPv6.

Trong phần một của loạt bài này, chúng tôi đã giới thiệu một số cách khác nhau biểu diễn địa chỉ IPv6 so với cách được sử dụng để biểu diễn trong IPv4. Trong bài viết này, chúng tôi muốn tiếp tục thảo luận bằng việc nói về những vấn đề bên trong địa chỉ IPv6, cách mà các địa chỉ IPv6 được thiết lập cho mạng cấp dưới và các loại IPv6 khác nhau.

Nếu đã quen với IPv4 thì bạn phải biết rằng một địa chỉ IPv4 gồm có 4 phần, mỗi phần được phân biệt với nhau bằng dấu chấm. Một phần trong địa chỉ này biểu thị số mạng và các bit còn lại dùng để phân biệt một host cụ thể trên mạng. Số của các bit thực được thiết kế cho số mạng và số host khác nhau phụ thuộc vào subnet mask.

Một địa chỉ IPv4 được chia thành các phần khác nhau, trong địa chỉ IPv6 cũng vậy. Trong bài trước, bạn đã biết được về các địa chỉ IPv6 có 128 bit chiều dài. Khi một địa chỉ IPv6 được viết theo dạng đầy đủ, nó được diễn tả thành 8 phần khác nhau, mỗi phần có 4 số và được phân tách bằng dấu “:”. Mỗi phần có 4 chữ số này biểu thị 16 bit dữ liệu, mỗi trường 16 bit này lại được sử dụng cho các mục đích riêng biệt.

Cụ thể, mỗi một địa chỉ IPv6 được phân thành ba phần khác nhau đó là: site prefix, subnet ID, interface ID. Ba thành phần này được nhận dạng bởi vị trí của các bit bên trong một địa chỉ. Ba trường đầu tiên trong IPv6 được biểu thị site prefix, trường tiếp theo biểu thị subnet ID còn 4 trường cuối biểu thị cho interface ID.

Site prefix cũng giống như số mạng của IPv4. Nó là số được gán đến trang của bạn bằng một ISP. Điển hình, tất cả các máy tính trong cùng một vị trí sẽ được chia sẻ cùng một site prefix. Site prefix hướng tới dùng chung khi nó nhận ra mạng của bạn và cho phép mạng có khả năng truy cập từ Internet.

Không giống như site prefix, subnet ID mang tính riêng bởi vì nó ở bên trong mạng của bạn, subnet ID miêu tả cấu trúc trang của mạng. Subnet ID làm việc rất giống với cách mà mạng con làm việc trong giao thức IPv4. Sự khác nhau lớn nhất ở đây là các mạng có đó có thể dài 16 byte là được biểu thị trong định dạng hex nhiều hơn là ký hiệu chữ thập phân có nhiều dấu chấm. Một IPv6 subnet điển hình tương đương với một nhánh mạng đơn (trang) như một subnet của IPv4.

Interface ID làm việc giống như một ID cấu hình IPv4. Số này nhận dạng duy nhất một host riêng trong mạng. Interface ID (thứ mà đôi khi được cho như là một thẻ) được cấu hình tự động điển hình dựa vào địa chỉ MAC của giao diện mạng. ID giao diện có thể được cấu hình bằng định dạng EUI-64.

Để xem một địa chỉ IPv6 được phân chia như thế nào thành các phần con khác nhau của nó, bạn hãy quan sát đến địa chỉ dưới đây:

2001:0f68:0000:0000:0000:0000:1986:69af

Phần site prefix của địa chỉ này là: 2001:0f68:0000. Trường tiếp theo là 0000 biểu thị subnet ID. Các byte còn lại (0000:0000:1986:69af) biểu thị interface ID.

Điển hình khi một tiền tố được biểu diễn, nó được viết trong một định dạng đặc biệt. Các số 0 trong đó đã giải thích trong bài viết trước và các tiền tố được theo sau bởi một dấu sổ và số. Số sau dấu sổ chỉ số lượng của các bit trong tiền tố. Trong ví dụ trước tôi đã đề cập đến site prefix cho địa chỉ 2001:0f68:0000:0000:0000:0000:1986:69af2001:0f68:0000. Khi tiền tố này có chiều dài 48 bit thì chúng ta nên thêm vào đó a /48 để kết thúc nó hợp thức. Với các con số 0 đã bỏ, tiền tố đó sẽ viết như sau: 2001:f68::/48

Các loại địa chỉ IPv6

IPv6 có ba loại địa chỉ khác nhau: Unicast, Multicast và Anycast.

Địa chỉ Unicast được sử dụng để phân biệt các host đơn lẻ trên một mạng. Các địa chỉ Multicast lại sử dụng để phân biệt một nhóm các giao diện mạng cư trú điển hình trong các máy tính phức hợp. Khi một gói dữ liệu được gửi đến địa chỉ multicast thì gói đó được gửi đến tất cả các giao diện mạng trong nhóm multicast.

Giống như các địa chỉ multicast, các địa chỉ anycast cũng phân biệt một nhóm cụ thể các giao diện mạng thường cư trú trong các máy tính phức hợp. Vậy cái gì tạo tuyến anycast khác với một nhóm multicast? Khi các gói được gửi đi đến một địa chỉ multicast chúng được gửi đến tất cả các giao diện mạng trong nhóm. Trái ngược với điều đó, khi các gói dữ liệu được gửi đi đến một địa chỉ anycast thì các gói này không gửi đến toàn bộ nhóm mà thay vì đó chúng chỉ được gửi đến thành viên gần nhất về mặt vật lý với người gửi.

Các địa chỉ Unicast

Chúng tôi đã giới thiệu cho các bạn định dạng của một địa chỉ IPv6 và những vị trí bit khác nhau được sử dụng. Quả thực có hai loại địa chỉ unicast khác nhau đó là: toàn cục và liên kết cục bộ. Một địa chỉ unicast toàn cục có thể truy cập rộng rãi trong khi đó địa chỉ unicast liên kết cục bộ chỉ có thể truy cập đến các máy tính khác mà chia sẻ liên kết. Định dạng địa chỉ IP mà tôi đã giới thiệu cho các bạn ở phần trước là một địa chỉ unicast toàn cục. Chúng tôi đã nói về loại địa chỉ này bởi vì nó là loại địa chỉ chung nhất.

Các địa chỉ unicast liên kết cục bộ đã sử dụng một định dạng địa chỉ khác với các địa chỉ unicast toàn cục. Giống như các địa chỉ unicast toàn cục, các địa chỉ unicast liên kết cục bộ cũng gồm 128 byte chiều dài. Sự khác nhau ở hai loại này là các byte được phân phối khác nhau và địa chỉ sử dụng một site prefix đặc biệt.

Trong một địa chỉ unicast liên kết nội bộ, một site prefix chiếm 10 bit đầu tiên của địa chỉ thay vì 48 bit đầu như trong trường hợp của địa chỉ unicast toàn cục. Site prefix được sử dụng bằng một địa chỉ unicast liên kết cục bộ là: fe80.

Khi site prefix được viết ngắn lại (so với một địa chỉ unicast toàn cục), bạn có thể không ngạc nhiên khi thấy rằng số lượng của không gian chỉ định trong subnet ID đã được mở rộng từ 16 bit thành 64 bit. Những gì ở đây là 64 bit đó không thực sự được sử dụng. Nhớ rằng một địa chỉ IP liên kết cục bộ chỉ hợp lệ cho các máy tính đang chia sẻ một liên kết chung. Như vậy, không có lý do nào để cần phải có một subnet ID. 64 bit của không gian địa chỉ mà được dành riêng cho subnet ID được biểu diễn như những số 0.

Interface ID cho một địa chỉ unicast liên kết cục bộ có chiều dài 54 bit. Interface ID hầu như luôn được bắt nguồn từ 48 bit địa chỉ MAC đã gán vào card giao diện mạng để giao thức được phân danh giới. Dưới đây là một ví dụ về một địa chỉ unicast liên kết cục bộ.

Fe80:0000:0000:0000:0000:0000:23a1:b152

Tất nhiên khi các địa chỉ IPv6 được viết ra thì chúng thường được diễn tả với một loạt con số 0 đã bị triệt tiêu. Chính vì vậy, một công thức viết tắt đúng kỹ thuật địa chỉ này là:

Fe80::23a1:b152

Khi các địa chỉ đã diễn tả với các số 0 đã bị triệt tiêu, thì địa chỉ đầu tiên trông giống như bất kỳ địa chỉ IPv6 nào. Nhớ rằng bạn có thể nói được sự khác nhau giữa một địa chỉ unicast liên kết cục bộ với các địa chỉ khác bởi vì một địa chỉ unicast cục bộ sẽ luôn luôn bắt đầu với fe80.

Kết luận

Trong bài viết này, chúng tôi đã trình bày cho các bạn sự khác nhau đáng kể về các bit trong địa chỉ IPv6. Phần cuối đã đi thẳng vào thảo luận sự khác nhau giữa các loại địa chỉ IPv6. Trong phần 3 chúng tôi sẽ tiếp tục thảo luận bằng việc nói về các địa chỉ multicast và anycast.