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.
Trong phần 2 của loạt bài này, chúng tôi đã giới thiệu cho các bạn về ba loại khác nhau của địa chỉ IPv6: unicast, multicast và anycast. Trong bài viết này, chúng tôi sẽ giải thích vắn tắt các địa chỉ unicast được sử dụng để nhận dạng một host riêng lẻ trên mạng. Các địa chỉ multicast chỉ nhận một nhóm giao diện mạng cư trú điển hình trên 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ư địa chỉ multicast, các địa chỉ anycast cũng nhận dạng một nhóm cụ thể các giao diện mạng thường cư trú trên những máy tính phức hợp. Sự khác nhau ở đây là khi gói được gửi đến địa chỉ multicast, chúng được gửi đến tất cả các giao diện mạng (nút mạng) trong nhóm. Ngược lại, khi gói dữ liệu được gửi đến một địa chỉ anycast thì các gói này không được gửi đến toàn bộ nhóm và thay vào đó 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.
Như bạn thấy, thực sự có một chút khá giống nhau giữa hai địa chỉ multicast và anycast. Trong bài viết này chúng tôi sẽ kết luận loạt bài này bằng việc thảo luận chi tiết hơn về multicast và anycast.
Địa chỉ Multicast
Như chúng tôi đã giải thích ở phần trước, các địa chỉ multicast được sử dụng để nhận dạng một nhóm các giao diện mạng, được biết đến như một nhóm multicast. Các giao diện mạng điển hình được định vị trên các máy tính phức hợp nhưng đây không phải là một thiết bị thuần túy. Các địa chỉ multicast được sử dụng để gửi thông tin đến bất kỳ giao diện mạng nào đã được định nghĩa thuộc về nhóm multicast.
Một trong những điều thú vị nhất về các địa chỉ multicast đó là chúng hoàn toàn riêng biệt, một giao diện mạng có một địa chỉ multicast không có nghĩa là máy đó không thể có một địa chỉ unicast hoặc là nằm trong các nhóm multicast khác Trong thực tế, một vài hệ điều hành đã thêm vào đó một adapter mạng của máy tính đối với các nhóm multicast khác nhau tại thời điểm địa chỉ unicast của adapter được định nghĩa. Ví dụ: hệ điều hành Solaris tự động thêm vào các adapter mạng vào nút Solicited và các nhóm multicast tất cả các nút (hoặc tất cả các router). Trong trường hợp bạn không quen với Solaris, nhóm nút Solicited được sử dụng cho việc phát hiện ra IPv6 khác đã kích hoạt các thiết bị trên mạng. Windows Vista cũng có một chức năng tương tự.
Chúng tôi đã giải thích cho các bạn nghe về các địa chỉ multicast được sử dụng cho những địa chỉ multicast trông như thế nào. Mặc dù một địa chỉ IPv6 dài 128 bit nhưng 8 bit đầu tiên của địa chỉ lại định nghĩa cho địa chỉ multicast. Mỗi một địa chỉ multicast sử dụng một định dạng tiền tố là 11111111. Khi được biểu diễn trong ký hiệu hex và “:” thì một địa chỉ multicast luôn luôn bắt đầu bằng FF.
Bốn bit tiếp theo của địa chỉ multicast là các bit cờ (flag). Tại thời điểm hiện tại, ba bit đầu trong nhóm bốn bit là không dùng đến (chính vì vậy chúng được thiết lập là 0). Bit cờ thứ tư được biết đến như một bit nốt đệm. Nhiệm vụ của nó là để biểu thị xem địa chỉ đó là một địa chỉ tạm thời hay thường xuyên. Nếu địa chỉ đó là địa chỉ thường xuyên thì bit này sẽ được gán bằng 0 còn ngược lại nó sẽ được gán bằng 1.
Bốn bit tiếp theo trong địa chỉ multicast được biết đến như các bit ID Scope. Số lượng của không gian dự trữ cho các bit Scope ID là 4 bit, điều đó có nghĩa là có 16 giá trị khác nhau được biểu thị. Mặc dù không phải tất cả 16 giá trị đều được sử dụng tại thời điểm hiện tại, 7 trong số các giá trị đó được sử dụng để xác định phạm vi của địa chỉ. Ví dụ: nếu một địa chỉ có phạm vi toàn cầu thì địa chỉ là hợp lệ trên toàn bộ Internet. Hiện tại đã sử dụng các bit Scope ID như sau:
Giá trị thập phân | Giá trị nhị phân | Phạm vi địa chỉ |
0 | 0000 | Dự trữ |
1 | 0001 | Phạm vi nút nội bộ |
2 | 0010 | Phạm vi liên kết nội bộ |
5 | 0101 | Phạm vi trang nội bộ |
8 | 1000 | Phạm vi tổ chức nội bộ |
14 | 1110 | Phạm vi toàn cầu |
15 | 1111 | Dự trữ |
112 bit còn lại được sử dụng cho nhóm ID. Kích thước của nhóm ID cho phép các địa chỉ multicast dùng hết 1/256 phần không gian địa chỉ của IPv6.
Để đặt lược đồ địa chỉ này trong phần sắp tới, chúng tôi cho bạn xem một số địa chỉ multicast được sử dụng thường xuyên nhất:
FF0x0:0:0:0:0:1
Đây là một multicast cho tất cả các nút. Bạn có thể phải lưu ý đến chữ “x” trong địa chỉ, nó không phải là một kí tự hệ số hex. Nó là một trình giữ chỗ cho phạm vi. Địa chỉ cụ thể này có thể sử dụng phạm vi nút nội bộ (FF01:0:0:0:0:0:1) hoặc phạm vi liên kết nội bộ (FF02:0:0:0:0:0:1).
FF0x:0:0:0:0:0:2
Địa chỉ multicast này được gán cho tất cả các router bên trong phạm vi đã định nghĩa. Ở đây cũng có kí tự “x”, nó cũng có chức năng tương tự. Các phạm vi hợp lệ là nút nội bộ (FF01:0:0:0:0:0:2), liên kết nội bộ (FF02:0:0:0:0:0:2) và trang nội bộ (FF05:0:0:0:0:0:2).
Địa chỉ Anycast
Nếu đã nghiên cứu giao thức IPv4 thì bạn có thể biết được rằng các khái niệm của unicast và multicast cũng tồn tại ở IPv4, mặc dù vậy ở IPv6 chúng được bổ sung nhiều vấn đề khác. Anycast là duy nhất với IPv6. Anycast làm việc giống như một sự kết hợp các địa chỉ unicast và multicast. Một địa chỉ unicast được sử dụng để gửi dữ liệu đến một người nhận cụ thể nào đó, một địa chỉ multicast được sử dụng để gửi dữ liệu đến một nhóm người nhận còn một địa chỉ anycast thì được sử dụng để gửi dữ liệu đến một người nhận cụ thể ở ngoài nhóm người nhận.
Trong trường hợp bạn đang phân vân rằng anycast được tạo như một cách làm cân bằng tải trở lên dễ dàng hơn. Hãy hình dung một tình huống bạn cần cung cấp một số lượng lớn người dùng để họ có thể truy cập đến các dịch vụ hoặc đến một router của họ. Trong tình huống như vậy thì nó thường làm cho bạn phải sử dụng nhiều máy chủ để cấu hình dịch vụ đang được cung cấp hoặc sử dụng các router phức hợp hay bất cứ trường hợp nào có thể. Lý do ở đây là vì nó có thể cho phép phân phối luồng công việc giữa các thiết bị phức hợp.
Loại cân bằng tải này thực hiện rất khó khăn nếu sử dụng Ipv4 (mặc dù nó đã được thực hiện). Siệc sử dụng các địa chỉ anycast với IPv6 sẽ cho hiệu quả tuyệt đối với việc cân bằng tải. Bạn cần gửi một yêu cầu người dùng đến một trong những thiết bị, trong khi không thể quan tâm đến các thiết bị đã được chỉ định quản lý yêu cầu mà chỉ là yêu cầu phải được quan tâm. Bằng việc sử dụng các địa chỉ anycast, mỗi yêu cầu sẽ tự động gửi đến thiết bị gần nhất về mặt địa lý đến máy tính đưa ra yêu cầu. Trong một số tình huống, anycast thậm có thể được sử dụng để cung cấp lỗi dung sai cho một router lỗi. Lỗi có thể được phát hiện và các yêu cầu có thể được gửi lại vòng qua một router khác lân cận.
Vấn đề kỳ lạ nhất với các địa chỉ anycast là không có lược đồ định địa chỉ đặc biệt nào. Với những gì trong bài viết này, bạn đã thấy được có rất nhiều loại nguyên tắc bao trùm sử dụng và cấu trúc của các địa chỉ unicast và multicast là để gán cùng một địa chỉ unicast cho các host phức hợp. Với cách làm như vậy các địa chỉ unicast trở thành một địa chỉ anycast.
Kết luận
Trong loạt bài viết này, chúng tôi đã cố gắng lướt qua một cách cơ bản về giao thức IPv6. Hầu hết các quản trị viên có thể không cần phải trở thành các chuyên gia ngay lập tức nhưng IPv6 là một thành phần cần thiết trong Windows Vista và Longhorn Server. Chính vì vậy, chúng ta tìm hiểu để biết chút ít về nó là một việc làm cần thiết.
(Hết)