EIGRP实验--协议工作过程详解(一)
實驗目的:
??? 了解五種報文的格式及工作過程;初步學習,不妥當的地方還請大牛指教!
?
Hello:
我們現在R1路由器上面開啟EIGRP進程,R2上暫時不開啟,然后使用wireshark進行抓包分析:
?
由此可見,當將接口IP所在網段宣告到EIGRP進程中,該接口就會不斷的發送hello報文。hello報文是每個5秒鐘發一次的(線路速率大于T1,是5秒發一次,小于T1是60秒一次);先來了解一下EIGRP包頭:
?
首先看IP層信息,值得我們注意的是TTL值(Time to live:2)等于2,表示這個hello包只能在本鏈路有效,不可跨越路由器;protocol:EIGRP(88),88表示EIGRP的協議號;目標IP是一個組播地址:224.0.0.10;
?
下面我們看hello包的具體內容:
?
我們主要關注一下參數:
Opcode:hell0/Ack(5)? 表示類型為hello;更具體類型如下:
?
Autonomous System:20??? as號為20;此值必須匹配;
K1~K5:分別為1,0,1,0,0;只在hello報文中存在,用于驗證鄰居,此值必須匹配;
Hold time:15?? 鄰居保持時間為15秒,是hello間隔的3倍;
還包括路由器軟件版本及EIGRP的版本號;
?
下面我們開啟R2上的EIGRP進程,宣告S1/0所在的網段;
?????? 敲完回車之后,在1秒中內迅速出現11個EIGRP分組報文,我們來看看每個都是干什么用的:
?
第一個是,R2向組播地址發送hello報文,開始尋找鄰居;
第二個是,R1向組播地址發送hello報文,開始尋找鄰居;注:hello報文無須ACK確認;
第三個是,R1發送給R2的更新報文,我們看看與hello報文有什么不同;
?
首先update報文要比hello報文簡潔的多,只表示標識號為1(update);checksum;并且將INIT置位1,表示自己已經是INIT狀態了;序列號為5;ACK置為0,等待確認;AS號還是20;
第五個是,R2發送給R1的更新報文,與第三個類似,不同的是將ACK置為5,表示對第三個報文的確認;
?
第六個是,R1向R2發送路由跟新條目,R1將自身的序列號加1變為6,并且確認收到了R2發送的序列號為5的EIGRP分組;拓撲信息中包含有10.0.0.0/8的路由條目;延遲為128000;帶寬為256;
?
第七個是,R2向R1發送的路由更新條目,R2將自身的序列號加1變為6,并且確認收到了R2發送的序列號為6的EIGRP分組;拓撲信息中包含有172.16.1.4/30的路由條目;延遲為512000;帶寬為1657856;
?
以此在進行一次交換信息,然后最后一個報文表示了R1確認R2發送的報文:這邊操作碼為5,且ACK不為零的報文為ACK報文,否則為hello報文;確認之后將自身序列號置為0,表示收斂完畢;
??? 下面我們來看一下二者的鄰居表:
?
再查看路由表:
?
轉載于:https://blog.51cto.com/nanjingfm/1192041
總結
以上是生活随笔為你收集整理的EIGRP实验--协议工作过程详解(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: copy和mutablecpy区别
- 下一篇: 领航的公开课 有空可以看看