RIP(Routing Information Protocol)
·RIP屬於IGP,是Distance-Vector協議。
·RIP協議的特點:
1)RIP是基於UDP的,端口號520
2)週期性以廣(組)播向鄰居發送更新。
3)做完整更新,將整個路由表的信息傳遞給鄰居。
4)Metric(度量值)只跟跳數有關。
5)只支持等價的負載均衡
·解決DV環路問題:
1)Defining a Maximum:16跳。
2)Split Horizon:從一個接口收到的信息不再從此接口發出。
3)Route Poisoning:將不可達路由直接設成Infinity(16跳)。
4)Holddown Timers:所有鄰居都將此路由“凍結”,
如在“凍結”期內該路由恢復,繼續採納該路由
如在“凍結”期收到更好的路由,將採納更好的路由
如在“凍結”期收到更差的路由,不採納該路由
5)Triggered Updates:
避免週期性更新佔用帶寬,只有當拓撲變化時才發送更新。
<RIP v1>
RIP-v1的特點:
·以廣播255.255.255.255發送更新。
·在跨越主類網絡邊界時,會自動彙總成主類網絡。
·不支持VLSM,更新時不攜帶掩碼信息,只以主類方式通告。
Classful Rouing:(落後的)
RIPv1 / IGRP
R2(config)#router rip
R2(config-router)#network 10.0.0.0(只能以主類的方式宣告)
R2#show ip protocols
Interface Send Recv
Serial0/0 1 1 2 (默認)
R2(config-router)#version 1
Interface Send Recv
Serial0/0 1 1 (指定v1)
R2#deb ip rip
<RIP v2>
RIP-v2的特點:
·以組播地址224.0.0.9發送更新。
·默認情況下在跨越主類網絡邊界時,會自動彙總,但是也可以關閉自動彙總,進行手動彙總
·RIPv2支持VLSM,更新發送時攜帶掩碼信息。也只能以主類方式通告。
正常情況下,RIP-V2是發送組播更新,下面這條命令強制讓RIP使用廣播更新
R1(config-if)#ip rip v2-broadcast
雖然v2攜帶了掩碼信息,但跨越不同網絡邊界時,默認還是會自動彙總成主類。
R1(config-router)#no auto-summary 通過這一命令可關閉自動彙總
·RIP在auto-summary時,會將本地及收到的路由都彙總成主類然後發出。
R2(config)#router rip
R2(config-router)#version 2 啓用V2版
Interface Send Recv
Serial0 2 2 (指定v2)
<實現V1和V2版的兼容性>
R1(config-if)#ip rip send version 1 設定接口只發送出V1版的更新
R1(config-if)#ip rip receive version 1 設定接口只接收V2版的更新
R1(config-if)#ip rip send version 1 2 設定接口同時發送V1和V2版的更新
<RIP Timer>
1)Update (30S)
隨機變量是更新週期的15%,即4.5S (25.5S-30S)
2)Invalid (180S)
180S後置爲Possible Down,之後立即啓動hold Down計時器。
3)Hold Down(180S)
實際只用到60S
4)Flush(240S)
240S還沒收到路由更新,纔將此路由刪除。
測試Possible Down:
1)設置Passive-interface
2)中間接SW
3)中間是FR
4)認證不匹配
R2(config-router)#timers basic 10 20 20 40
<被動接口>
在RIP協議中,如果一個接口被設定爲被動接口,這個接口將不能向外發送路由更新,不過還可以接收對端發送過來的路由更新。
R2(config-router)#passive-interface loopback 0
將接口設爲被動接口,只收不發。
R2#show ip protocols
R2(config-router)#passive-interface default
R2(config-router)#no passive-interface loopback 0
<單播更新>
默認RIP只發送廣播或組播更新包,下面的命令讓RIP發出單播包
需把接口設爲被動接口 否則組播和單播一起發
R1(config)#router rip
R1(config-router)#neighbor 10.0.0.2
<路由彙總>
在RIP中關閉自動彙總後,可以在某一個接口去做手動的彙總。但要注意,彙總出的網絡號不能越過主類網絡。
R2(config-if)#ip summary-address rip 172.16.0.0 255.255.0.0
(在路由流向的出接口作)
RIP中彙總的特點:
·本地存在有明細路由,才能從做彙總的接口發出彙總路由。
·直到明細的最後一條路由消失,彙總纔會消失。
·取明細路由的最小metric值
<水平分割>
在絕大多數的接口運行RIP,水平分割默認都有是開啓的
Enable : Ethernet / Serial / BRI / FR子接口(p2p/mp)
Disable : FR物理接口 這個接口比較特殊,默認是關閉的
R1(config-if)#no ip split-horizon 本命令在接口下關閉水平分割
<偏移列表>
可以用來增加路由的metric值,需要先用ACL抓出路由
R2(config)#access-list 1 permit 2.2.2.0 0.0.0.255
R2(config-router)#offset-list 1 out 3 ethernet 0/0
(原有Metric + 3)
R2(config-router)#offset-list 0 out 3 ethernet 0/0
(0代表所有網絡)
<RIP v2 Authentication>
認證技術可以提高網絡的安全性,只有互相認證成功的兩臺合法路由器之間才能傳遞路由信息。
RIP支持兩種認證方式:針對一段鏈路來做的
1、明文認證
2、md5認證
第一步:定義密碼庫
R2(config)#key chain R2 (本地有效)
R2(config-keychain)#key 1 (建議兩端一致)(可以定義多個KEY值,按從小到大的順序進行匹配,發送KEY值時也是發送最小的一個,還可以設定KEY值的有效時間。)
R2(config-keychain-key)#key-string cisco
第二步:在接口下應用密碼庫
R2(config-if)#ip rip authentication key-chain R2
第三步:在接口下指定認證模式
R2(config-if)#ip rip authentication mode [md5|text]
R1#show key chain
R1#debug ip rip
小知識:RIP中每一個路由更新報文最大可包含25條路由,做了明文認證後只能包含24條,做了MD5認證後只能包含23條。
R2(config-keychain-key)#Accept-lifetime 04:00:00 jan 2006 infinite 定時接收
R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 04:01:00 jan 2006 定時發送
R2(config-keychain-key)#Send-lifetime 04:00:00 jan 2006 duration 300 有效期300S
注意:密碼庫中可以同時定義多個密碼,在匹配時要按規則來匹配,明文認證和md5認證的匹配規則各不一樣,下面分別說明。
明文認證匹配規則:
明文認證總結:只發送KEY ID最小的KEY,並不攜帶KEY ID,接收方與KEY列表中所有的KEY匹配,只要有一個能匹配上則通過認證。
md5認證匹配規則:
密文認證總結:只發送最小的KEY ID,並且攜帶KEY ID。當接收到時,先只匹配相同KEY ID密鑰,如果不匹配,則通不過認證。但如果沒有相同KEY ID,只向下查找一次大的KEY ID密鑰,如果有相同的KEY ID,但不匹配也不通過認證,如果仍然沒有不是相同的KEY ID則也不通過認證。
<Triggered>
週期更新:路由器週期性的向外發送出自已的路由更新
觸發更新:路由器平時不會週期性的發送路由更新,只會在拓樸改變的情況下(也就是路由變化了),纔會向外發送出路由更新。
RIP默認只做週期更新,通過使用命令,可以實現觸發更新。
使用觸發更新後:
·路由器不再週期發更新,只觸發更新。
·會自動生成Timers basic 30 180 0 240
·只能打在低速點對點鏈路上,E0口是不能打的
R1(config-if)#ip rip triggered (E0/Lo0不支持)
(兩端都配)
debug ip rip
*Mar RIP: send v2 triggered update to 12.1.1.2
<RIP區域生成默認路由>
爲了讓一個網絡中的路由器都能自動獲得默認路由,從而可以訪問外部網絡,我們可以利用路由協議來自動下發默認路由。
1)Redistribute Static:
R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0
R1(config)#router rip
R1(config-router)#redistribute static
2)Network 0.0.0.0:
R1(config)#ip route 0.0.0.0 0.0.0.0 serial 0(寫下一跳不行)
R1(config)#router rip
R1(config-router)#network 0.0.0.0
3)default-information originate:
R1(config)#router rip
R1(config-router)#default-information originate
4)default-network:
R1(config)#ip default-network 12.0.0.0(寫成主類)
如寫成ip default-network 12.1.1.0
<負載均衡>
負載均衡指的是將去往一個特定目的地的多條路由同時放進路由表,用來做流量的轉發。
負載均衡有兩種:
1、等價負載均衡--將metric值相等的路由同時放入路由表用來做流量轉發。
2、不等價負載均衡--將metric值不相等的路由也同時放入路由表用來做流量轉發。
·RIP只支持等價的負載均衡。也就是說用來做負載均衡的路由metric必須一致。
·默認RIP只支持四條路徑的負載均衡,在新的IOS中可以通過命令修改爲最多16條
R1#show ip protocols
R1(config)#router rip
R1(config-router)#maximum-paths 6(最多16條)
查看原文:http://www.laogebo.com/archives/506.html