《EIGRP路由开销—Metric的计算》—那些你应该知道的知识(七)

写在前面:

EIGRP协议为思科私有协议,仅支持在思科设备间部署。EIGRP具有收敛快,支持非等价负载均衡等特点。


知识准备:

EIGRP路由开销—Metric的计算,也就是metric值的计算,共涉及5个相关参数变量。分别是:

MTU、BW、DLY、Reliability、txload,rxload

实际在计算过程中,默认只会计算BW与DLY,其他参数对最终的Metric值计算,没有影响。

BW=10^7/接口带宽(Kbps)*256,DLY=延迟(微秒)/10*256

路由开销的计算公式为: Metric= [K1 × BW + K2 × BW /(256-LOAD)+ K3 × DLY] × K5 /(RELIA+K4),在默认情况下,K2、K4、K5=0,K1=1,K3=1。

所以Metric在实际计算为:Metric= [K1 × BW + K3 × DLY]=BW+DLY

在实际路由更新的过程中,路由器会将接口的带宽和时延等信息一同向外更新,在其他路由器收到一条路由更新后,比较收到的接口带宽值与自身收到这条路由更新的接口的带宽,将更小的值代入计算。而DLY则是在路由更新的过程将所有收到该路由更新的接口的值带入计算。

所以EIGRP路由开销(Metric)的计算,又可以被描述为——在默认情况下,Eigrp Metric值的计算取决于路由更新过程中,最小接口带宽的值和更新过程中,时延的累加。

下面我会用实验来验证上述理论。


开始动手:

实验拓扑图如下:

R1与R2通过百兆接口互联,R2与R3通过十兆接口互联,R3与VPC通过十兆接口互联。

我们将通过此实验模拟,EIGRP路由开销的计算方法,以及EIGRP针对重分布路由的开销的计算方法。

EIGRP配置过程省略。

FastEthernet接口参数如下:

Ethernet接口参数如下:

我们来看一下,关于10.1.1.0/24网段的Metric开销计算

10.1.1.0网段的路由,由R3宣告,在10.1.1.0被本地宣告时BW=10^7/接口带宽(Kbps)*256=10^3*256=256000,DLY=延迟(微秒)/10*256=25600

所以Metric值为,Metric= [K1 × BW + K3 × DLY]=256000+25600=281600.

在R3设备上查看,验证了我们计算的数值。

在R3宣告了该接口,R3会将该路由信息更新给R2,通过抓包我们可以看到

R3将该路由信息发送给组播地址224.0.0.10,来更新次路由。在更新的信息中,包含我们上述Metric计算所用到的值,其中包括接口带宽与时延。这里抓包看到的时延值很高,打一个问号,怀疑可能为wireshark翻译问题,实际计算是符合我们的预期的。

R2收到该路有更新后,将路由更新中带有的接口带宽与自身的接口带宽进行比较,在本实验中这两个接口均为Ethernet接口,所以该值相同,故BW不变。

DLY=25600+25600=51200

所以Metric=256000+51200=307200

在R2上查看:

实验结果符合预期。

在R2收到该更新后,R2会将该更新继续想组播地址224.0.0.10进行转发,通过抓包我们可以看到:

R2发送的路由更新信息中,包含路由更新路径中最小的接口带宽值,与累计的时延值。

R1收到该路有更新后,会比较该接口带宽与收到路由更新的接口带宽,由于R1与R2之间为百兆接口,接口带宽大,所以仍然将十兆接口带宽也就是,10000Kbps代入计算,所以BW值维持不变,DLY值累加。DLY=(100+1000+1000)/10 *256=53760

Metric=BW+DLY=256000+53760=309760

在R1上查看:

实际结果符合预期。

那么针对重分布路由,Eigrp是如何计算他的开销值呢?

我们在R3上,增加一条静态路由并,将它重分布到Eigrp中。

实际上,通过上图,我们可以看到,在重分布的过程中,会要求你将影响Eigrp Metric值计算的参数进行设置。

这包括了接口带宽、时延、接口可靠性、负载和MTU。而我们知道,实际上影响路由参数计算的只有接口带宽和时延。

其中需要注意的是设置的时延参数为10微秒的时延,而不是我们接口下的每一微秒的时延,两个单位不一致。也就是需要将我们这里设置的值乘以10倍带入计算。

我们将10.1.2.0/24这条静态路由,按照上图所示的参数重分布到Eigrp中,带宽为1000Kbps,也就是1M,时延为2000us。

按照我们之前的计算方法,当R1收到该路由更新时,最小带宽为我们设置的1000Kbps带宽,时延累计为100+1000+2000=3100

所以BW=10^7/接口带宽(Kbps)*256=2560000,DLY=延迟(微秒)/10*256=79360

所以Metric=BW+DLY=2560000+33280=2639360

从R1上看到的结果,符合我们计算的结果。


总结

Eigrp路由协议在计算路由开销—Metric值时,实际最终计算的过程如下:

BW=10^7/接口带宽(Kbps)*256,将路由更新方向,收接口中最小的接口带宽代入计算

DLY=延迟(微秒)/10*256,将路由更新方向,收接口的延迟累加代入计算

Metric=BW+DLY。

这样便可计算出路由开销Metric的值。

其中需要注意的时Eigrp路由协议在进行重分布静态路由时,设置初始值代入计算,其中设置的延迟参数,需要乘10,带入计算。

另外,在实际生产环境中,在同一数据中心区域,由于接口的一致性,很有可能导致BW参数的一致,在这样的情况下,实际影响路由开销Metric值的则是路由更新方向经过的接口的时延的累加。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章