EIGRP

来自站长百科
跳转至: 导航、​ 搜索

EIGRP增强网关内部路由线路协议,是Cisco公司的私有协议,EIGRP结合了链路状态和距离矢量型路由选择协议的Cisco专用协议,采用弥散修正算法来实现快速收敛,可以不发送定期的路由更新信息以减少带宽的占用,支持Appletalk、IPNovellNetWare等多种网络层协议。

EIGRP的四个组件[ ]

  1. Protocol-Dependent Module(PDM)
  2. 可靠传输协议(Reliable Transport Protocol,RTP)
  3. 邻居的发现/恢复
  4. 弥散更新算法(Diffusing Update Algorithm,DUAL)

EIGRP路由协议特点[ ]

  • 支持多种网络层协议,EIGRP通过使用“协议相关模块”(即protocol-dependentmodule<PDM>),可以支持IPX、ApplleTalk、IP、IPv6和NovellNetware等协议。
  • 快速收敛,链路状态包的转发是不依靠路由计算的,所以大型网络可以较为快速的进行收敛。它只宣告链路和链路状态而不宣告路由,所以即使链路发生了变化不会引起该链路的路由被宣告,但是链路状态路由协议使用的是Dijkstra算法,该算法比较复杂并且和其他路由协议单独计算路由相比较占CPU和内存资源,EIGRP采用弥散更新算法,通过多个路由器并行的进行路由计算这样就可以在无环路产生的情况下快速的收敛.
  • 减少带宽占用,EIGRP不作周期性的更新,它只在路由的路径和速度发生变化以后做部分更新,当路径信息改变以后DUAL只发送那条路由信息改变了的更新,而不是发送整个路由表,和更新传输到一个区域内的所有路由器上的链路状态路由协议相比,DUAL只发送更新给需要该更新信息的路由器。在WAN低速链路上EIGRP可能会占用大量带宽,默认只占用链路带宽50%,之后发布的IOS允许使用命令ip bandwidth-percent eigrp来修改这一默认值。
  • 无缝连接数据链路层协议和拓扑结构,EIGRP不要求对OSI参考模型的层2协议做特别的配置,不像OSPF、OSPF对不同的层2协议要做不同配置,比如以太网和帧中继,EIGRP能够有效的工作在LAN和WAN中,而且EIGRP保证网络及不会产生环路;而且配置起来很简单支持VLSM;它使用多播和单播,不使用广播这样做节约了带宽;它使用和IGRP一样的度的算法但是是32位长的;它可以做非等价的路径的负载平衡。

EIGRP Packet[ ]

EIGRP使用多种类型的packet,这些packet通过IP头部信息里的协议号88来标识:

  1. Hello packet用来发现和恢复邻居,通过组播的方式发送,使用不可靠的发送。
  2. ACK(acknowledgement) packet,不包含数据(data)的Hello包,使用unicast的方式,不可靠的发送。
  3. Update packet,传播路由更新信息不定期的,通过可靠的方式发送,当只有一台路由器需要路由更新时update通过unicast的方式发送,当有多个路由器需要路由更新的时候通过组播的方式发送。
  4. Query(查询)& Reply(应答)packet,查询包可以是组播或unicast,应答包是通过unicast的方式发送并且方式都是可靠的。
  5. Request(请求)packet,最初是打算提供给路由服务器使用的,但是从来没实现过。

EIGRP对环路的解决[ ]

如果EIGRP不考虑环路的问题那么当右图中连接路由3和4的线路断开后会因到不了Network a而使路由1-3相互查询怎么去Network a而产生环路因此EIGRP对于环路的防止考虑两方面:

  • 水平分割(Split Horizon),永远不会在同一个接口下通告一条该接口学到的路由信息。
  • 路由的毒性逆转(Poison reverse),接收路由信息的接口,再从该接口通告出刚才学到的路由为不可达。
  • 触发条件:
  1. 当两台路由器进行邻居初始化时,他们会互相以最大的metric值通告回刚才学到的路由信息(路由中毒)。
  2. 当拓扑发生改变时,会临时关闭水平分割和毒性逆转,重新学习拓扑发送查询请求时会引起水平分割,比如当一个路由器查询一条未知网段去向时,他会向每一个邻居发送查询处于该网段的继承者(successor)会返回查询给该路由器,而该路由器会反馈一个查询结果给其他邻居,不会再次告诉那个继承者要走这个网段应该要经过自己。

相关条目[ ]

参考来源[ ]