RIP路由協議的水平分割和觸發更新
前面我們分析并且總結了一些RIP路由協議的特點。其中我們發現有一些現象并不利于網絡的組建和使用。所以我們為了提高RIP路由協議性能而提出了兩項措施。
1. 水平分割
在RIP路由協議的"計數到無窮大"現象中,產生的原因是A、B之間互相傳送了"欺騙信息",那么針對這種情況,我們自然會想到如果能將這些"欺騙信息"去掉,那么不就可以在一定程度上避免"計數到無窮大"了嗎.水平分割正是這樣一種解決手段.
"普通的水平分割"是:如果一條路由信息是從X端口學習到的,那么從該端口發出的路由更新報文中將不再包含該條路由信息.
"帶毒化逆轉的水平分割"是:如果一條路由信息是從X端口學習到的,那么從該端口發出的路由更新報文中將繼續包含該條路由信息,而且將這條信息的metric置為16.
"普通的水平分割"能避免欺騙信息的發送,而且減小了路由更新報文的大小,節約了網絡帶寬;"帶毒化逆轉的水平分割"能夠更快的消除路由信息的環路,但是增加了路由更新的負擔.這兩種措施的選擇可根據實際情況進行選擇.
2. 觸發更新
上面的"水平分割"能夠消除兩臺路由器間的欺騙信息的相互循環,但是當牽涉到三臺或者以上的路由器時,效果就有限了.考察下面的網絡:
+---+ +----+ +-----+ /-----\
| | | C +-------| D | -----|| E ||
| A +------| | | +---- | |
+-+-+ +----+ +---+-+ \-----/
| -- |
| -- |
| -- |
+----+ |
| | |
| B +-----------------------
| |
+----+
E是目標網絡
針對目標網絡,各路由器的路由信息分別如下:
A:3 C
B:2 D
C:2 D
D:1 直連
當D與目標網絡之間發生故障中斷以后,B和C都能正確的從D得到網絡不可達的信息,但是,從上面的路由信息中可以看出,A雖然不會給C發送錯誤信息,但是A可能在未收到網絡不可達信息之前就給B發送了路由信息,讓B錯誤的認為可以通過A到達目標網絡,繼而又會出現"計數到無窮大"的現象.
觸發RIP路由協議更新就是為了針對上述情況進行的一種改善,它的具體實現措施是:路由器一旦察覺到網絡變化,就盡快甚至是立即發送更新報文,而不等待更新周期結束.只要觸發更新的速度足夠快,就可以大大的防止"計數到無窮大"的發生,但是這一現象還是有可能發生的.
使用了觸發更新以后,當網絡拓撲發生變化的時候,網絡中會出現類似于"多米諾骨牌"的更新報文潮流,并***中止于從未發生變化的路徑到達目標網絡的路由器.