1. 理解路由的含义,路由的三个要素
  2. 理解路由的各种生成方式
  3. 理解路由器上的路由表与计算机上的路由表的异同点
  4. 了解路由协议分类的基本情况
  5. 理解RIP协议的工作原理和细节过程
  6. 熟悉RIP消息的报文结构及其封装情况
  7. 熟悉RIP路由环路问题的产生原因及解决方法
  8. 理解各种RIP定时器的功能和作用
  9. 理解OSPF与RIP之间的原理性区别
  10. 了解ODPF与RIP之间的原理性区别
  11. 了解OSPF的区域化结构
  12. 了解OSPF协议报文的分类情况
  13. 了解OSPF支持的网络类型
  14. 理解OSPF协议中链路状态的含义
  15. 理解OSPF链路状态数据库与最短路径树的关系
  16. 了解OSPF链路状态通告的各种类型
  17. 理解OSPF邻居关系与邻接关系
  18. 了解OSPF DR/BDR的基础作用和选举过程

    路由协议基础概念

  • 路由:是指从某一网络设备出发去往某个目的地的路径;
  • 路由表:是若干条路由信息的一个集合体。(路由表只存在于终端计算机和 路由器/三层交换机)
  • 路由三要素

    • 目的地/掩码
    • 出接口
    • 下一条IP地址_

      路由信息的来源

      路由信息的生成方式有三种:
  • 设备自动发现(直连路由)

  • 手工配置(静态路由)
  • 通过动态路由协议生成(动态路由)

    直连路由

    网络设备启动后,当设备接口状态UP时,设备能够自己发现去往与自己的接口直接相连的网络的路由。

  • 某一网络与某台网络设备的某个接口直连,是指这台设备的这个接口已经位于这个网络之中。

  • 某一网络是与某台网络设备直连,是指这个网络是与这个设备的某个接口直接相连。

image.png

静态路由

问:为什么要在数据链路层和网络层使用不同的地址来完成寻址?物理地址和逻辑地址在使用层面上到底存在什么样的不同?
答:MAC地址可类比于人脸,IP地址可类比于邮政地址。MAC地址随网卡移动、无法归类,只能在局域网层面实现寻址。因此MAC寻址和IP地址寻址不能相互替代。MAC地址表示的更多的是“我是谁”,而不是“我在哪里”。
拓展:在小范围内(局域网)可以通过MAC寻址,但是在大范围内,设备只能通过IP地址来进行寻址。
image.png
优点

  • 管理员手动配置至路由表中的条目相对于路由器动态学习的条目而言要更加稳定
  • 静态路由比动态路由更加可控
  • 静态路由也比动态路由更容易部署

缺点

  • 静态路由的扩展性很差
  • 静态路由无法反映拓扑的变化

    动态路由

    “路由协议”和“动态路由协议”其实是一回事,我们有静态路由,但无静态路由协议。

  • 动态路由:网络设备通过运行路由协议而获取到的路由被称为动态路由。

动态路由信息能够实时地反映出网络结构的变化。一台路由器可以同时运行RIP路由协议和OSPF路由协议。路由器除了会创建并维护一个IP路由表外,还会分别创建并维护一个RIP路由表和一个OSPF路由表。通过一些优选法则筛选后,某些RIP路由表中的路由项以及某些OSPF路由表中的路由项才能被加入进IP路由表,而路由器最终是根据IP路由表来进行IP报文的转发工作。计算机不运行任何路由协议,计算机上只有一个IP路由表。

Windows下CMD终端查看路由表:

  1. C:\Users\lenovo>route print
  2. ===========================================================================
  3. 接口列表
  4. 10...6c 4b 90 d4 a9 20 ......Realtek PCIe GBE Family Controller
  5. 17...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
  6. 5...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
  7. 1...........................Software Loopback Interface 1
  8. ===========================================================================
  9. IPv4 路由表
  10. ===========================================================================
  11. 活动路由:
  12. 网络目标 网络掩码 网关 接口 跃点数
  13. 0.0.0.0 0.0.0.0 192.168.6.1 192.168.6.233 25
  14. 127.0.0.0 255.0.0.0 在链路上 127.0.0.1 331
  15. 127.0.0.1 255.255.255.255 在链路上 127.0.0.1 331
  16. 127.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
  17. 192.168.6.0 255.255.254.0 在链路上 192.168.6.233 281
  18. 192.168.6.233 255.255.255.255 在链路上 192.168.6.233 281
  19. 192.168.7.255 255.255.255.255 在链路上 192.168.6.233 281
  20. 192.168.128.0 255.255.255.0 在链路上 192.168.128.1 291
  21. 192.168.128.1 255.255.255.255 在链路上 192.168.128.1 291
  22. 192.168.128.255 255.255.255.255 在链路上 192.168.128.1 291
  23. 192.168.232.0 255.255.255.0 在链路上 192.168.232.1 291
  24. 192.168.232.1 255.255.255.255 在链路上 192.168.232.1 291
  25. 192.168.232.255 255.255.255.255 在链路上 192.168.232.1 291
  26. 224.0.0.0 240.0.0.0 在链路上 127.0.0.1 331
  27. 224.0.0.0 240.0.0.0 在链路上 192.168.128.1 291
  28. 224.0.0.0 240.0.0.0 在链路上 192.168.232.1 291
  29. 224.0.0.0 240.0.0.0 在链路上 192.168.6.233 281
  30. 255.255.255.255 255.255.255.255 在链路上 127.0.0.1 331
  31. 255.255.255.255 255.255.255.255 在链路上 192.168.128.1 291
  32. 255.255.255.255 255.255.255.255 在链路上 192.168.232.1 291
  33. 255.255.255.255 255.255.255.255 在链路上 192.168.6.233 281
  34. ===========================================================================
  35. 永久路由:
  36. IPv6 路由表
  37. ===========================================================================
  38. 活动路由:
  39. 接口跃点数网络目标 网关
  40. 1 331 ::1/128 在链路上
  41. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fe0c:a10b
  42. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fedb:9793
  43. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fee3:e36e
  44. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fe9e:ba13
  45. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:feb0:387f
  46. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fea2:93ad
  47. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fe92:31b5
  48. 10 281 fdbe:9bb2:27c1::/48 fe80::5054:ff:fe00:8a61
  49. 10 281 fdbe:9bb2:27c1::/64 在链路上
  50. 10 281 fdbe:9bb2:27c1:0:54b7:92b2:ea03:7a4a/128
  51. 在链路上
  52. 10 281 fdbe:9bb2:27c1:0:5d98:1dfb:7083:f7ed/128
  53. 在链路上
  54. 5 291 fe80::/64 在链路上
  55. 17 291 fe80::/64 在链路上
  56. 10 281 fe80::/64 在链路上
  57. 5 291 fe80::9bf:e34e:6bee:5b3c/128
  58. 在链路上
  59. 10 281 fe80::5d98:1dfb:7083:f7ed/128
  60. 在链路上
  61. 17 291 fe80::88c1:dd0:f72c:3097/128
  62. 在链路上
  63. 1 331 ff00::/8 在链路上
  64. 5 291 ff00::/8 在链路上
  65. 17 291 ff00::/8 在链路上
  66. 10 281 ff00::/8 在链路上
  67. ===========================================================================
  68. 永久路由:

路由的优先级,规定优先级的值越小,路由的优先级越高。当存在多条目的地/掩码相同,但来源不同的路由时,具有最高优先级的路由成为了最优路由,并被加入进IP路由表中,而其他路由处于未激活状态,不出现在IP路由表中。设备上的路由优先级一般有缺省值。

路由的开销

一条路由的开销是指到达这条路由的目的地/掩码需要付出的代价值。同一条路由协议发现有多条路由可以到达同一目的地/掩码时,将优选开销最小的路由。
RIP协议将“跳数”作为开销。

默认路由

默认路由(Default route),是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。目的地不在路由器的路由表里的所有数据包都会使用默认路由。这条路由一般会连去另一个路由器,而这个路由器也同样处理数据包: 如果知道应该怎么路由这个数据包,则数据包会被转发到已知的路由;否则,数据包会被转发到默认路由,从而到达另一个路由器。每次转发,路由都增加了一跳的距离。

路由协议

路由协议概述

介绍路由协议之前需要简单了解一下自治系统(Autonomous System,AS)的概念。一个自制系统是指由若干个二层网络及若干台路由器组成的集合,集合中的这些网络及路由器均属于同一个管理机构。

路由协议分为两大类,一类成为IGP(Interior Gateway Protocol,内部网关协议),另一类称为EGP(Exterior Gateway Protocol,外部网关协议)。IGP的成员有RIP(Routing Information Protocol)协议、OSPF(Open Shortest Path Fitst)协议、IS-IS(Intermediate System to Intermediate System)协议等。EGP包含若干成员协议,但目前在实际网络中得到应用的只有BGP(Border Gateway Protocol)协议。

通常情况下,一个自治系统中的所有路由器需要运行同一种具体的、由该自治系统的管理机构指定的IGP协议(有时运行不同的IGP协议)。IGP协议的运行,就会使得自治系统中的每一台路由器都能够发现通往本自治系统内各个目的网络的路由。在一个由多个自治系统组成的 internet 中,通常还需要通过BGP协议来实现不同自治系统之间的路由交换。通过这种交换,一台路由器不仅能发现通往本自治系统内各个目的网络的路由,而且还能够发现通往其他自治系统中的目的网络的路由。
image.png

RIP协议基本原理

RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。RIP应用于OSI网络七层模型的应用层。各厂家定义的管理距离(AD,即优先级)如下:华为定义的优先级是100,思科定义的优先级是120。相比于其他各种路由协议,RIP协议最为简单且易于实现。

一台RIP路由器在创建RIP路由表之初,只包含了该路由器自动发现的直连路由。在一个RIP网络中,每台RIP路由器都会每隔30秒钟向它所有的邻居路由器发布它的最新的RIP路由表中的所有路由信息,同时不断接收它的邻居路由器发来的路由信息,并根据这些接收到的路由信息来更新自己的RIP路由表,如此循环往复,这个过程被称为路由交换过程。经过足够长的时间后,RIP路由表不再变化,实现RIP路由收敛。当网络结构发生改变后,稳定状态会被打破,但随着路由交换的进行,RIP路由表会重新实现收敛。

RIP路由表的形成(距离矢量算法)

《HCNA网络技术学习指南》P174

假如RIP路由器Rx和RIP路由器 Ry 互为邻居路由器。假设 Ry 的 RIP 路由表中存在一条目的地/掩码为 z/y 的路由,该路由的 Cost (跳数)为 N(1<=N<=16) 。当 Ry 把这条路由信息通过自己的 Interface-y 接口发送给 Rx,且 Rx 通过自己的 Interface-x 接口接收到这条路由信息后(注意,Rx 的 Interface-x 接口和 Ry 的 Interface-y 接口位于同一个二层网络中),Rx会根据如下的更新算法(该算法称为距离矢量算法,其基本思想是由 Bellman-Ford 提出的,所以也成为 Bellman-Ford 算法)来更新自己的RIP路由表。在下面的算法中,如果 N+1 小于16,则规定 M 的值为 N+1;如果 N+1 等于或大于 16 ,则规定 M 的值为16。
image.png

  1. 如果 Rx 的 RIP 路由表中不存在目的地/掩码为 z/y 的路由项,则 Rx 会在自己的 RIP 路由表中添加一个路由项,该路由项的目的地/掩码为 z/y ,出接口为 Rx 的 Interface-x 接口,下一条 IP 地址为 Ry 的 Interface-y 接口的 IP 地址, Cost 为 M 。
  2. 如果 Rx 的 RIP 路由表中已经存在一条目的地/掩码为 z/y 的路由项,且该路由项的下一跳 IP 地址为 Ry 的 Interface-y 接口的 IP 地址,则 Rx 会将该路由项的出接口更新为 Rx 的 Interface-x 接口(其实,更新后的出接口与更新前的出接口均为 Rx 的 Interface-x 接口),下一跳 IP 地址更新为 Ry 的 Interface-y 接口的 IP 地址(其实,更新后的下一条 IP 地址与更新前的下一条 IP 地址均为 Ry 的 Interface-y 接口的 IP 地址),Cost 更新为 M。
  3. 如果 Rx 的 RIP 路由表中已经存在一条目的地/掩码为 z/y 的路由项,且该路由项的下一条 IP 地址不是 Ry 的 Interface-y 接口的IP地址,并且该路由项的 Cost 大于 M,则 Rx 会将该路由项的出接口更新为 Rx 的 Interface-x 接口,下一条 IP 地址更新为 Ry 的 Interface-y 接口的 IP 地址,Cost 更新为 M。
  4. 如果 Rx 的 RIP 路由表中已经存在一条目的地/掩码为 z/y 的路由项,且该路由项的下一条 IP 地址不是 Ry 的 Interface-y 接口的 IP 地址,并且该路由项的 Cost 小于或等于 M,则该路由项的出接口、下一跳 IP 地址以及 Cost 均保持不变。也就是说, Rx 不会对该路由项进行更新。

    生成树协议(STP)

    生成树协议(英语:Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源。

    冗余性

    为解决单点故障问题,企业常常会在网络中部署冗余。
    冗余的引入可以增加网络的可用性,但却可能形成一个封闭的信息环路,最终给通信系统带来毁灭性的影响。
    重复帧的出现说明网络中存在不合理的冗余链路。
    在不同端口收到源MAC地址相同的数据帧,导致MAC地址表条目发生变动的现象,称为MAC地址表震荡或MAC地址表翻动,这种现象往往说明网络中存在环路。
    广播帧无法停止泛洪,引发广播风暴。

    STP协议作用

    由来:如果无法通过逻辑打破环路,就很容易造成网络崩溃。
    作用:在拥有冗余链路的交换环境中,既保证每个节点可达,又能打破网路中的逻辑环路。

    STP协议原理

    为了在物理的有环交换环境中创建出一个逻辑的无环环境,会根据一些规则判断出哪些端口能够转发数据,哪些端口不能转发数据(避免造成环路),从而暂时禁用这些有可能造成环路的端口。
    STP不会再打破环路后就停止工作,它会实时监控各个端口和链路的状态,当正在转发的端口和链路出现故障时,STP会启用一些被禁用的端口,以此实现网络的自我恢复。

    术语

  • 根端口:交换网络中的一些端口,负责转发数据
  • 指定端口:交换网络中的一些端口,负责转发数据
  • 预备端口:一些端口,处于阻塞状态,不能转发数据。预备端口是在选举中全部落选的端口。

    STP选举方法

    通过比较BPDU(桥协议数据单元)中携带的信息进行选举。为了确保叫环节之间的通信,就需要它们之间能够交换数据,出于交换机自身决定端口角色目的交换的数据帧被称为BPDU,携带者桥ID\根桥ID、跟路径开销等信息。

    STP工作流程

  • 选举根网桥:每个STP网路中都有且只有一台根网桥(根交换机),作为根网桥的这台交换机就是STP所构建的生成树的根。

    • 桥ID数值最小的当选
  • 选举根端点:非根交换机选择出距离根网桥最近的端口。
    • 选举出STP网络中每台交换机上与根交换机通信效率最高的端口
  • 选举指定端口:位于同一网段中的所有端口之间选择出一个距离根网桥最近的端口。
    • 选择根路径开销(PPC)最低的端口
    • 选择RPC相等中桥ID最低的端口
    • 选择桥ID相等中端口ID最低的端口
  • 阻塞剩余端口:将既不是根端口也不是指定端口的其他端口置于阻塞状态。

    参考文献

  • 生成树协议- 百度百科

  • RIP协议 - 百度百科
  • Windows路由表详解
  • 默认路由 - 百度百科

    参考书籍

    《HCNA网络技术学习指南》

    HCNA网络技术学习指南(华为技术认证).pdf