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