0x0 动态路由基本概念

0x0.1 动态路由与静态路由的比较

0x0.2 动态路由的基本功能

  1. 发现路由:发现自己的路由
  2. 通告路由:将自己知道的路由信息告诉其他路由器
  3. 计算路由:根据自己掌握的路由信息进行路由计算,算出最优路由加入路由表
  4. 路由收敛:扑变化后,重新计算出最优路由

0x0.3 动态路由的分类

  1. 按照管理网络能力范围分类
    • IGP:内部网关协议(湖北电信只能配湖北的) RIP、EIGRP、OSPFISIS
    • EGP:外部网关协议(湖北和湖南之间进行路由学习的) EGP、BGP
  2. 按计算路由的算法分类
    • 距离矢量路由协议:RIP、EIGRP、BGP
    • 链路状态路由协议: OSPF、ISIS

0x0.4 常见协议栈

0x0.5 控制层面与转发层面

  • 控制层面 负责衡量路由优劣,判断那条路由能学进全局路由表
  • 转发层面 全局路由表(优先级低的学进全局路由表)、负责查看路由表知道网络间通信

  • 控制层面
    1. 直连发现路由表:如字面
    2. RIP路由表:如字面
    3. OSFP路由表:如字面
    4. 静态来源的路由表:静态配置的路由表
    • 规则:每个路由表的相同路由一起比较->更优的被学进全局路由表
      1. 比较优先级 越小越优
      2. 比较开销 越小越优
      3. 相同 形成负载均衡
  • 转发层面
    全局路由表:指导数据转发

各种来源学习的路由,都保存在路由器控制层面中对应的进程内
不同来源间进行优劣比较后,选出最优的路由学进全局路由表

0x1 why RIP?

  • 静态路由配置太繁琐,对于大型局域网配置过于繁琐
  • 静态路由的可维护性太差,维护起来太繁琐
  • 使用动态路由可以实现路由器自动维护路由表

0x2 how RIP?

0x2.1 RIP路由表的学习方式

  1. rip路由器只能发现自己全局路由表中的路由—–>需要配置命令,需要手动通告(宣告)
  2. rip路由器把自己整个rip路由表发送给其他rip路由器(传言路由)—–>周期性发送(30s)
  3. 收到其他rip路由器发来rip报文(路由表),观察里里面的路由自己是否学过
    • 没学过的)—–>观察跳数—–>小于16跳,写进路由表—–>自身路由表的内容:目标网段下一跳为发送rip报文的路由器,并且把跳数加1
    • 学过的
      1. 跳数比我学过的大—我当前学过的更优秀—–>忽略
      2. 跳数和我学过的相同
        • 下一跳相同—–>进行路由更新
        • 下一跳不同—–>学进rip路由表和之前的路由形成负载均衡
      3. 跳数比我学过的更小—–>学习进rip路由表,替换原有的路由表

0x2.2 RIP报文类型

  • 响应报文:周期性发送的为响应报文
  • 请求报文:刚刚启动时发送的为请求报文
    一个rip响应报文最多只能携带25条报文
    100条路由一次发4个rip响应报文

0x2.3 路由更新机制

  • RIP是一种被动收敛的协议
    1. rip学到路由后,rip进程会给学到的路由一个失效计时器180s,每30s收到一个周期性发送的rip报文,如果能够进行路由更新,刷新失效计时器;
    2. 如果真的失效,失效计时器到了180s仍然没有更新,这条路由会被rip认为失效,任然存在RIP路由表中,但跳数被修改为16跳
    3. 再过60s仍然没有更新,清除路由
  • 更新计时器:30s
  • 失效计时器:180s
  • 清除计时器:240s 最快(240s)

0x2.4 防环机制

  • RIP的防环机制是一种治标不治本的方式,但是的确可以提高无环的可能性
    1. 无穷大计数:16跳设为无穷大—–>太慢了,要等到环路里面的路由相互学习到16跳
    2. 抑制计时器:收到下一跳跳数增大的路由—–>将这一跳设为16跳—–>将无穷大计数加快依然需要等待两次老化 (未从根本解决)
    3. 水平分割:从该接口学到的路由不从该接口发出—–>路由老化后240s
    4. 路由毒化:链路断开,发送16跳的路由通知其他rip路由器—–>等待触发更新30s一次
    5. 触发更新:不必等待更新,直接发送通告—–>配合路由毒化可以直接告知其他RIP路由器,不用等30s
    6. 毒性逆转:从接口学到的路由以无效路由通告出去—–>和水平分割冲突

0x2.5 RIP的缺陷

  1. 收敛慢:240s;某个路由清除需要240s
  2. 不可靠:典型的传言路由,没有验证是否可达,是否正确;容易学到错误的路由
  3. 很容易产生路由环路;某个网段临时性的down掉
  4. 更新慢:Rip每30s更新一次
  5. 浪费带宽:每次将自己的整个RIP路由表发送出去

0x3 what RIP?

0x3.1 RIP的特点

  • rip v1
    1. 自动汇总,不能进行手工关闭
    2. RIPV1是有类别的距离矢量型协议,不携带掩码
    3. 采用广播更新方式(更新地址为:255.255.255.255)
    4. 没有认证
  • rip v2
    1. 可以进行自动汇总,可以进行手工关闭,也可以进行手工汇总
    2. RIPV2是无类别的距离矢量型协议,携带掩码
    3. 采用组播更新方式(更新地址为:224.0.0.9)
    4. 可以进行认证(可明文认证,MD5认证)
  • RIP协议综合特点
    1. DV型协议直连邻居间直接选择共享路由。
    2. RIP,距离矢量协议,基于UDP方式进行分装,端口号为520,最大跳数为15条,16条为不可达,管理距离为120,使用跳数做为度量值,即,每经过一台路由器跳数加
    3. RIP报文使用周期性发送,周期时间为30s,RIPV1更新地址为:255.255.255.255,RIPV2更新地址为:224.0.0.9。

0x3.2 RIP的作用

  • 可以让局域网内运行RIP协议的路由器自动进行路由表的学习,维护,无需管理员手动配置