《TCP/IP协议详解》第十章 动态选路协议

来源:互联网 发布:二分查找法的算法过程 编辑:程序博客网 时间:2024/05/19 12:16

引言

  1. 动态选路协议用于路由间通信
  2. RIP:选路信息协议
  3. 动态选路是网间互联的热点。对使用的选路协议和运行程序的路由守护程序进行选择,是复杂的工作

动态选路

  1. 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路。路由器之间必须采用选路协议进行通信
  2. 路由器上有一个路由守护程序,它运行选路协议,从相邻的路由器收到信息,更新内核中的路由表
  3. 如果守护程序发现前往同一信宿存在多条路由,那么它(以某种方法)将选择最佳路由并加入内核路由表中。
  4. 每个自制系统中各个路由之间的选路协议,称之为内部网关协议(IGP),最常用的IGP是RIP,现在OSPF有取代的趋势
  5. 不同自制系统之间的协议是EGP,外部网关协议,最常用的是BGP

UNIX选路守护程序

  1. unix系统上长运行名为routed路由器守护程序,与RIP通信
  2. 还有一个gated程序,IGP和EGP都支持它

RIP(适用于小型到中型网络的协议)

  1. RIP是最广为使用(也是最受攻击)的选路协议

正常运行时

  1. 初始化,启动时发送请求,这是特殊请求。当度量值为16,代表无穷大
  2. 接受到请求的路由器,判断是否为特殊请求,如果是特殊请求,路由器将完整的路由表发送给请求者。否则,处理请求中的没一个表项
  3. 接受到响应,更新路由表
  4. 定期选路更新。每隔一段时间,路由器会将其完整的路由表发送给相邻的路由器
  5. 触发更新。每当一条路有的度量发生变化,就对它进行更新,只是那些发生变化的表项

度量

  1. RIP度量是以跳计算的
  2. 路由器R1通过发送广播到N1通告它与N2之间的跳数是1
  3. 跳数最大为15,这意味着RIP只能用在主机间最大跳数为15的自制系统内。16代表无路由到达该IP地址

一些问题(RIP缺陷)

  1. RIP没有子网地址概念,无法确定非0部分是子网号还是主机地址
  2. 路由器或者链路发生故障的时候,需要很长时间才能稳定下来
  3. 限制了大小,由于跳数最大为15

RIP2

  1. 扩充内容利用协议中必须为0的字段传递写额外信息

OSPF(开放最短路径优先)

  1. 除RIP另一个内部网关协议,客服了RIP所有的限制,区别于采用距离向量(跳数)的RIP协议,OSPF采取的是一个链路状态协议
  2. 在一个链路状态协议中,路由器并不与邻站交换距离信息。它采用的是每个路由器主动测试与其邻站的状态,并将这些信息发送给其它邻站,而邻站将这些信息在自治系统中传播出去。路由器接收到这些信息,更新路由表。
  3. 链路状态协议比距离向量协议收敛更快,当出现故障时,它可以更快的稳定下来
  4. 与RIP不同的是:OSPF直接使用IP,它不使用UDP和TCP

BGP:边际网关协议

  1. 不同自治系统的路由器之间进行通信的外部网关协议
  2. 目的之一是为了减少通过流量
  3. 与RIP和OSPF不同在于BGP使用TCP作为其传输层协议。两个运行BGP的系统之间建立一条TCP连接,然后交换整个BGP路由表。从这个时候开始,在路由表发生变化时,再发送更新信号。
  4. 它是距离向量协议

CIDR:无类型域间选路

  1. 防止路由表膨胀,但是对于选路没有帮助
  2. “无类型”意思是选路是基于整个32bit IP地址的掩码操作,而不管其地址是A类、B类还是C类

小结

  1. 了解动态选路什么时候发生?路由器之间的通信,告诉另一个路由器网络连接状况
  2. 守护程序的作用?进行决策,是否更新路由表
  3. 了解名词IGP,EGP,RIP,OSPF,BGP,CIDR
  4. RIP是根据距离向量,OSPF根据链路状态。OSPF的有点,RIP的缺点