2.2.1 Địa chỉ Unicast
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.
Trong một địa chỉ 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.
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à:
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.
2.2.2 Đị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:
Hình 2.1 các giá trị địa chỉ
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:
Đâ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).
2.2.3Địa chỉ Anycast
Nếu đã nghiên cứu giao thức IPv4 thì chúng ta 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.
CHƯƠNG III :TRIỂN KHAI IPV6
Triển khai chuyển đổi và thay thế một giao thức Internet không phải là điều dể dàng. Trong lịch sử hoạt động Internet toàn cầu, địa chỉ IPv6 không thể tức khắc thay thế IPv4 trong thời gian ngắn mà phải trãi qua một quá trình. Thế hệ dịa chỉ IPv6 phats triển khi IPv4 đã hoàn thiện và hoạt động trên mạng lưới toàn cầu. Trong thời gian bắt đầu phát triển, kết nối IPv6 cần thực hiện trên cơ sở hạ tầng mạng của IPv4.
Mạng IPv6 và IPv4 sẽ cùng song song tồn tại trong thời gian dài, thậm chí mãi mãi, các công nghệ triển khia IPv6 và chuyển đổi giữa Ipv6 với IPv4. Đồng thời trong chương này sẽ giới thiệu về các giao thức định tuyến hoạt động trên Ipv6 và phân tích giao thức định tuyến OSPFv3
3.1 CÁC GIAO THỨC LIÊN QUAN TỚI IPV6 3.1.1 Bảng định tuyến IPv6 3.1.1 Bảng định tuyến IPv6
Một bảng định tuyến sẽ có mặt trên tất cả các node chạy giao thức IPv6. Bảng định tuyến lưu những thông tin về các subnet của mạng và một next hop để có thể đến được subnet đó. Trước khi bảng định tuyến được kiểm tra, thì destination cache sẽ được kiểm tra trước xem có những entry nào trong đó match với địa chỉ đích có trong IPv6 header của packet hay không. Nếu không có thì bảng định tuyến sẽ được sử dụng để quyết định:
• Interface được sử dụng để truyền gói tin (next hop interface). Interface xác định interface vật lý hay luận lý được sử dụng để truyền gói tin đến đích của nó hay router tiếp theo.
• Địa chỉ next hop: với những đích nằm trên cùng một liên kết cục bộ thì địa chỉ next hop chính là địa chỉ đích của packet. Với những đích không nằm cùng subnet thì địa chỉ next hop chính là địa chỉ của một router.
Sau khi interface và địa chỉ của next hop được xác định thì node sẽ cập nhật destination cache. Các gói tin tiềp theo sẽ được truyền đến đích sử dụng cache entry này mà không phải kiểm tra bảng định tuyến.
Các loại entry trong bảng định tuyến IPv6: Các entry trong bảng định tuyến IPv6 được sử dụng để lưu những loại đường sau:
• Các đường được kết nối trực tiếp. Những route này là những prefix cho những subnet được kết nối trực tiếp và thường là có kích thước prefix là 64 bit.
• Những route của các mạng ở xa: những route này là những prefix của những mạng không được kết nối trực tiếp nhưng có thể đến được qua các router khác. Những route này là những prefix cho một subnet (thường có prefix là /64) hay là prefix cho một tầm địa chỉ (thường có prefix nhỏ hơn 64).
• Các route của host: một host route là một route cho một địa chỉ IPv6 xác định. Với các host route thì prefix là một địa chỉ IPv6 xác định với prefix là 128 bit.
• Default route: được sử dụng khi một mạng không được tìm thấy trong bảng định tuyến. Có prefix là ::/0
Quá trình định đường: để quyết định sẽ sử dụng entry nào trong bảng định tuyến để truyền gói tin thì IPv6 sử dụng các quá trình sau:
- Với mỗi entry trong một bảng định tuyến, nó sẽ so sánh các bit trong network prefix với cùng các bit đó trong địa chỉ đích với số bit sẽ được xác định bởi prefix của route. Nếu tất cả đều match thì route đó sẽ là một match cho đích.
- Danh sách các route được match sẽ được xử lý lại. Route có chiều dài prefix lớn nhất sẽ được chọn (theo quy tắc longest match). Longest match route sẽ là route tốt nhất cho đích. Nếu nhiều entry cùng thoả mãn (cùng prefix) thì
router sẽ chọn route nào có metric nhỏ nhất (theo quy tắc lowest metric). Nếu cả hai thông số trên đều trùng thì router sẽ chọn 1 để sử dụng. Với một đích bất kỳ cho trước, thì quá trình trên là kết quả của việc tìm route theo thứ tự sau:
+ Một host route match toàn bộ địa chỉ đích.
+ Một network route với prefix lớn nhất match địa chỉ đích. + Default router
- Route được chọn sẽ có interface và địa chỉ của next hop. Nếu quá trình định đường trên host thất bại thì IPv6 sẽ giả sử rằng đích có thể đến được một cách cục bộ. Còn nếu việc định tuyến trên router thất bại thì IPv6 sẽ gửi một ICMP Destination Unreachable-No Route to Destination về cho máy gửi và bỏ gói tin.
Ví dụ: Bảng định tuyến trên một máy PC chạy WinXP. Để xem bảng định tuyến của máy cài WinXP, ta sử dụng lệnh netsh interface ipv6 show routes. Sau đây là output của lệnh trên của một máy cài 3 card mạng và được xem là default router cho 2 subnet và là một default route cho subnet thứ 3.
Publish Type Met Prefix Idx Gateway/Interface Name --- --- ---- --- --- --- yes Autoconf 8 fec0:0:0:1::/64 3 Local Area Connection yes Autoconf 8 fec0:0:0:2::/64 4 Local Area Connection 2 yes Autoconf 8 fec0:0:0:3::/64 5 Local Area Connection 3 yes Manual 256 ::/0 5 fe80::210:ffff:fed6:58c0
Mỗi entry trong bảng định tuyến của WinXP có các trường sau:
• Route đó có được quảng bá (Publish) hay không (được quảng bá qua các Router Advertisement)
• Loại route (Type).
• Metric được sử dụng để chọn khi có nhiều route cùng prefix (Met) • Prefix
• Index của interface xác định interface mà qua đó packet có thể được gửi đến (Idx). Index này có thể được xem bằng lệnh: netsh interface ipv6 show interface
• Địa chỉ của next hop hay interface của next hop.
Với những route của những mạng ở xa, một địa chỉ IPv6 của next hop sẽ được liệt kê. Với những route được kết nối trực tiếp thì tên của interface sẽ được liệt kê ra.
Với những route được cấu hình bởi các ứng dụng của người dùng sẽ có loại route là Manual. Các route được cấu hình bởi giao thức IPv6 sẽ có kiểu route là Autoconf. Bảng định tuyến IPv6 được xây dựng tự động và dựa trên cấu hình hiện tại của host. Các route cho những prefix liên kết cục bộ (có bắt đầu là FE80::/64) sẽ không có mặt trong bảng định tuyến.
Với ví dụ ở trên, giả sử có một traffic gửi đến mạng FEC0::2:2AA:FF:FE90:4D3C thì longest match là route được kết nối trực tiếp: FEC0::2::/64. Và do đó, next hop interface sẽ là interface có index là 4. Khi traffic được gửi đến địa chỉ FEC0::9:2AA:FF:FE03:21A6 thì longest match sẽ là default route (::0/64) do đó, next hop interface cho traffic này sẽ là interface có index là 5.
3.1.2 Các Giao Thức Định tuyến trên Ipv6
3.1.2.1 Giao thức ICMPv6
Một giao thức khác đã được chỉnh sửa trong phiên bản 6 của nhóm giao thúc TCP/IP cho phù hợp là ICMP (ICMPv6). Phiên bản mới này mang theo chiến lược và mục đích của phiên bản 4.ICMPv4 đã được chỉnh sửa cho phù hợp với IPv6. thêm nữa một vài giao thức độc lập trong phiên bản 4 bây giờ là một phiên của ICMPv6.
Giao thức ARP và ICMP ở phiên bản 4 được kết hợp trong phiên bản 6. Giao thức RARP bị loại khỏi nhóm vì không thường xuyên được sử dụng. Theo đó BCOTP đã thay thế RARP
Hình 3.1 Lớp mạng trong ipv4 và ipv6
Mặc dù khuôn dạng chung của một thông điệp ICMP thì khác với mỗi kiểu thông điệp, 44 byte đầu tiên thì phổ biến cho tất cả như đã chỉ ra trong hình .
Trong chương trình đầu tiên ICMP xác định loại thông điệp. Trường phổ biến cuối cùng là trường tổng kiểm tra, được tính toán theo cùng một kiểu như đã được mô tả