当前位置: 首页 > article >正文

CCNP知识笔记

路由选路原理

路由信息来源


路由信息怎么来的?
直连路由(C):

  • 通过直连接口UP产生智联路由条目(物理层UP+数据链路层UP)

静态路由(S):

  • 通过网络管理员逐条写入的路由条目,不会随网络状况的改变而改变
  • 通常情况下适用于小型网络。
  • 优点:稳定,安全性高,不会产生更新所以呀不占用链路贷款。
  • 缺点:配置复杂,需要手动维护“增删改”。

动态路由Dynamic Routing:

  • 通过不熟动态路由协议,路由设备之间相互传递,得到的条目。
  • 通常情况下适用于中大型网络(按照实际网络要求选择协议)
  • 运行了动态路由协议的设备之间有感知机制,会交互“控制层面”的报文。
  • 优点:配置简单、方便管理、极大的降低了管理员的工作量。
  • 缺点:占用物理硬件资源(设备计算,链路贷款)、安全风险、计算失误。

原理

管理距离(AD)(可信度)

E

有类以及无类路由查找

  • 无类路由查找(ip classless):路由器不会注意目的地址的类别,它会在目的地址和所有己知的路由之间逐位(bit by bit)执行最长匹配
  • 有类路由查找(noip classless):路由器收到心个数据包时,先查找目的地址所属主类,如果路由表中有主类路由,则再去找子网,如果有子网路由,则查询被限定在子网中,并进一步查找,如果最终查找失败,则丢弃数据包,即使有默认路由存在;如果本地没有该主类路由,则看是否有默认路由,如果有,则转发如果无,则丢弃。

 

无类查找是无论什么类型的IP都进行查找,直到找到匹配路线,比较慢。而有类差查找会查找同类型的IP,不会查找非同类型的IP,而且查找到匹配路线后就会放弃查找

最长匹配原则

  • 主机地址(主机路径)
  • 子网
  • 一组子网(汇总路由)
  • 主网号
  • 超网(CIDR)
  • 缺省地址


路由表的递归查询


R1为源,R3为目的,想要到达30.0,查到需要先到23.0,如何到23.0,又查到需从12.2,最后是从S0/0接口发出信息,就是这样的一步一步的递归查询

在我们手动配置时,需要在R1上配置
ip route 192.168.23.0 255.255.255.255 192.168.12.0
这就是R1可以以下一条为R2的路径去连通R3.


原理可以理解成送快递,从北京发往南京,北京的店铺和南京收货人地址都是一个逻辑地址,但是不可能通过一个人直接发往,应该是一层一层转过去。用户和发货商才是实际地址,相当于MAC,逻辑地址相当于IP。而IP相当于是送货点和收货点,这是不可以更改的,MAC是促进层层递进的,每次都需要更改,每次路由器收到信息时都需要拆封表皮(MAC),保留内皮(IP)。


路由选择主要参照两个量:
控制:即采用协议,如static,RIP,OSPF,EIGRP,IS-IS等等。
数据:即路由信息(怎么去),包含目标(IP+mask),via(下一跳),Cost(度量值)。
一般不同协议之间比较的是优先级(AD,管理距离),相同协议直接比较的是metric,不同协议比较的不同,EIGRP比较的是贷款延迟、OSPF比较的是带宽,等等。
相同路由下才会比较,掩码不同时基于最长掩码匹配原则,越长越精准

故,要去1.0的路线将A路线加进掩码为25位的路由表里,又因为管理距离(AD)90又加了C在24位掩码路由表里,而2.0的路线在路由相同的情况下仅添加D

EIGRP协议基础

抓包路由器间的信息


先是2已有EIGRP协议,而1没有,故一开始收到2的hello包,但是并没有回应。在给一配置EIGRP之后,1也开始发送hello包,两者收到对方的hello包之后便开始更新各自的报文,ACk确认了,就建立起了邻居关系。

在我们用2向邻居喊话时,抓包可以看看到2发给1的更新路由


我们在配置EIGRP时后面的1是AS号,如果要起邻居关系必须是AS号一致。这是和OSPF不一样的

OSPF是进程号,本地有效

总结EIGRP邻居形成条件:

  • AS号验证:邻居之间AS号必须相同
  • 价值观:理论是参照5K,但是实际参考带宽和延迟两个参数。
  • “暗号”一致:认证和加密方式必须相同。

关于route-id

仅仅是一个名字的含义,并没有太多含义,好比出国起了一个外国名字

如果没有route-ID就会去调用loopback0的地址,再没有就去调用 2、 里的地址,哪个大调用哪个,图中就会调用192.168.3.254


手动宣告邻居表,将12.1.1.1这个地址宣告给其他邻居


拓扑表,小括号里的数字,前者是可行距离(FD),后者是通告距离


检查接口,从左到右依次是最大可行距离,带宽,延迟

手动更改接口带宽,要注意的是,改的仅是参考值,给协议看的,并非实际带宽

手动更改延迟,要注意的是,延迟会是你输入的数字的十倍


以上实验



在R1上配置loopback0接口地址并且如图宣告出去,

在R2上收到的路由如图所示


路由表上的跟宣告没有关系,仅和配置的IP有关。


从R1到R4、5会有两条路线,因为用的线路是一样的,所以两条路线都会被保留在路由表

拓扑表里可行距离和通告距离都是一样的。
如果我们想要仅使用一条路线,根据EIGRP协议参考,可以更改带宽或者延迟(并不会更改实际数值)来选择,由于带宽较麻烦,我们便更改延迟。

我们将R2接口延迟改成10,也就是100延迟,相较于原本的1000延迟快很多,所以R1路由表就保留了R2的路线,而R3路线仅会在拓扑表里当备胎

一个有时会犯的错误,有时会忘记延迟十倍这件事,故而延迟被我们调的很大


我们发现R1连拓扑表里都没有了R3的路线,这是为什么呢?

我们看R3的拓扑表,发现去R4那条的路线有两条,一条是直接去,另一条就是通过R2去到R4,而且后者优先级更高。意思是R3通往R4的路本身就是从R2走更优,故而R1问R3的时候,R3这条路不会被通告给R1,于是就形成了只有一条路的情况。

R3通往R4的路是R2发给他的,收到信息的R3不会再发给R1。
从一个接口收到的路由不会从这个接口发出去——防环

路由汇总


在R1的环回接口配1.1,剩下的几个接口加了secondary,意思是子地址

这样我们仅能查看到1.1这一个地址,但是我们可以查看到其他地址的路由

我们在R2这里配一个新地址

这六个地址都是要宣告在EIGRP里的

记得开启自动路由汇总


一开始R3收到的路由会是全部的地址

在R2这里我们汇总路由,是将10.1.所有的地址都汇总

这样就只会收到一个,且通告距离是用的近的

汇总之后,在R2里,这个汇总路由的管理距离是5,是非常高的,但是R2发送给R3之后,R3这边的路由就又会变成正常的90的管理距离了,发送给其他路由器会是90,不过返回给R2的话R2会拒收,因为这里有一份

EIGRP参考值


K1=1这是权重,EIGRP默认是参考两个值的(即带宽和延迟),不过也可以对路由进行修改

这里修改成了参考五个值,如果仅修改这一个,那么邻居就会分离,因为价值观不同了、


主要是接口的不同,所以我们直接改R4接口


原本由于线路原因,R4甚至不能成为备胎,不过在改过接口之后就会成为备胎。不过只能在拓扑表里待着,因为可行距离太大

OSPF没有默认等价负载功能,EIGRP默认四条等价负载,但是可以改到32条


这种情况就是无等价负载,只能有一条线路,剩下的都在拓扑表当备胎

 

通过修改V值(Variamce、平衡因子)来实现不等价负载——即使备胎也可以帮忙传输
V值计算:
A是可行线路的可行距离,B是备胎的可行距离


成功从备胎“转正”了

大致比例就是A/B



我们可以看到R3去10.1.1.0有两条线路,路由里仅有13.1,拓扑表里有两条,这也就是S和FS

通过debug方式去看Q和R的报文

再shutdownR1的loopback0接口,



EIGRP的stub功能,告诉总部我是一个不重要的分部,然后我的分支不会汇报到总部去,我的hello包里只有直连和汇总的路由,而且拒绝和阻止查询

这样的话,如果R3有很多1.2 1.3 1.4这样的分支,就不会汇报到总部,减少R1和R2的路由压力

这种情况下就没这么复杂了,R1loopback0断开之后的debug可以看出来
我们在监听里加一个update,可以看到R3直接告诉他们10.1不可达


http://www.kler.cn/a/563929.html

相关文章:

  • Web网页开发——水果忍者
  • Python高并发原理与实战解决方案指南
  • Oracle23版本 创建用户 报 00959和65096错误解决办法
  • 【mysql中mvcc的含义和作用及原理】
  • k8s中pod的调度策略之pod的亲和性调度与反亲和性调度 一文搞懂 k8s中创建的pod如何调度?
  • Protobuf
  • 取topN不同算法的实现的性能差别
  • 记录一下在k3s快速创建gitlab
  • C++ Qt常见面试题(2):QT中的文件流(QTextStream)和数据流(QDataStream)的区别
  • kotlin 知识点三 扩展函数和运算符重载
  • java后端开发day21--面向对象进阶(二)--继承进阶
  • 实习复习DAY1
  • LLM大语言模型私有化部署-使用Dify的工作流编排打造专属AI诗词数据分析师
  • 进入DeepSeek部署第一阵营后,奇墨科技推进多元应用场景落地
  • CentOS系统安装NFS
  • Harmony开发笔记(未完成)
  • Linux部署dnsmasq软件
  • OpenCV(10):视频目标跟踪、视频背景减除
  • [2/11]C#性能优化-不要使用空析构函数-每个细节都有示例代码
  • 结构型模式 - 组合模式 (Composite Pattern)