Việc sử dụng DR trên môi trường LAN là hợp lý bởi vì nó cải tiến hiệu suất của quá trình phát tán. Tương tự, việc không sử dụng DR trên kết nối WAN dạng điểm-điểm cũng là hợp lý bởi vì chỉ với hai router trên mạng, sẽ không có điểm nào kém hiệu quả để cải tiến. Tuy nhiên trong môi trường đa truy cập không hỗ trợ broadcast (Non-Broadcast MultiAccess - NBMA), có thể nảy sinh vấn đề là một DR có hữu ích hay không. Vì vậy, OSPF bao gồm vài tùy chọn trong đó cho phép ta chọn lựa khi nào thì dùng DR trên cổng WAN.
Các Router của Cisco có thể được cấu hình để dùng hoặc không dùng DR. Ngoài ra còn một vài trạng thái chủ chốt khác, dựa vào kiểu mạng OSPF cho từng cổng. Kiểu mạng OSPF xác định trạng thái của router liên quan đến những vấn đề sau:
Ví dụ, những cổng LAN mặc định sẽ dùng kiểu mạng OSPF là broadcast. Kiểu mạng OSPF là broadcast sẽ bầu chọn DR. Kiểu hoạt động này của OSPF dùng cơ chế Hello để tìm ra những láng giềng và cho phép có nhiều hơn hai router trong cùng mạng con trên LAN đó. Đối với những kết nối HDLC hay PPP, OSPF dùng kiểu mạng là điểm-điểm, nghĩa là sẽ không có bầu chọn DR, chỉ có hai địa chỉ IP là có trong mạng con và các láng giềng có thể tìm thấy thông qua Hello.
Bảng 10.2 sẽ tóm tắt các kiểu cổng OSPF và các ý nghĩa của nó. Chú ý rằng kiểu cổng có thể được gán bằng lệnh ip ospf network type. Cột đầu tiên trong bảng liệt kê từ khóa chính xác tương ứng với lệnh này. Ngoài ra, cho những trường hợp trong đó DR không được bầu chọn, tất cả các router cũng trở thành láng giềng bằng cách trao đổi các gói DD, LSR và LSU.
Kiểu cổng |
Có dùng DR/BDR |
Giá trị thời gian hello mặc định |
Có yêu cầu sử dụng câu lệnh neighbor |
Nhiều hơn hai máy trên mạng con |
Broadcast |
Có |
10 |
Không |
Có |
Điểm - Điểm |
Không |
10 |
Không |
Không |
Không hỗ trợ broadcast |
Có |
30 |
Có |
Có |
Điểm - Đa điểm |
Không |
30 |
Không |
Có |
Điểm – Đa điểm nhưng không hỗ trợ Broadcast |
Không |
30 |
Có |
Có |
Loopback |
Không |
- |
- |
Không |
Bảng 10.2: Các kiểu cổng trong OSPF
Các kiểu mạng OSPF trên môi trường NBMA
Khi cấu hình OSPF trên Frame Relay, khái niệm kiểu mạng OSPF có thể gây một chút rắc rối. Thật ra, có nhiều tài liệu chuẩn bị cho kỳ thi CCIE LAB tập trung vào các dạng kết hợp của các kiểu mạng OSPF được dùng trên Frame Relay cho các kiểu cổng/cổng con khác nhau. Danh sách dưới đây bao gồm nhiều thuật ngữ chủ chốt bạn cần kiểm tra khi cấu hình OSPF trên FR hoặc khi các kiểu mạng OSPF khác nhau trên các router khác nhau.
Hãy đảm bảo các thông số thời gian mặc định Hello/Thời gian chờ không làm cho các phép kiểm tra các thông số Hello bị thất bại.
Nếu một router mong đợi việc bầu chọn DR sẽ diễn ra và một router khác không mong đợi chuyện này, các láng giềng có thể được hình thành và các LSA có thể được truyền. Tuy nhiên, kết quả lệnh show có thể hiển thị các thông tin lạ và các router chặng kế tiếp có thể không ping được. Vì vậy, hãy đảm bảo các router trong cùng một mạng NBMA dùng cùng một kiểu mạng trong đó cùng dùng DR hay không dùng.
Nếu có một DR được dùng, DR và BDR phải có một PVC đến các router khác trong cùng một mạng. Nếu không sẽ dẫn đến vài router không có khả năng học các route bởi vì DR phải truyền các DD và các gói tin LSU đến các router khác. Các router không có PVC đến các router khác sẽ bị ngăn ngừa trở thành DR/BDR.
Nếu một router yêu cầu câu lệnh neighbor được cấu hình, thông thường sẽ không cần router ở đầu bên kia của PVC cấu hình câu lệnh neighbor.
Có hai tuỳ chọn tồn tại để làm cho mạng OSPF làm việc trên Frame Relay đó là cả hai đều không cần DR và không cần câu lệnh neighbor. Nếu thiết kế cho phép sử dụng các cổng điểm-điểm hãy dùng kiểu mạng OSPF mặc định là kiểu điểm-điểm và không cần cấu hình thêm tác vụ nào. Nếu đề bài yêu cầu cấu hình cổng con dạng đa điểm hoặc nếu cấu hình không cho dùng các cổng con, bạn hãy thêm vào lệnh ip ospf network point-to-multipoint trên tất cả các router mà không cần cấu hình láng giềng hay bận tâm về việc router nào trở thành DR.
Ví dụ của kiểu mạng OSPF trên môi trường NBMA
Trên môi trường NBMA với kiểu mạng OSPF yêu cầu cấu hình DR, bạn phải cẩn thận để đảm bảo việc bầu chọn DR được chính xác. Lý do cho việc này là DR và BDR phải có PVC dẫn đến tất cả những router DROther khác, nếu khác đi, router sẽ không có thể thực hiện quá trình phát tán LSA.
Ví vậy, với mô hình mạng lưới không đầy đủ, ta nên can thiệp vào quá trình bầu chọn bằng cách cấu hình độ ưu tiên của router và RID sao cho router trung tâm trong mô hình trung tâm và các chi nhánh (hub-and-spoke) có thể trở thành DR. Hình 10.3 hiển thị một ví dụ trong đó R1 sẽ là router duy nhất cho phép trở thành DR hay BDR.
Hình 10.3: Mô hình mạng lưới không đầy đủ
Cấu hình dưới đây mô tả các tình huống liên quan đến tiến trình bầu chọn DR
Hình 10.3 không mô tả một thiết kế đề nghị cho mạng Frame Relay và OSPF. Với sơ đồ mạng này, ta sử dụng các cổng con dạng điểm-điểm trong tất cả các trường hợp sẽ làm việc tốt. Vì vậy ví dụ này chỉ để minh hoạ OSPF hoạt động như thế nào.
Cấu hình của R1: Lệnh neighbor mặc định gán độ ưu tiên bằng 0, nghĩa là R1 xem các láng giềng đó có độ ưu tiên bằng 0.
router ospf 1
log-adjacency-changes detail
network 0.0.0.0 255.255.255.255 area 0
neighbor 10.1.111.3
neighbor 10.1.111.4
neighbor 10.1.111.5
neighbor 10.1.111.6
Cấu hình của R3: Độ ưu tiên của R3 được gán bằng 0; R1 sẽ dùng độ ưu tiên cao hơn giữa hai độ ưu tiên, một là độ ưu tiên do R3 tự khai báo trong câu lệnh ip ospf priority và độ ưu tiên trên câu lệnh neighbor của R1, mặc định bằng 0. Vì vậy R3 sẽ không bao giờ trở thành DR/BDR.
interface Serial0/0.1 multipoint
ip address 10.1.111.3 255.255.255.0
ip ospf priority 0
frame-relay interface-dlci 100
Cấu hình của R4: chú ý từ hình 10.3, R4 dùng kiểu cổng con kết nối điểm-điểm. Đây không phải là cách dùng tiêu biểu. Cấu hình này cố ý sai vài điểm để minh họa cho vấn đề lý thuyết.
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
Cấu hình của R5: tương tự với R3 trong cách cấu hình OSPF network type.
interface Serial0.1 multipoint
ip address 10.1.111.5 255.255.255.0
ip ospf priority 0
frame-relay interface-dlci 100
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
Cấu hình của R6: R6 không gán độ ưu tiên ở mức cổng bằng lệnh ip ospf priority 0, mặc định độ ưu tiên bằng 1.
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
Dưới đây, kết quả của độ ưu tiên mặc định bằng 1 của R6 với RID là 6.6.6.6 và độ ưu tiên bằng 1 sẽ thắng cuộc bầu chọn DR. Chú ý rằng lệnh này được thực hiện trên R1.
R1# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
6.6.6.6 1 FULL/DR 00:01:52 10.1.111.6 Serial0/0
3.3.3.3 0 FULL/DROTHER 00:01:46 10.1.111.3 Serial0/0
N/A 0 ATTEMPT/DROTHER — 10.1.111.4 Serial0/0
5.5.5.5 0 FULL/DROTHER 00:01:47 10.1.111.5 Serial0/0
Kế tiếp, lệnh neighbor của R1 được tự động thay đổi thành priority 1 dựa trên cơ chế Hello, với độ ưu tiên bằng 1 mà R1 nhận được từ R6. Để ngăn ngừa đặc điểm tự động cấu hình này, bạn có thể thêm vào câu lệnh ip ospf priority 0 trong cổng s0/0.1 của R6.
R1# show run | beg router ospf 1
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
neighbor 10.1.111.6 priority 1
neighbor 10.1.111.3
neighbor 10.1.111.4
neighbor 10.1.111.5
! lines omitted for brevity
Đoạn cấu hình dưới đây, R4 có kiểu mạng là điểm-điểm với thời gian Hello/Thời gian chờ là 10/40. Các cài đặt của R1 sẽ là kiểu không hỗ trợ broadcast 30/120.
R4# show ip ospf int s 0/0.1
Serial0/0.1 is up, line protocol is up
Internet Address 10.1.111.4/24, Area 0
Process ID 1, Router ID 4.4.4.4, Network Type POINT_TO_POINT, Cost: 1562
Transmit Delay is 1 sec, State POINT_TO_POINT,
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
! lines omitted for brevity
R4 thay đổi kiểu mạng sang một giá trị khác. Kiểu mạng này mong đợi lệnh neighbor nhưng không mong đợi kiểu DR được dùng.
R4# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)# int s 0/0.1
R4(config-subif)# ip ospf network point-to-multipoint non-broadcast
Kế tiếp R1 và R4 trở thành láng giềng do các thông số Hello đã giống nhau. Chú ý rằng R1 tin rằng R4 là DROther.
R1# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
! lines omitted for brevity
4.4.4.4 1 FULL/DROTHER 00:01:56 10.1.111.4 Serial0/0
Dưới đây, R4 đồng ý nó trong trạng thái kết nối đầy đủ với R1 nhưng không liệt kê R1 như là DR bởi vì R4 không dùng khái niệm DR.
R4# sh ip ospf neigh
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 0 FULL/ — 00:01:42 10.1.111.1 Serial0/0.1
Điểm đầu tiên và quan trọng nhất của cấu hình trên là trạng thái thực sự của hai phương thức được dùng để gán độ ưu tiên trong ví dụ. Theo tài liệu Hướng dẫn cấu hình trên hệ điều hành Cisco IOS (Cisco IOS Configuration Guide ở trang Cisco.com) liệt kê rằng câu lệnh OSPF neighbor định nghĩa độ ưu tiên của láng giềng. Tuy nhiên, trong thực tế câu lệnh neighbor priority sẽ so sánh với độ ưu tiên bên trong gói tin Hello nó nhận được từ láng giềng. Giá trị độ ưu tiên lớn hơn sẽ được dùng. Trong ví dụ này, câu lệnh neighbor 10.1.111.6 của R1 với độ ưu tiên mặc định bằng 0 sẽ bị ghi đè bởi độ ưu tiên trong gói Hello của R6 (bằng 1). Vì vậy trong khi bầu chọn DR, R1 và R6 sẽ bằng nhau về độ ưu tiên OSPF và R6 sẽ thắng do có RID cao hơn. R1 cuối cùng sẽ thay đổi trạng thái câu lệnh neighbor của nó thành neighbor 10.1.111.6 priority 1 đề phản ánh độ ưu tiên chính xác của R6. Bạn cũng lưu ý rằng mặc dù các láng giềng phải được cấu hình tĩnh trong vài kiểu mạng, lệnh neighbor cần phải được cấu hình chỉ trên một router. R3 và R5 với các cấu hình chính xác sẽ không cần câu lệnh neighbor.
Cuối cùng, mặc dù kết nối giữa R1 và R4 đã hoàn thành và các quan hệ láng giềng đã thiết lập đầy đủ nhưng R4 vẫn không thể định tuyến gói tin đến R3, R5 và R6 trên mạng Frame Relay. Ví dụ, R5 có thể có vài route chỉ về địa chỉ chặng kế tiếp 10.1.111.4 (là địa chỉ của cổng FR của R4). Tuy nhiên, bởi vì R5 dùng cổng con đa điểm, R5 sẽ không biết rằng PVC nào sẽ dùng để đến 10.1.111.4. Trong trường hợp này, các router với các cổng con đa điểm sẽ cần phải thêm vào câu lệnh frame-relay map; ví dụ với R5 cần phải thêm vào câu lệnh frame-relay map ip 10.1.111.4 100 broadcast để các gói tin đi về 10.1.111.4 sẽ đi trên DLCI 100 về R1, sau đó sẽ định tuyến gói tin về R4. Hãy nhớ rằng cấu hình của R4 không phải là cấu hình đúng.
Khi các router đã có các thông tin của nó trong LSDB, nó sẽ dùng thuật toán Dijkstra SPF để kiểm tra các LSA trong LSDB và dẫn xuất ra một dạng hiển thị toán học của sơ đồ mạng. Mô hình toán này tượng trưng cho các router, kết nối và chi phí cho từng kết nối và trạng thái hiện hành (up/down) của từng kết nối. Hình 10.4 tượng trưng cho mô hình SPF của mạng.
Hình 10.4: Mô hình SPF của mạng
Một người có thể dễ dàng nhanh chóng rút ra cùng một kết quả mà thuật toán SPF sẽ cho ra, cho dù thuật toán SPF khá phức tạp. SPF trên router sẽ tìm ra tất cả các khả năng có thể để đến một mạng con, thêm chi phí vào từng cổng ra để đi về tuyến đó và sau đó sẽ chọn ra đường đi có chi phí thấp nhất. OSPF sẽ đưa các tuyến có đường đi ngắn nhất này vào trong bảng định tuyến. Ví dụ, S2 sẽ tính hai đường đi có thể về mạng 10.5.1.0/24 với đường đi tốt hơn sẽ thông qua cổng VLAN1 của S2, với R2 là địa chỉ chặng kế tiếp. Cũng lưu ý trong hình trên rằng các giá trị chi phí áp dụng cho từng cổng và SPF sẽ cộng vào chi phí từng cổng để ra tổng chi phí đi về tuyến đó.
Ngay cả khi một mạng đã ổn định, tất cả các router trong cùng một vùng có cùng LSA và từng route đã chọn tuyến đường tốt nhất dùng SPF, các sự kiện sau vẫn diễn ra với các router chạy OSPF:
Link phần 3: GIAO THỨC ĐỊNH TUYẾN OSPF (PHẦN 3)