OSPF Troubleshooting: Mismatched Area Numbers và Mismatched Area Type
Một trong những điều kiện bắt buộc để hai router OSPF hình thành Neighbor Adjacency là các interface kết nối trực tiếp phải thuộc cùng một Area và phải sử dụng cùng loại Area. Chỉ cần một trong hai thông số này không khớp, OSPF sẽ từ chối thiết lập quan hệ láng giềng.
1. Mismatched Area Numbers
Tại sao OSPF sử dụng Area?
Một trong những lý do OSPF có khả năng mở rộng rất lớn là nhờ cơ chế phân chia hệ thống thành nhiều Area.
Mỗi Area hoạt động như một miền LSDB (Link-State Database) riêng biệt, giúp:
Tuy nhiên, để hai router trở thành neighbor, các interface kết nối với nhau phải thuộc cùng Area. Nếu khác Area, OSPF sẽ loại bỏ gói Hello ngay từ đầu.
Kiểm tra Area của Interface
Sử dụng:
show ip ospf interface gigabitEthernet 1/0
Kết quả:
Internet Address 10.1.12.1/24,
Area 1
Hoặc:
show ip ospf interface brief
Ví dụ:
Interface PID Area IP Address/Mask
Gi1/0 1 1 10.1.12.1/24
Trong trường hợp troubleshooting, hãy sử dụng phương pháp quen thuộc của CCIE:
Spot The Difference
Đặt kết quả từ hai router cạnh nhau và so sánh từng thông số. Chỉ cần khác Area ID là adjacency sẽ thất bại.
Nhận diện bằng Debug
Lệnh:
debug ip ospf adj
Ví dụ:
OSPF-1 ADJ Gi1/0:
Rcv pkt from 10.1.12.2,
area 0.0.0.2,
mismatched area 0.0.0.1 in the header
Ý nghĩa:
Router local đang chạy:
Area 2
Trong khi gói OSPF nhận được lại thuộc:
Area 1
Do đó OSPF từ chối hình thành neighbor.
Cách khắc phục
Đảm bảo cả hai đầu thuộc cùng Area.
Ví dụ:
router ospf 1
network 10.1.12.0 0.0.0.255 area 1
Hoặc:
interface GigabitEthernet1/0
ip ospf 1 area 1
2. Mismatched Area Type
OSPF Area Type là gì?
Theo mặc định, mọi Area trong OSPF đều là:
Normal Area
Tuy nhiên để giảm số lượng LSA hoặc tối ưu hóa mạng lớn, Cisco cho phép chuyển đổi sang các loại Area khác như:
Stub Area
Totally Stub Area
NSSA
Totally NSSA
Khi đó, tất cả router bên trong Area phải đồng ý về loại Area đang sử dụng.
Nếu không, adjacency sẽ không được hình thành.
Ví dụ Stub Area
Kiểm tra bằng:
show ip protocols
Kết quả:
Number of areas in this router is 1
0 normal
1 stub
0 nssa
Hoặc chi tiết hơn:
show ip ospf
Ví dụ:
Area 1
It is a stub area
Điều này cho thấy Area 1 đã được cấu hình là Stub Area.
Cơ chế phát hiện lỗi
Trong gói OSPF Hello có một trường gọi là:
Stub Area Flag
Flag này cho biết router đang hoạt động trong:
Khi hai router trao đổi Hello Packet, chúng sẽ kiểm tra flag này.
Nếu không giống nhau, adjacency sẽ bị từ chối.
Debug xác định lỗi
Lệnh:
debug ip ospf hello
Ví dụ:
OSPF-1 HELLO Gi1/0:
Rcv hello from 2.2.2.2 area 1 10.1.12.2
Hello from 10.1.12.2
with mismatched Stub/Transit area option bit
Thông báo này gần như chắc chắn cho thấy:
Area Type không đồng nhất
Một router có thể đang chạy:
area 1 stub
Trong khi router còn lại vẫn là:
Normal Area
Kết quả là OSPF từ chối thiết lập neighbor.
Các cấu hình gây lỗi thường gặp
Router R1
router ospf 1
area 1 stub Router R2
router ospf 1
R2 vẫn đang sử dụng Normal Area.
Kết quả:
OSPF Neighbor Down
Cách khắc phục
Nếu muốn Area 1 là Stub Area:
Cấu hình trên tất cả router trong Area:
router ospf 1
area 1 stub
Nếu muốn Area 1 là NSSA:
router ospf 1
area 1 nssa
Tất cả router trong Area phải thống nhất cấu hình.
Góc nhìn thực chiến CCNP/CCIE
Khi OSPF không hình thành neighbor, các kỹ sư thường kiểm tra:
Tuy nhiên trong các hệ thống Enterprise hoặc Service Provider lớn, lỗi Area Type Mismatch xuất hiện khá thường xuyên sau các đợt thay đổi cấu hình hoặc migration mạng.
Một kinh nghiệm thực tế là:
Nếu thấy log:
mismatched area
=> Kiểm tra Area Number.
Nếu thấy log:
mismatched Stub/Transit area option bit
=> Kiểm tra Area Type.
Hai thông báo debug này gần như chỉ đích danh nguyên nhân sự cố và giúp rút ngắn đáng kể thời gian troubleshooting OSPF trong môi trường sản xuất.
Một trong những điều kiện bắt buộc để hai router OSPF hình thành Neighbor Adjacency là các interface kết nối trực tiếp phải thuộc cùng một Area và phải sử dụng cùng loại Area. Chỉ cần một trong hai thông số này không khớp, OSPF sẽ từ chối thiết lập quan hệ láng giềng.
1. Mismatched Area Numbers
Tại sao OSPF sử dụng Area?
Một trong những lý do OSPF có khả năng mở rộng rất lớn là nhờ cơ chế phân chia hệ thống thành nhiều Area.
Mỗi Area hoạt động như một miền LSDB (Link-State Database) riêng biệt, giúp:
- Giảm kích thước bảng topology
- Giảm số lượng LSA flooding
- Giảm tải tính toán SPF
- Tăng khả năng mở rộng của mạng
Tuy nhiên, để hai router trở thành neighbor, các interface kết nối với nhau phải thuộc cùng Area. Nếu khác Area, OSPF sẽ loại bỏ gói Hello ngay từ đầu.
Kiểm tra Area của Interface
Sử dụng:
show ip ospf interface gigabitEthernet 1/0
Kết quả:
Internet Address 10.1.12.1/24,
Area 1
Hoặc:
show ip ospf interface brief
Ví dụ:
Interface PID Area IP Address/Mask
Gi1/0 1 1 10.1.12.1/24
Trong trường hợp troubleshooting, hãy sử dụng phương pháp quen thuộc của CCIE:
Spot The Difference
Đặt kết quả từ hai router cạnh nhau và so sánh từng thông số. Chỉ cần khác Area ID là adjacency sẽ thất bại.
Nhận diện bằng Debug
Lệnh:
debug ip ospf adj
Ví dụ:
OSPF-1 ADJ Gi1/0:
Rcv pkt from 10.1.12.2,
area 0.0.0.2,
mismatched area 0.0.0.1 in the header
Ý nghĩa:
Router local đang chạy:
Area 2
Trong khi gói OSPF nhận được lại thuộc:
Area 1
Do đó OSPF từ chối hình thành neighbor.
Cách khắc phục
Đảm bảo cả hai đầu thuộc cùng Area.
Ví dụ:
router ospf 1
network 10.1.12.0 0.0.0.255 area 1
Hoặc:
interface GigabitEthernet1/0
ip ospf 1 area 1
2. Mismatched Area Type
OSPF Area Type là gì?
Theo mặc định, mọi Area trong OSPF đều là:
Normal Area
Tuy nhiên để giảm số lượng LSA hoặc tối ưu hóa mạng lớn, Cisco cho phép chuyển đổi sang các loại Area khác như:
Stub Area
Totally Stub Area
NSSA
Totally NSSA
Khi đó, tất cả router bên trong Area phải đồng ý về loại Area đang sử dụng.
Nếu không, adjacency sẽ không được hình thành.
Ví dụ Stub Area
Kiểm tra bằng:
show ip protocols
Kết quả:
Number of areas in this router is 1
0 normal
1 stub
0 nssa
Hoặc chi tiết hơn:
show ip ospf
Ví dụ:
Area 1
It is a stub area
Điều này cho thấy Area 1 đã được cấu hình là Stub Area.
Cơ chế phát hiện lỗi
Trong gói OSPF Hello có một trường gọi là:
Stub Area Flag
Flag này cho biết router đang hoạt động trong:
- Normal Area
- Stub Area
- NSSA
Khi hai router trao đổi Hello Packet, chúng sẽ kiểm tra flag này.
Nếu không giống nhau, adjacency sẽ bị từ chối.
Debug xác định lỗi
Lệnh:
debug ip ospf hello
Ví dụ:
OSPF-1 HELLO Gi1/0:
Rcv hello from 2.2.2.2 area 1 10.1.12.2
Hello from 10.1.12.2
with mismatched Stub/Transit area option bit
Thông báo này gần như chắc chắn cho thấy:
Area Type không đồng nhất
Một router có thể đang chạy:
area 1 stub
Trong khi router còn lại vẫn là:
Normal Area
Kết quả là OSPF từ chối thiết lập neighbor.
Các cấu hình gây lỗi thường gặp
Router R1
router ospf 1
area 1 stub Router R2
router ospf 1
R2 vẫn đang sử dụng Normal Area.
Kết quả:
OSPF Neighbor Down
Cách khắc phục
Nếu muốn Area 1 là Stub Area:
Cấu hình trên tất cả router trong Area:
router ospf 1
area 1 stub
Nếu muốn Area 1 là NSSA:
router ospf 1
area 1 nssa
Tất cả router trong Area phải thống nhất cấu hình.
Góc nhìn thực chiến CCNP/CCIE
Khi OSPF không hình thành neighbor, các kỹ sư thường kiểm tra:
- IP Connectivity
- Area ID
- Authentication
- MTU
- Timer
Tuy nhiên trong các hệ thống Enterprise hoặc Service Provider lớn, lỗi Area Type Mismatch xuất hiện khá thường xuyên sau các đợt thay đổi cấu hình hoặc migration mạng.
Một kinh nghiệm thực tế là:
Nếu thấy log:
mismatched area
=> Kiểm tra Area Number.
Nếu thấy log:
mismatched Stub/Transit area option bit
=> Kiểm tra Area Type.
Hai thông báo debug này gần như chỉ đích danh nguyên nhân sự cố và giúp rút ngắn đáng kể thời gian troubleshooting OSPF trong môi trường sản xuất.