4. Cấu hình liên kết ảo
Thiết kế của giao thức OSPF yêu cầu rằng những vùng không phải là đường trục phải kết nối về vùng đường trục (vùng 0). OSPF cũng yêu cầu rằng các router trong từng vùng có một đường đi nội vùng đến các router khác trong cùng một vùng, bởi vì nếu không có đường đi đó, việc phát tán LSA bên trong một vùng sẽ bị thất bại.
Tuy nhiên, trong vài thiết kế, việc đáp ứng các yêu cầu này có thể là một thách thức. Bạn có thể dùng khái niệm liên kết ảo để khắc phục vấn đề này.
Ví dụ, trong đỉnh của hình 10.11 , vùng 33 kết nối chỉ về vùng 3, chứ không phải vùng 0.
Một giải pháp dễ dàng cho việc thiếu thông tin của vùng 33 về vùng đường trục sẽ là kết hợp vùng 3 và vùng 33 thành một vùng duy nhất, nhưng còn cách làm khác để giải quyết vấn đề là dùng liên kết ảo của OSPF.
Một liên kết ảo OSPF cho phép một cặp router truyền các gói OSPF bên trong gói tin IP trên mạng IP đến một vài router khác không trên cùng kết nối. Một liên kết ảo giữa R3 và R1 làm cho vùng 33 một kết nối vào vùng 0. Cũng lưu ý rằng R3 trở thành ABR, với một phiên bản đầy đủ của LSDB của vùng 0.
Trong phần trên của hình 10.11 đơn giản mô tả một thiết kế OSPF nghèo nàn, phần dưới của hình mô tả điều gì có thể xảy ra khi có một số kết nối bị lỗi. Hình vẽ mô tả vài kết nối bị đứt dẫn đến vùng 4 bị phân mảnh. Kết quả là R7 và R8 không có kết nối nào đến vùng 4. Một liên kế ảo có thể được dùng để kết nối R4 và R8, là một yêu cầu rằng R4 và R8 kết nối đến một vùng chung và hoạt động, tái kết hợp các phần phân mảnh thông qua kết nối ảo.
Một giải pháp tốt hơn liên kết ảo trong sơ đồ đặc biệt này là kết nối trung kế giữa R4 và R8, tạo ra một mạng con trên switch trong LAN và đặt nó vào trong vùng 4.
Ví dụ dưới đây minh họa một cấu hình liên kết ảo giữa R33 và R1 như được hiển thị trong hình 10.11. Chú ý rằng liên kết ảo không thể đi qua vùng trung gian nếu vùng này là vùng stub, vì vậy vùng 3 đã thay đổi để không trở thành vùng stub.
R1 chưa học được thông tin về mạng 10.3.2.0, bởi vì vùng 33 không có kết nối về vùng 0.
Các lệnh area virtual-link chỉ ra RID của đầu kia và vùng trung gian trong đó liên kết ảo tồn tại, trong trường hợp này là vùng 3. Chú ý rằng các thông số thời gian có thể được gán trên lệnh area virtual-link, cũng như là bật quá trình xác thực lên. Chú ý rằng khi xác thực liên kết ảo, liên kết ảo cũng nằm trong area 0.
Bởi vì R1 và R3 cũng có cùng kết nối, có một mối quan hệ láng giềng trên vùng 3, chỉ ra cổng s0/0.3. Mối quan hệ liên kết ảo cũng được hiển thị với cổng là VL0.
5. Cấu hình xác thực OSPF
Một trong những điểm mấu chốt để giúp việc cấu hình xác thực OSPF trở nên đơn giản là ta cần nhớ rằng tác vụ này khác đáng kể so với RIP phiên bản 2 và EIGRP, mặc dù một vài khái niệm là rất giống nhau. Các luật cơ bản để cấu hình xác thực OSPF là như sau:
Bảng dưới đây liệt kê ba kiểu cấu hình của OSPF cùng với các lệnh để bật từng kiểu và các lệnh để định nghĩa khóa xác thực. Chú ý rằng ba kiểu xác thực có thể được thấy trong các thông điệp được tạo ra bởi lệnh debug ip ospf adjacency.
Bảng 10.6: Các chế độ xác thực của OSPF
Ví dụ cấu hình dưới đây sẽ mô tả cấu hình xác thực trên R1 và R2. Chú ý rằng S1 và S2 đã được tắt trong ví dụ này nhưng nó sẽ cần cấu hình giống như R1 và R2. Trong ví dụ này, cả R1 và R2 dùng cổng F0/0 của nó vì vậy cấu hình xác thực sẽ giống nhau. Như vậy, ví dụ chỉ cần hiển thị cấu hình của R1.
Hai lệnh ip ospf là giống nhau trên R1 và R2. Lệnh đầu tiên bật xác thực kiểu 1 và lệnh còn lại định nghĩa khóa dạng văn bản không mã hoá.
Quan hệ láng giềng được hình thành, điều này chứng tỏ rằng xác thực giữa các router đã hoạt động.
Kế tiếp, từng kiểu xác thực của OSPF có thể nhận ra trong dòng cuối của lệnh show ip ospf interface.
Cả R1 và R2 thay đổi sang dùng xác thực kiểu 2. Chú ý rằng khóa phải được định nghĩa bằng lệnh ip ospf message-digest-key. Không thể dùng bộ khoá.
Lệnh dưới đây sẽ cho thấy kiểu xác thực MD5 kiểu 2, khóa là 1.
Ví dụ dưới mô tả hai cấu hình hoạt động của xác thực OSPF, không dùng lệnh area number authentication trong chế độ router ospf. Một vài tài liệu chỉ ra rằng phải dùng lệnh area authentication. Thật ra lệnh này là cần thiết đối với các IOS phiên bản trước 12.0. Trong các phiên bản IOS mới, lệnh area authentication đơn giản thông báo cho router thay đổi kiểu xác thực mặc định cho tất cả các cổng trong vùng đó. Bảng 10.7 tóm tắt tác động và cú pháp của lệnh area authentication.
Bảng 10.7: Tác động của các lệnh xác thực
Các khóa cũng sẽ hiển thị ở dạng văn bản không mã hoá trong cấu hình, trừ phi bạn dùng lệnh service password-encryption trong chế độ cấu hình toàn cục.
Mẫu cấu hình cuối cùng liên quan đến xác thực OSPF liên kết ảo. Bởi vì liên kết ảo không có cổng được cấu hình xác thực, xác thực được cấu hình trên chính lệnh area virtual-link.
Bảng dưới đây hiển thị các biến thể để cấu hình xác thực trên liên kết ảo. Chú ý rằng bên cạnh lệnh area number virtual-link rid, các thông số được dùng tương tự như trong cấu hình xác thực mức cổng.
Bảng 10.8: Các kiểu xác thực
Thiết kế của giao thức OSPF yêu cầu rằng những vùng không phải là đường trục phải kết nối về vùng đường trục (vùng 0). OSPF cũng yêu cầu rằng các router trong từng vùng có một đường đi nội vùng đến các router khác trong cùng một vùng, bởi vì nếu không có đường đi đó, việc phát tán LSA bên trong một vùng sẽ bị thất bại.
Tuy nhiên, trong vài thiết kế, việc đáp ứng các yêu cầu này có thể là một thách thức. Bạn có thể dùng khái niệm liên kết ảo để khắc phục vấn đề này.
Ví dụ, trong đỉnh của hình 10.11 , vùng 33 kết nối chỉ về vùng 3, chứ không phải vùng 0.
Hình 10.11: Sử dụng liên kết ảo để kết nối các vùng
Một giải pháp dễ dàng cho việc thiếu thông tin của vùng 33 về vùng đường trục sẽ là kết hợp vùng 3 và vùng 33 thành một vùng duy nhất, nhưng còn cách làm khác để giải quyết vấn đề là dùng liên kết ảo của OSPF.
Một liên kết ảo OSPF cho phép một cặp router truyền các gói OSPF bên trong gói tin IP trên mạng IP đến một vài router khác không trên cùng kết nối. Một liên kết ảo giữa R3 và R1 làm cho vùng 33 một kết nối vào vùng 0. Cũng lưu ý rằng R3 trở thành ABR, với một phiên bản đầy đủ của LSDB của vùng 0.
Trong phần trên của hình 10.11 đơn giản mô tả một thiết kế OSPF nghèo nàn, phần dưới của hình mô tả điều gì có thể xảy ra khi có một số kết nối bị lỗi. Hình vẽ mô tả vài kết nối bị đứt dẫn đến vùng 4 bị phân mảnh. Kết quả là R7 và R8 không có kết nối nào đến vùng 4. Một liên kế ảo có thể được dùng để kết nối R4 và R8, là một yêu cầu rằng R4 và R8 kết nối đến một vùng chung và hoạt động, tái kết hợp các phần phân mảnh thông qua kết nối ảo.
Một giải pháp tốt hơn liên kết ảo trong sơ đồ đặc biệt này là kết nối trung kế giữa R4 và R8, tạo ra một mạng con trên switch trong LAN và đặt nó vào trong vùng 4.
Ví dụ dưới đây minh họa một cấu hình liên kết ảo giữa R33 và R1 như được hiển thị trong hình 10.11. Chú ý rằng liên kết ảo không thể đi qua vùng trung gian nếu vùng này là vùng stub, vì vậy vùng 3 đã thay đổi để không trở thành vùng stub.
R1 chưa học được thông tin về mạng 10.3.2.0, bởi vì vùng 33 không có kết nối về vùng 0.
Code:
[INDENT][SIZE=14px][FONT=Tahoma]R1# show ip route ospf | incl 10.3.2.0 R1#[/FONT][/SIZE][/INDENT]
Code:
[INDENT][SIZE=14px][FONT=Tahoma]! R1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! router ospf 1 area 3 virtual-link 3.3.3.3 ! R3 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! router ospf 1 area 3 virtual-link 1.1.1.1 ! Below, the status of the virtual link is listed.[/FONT][/SIZE][/INDENT][INDENT][SIZE=14px][FONT=Tahoma]R1# show ip ospf virtual-links Virtual link OSPF_VL0 to router 3.3.3.3 is up Run as demand circuit DoNotAge LSA allowed. Transit area 3, via interface Serial0/0.3, Cost of using 64 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:02 Adjacency State FULL (Hello suppressed) Index 3/6, retransmission queue length 0, number of retransmission 1 First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0) Last retransmission scan length is 1, maximum is 1 Last retransmission scan time is 0 msec, maximum is 0 msec[/FONT][/SIZE][/INDENT]
Code:
[INDENT][SIZE=14px][FONT=Tahoma]R1# show ip ospf nei ! Lines omitted for brevity Neighbor ID Pri State Dead Time Address Interface 3.3.3.3 0 FULL/ — — 10.3.13.3 OSPF_VL0 3.3.3.3 0 FULL/ — 00:00:10 10.3.13.3 Serial0/0.3 ! Below, subnet 10.3.2.0/23, now in area 33, is learned by R1 over the Vlink. R1# show ip route ospf | incl 10.3.2.0 O IA 10.3.2.0/23 [110/75] via 10.3.13.3, 00:00:10, Serial0/0.3[/FONT][/SIZE][/INDENT]
Một trong những điểm mấu chốt để giúp việc cấu hình xác thực OSPF trở nên đơn giản là ta cần nhớ rằng tác vụ này khác đáng kể so với RIP phiên bản 2 và EIGRP, mặc dù một vài khái niệm là rất giống nhau. Các luật cơ bản để cấu hình xác thực OSPF là như sau:
- Có ba kiểu xác thực: kiểu 0 (không xác thực), kiểu 1 (dạng văn bản không mã hoá) và kiểu 2 (MD5).
- Xác thực được bật trên từng cổng dùng lệnh ip ospf authentication.
- Mặc định là kiểu 0 (nghĩa là không xác thực).
- Kiểu mặc định có thể được định nghĩa là bằng câu lệnh area authentication trong router ospf.
- Các khóa được cấu hình ở mức cổng.
- Nhiều khóa cho phép trên một cổng, nếu được cấu hình.
Bảng dưới đây liệt kê ba kiểu cấu hình của OSPF cùng với các lệnh để bật từng kiểu và các lệnh để định nghĩa khóa xác thực. Chú ý rằng ba kiểu xác thực có thể được thấy trong các thông điệp được tạo ra bởi lệnh debug ip ospf adjacency.
Kiểu | Ý nghĩa | Bật lên trong chế độ cổng | Cấu hình khóa xác thực |
0 | Không | Ip ospf authentication null | - |
1 | Văn bản không mã hoá | Ip ospf authentication | Ip ospf authentication-key key-value |
2 | MD5 | Ip ospf authentication message-digest | Ip ospf message-disgest-key key-number md5 key-value |
Ví dụ cấu hình dưới đây sẽ mô tả cấu hình xác thực trên R1 và R2. Chú ý rằng S1 và S2 đã được tắt trong ví dụ này nhưng nó sẽ cần cấu hình giống như R1 và R2. Trong ví dụ này, cả R1 và R2 dùng cổng F0/0 của nó vì vậy cấu hình xác thực sẽ giống nhau. Như vậy, ví dụ chỉ cần hiển thị cấu hình của R1.
Hai lệnh ip ospf là giống nhau trên R1 và R2. Lệnh đầu tiên bật xác thực kiểu 1 và lệnh còn lại định nghĩa khóa dạng văn bản không mã hoá.
Code:
[INDENT][SIZE=14px][FONT=Tahoma]interface FastEthernet0/0 ip ospf authentication ip ospf authentication-key key-t1[/FONT][/SIZE][/INDENT]
Code:
[INDENT][SIZE=14px][FONT=Tahoma]R1# show ip ospf neighbor fa 0/0 Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/BDR 00:00:37 10.1.1.2 FastEthernet0/0[/FONT][/SIZE][/INDENT]
Code:
[INDENT][SIZE=14px][FONT=Tahoma]R1# show ip ospf int fa 0/0 ! Lines omitted for brevity Simple password authentication enabled[/FONT][/SIZE][/INDENT]
Code:
[INDENT][SIZE=14px][FONT=Tahoma]interface FastEthernet0/0 ip ospf authentication message-digest ip ospf message-digest-key 1 md5 key-t2[/FONT][/SIZE][/INDENT]
Code:
[INDENT][SIZE=14px][FONT=Tahoma]R1# show ip ospf int fa 0/0 | begin auth ! Lines omitted for brevity Message digest authentication enabled Youngest key id is 1[/FONT][/SIZE][/INDENT]
Lệnh area authentication | Các cổng trong vùng đó dùng xác thực kiểu…. |
Không dùng lệnh | Kiểu 0 |
Area num authentication | Kiểu 1 |
Area num authentication message-digest | Kiểu 2 |
Các khóa cũng sẽ hiển thị ở dạng văn bản không mã hoá trong cấu hình, trừ phi bạn dùng lệnh service password-encryption trong chế độ cấu hình toàn cục.
Mẫu cấu hình cuối cùng liên quan đến xác thực OSPF liên kết ảo. Bởi vì liên kết ảo không có cổng được cấu hình xác thực, xác thực được cấu hình trên chính lệnh area virtual-link.
Bảng dưới đây hiển thị các biến thể để cấu hình xác thực trên liên kết ảo. Chú ý rằng bên cạnh lệnh area number virtual-link rid, các thông số được dùng tương tự như trong cấu hình xác thực mức cổng.
Kiểu | Cú pháp cho liên kết ảo |
0 | Area num virtual-link router-id authentication null |
1 | Area num virtual-link router-id authentication authentication-key key-value |
2 | Area num virtual-link router-id authentication message-digest message-digest-key key-num md5 key-value |
6. Cấu hình OSPF dạng Stub
Được định nghĩa trong RFC 3137 và được hỗ trợ đầu tiên trong phiên bản hệ điều hành IOS của Cisco phiên bản 12.2(4)T, đặc điểm OSPF stubrouter cho phép một router không trở thành router trung gian. Trong ngữ cảnh này, một router trung gian đơn giản là một router mà gói tin được chuyển đến, với mong đợi là router trung gian sẽ tiếp tục truyền gói tin đến một router khác. Kết quả là, các router không phải là trung gian chỉ truyền những gói tin đến và từ những mạng kết nối cục bộ. Hình dưới đây mô tả một trường hợp tiêu biểu trong đó một router kiểu có thể hữu ích.
Cả ASBR1 và ASBR2 quảng bá các tuyến mặc định vào trong mạng, mong đợi rằng nó sẽ có khả năng định tuyến ra ngoài Internet thông qua các tuyến của BGP. Trong trường hợp này, ASBR2 đã bật và hội tụ toàn phần. Tuy nhiên nếu ASBR1 bị khởi động lại, khi nó hoạt động lại, OSPF sẽ có khả năng hội tụ nhanh hơn BGP. Kết quả là, ASR1 sẽ quảng bá các tuyến mặc định của nó và các router chạy OSPF có thể gửi gói về ASBR1 nhưng ASBR1 sẽ kết thúc bằng cách loại bỏ gói tin cho đến khi nào BGP hội tụ.
Dùng đặc tính stub router trên những thiết bị ASBR giúp giải quyết vấn đề bằng cách gán giá trị chi phí rất lớn cho bất kỳ tuyến đường trung gian nào trong một khoảng thời gian hoặc cho đến khi BGP hội tụ trở lại. Để thực hiện việc này, trong chế độ router ospf, các ASBR phải dùng lệnh maxmetric router-lsa on-startup announce-time hoặc lệnh max-metric router-lsa on-startup wait-for-bgp. Với phiên bản đầu tiên, khoảng thời gian thực sự tính bằng giây có thể được gán. Với tuỳ chọn thứ hai, OSPF phải chờ cho đến khi BGP báo hiệu rằng đã hội tụ hoặc cho đến khi 10 phút trôi qua, tùy thuộc vào điều kiện nào đến trước.
Được định nghĩa trong RFC 3137 và được hỗ trợ đầu tiên trong phiên bản hệ điều hành IOS của Cisco phiên bản 12.2(4)T, đặc điểm OSPF stubrouter cho phép một router không trở thành router trung gian. Trong ngữ cảnh này, một router trung gian đơn giản là một router mà gói tin được chuyển đến, với mong đợi là router trung gian sẽ tiếp tục truyền gói tin đến một router khác. Kết quả là, các router không phải là trung gian chỉ truyền những gói tin đến và từ những mạng kết nối cục bộ. Hình dưới đây mô tả một trường hợp tiêu biểu trong đó một router kiểu có thể hữu ích.
Hình 10.12: Cấu hình OSPF dạng Stub
Cả ASBR1 và ASBR2 quảng bá các tuyến mặc định vào trong mạng, mong đợi rằng nó sẽ có khả năng định tuyến ra ngoài Internet thông qua các tuyến của BGP. Trong trường hợp này, ASBR2 đã bật và hội tụ toàn phần. Tuy nhiên nếu ASBR1 bị khởi động lại, khi nó hoạt động lại, OSPF sẽ có khả năng hội tụ nhanh hơn BGP. Kết quả là, ASR1 sẽ quảng bá các tuyến mặc định của nó và các router chạy OSPF có thể gửi gói về ASBR1 nhưng ASBR1 sẽ kết thúc bằng cách loại bỏ gói tin cho đến khi nào BGP hội tụ.
Dùng đặc tính stub router trên những thiết bị ASBR giúp giải quyết vấn đề bằng cách gán giá trị chi phí rất lớn cho bất kỳ tuyến đường trung gian nào trong một khoảng thời gian hoặc cho đến khi BGP hội tụ trở lại. Để thực hiện việc này, trong chế độ router ospf, các ASBR phải dùng lệnh maxmetric router-lsa on-startup announce-time hoặc lệnh max-metric router-lsa on-startup wait-for-bgp. Với phiên bản đầu tiên, khoảng thời gian thực sự tính bằng giây có thể được gán. Với tuỳ chọn thứ hai, OSPF phải chờ cho đến khi BGP báo hiệu rằng đã hội tụ hoặc cho đến khi 10 phút trôi qua, tùy thuộc vào điều kiện nào đến trước.