EIGRP
EIGRP:增强型内部网关路由协议,基于距离矢量的无类路由协议,但是不使用跳数作为度量,而是使用带宽、延迟,可靠性、负载组成的复合度量,使用DUAL(扩散更新算法)
RIP协议,它的每个路由条目会过期,因此需要定期发送路由表更新
EIGRP,不会发送定期更新,路由条目也不会过期,仅当路由信息,如新增链路或者链路不可用时才会产生路由更新
RIP仅记录通往目的网络的最优路径,链路改变时要等待路由更新,之后才可以获得到达该目的网络的其他路径
EIGRP在路由表之外还另外维护一个拓扑表,不仅记录了最优路径,还包含备份路径,一旦首选的最优路径不可达,DUAL会在其拓扑表中搜索有用的备份路径,如果搜索到就会立即输入到路由表中,替代原来的最优路径,如果找不到,则DUAL会执行网络发现过程,重新在网络里面寻找一条可用的路由
EIGRP消息的数据部分被封装在数据包内,被称为类型/长度/值或TLV
EIGRP数据包报头和TLV一起被封装在一个IP数据包中
可靠传输协议RTP是EIGRP用于发送和接收EIGRP数据包的协议
EIGRP被设计为与网络层无关的路由协议,因此它不无法使用TCP和UDP提供的服务
五种数据包:
EIGRP HELLO:在邻居之间传输,用于发现邻居并与之建立连接关系,以组播方式发送,使用不可靠传输,无需接收方做出响应
更新数据包:用于传输路由信息。
因为EIGRP仅仅在必要的时候才需要发送更新数据包,所有这个更新数据包只包含有变化的,需要更新的路由信息,且只发送给需要该信息的路由器
确认数据包:以单播的形式发送,用来确认更新、查询、答复数据包。当使用可靠的RTP时自动重传数据包
查询数据包:当一条链路失效,路由器重新计算路由信息,但在拓扑表没有可行的后继路由时,路由器以组播的方式向它的邻居发送一个查询包,询问它们是否有一条到达目的地的后继路由
应答数据包:以单播形式回传给查询方,对查询数据包进行应答
EIGRP路由区域内的所有路由器必须使用相同的进程ID号,范围1-65535
配置:
1 2 3 | 全局模式下: router eigrp 1(进程号) //开启EIGRP功能 network 172.16.2.0 0.0.0.255(宣告直连网络,网络号+反掩码) |
查看:路由器必须建立邻居关系(通过hello建立)之后,才可以发送更新信息
1 2 3 4 5 6 7 8 9 10 | <em id= "__mceDel" >show ip eigrp neighbors //查看邻居路由表<br> 字段:Hold-与邻居建立会话的顺序 Add:邻居路由器接口地址 Interface:本地到邻居路由器的几口 Hold :认为邻居关系不存在所能等待的最大时间 Uptime:从邻居关系建立到目前的时间 SRTT:是向邻居路由器发一个数据包以及本路由器收到确认包的时间 RTO:路由器在重新传输包之前等待ACK的时间 QCnt :等待发送队列 Seq Num:从邻居收到的发送数据包的序号<br>show ip protocols //查看使用的路由协议<br>show ip route//查看路由表<br><br></em> |
EIGRP会自动添加Null0汇总路由
禁止自动汇总
1 | no auto-summary<br><br>手动汇总<br>接口模式下<br>IP summary-address eigrp 1 192.168.0.0 255.255.248.0<br>show ip eigrp topology //查看拓扑表 <br><br> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)