《TCP/IP协议详解》第十章 动态选路协议
来源:互联网 发布:二分查找法的算法过程 编辑:程序博客网 时间:2024/05/19 12:16
引言
- 动态选路协议用于路由间通信
- RIP:选路信息协议
- 动态选路是网间互联的热点。对使用的选路协议和运行程序的路由守护程序进行选择,是复杂的工作
动态选路
- 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路。路由器之间必须采用选路协议进行通信
- 路由器上有一个路由守护程序,它运行选路协议,从相邻的路由器收到信息,更新内核中的路由表
- 如果守护程序发现前往同一信宿存在多条路由,那么它(以某种方法)将选择最佳路由并加入内核路由表中。
- 每个自制系统中各个路由之间的选路协议,称之为内部网关协议(IGP),最常用的IGP是RIP,现在OSPF有取代的趋势
- 不同自制系统之间的协议是EGP,外部网关协议,最常用的是BGP
UNIX选路守护程序
- unix系统上长运行名为routed路由器守护程序,与RIP通信
- 还有一个gated程序,IGP和EGP都支持它
RIP(适用于小型到中型网络的协议)
- RIP是最广为使用(也是最受攻击)的选路协议
正常运行时
- 初始化,启动时发送请求,这是特殊请求。当度量值为16,代表无穷大
- 接受到请求的路由器,判断是否为特殊请求,如果是特殊请求,路由器将完整的路由表发送给请求者。否则,处理请求中的没一个表项
- 接受到响应,更新路由表
- 定期选路更新。每隔一段时间,路由器会将其完整的路由表发送给相邻的路由器
- 触发更新。每当一条路有的度量发生变化,就对它进行更新,只是那些发生变化的表项
度量
- RIP度量是以跳计算的
- 路由器R1通过发送广播到N1通告它与N2之间的跳数是1
- 跳数最大为15,这意味着RIP只能用在主机间最大跳数为15的自制系统内。16代表无路由到达该IP地址
一些问题(RIP缺陷)
- RIP没有子网地址概念,无法确定非0部分是子网号还是主机地址
- 路由器或者链路发生故障的时候,需要很长时间才能稳定下来
- 限制了大小,由于跳数最大为15
RIP2
- 扩充内容利用协议中必须为0的字段传递写额外信息
OSPF(开放最短路径优先)
- 除RIP另一个内部网关协议,客服了RIP所有的限制,区别于采用距离向量(跳数)的RIP协议,OSPF采取的是一个链路状态协议。
- 在一个链路状态协议中,路由器并不与邻站交换距离信息。它采用的是每个路由器主动测试与其邻站的状态,并将这些信息发送给其它邻站,而邻站将这些信息在自治系统中传播出去。路由器接收到这些信息,更新路由表。
- 链路状态协议比距离向量协议收敛更快,当出现故障时,它可以更快的稳定下来
- 与RIP不同的是:OSPF直接使用IP,它不使用UDP和TCP
BGP:边际网关协议
- 不同自治系统的路由器之间进行通信的外部网关协议
- 目的之一是为了减少通过流量
- 与RIP和OSPF不同在于BGP使用TCP作为其传输层协议。两个运行BGP的系统之间建立一条TCP连接,然后交换整个BGP路由表。从这个时候开始,在路由表发生变化时,再发送更新信号。
- 它是距离向量协议
CIDR:无类型域间选路
- 防止路由表膨胀,但是对于选路没有帮助
- “无类型”意思是选路是基于整个32bit IP地址的掩码操作,而不管其地址是A类、B类还是C类
小结
- 了解动态选路什么时候发生?路由器之间的通信,告诉另一个路由器网络连接状况
- 守护程序的作用?进行决策,是否更新路由表
- 了解名词IGP,EGP,RIP,OSPF,BGP,CIDR
- RIP是根据距离向量,OSPF根据链路状态。OSPF的有点,RIP的缺点