# 路由器

:Router 。

  • 工作在网络层。
  • 路由器可以通过转换下面两层的协议、转发 IP 数据包,将不同类型的局域网连接起来,还可以让局域网连接到广域网。
  • 路由器可以通过多个端口连接多个网络,每个端口都会被分配独立的 IP 地址。

# 基本职责

  • 路由选择:是指路由器接收到一个数据包后,在路由表中查找通往目的 IP 地址的目的端口和下一跳路由器的 IP 地址。
  • 分组转发:分为直接转发和间接转发两种。
    • 当源主机和目的主机位于同一个网段时路由器将 IP 分组直接转发给目的主机,否则转发给下一跳路由器,由它间接转发。
    • 分组转发的第一步是把下一跳路由器的 IP 地址解析成 MAC 地址,然后把 IP 分组的目的 MAC 地址改为该地址,在数据链路层进行转发。所以 IP 分组在转发时目的 MAC 地址总在变化(每经过一跳路由器就改一次源 MAC 地址和目的 MAC 地址,但经过交换机等下层设备时 MAC 地址不变),而目的 IP 地址保持不变。

# 路由表

  • 路由表中的主要几列信息:目的 IP 地址、目的地址所连接的端口号、下一跳路由器的 IP 地址、缺省路由。
  • 缺省路由是一条特殊的静态路由,指向该路由器的缺省网关。当路由表中查找不到某个数据包的路由时,就把该数据包转发给缺省网关,由它选择路由。
    • 缺省路由的 IP 地址和子网掩码全为 0 ,用 IPv4 地址表示是 0/0 ,用 IPv6 地址表示是::/0 。
  • 路由规则的分类:
    • 静态路由:由用户手动设置。
    • 动态路由:由路由器自动建立和维护。
      • 静态路由的优先级最高,当动态路由与静态路由冲突时,路由器会优先采用静态路由。

# 路由选择算法

路由选择算法是路由选择的核心,用于生成路由表。分类如下:

  • 静态路由选择算法:计算量小,灵活性差。有固定路由法、最短路径法、随机路径法、扩散路径法等。
  • 动态路由选择算法:又称为自适应路由选择算法,能根据网络拓扑结构和通信量的变化改变路由,计算量大,灵活性好。常见的几种:
    • 距离矢量算法
      • :选出距离矢量最短的路径作为最优路径。
      • 各个路由器把自己路由表中改变的路由发送到相邻的路由器,所有路由器的路由表会逐渐趋于统一。
      • 每条路由以(距离,方向)的矢量格式发送,例如(5 ,RouterA)表示到路由器 A 还有 5 跳的距离。
      • 收敛速度慢,计算量小,适用于小型网络。
    • 链路状态算法
      • :又称为最短路径算法。用结点表示路由器,用边表示路由器之间的物理链路,选出最小代价的链路作为最优路径(链路的代价主要由带宽决定)。
      • 各个路由器把链路状态分组 LSP(包括自身所连接的链路状态、链路费用、链路两端的路由器等信息)发送到相邻的路由器,使得每个路由器都知道整个网络的拓扑结构,可以建立以该路由器为根、通往其它路由器的生成树,从而独自计算出路由表。
      • 收敛速度快,当网络结构发生变化时能更快地改变路由表,计算量大,适用于大型网络。
    • 混合型路由算法

# 动态路由协议

  • 动态路由协议能在网络的状态变化时自动改变路由表。
  • 自治系统(Autonomous system ,AS):指由某个组织管理的某个网络,包含一些主机 IP ,其中某个主机担任网关路由器。
    • 全球互联网分为很多个 AS 域。每个 AS 之内用内部网关协议管理,而 AS 之间用外部网关协议管理。
    • 每个 AS 域拥有一个数字编号,称为 ASN 。取值范围 1~64511 供互联网使用,取值范围 64512~65535 供私网使用。
    • 例如中国电信的 China163 骨干网的 ASN 为 AS4134 。
  • 内部网关协议(Interior Gateway Protocol ,IGP)
    • 路由信息协议(RIP)
      • :比较简单,根据跳数选择最优路径,最多支持 15 跳的距离。每隔 30 秒广播一次路由信息,容易造成广播风暴。
    • 开放最短路径优先协议(OSPF)
      • :将网络分成多个区域,不同区域之间不传递 LSP ,从而减少路由器的负担。
      • 使用 IP 协议传递 LSA(链路状态通告)。
    • IGRP
      • :专用于 CISCO 路由器,其增强版为 EIGRP 。
  • 外部网关协议(Exterior Gateway Protocol ,EGP)
    • 边界网关协议(Border Gateway Protocol ,BGP)
      • 属于应用层协议,默认监听 TCP 179 端口。
      • 不同 AS 的路由器可通过 BGP 协议对等连接,通告路由信息,从而生成从一个 AS 到另一个 AS 的路由表。
      • RIP、IGRP、EIGRP、BGP 都采用距离矢量算法,而 OSPF 采用链路状态算法。
      • 例:
        • 某公司自建了两个机房,用一条专线连通它们,并通过 BGP 协议互通路由。
        • 国内有的机房是电信线路,联通用户访问时网速慢。BGP 机房融合了电信、联调、移动线路,会根据用户的来源网络,自动选择网速最好的路由进行回复,还能准备几条冗余线路。

# 访问控制列表

:Access Control List(ACL),用于对通过路由器端口的 IP 数据包进行过滤。

# VRRP

  • 虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP):一个用于选举路由器的网络协议,工作在第二层,只能在单个子网内生效。
  • 一个子网中一般只有一个路由器,如果该路由器故障,则会影响当前子网的所有主机。为了避免路由器的单点故障,可采用 VRRP 协议。
  • 原理:
    • 在一个子网内部署多个路由器,相互之间通过 VRRP 协议通信,自动选举出一个当前可用的路由器,担任主节点,其它路由器担任备用节点。
    • VRRP 协议中存在一个虚拟路由器,用一个 Virtual IP 定位,简称为 VIP 。在当前子网,通过 ARP 协议将 VIP 解析到主节点的 MAC 地址。
    • 将 VIP 配置为当前子网所有主机的默认网关。当主机发送请求到 VIP 时,实际上是发送给主节点。
    • VRRP 协议只是选举,并不会通告路由表信息。