- CNA-04-002.pkt, (Backup Link)
- CNA-04-002-wrong-sol.pkt, (Backup Link)
- CNA-04-002-final-sol.pkt, (Backup Link)
當然我上課中並不鼓勵大家繼續使用 RIP, 不過這是一個典型的 "Frame-Relay + RIP" 的老問題, 所以還是提出來讓大家認識一下問題所在.
這個例子中, 我們只有兩條 Virtual Circuit 可以用, 分別是 "Router 1/Router 2 間", 與 "Router 2/Router 3 間".
Frame Relay 的設定並不困難, 只要在 Serial 網卡 Encapsulation 改成 "frame-relay" 即可. 以 Router 1為例:
interface Serial0/0/0
ip address 10.1.1.1 255.255.255.0
encapsulation frame-relay
稍等一下子, 等 Cisco 的反向 ARP (Inverse ARP) 資料同步後, 這三部路由器之間是可以透過 Serial 網卡的 IP 位址連線得到. 以 Router 2 為例:
R2#show frame-relay map
Serial0/0/0 (up): ip 10.1.1.1 dlci 201, dynamic, broadcast, CISCO, status defined, active
Serial0/0/0 (up): ip 10.1.1.3 dlci 203, dynamic, broadcast, CISCO, status defined, active
R2#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/50/60 ms
R2#ping 10.1.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 40/54/91 ms
R2#
但是問題來了, 如果只是單純地啟動 RIP, 那我們就會發現, Router 1 永遠收不到 Router 3 身後的網段, 反之亦然:
R1>show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial0/0/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
R 192.168.2.0/24 [120/1] via 10.1.1.2, 00:00:23, Serial0/0/0
R1>
其實原因就是卡在 Router 2. 以這個例子, 因為我們只有兩條 Virtual Circuit 可用, 所以 Router 3 的路由資訊只有 Router 2 收得到, 除非 Router 2 "主動" 再將 "從 Router 3 收到的資訊" 再傳給 Router 1, 否則 Router 1 就會永遠收不到 "Router 3 身後的網段資訊".
為何 Router 2 不送, 這是因為 "分割視野 (Split Horizon)" 起了作用, Router 2 認定 Router 3 送出的資訊是由 "Serial 0/0/0" 進入, 所以按照 "分割視野" 的規則, 這些資料就都不會再從 "Serial 0/0/0" 透過 RIP 送出. "分割視野" 預設是啟動的, 這正是為什麼 Router 1 收不到的原因!
所以這個現象的正解, 就是要在 Router 2 的 "Serial 0/0/0" 上面, 我們必須取消 "Split Horizon" 的功能, 像這樣:
interface Serial0/0/0
ip address 10.1.1.2 255.255.255.0
no ip split-horizon
encapsulation frame-relay
如此一來就可以正常使用 Frame Relay + RIP.
不過當然, 還是強烈建議使用 EIGRP 或是 OSPF,
您好,我今天在做這個實驗,有點問題想請教您:
回覆刪除文末所提是指改用eigrp與ospf就不會有split horizon的情形發生嗎??因為我將遶送協定改成eigrp,發現不管split horizon有沒有關閉,router 1都學不到router 3身後的路徑...想請問一下是我有哪裡沒注意到嗎??謝謝。
我的這句話的確很有問題: "她們都不會有這類問題".
回覆刪除正確的應該是: 在 Frame Relay 情境下, OSPF 會有其他的問題; EIGRP 也會有 "split horizon" 的問題.
有關這兩個部分, 我將另外到新文章說明, 請稍後!
您真的很用心去操作Lab, 找到了我的錯誤, 非常感謝!