如果您喜歡這裡的內容,記得分享到您的Facebook和Twitter上面所有的朋友們吧!

2009年4月1日 星期三

Frame-Relay 搭配 RIP 的問題設定與解決 (CNA-04-002)

CCNA Exploration 4.0 第四學期上課檔案 (CNA-04-002), Frame-Relay 搭配 RIP 的問題設定與解決.




當然我上課中並不鼓勵大家繼續使用 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, 她們都不會有這類問題. 除非萬不得已才使用 RIP, 再參考本例來解決這種怪問題.
如果您喜歡這篇文章,不考慮試試Email訂閱嗎?




2 則留言:

  1. 您好,我今天在做這個實驗,有點問題想請教您:
    文末所提是指改用eigrp與ospf就不會有split horizon的情形發生嗎??因為我將遶送協定改成eigrp,發現不管split horizon有沒有關閉,router 1都學不到router 3身後的路徑...想請問一下是我有哪裡沒注意到嗎??謝謝。

    回覆刪除
  2. 我的這句話的確很有問題: "她們都不會有這類問題".

    正確的應該是: 在 Frame Relay 情境下, OSPF 會有其他的問題; EIGRP 也會有 "split horizon" 的問題.

    有關這兩個部分, 我將另外到新文章說明, 請稍後!

    您真的很用心去操作Lab, 找到了我的錯誤, 非常感謝!

    回覆刪除

小技巧:也可以 匿名 留言!

經典熱門文章