CHƢƠNG 4 : ĐỊNH TUYẾN TRONG MẠNG IPv6
4.3 Định tuyến tĩnh với giao thức IPv6 cho Windows Server 2003 và Windows
Windows XP[5]
Giao thức IPv6 cho Windows Server 2003 và Windows XP hỗ trợ định tuyến tĩnh. Chúng ta có thể cấu hình một máy tính chạy Windows XP hoặc một thành viên của Windows Server 2003 như một router IPv6 tĩnh bằng việc cho phép truyền trên
các giao diện của máy tính và sau đó cấu hình nó để quảng bá các tiền tố mạng cho các host cục bộ.
Hình 4.1 trình bày một ví dụ mạng sử dụng một cấu hình định tuyến tĩnh đơn giản bao gồm ba subnet, ba máy tính host chạy Windows XP hoặc một thành viên của Windows Server 2003 (Host A, Host B, Host C), và hai máy tính router chạy Windows XP hoặc một thành viên của Windows Server 2003 (Router 1 và Router 2).
Hình 4.1 – Định tuyến tĩnh với IPv6 cho Windows .NET Server 2003 family và Windows XP
Sau khi giao thức IPv6 được cài đặt trên các máy tính của mạng này, phải cho phép forwarding và advertising trên hai card mạng của Router R1 sử dụng lệnh:
netsh interface ipv6 set interface InterfaceName|InterfaceIndex
forwarding=enabled advertise=enabled
Ở đây InterfaceName là tên của kết nối mạng trong thư mục Network
Connections và InterfaceIndex là chỉ số giao diện có được từ lệnh hiển thị netsh
interface ipv6 show interface. Chúng ta có thể sử dụng tên giao diện hoặc chỉ số của
nó là tùy thích.
Ví dụ, đối với Router 1, nếu chỉ số giao diện của card mạng kết nối tới Subnet 1 là 4 và của card mạng kết nối đến Subnet 2 là 5, thì lệnh sẽ là:
netsh int ipv6 set int 4 forw=enabled adv=enabled netsh int ipv6 set int 5 forw=enabled adv=enabled
Sau khi forwarding và advertising được cho phép, các router phải được cấu hình với các tiền tố địa chỉ cho các đoạn mạng được gắn vào chúng. Đối với giao thức IPv6 cho Windows Server 2003 và Windows XP, điều này được thực hiện bằng việc bổ sung thêm các tuyến cho bảng định tuyến của router với các chỉ dẫn để quảng bá tuyến, sử dụng lệnh:
netsh interface ipv6 set route Address/PrefixLength InterfaceName|InterfaceIndex publish=yes
Ở đây Address là một địa chỉ của tiền tố và PrefixLength là độ dài của tiền tố. Để công bố một tuyến, có thể chỉ ra publish=yes, mà ở đây vắng mặt các tham số validlifetime và preferredlifetime.
Ví dụ với router 1 sử dụng các chỉ số giao diện như trên, lệnh sẽ là:
netsh int ipv6 set rou fec0:0:0:1::/64 4 pub=yes netsh int ipv6 set rou fec0:0:0:2::/64 5 pub=yes
Kết quả của cấu hình này sẽ là:
Router 1 gửi các bản tin Router Advertisement trên Subnet 1 bao gồm một
phần thông tin về tiền tố để tự động cấu hình các địa chỉ cho Subnet 1 (FEC0:0:0:1::/64), một tùy chọn MTU cho link MTU của Subnet 1, và thông tin tuyến về tiền tố subnet của Subnet 2 (FEC0:0:0:2::/64). Theo mặc định, MTU của link được quảng bá.
Router 1 gửi các bản tin Router Advertisement trên Subnet 2 bao gồm một
phần thông tin về tiền tố để tự động cấu hình các địa chỉ cho Subnet 2 (FEC0:0:0:2::/64), một tùy chọn MTU cho link MTU của Subnet 2, và thông tin tuyến về tiền tố subnet của Subnet 1 (FEC0:0:0:1::/64)
Khi Host A nhận được bản tin Router Advertisement, nó tự động cấu hình địa chỉ site-local trên giao diện card mạng của nó sử dụng tiền tố FEC0:0:0:1::/64 và nhận dạng giao diện theo kiểu EUI-64. Nó cũng bổ sung một tuyến về Subnet 1 được gắn cục bộ (FEC0:0:0:1::/64) và một tuyến về Subnet 2 (FEC0:0:0:2::/64) với địa chỉ next hop là địa chỉ link-local của giao diện Router 1 trên Subnet 1 cho bảng định tuyến của nó.
Khi Host B nhận được bản tin Router Advertisement, nó tự động cấu hình địa chỉ site-local trên giao diện card mạng của nó sử dụng tiền tố FEC0:0:0:2::/64 và nhận dạng giao diện theo kiểu EUI-64. Nó cũng bổ sung một tuyến về Subnet 2 được gắn cục bộ (FEC0:0:0:2::/64) và một tuyến về Subnet 1 (FEC0:0:0:1::/64) với địa chỉ next hop là địa chỉ link-local của giao diện Router 1 trên Subnet 2 cho bảng định tuyến của nó.
Chú ý rằng trong cấu hình này, Router 1 khơng quảng cáo chính bản thân nó như một router mặc định (trường Router Lifetime trong bản tin Router Advertisement được đặt bằng 0) và khơng có một tuyến mặc định trong các bảng định tuyến của cả Host A và Host B. Một máy tính chạy giao thức IPv6 cho Windows Server 2003 hoặc Windows XP sẽ khơng quảng bá bản thân nó như một router mặc định trừ khi có một tuyến mặc định được cấu hình để được cơng bố.
Để tiếp tục cấu hình ví dụ, chỉ số giao diện của card mạng của Router 2 được kết nối tới Subnet 2 là 4 và tới Subnet 3 là 5. Để cung cấp khả năng kết nối giữa Subnet 2 và Subnet 3, lệnh sử dụng trên Router 2 là:
netsh int ipv6 set int 4 forw=enabled adv=enabled netsh int ipv6 set int 5 forw=enabled adv=enabled netsh int ipv6 set rou fec0:0:0:2::/64 4 pub=yes netsh int ipv6 set rou fec0:0:0:3::/64 5 pub=yes
Kết quả của lệnh này là như sau:
Router 2 gửi các bản tin Router Advertisement trên Subnet 2 bao gồm một
phần thông tin về tiền tố để tự động cấu hình các địa chỉ cho Subnet 2 (FEC0:0:0:2::/64), một tùy chọn MTU cho link MTU của Subnet 2, và thông tin tuyến về tiền tố subnet của Subnet 3 (FEC0:0:0:3::/64).
Router 2 gửi các bản tin Router Advertisement trên Subnet 3 bao gồm một
phần thông tin về tiền tố để tự động cấu hình các địa chỉ cho Subnet 3 (FEC0:0:0:3::/64), một tùy chọn MTU cho link MTU của Subnet 3, và thông tin tuyến về tiền tố subnet của Subnet 2 (FEC0:0:0:2::/64)
Khi Host B nhận được bản tin Router Advertisement từ Router 2, nó tự động cấu hình địa chỉ site-local trên giao diện card mạng của nó sử dụng tiền tố FEC0:0:0:2::/64, bởi vì một địa chỉ site-local với tiền tố đó đã tồn tại. Host B cũng bổ sung một tuyến về Subnet 3 (FEC0:0:0:3::/64) với địa chỉ next hop là địa chỉ link-local của giao diện Router 2 trên Subnet 2 cho bảng định tuyến của nó.
Khi Host C nhận được bản tin Router Advertisement, nó tự động cấu hình địa chỉ site-local trên giao diện card mạng của nó sử dụng tiền tố FEC0:0:0:3::/64 và nhận dạng giao diện theo kiểu EUI-64. Nó cũng bổ sung một tuyến về Subnet 3 được gắn cục bộ (FEC0:0:0:3::/64) và một tuyến về Subnet 2 (FEC0:0:0:2::/64) với địa chỉ next hop là địa chỉ link-local của giao diện Router 2 trên Subnet 3 cho bảng định tuyến của nó.
Kết quả của cấu hình này đó là, mặc dù Host B có thể liên lạc với cả Host A và Host C, Host A và Host C không thể liên lạc với nhau bởi vì khơng có các tuyến trên trên Host A tới Subnet 3 và khơng có các tuyến trên Host C tới Subnet 1. Có hai giải pháp để giải quyết vấn đề này:
1. Cấu hình Router 1 cơng bố một tuyến tới Subnet 3 với địa chỉ next hop là địa
chỉ link-local của Router 2 trên Subnet 2 và cấu hình Router 2 cơng bố một tuyến tới Subnet 1 với địa chỉ next hop là địa chỉ link-local của Router 1 trên Subnet 2.
2. Cấu hình Router 1 cơng bố một tuyến mặc định với địa chỉ next hop là địa chỉ
link-local của Router 2 trên Subnet 2 và cấu hình trên Router 2 để cơng bố một tuyến mặc định với địa chỉ next hop là địa chỉ link-local của Router 1 trên Subnet 2.
Trong giải pháp 1, Router 1 sẽ quảng bá hai thông tin tuyến trên Subnet 1: một về Subnet 2 và một về Subnet 3. Vì vậy, Host A sẽ bổ sung hai tuyến đó cho bảng định tuyến của mình – một là FEC0:0:0:2::/64 và hai là FEC0:0:0:3::/64. Router 1 sẽ tiếp
tục quảng bá chỉ một thông tin tuyến (cho Subnet 1) trên Subnet 2. Tương tự, Router 2 sẽ quảng cáo hai thông tin tuyến trên Subnet 3 – một cho Subnet 1 và một cho Subnet 2. Vì vậy, Host C sẽ bổ sung hai tuyến vào bản định tuyến của nó – một là FEC0:0:0:1::/64 và hai là FEC0:0:0:2::/64. Router 2 sẽ tiếp tục chỉ quảng cáo một thông tin tuyến (cho Subnet 3) trên Subnet 2. Kết quả của cấu hình này là các host và tất cả các router có các tuyến riêng tới tất cả các subnet.
Trong giải pháp thứ 2, Router 1 sẽ quảng bá chính bản thân nó như một router mặc định với một thơng tin tuyến (Subnet 2) trên Subnet 1. Vì vậy, Host A sẽ bổ sung hai tuyến vào bản định tuyến của nó: một tuyến mặc định ::/0 và một tuyến là FEC0:0:0:2::/64. Tương tự, Router 2 sẽ quảng bá chính bản thân nó như một router mặc định với một thơng tin tuyến (Subnet 2) trên Subnet 3. Vì vậy, Host C sẽ bổ sung hai tuyến vào bảng định tuyến của nó – một là tuyến mặc định ::/0 và một tuyến cho FEC0:0:0:2::/64. Kết quả của cấu hình này là tất cả các host và tất cả các router có một sự kết hợp của các tuyến riêng và chung tới tất cả các subnet, trừ Host B, chỉ có các tuyến riêng tới các subnet. Vấn đề với giải pháp 2 là Router 1 và Router 2 có các tuyến mặc định trỏ tới mỗi cái. Bất kỳ lưu lượng nào mà là non-link-local gửi từ Host A hoặc Host C mà không match với các tiền tố FEC0:0:0:1::/64, FEC0:0:0:2::/64, và FEC0:0:0:3::/64 được gửi trong một tuyến lặp giữa Router 1 và Router 2.
Mạng của ba subnet và hai router có thể được mở rộng bao gồm nhiều subnet hơn và nhiều router hơn; tuy nhiên, việc quản lý và cấu hình các tuyến tĩnh là rất mất thời gian. Chính vì vậy mà khi mạng được mở rộng nên xem xét để sử dụng một giao thức định tuyến IPv6.
Kết luận: Cũng giống như IPv4, vấn đề định tuyến trong mạng cũng hết sức
quan trọng. IPv6 cũng vẫn sử dụng hầu hết các giao thức định tuyến mà đã được sử dụng trong IPv4, tuy nhiên chúng được thay đổi để phù hợp với khuôn dạng mới của địa chỉ IPv6. Như đã trình bày ở trên, các giao thức mà IPv6 sử dụng là RIPng, OSPFv3, BGP-4, IS-IS cho IPv6 và IDRPv2.