Khắc phục sự cố liên quan đến OSPF Adjacency – Phần 3

Khắc phục sự cố liên quan đến OSPF Adjacency  Phần 1Phần 2

Trong bài viết hôm nay, chúng ta sẽ tiếp tục thảo luận về các nguyên nhân có thể dẫn đến sự cố thiết lập quan hệ OSPF (OSPF adjacency), và sẽ tìm hiểu hai nguyên nhân sau:

+ Không khớp giá trị Hello và Dead Interval

+ Không khớp giá trị MTU

Chúng ta sẽ tiếp tục làm việc trên cùng một sơ đồ mạng (topology) như trước.

Không khớp giá trị Hello và Dead Interval

Như chúng ta đã biết, để thiết lập và duy trì quan hệ OSPF, các router phải có giá trị hellodead interval giống nhau. OSPF không đàm phán các giá trị này — nếu không khớp, quan hệ lân cận sẽ bị coi là down (mất kết nối).

thuongndh@Router1# run show log OSPFLOG
Jan 2 00:04:47.362239 OSPF rcvd Hello 10.100.12.2 -> 224.0.0.5 (ge-0/0/1.112 IFL 71 area 0.0.0.0)
Jan 2 00:04:47.362261 Version 2, length 48, ID 163.121.1.2, area 0.0.0.0
Jan 2 00:04:47.362266 checksum 0x0, authtype 1
Jan 2 00:04:47.362273 mask 255.255.255.252, hello_ivl 7, opts 0x12, prio 128
Jan 2 00:04:47.362279 dead_ivl 21, DR 0.0.0.0, BDR 0.0.0.0
Jan 2 00:04:47.362285 OSPF packet ignored: hello interval mismatch 7 from 10.100.12.2 on intf ge-0/0/1.112 area 0.0.0.0

Và bằng cách kiểm tra kết quả đầu ra của lệnh show ospf interface detail, chúng ta có thể thấy rằng Router1 đang sử dụng các giá trị mặc định

+ Hello interval: 10 giây

+ Dead interval: 40 giây

→ Điều này cho thấy rõ sự không khớp nếu router bên kia sử dụng các giá trị khác (ví dụ: 7/21 giây), và là nguyên nhân khiến quan hệ OSPF không được thiết lập.

thuongndh@Router1# run show ospf interface ge-0/0/1.112 detail
Interface      State       Area         DR ID        BDR ID       Nbrs
ge-0/0/1.112   PtToPt      0.0.0.0      0.0.0.0      0.0.0.0      0
Type: P2P, Address: 10.100.12.1, Mask: 255.255.255.252, MTU: 1500, Cost: 1
Adj count: 0
Hello: 10, Dead: 40, ReXmit: 5, Not Stub
Auth type: Password
Protection type: None
Topology default (ID 0) -> Cost: 1

Bằng cách kiểm tra kết quả đầu ra của lệnh monitor traffic interface <interface> detail, chúng ta có thể thấy rõ các giá trị Hello Dead interval trong:

  • Các gói tin IN (nhận vào)

  • Các gói tin OUT (gửi ra)

Từ đó, chúng ta có thể đối chiếu và đảm bảo rằng các giá trị này được cấu hình giống nhau trên cả hai router

00:22:44.059611 In IP (tos 0xc0, ttl 1, id 16613, offset 0, flags [none], proto: OSPF (89), length: 76) 10.100.12.2 > 224.0.0.5: OSPFv2, Hello, length 56 [len 44]
Router-ID 163.121.1.2, Backbone Area, Authentication Type: simple (1)
Simple text password: Jun!p3r
Options [External, LLS]
Hello Timer 7s, Dead Timer 21s, Mask 255.255.255.252, Priority 128
LLS: checksum: 0xfff6, length: 3
Extended Options (1), length: 4
Options: 0x00000001 [LSDB resync]00:22:50.412662 Out IP (tos 0xc0, ttl 1, id 25235, offset 0, flags [none], proto: OSPF (89), length: 76) 10.100.12.1 > 224.0.0.5: OSPFv2, Hello, length 56 [len 44]
Router-ID 163.121.1.1, Backbone Area, Authentication Type: simple (1)
Simple text password: Jun!p3r
Options [External, LLS]
Hello Timer 10s, Dead Timer 40s, Mask 255.255.255.252, Priority 128
LLS: checksum: 0xfff6, length: 3
Extended Options (1), length: 4
Options: 0x00000001 [LSDB resync]

Không khớp giá trị MTU

OSPF rất nhạy cảm với sự không khớp về MTU, và nếu có bất kỳ sự khác biệt nào trong giá trị MTU của family INET, thì quan hệ OSPF sẽ không được thiết lập.


 Lưu ý:

+ Nếu không cấu hình MTU logic (logical MTU) cho bất kỳ family giao thức nào (ví dụ: inet, inet6), thì:

– MTU của family INET sẽ thấp hơn 14 byte so với MTU vật lý (physical MTU) đã cấu hình.

+ Nếu bạn sử dụng VLAN tagging hoặc inner VLAN tagging, thì:

– MTU sẽ thấp hơn 18 byte hoặc 22 byte so với MTU vật lý tương ứng.


Triệu chứng lỗi:

Khi có sự khác biệt về MTU giữa hai router

+ Router 1 sẽ bị kẹt ở trạng thái ExStart

+ Router 2 sẽ bị kẹt ở trạng thái Exchange

→ Đây là dấu hiệu kinh điển cho lỗi MTU mismatch trong OSPF.

thuongndh@Router1# run show ospf neighbor
Address         Interface              State     ID               Pri  Dead
10.100.12.1     ge-0/0/1.112           ExStart   163.121.1.1      128    37
thuongndh@Router2# run show ospf neighbor
Address         Interface           State      ID               Pri  Dead
10.100.12.2      ge-0/0/1.112       Exchange   163.121.1.2      128    36

Bạn có thể phát hiện và xác nhận lỗi này bằng cách dùng các lệnh:

show interfaces <interface-name> detail
show ospf neighbor 
monitor traffic interface <interface-name> detail

Bằng cách xem nhật ký traceoptions, chúng ta có thể thấy rằng sự không khớp MTU chính là vấn đề.

thuongndh@Router2# run show log OSPFLOG
Jan  2 00:56:22.289619 OSPF rcvd DbD 10.100.12.1 -> 224.0.0.5 (ge-0/0/1.112 IFL 78 area 0.0.0.0)
Jan  2 00:56:22.289626   Version 2, length 172, ID 163.121.1.1, area 0.0.0.0
Jan  2 00:56:22.289632   checksum 0x0, authtype 1
Jan  2 00:56:22.289638   options 0x52, i 0, m 0, ms 0, r 0, seq 0xa377cd12, mtu 1500
Jan  2 00:56:22.289713 OSPF restart signaling: Received DBD with LLS data from nbr ip=10.100.12.1 id=163.121.1.1.
Jan  2 00:56:22.289719 OSPF packet ignored: MTU mismatch from 10.100.12.1 on intf ge-0/0/1.112 area 0.0.0.0
Jan  2 00:56:23.586559 OSPF rcvd LSUpdate 10.100.12.1 -> 224.0.0.5 (ge-0/0/1.112 IFL 78 area 0.0.0.0)
Jan  2 00:56:23.586568   Version 2, length 112, ID 163.121.1.1, area 0.0.0.0
Jan  2 00:56:23.586574   checksum 0x0, authtype 1
Jan  2 00:56:23.586580   adv count 3
Jan  2 00:56:25.459808 OSPF hello from 163.121.1.1 (IFL 78, area 0.0.0.0) absorbed
Jan  2 00:56:27.091553 OSPF resend last DBD to 10.100.12.1
Jan  2 00:56:27.091607 OSPF sent DbD 10.100.12.2 -> 224.0.0.5 (ge-0/0/1.112 IFL 78 area 0.0.0.0)
Jan  2 00:56:27.091613   Version 2, length 32, ID 163.121.1.2, area 0.0.0.0
Jan  2 00:56:27.091619   options 0x52, i 1, m 1, ms 1, r 0, seq 0xa377cd12, mtu 1482
Jan  2 00:56:27.091656 OSPF restart signaling: Add LLS data for DbD packet on interface ge-0/0/1.112.

Những gì chúng ta có thể nhận thấy từ O/P bên trên là các gói mô tả cơ sở dữ liệu được gửi và nhận với kích thước MTU tương ứng, do đó OSPF đã phát lại tín hiệu do sự không khớp MTU này và sẽ bị kẹt ở trạng thái Exstart/Exchange.

Cuối cùng, chúng ta có thể sử dụng monitor traffic interface detail, tìm kiếm các gói DBD và tôi nghĩ đây là cách nhanh nhất theo tôi để giải quyết vấn đề này.

01:05:42.805146 Out IP (tos 0xc0, ttl   1, id 30892, offset 0, flags [none], proto: OSPF (89), length: 204) 10.100.12.1 > 224.0.0.5: OSPFv2, Database Description, length 184 [len 172]
Router-ID 163.121.1.1, Backbone Area, Authentication Type: simple (1)
Simple text password: Jun!p3r
Options [External, LLS, Opaque], DD Flags [none], MTU: 1500, Sequence: 0xa377cd12
Advertising Router 163.121.1.1, seq 0x80000014, age 21s, length 28
Router LSA (1), LSA-ID: 163.121.1.1
Options: [External, Demand Circuit]
Advertising Router 163.121.1.2, seq 0x80000019, age 87s, length 76
Router LSA (1), LSA-ID: 163.121.1.2
Options: [External, Demand Circuit]01:08:30.249575  In IP (tos 0xc0, ttl   1, id 20471, offset 0, flags [none], proto: OSPF (89), length: 64) 10.100.12.2 > 224.0.0.5: OSPFv2, Database Description, length 44 [len 32]
Router-ID 163.121.1.2, Backbone Area, Authentication Type: simple (1)
Simple text password: Jun!p3r
Options [External, LLS, Opaque], DD Flags [Init, More, Master], MTU: 1482, Sequence: 0xa377cd12
LLS: checksum: 0xfff6, length: 3
Extended Options (1), length: 4
Options: 0x00000001 [LSDB resync]

Leave a Reply

Your email address will not be published. Required fields are marked *