计算机网络原理-第四章:网络层

1,218 阅读13分钟

网络层

第一节 网络层服务

网络层的主要作用是将网络层数据报从源主机 送达 目的主机

主要功能包括:

  • 转发:分组从输入接口转移到输出接口。
  • 路由选择:决定分组经过的路由或路径。

第二节 数据报网络与虚电路网络

根据是否在网络层提供连接服务,分组交换网络 可以分为仅在网络层提供连接服务的 虚电路网络 和仅在网络层提供无连接服务的 数据报网络

image.png

虚电路网络

虚电路网络:在网络层提供 面向连接 的分组交换服务。通信之前,双方需要先建立虚电路,通信结束后再拆除虚电路。

特点

  • 建立一条网络层逻辑连接。
  • 不需要为每条虚电路分配独享资源(区别于电路交换)。
  • 根据虚电路号沿虚电路路径按序发送分组。

虚电路

一条虚电路(VC)由3个要素构成:

  • 从源主机到目的主机之间的一条路径(即一系列的链路和分组交换机)。
  • 该路径上的每条链路各有一个虚电路标识(VCID)。
  • 该路径上每台分组交换机的转发表中记录虚电路标识的接线关系。

虚电路分组交换分类

虚电路分组交换有 永久型交换型 两种。

永久型虚电路:一种提取建立、长期使用的虚电路,虚电路的建立时间开销基本上可以忽略。

交换型虚电路:根据通信需要而临时建立的虚电路,通信结束后立即拆除,虚电路的建立和拆除时间开销有时相对影响较大。

image.png

数据报网络

数据报网络:按照 目的主机地址 进行路由选择的网络。

特点

  • 无连接:在双方开始通信之前,不需要建立连接。
  • 每个分组作为一个独立的数据报进行传送,路径也可能不同。
  • 分组可能出现乱序和丢失。

第三节 网络互连与网络互连设备

异构网络互连

异构网络:两个网络的 通信技术运行协议 不同。

异构网络互连的基本策略:

  • 协议转换

    • 协议转换机制采用一类支持异构网络之间协议转换的网络中间设备,实现异构网络之间数据分组的转换与转发。
  • 构建虚拟互联网络

路由器

路由器主要任务是获取与维护路由信息以及转发分组。从功能体系结构角度,可以分为 输入端口交换结构输出端口路由处理器

输入端口

输入端口负责从物理接口接收信号,还原数据链路层帧,提取 IP 数据报,根据 IP 数据报的目的 IP 地址检索路由表,决策需要将该 IP 数据报交换到哪个输出端口。

image.png

交换结构

交换结构负责分组的转发工作。完成输入端口的 IP 数据报交换到指定的输出端口。

交换结构对分组的转发有3种交换结构:

  • 基于内存交换
  • 基于总线交换
  • 基于网络交换

交换结构的性能在很大程度上决定了路由器的性能,以上3种交换结构性能排行:

基于网络交换 > 基于总线交换 > 基于内存交换

image.png

输出端口

输出端口首先提供一个缓存排队功能,排队交换到该端口的代发送分组,并从队列中不断取出分组进行数据链路层数据帧的封装,通过物理线路端接发送出去。

image.png

路由处理器

路由处理器就是路由器的 CPU,负责执行路由器的各种指令,包括路由协议的运行,路由计算以及路由表的更新维护等。

第四节 网络拥塞控制

image.png

流量控制 VS 拥塞控制

流量控制

发送数据一方根据接收数据一方的接收数据的能力,包括接收缓存、处理速度等,调整数据发送速率和数据量,以避免接收方被数据淹没。


拥塞控制

根据网络的通过能力或网络拥挤程度,来调整数据发送速率和数据量。


总结

拥塞控制主要考虑端系统之间的网络环境,目的是使网络负载不超过网络的传送能力;

流量控制主要考虑接收端的数据接收与处理能力,目的是使发送端的发送速率不超过接收端的接收能力。

做一个类比,假设从A地向B地放行一列车队。如果为了适应B地停车场的停车能力,来调整或约束A地车辆的放行速率,这就是流量控制;如果为了避免A地到B地经过的路网不出现塞车,或者为了消除已发生的塞车现象,而约束A地放行车辆的速率,这就是拥塞控制。

一般来说,发生拥塞的原因主要有如下4种:

  • 缓冲区容量有限(停车位有限)
  • 传输线路的带宽有限(公路传输量有限)
  • 网络结点的处理能力有限(收费站处理能力有限)
  • 网络中某些部分发生了故障(发生车祸)

网络中出现拥塞就意味着负载暂时大于网络资源的处理能力,解决拥塞可从两个方面进行:增加网络资源 或者 减少网络负载

增加网络资源:在网络出现拥塞前为网络中的各个节点分配更多可用的资源,从而降低拥塞出现的可能性,即 拥塞预防

减少网络负载:一般是指在网络中已经出现负载大于资源的情况下(即拥塞),通过减小当前网络的负载来实现对拥塞的消除,这种策略一般被称为 拥塞消除

流量感知路由

流量感知路由:根据网络负载动态调整,将网络流量引导到不同的链路上,均衡网络负载,从而缓解或避免拥塞发生(拥塞预防措施)。

这种方法也存在不足,可能会使整个网络出现振荡。解决振荡现象的方法主要有两种:一种是多路径路由,即两个区域间流量的传输分散到两条不同的链路上,从而使得其中任一链路上的负载都不会太大;另一种是将负载过大的链路上的流量,缓慢地转移至另一条链路上,而不是一次性将全部流量从一条链路转移到另一条链路上。

准入控制

准入控制:是一种广泛应用于虚电路网络的拥塞预防技术。

基本思想:对新建虚电路进行审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒接建立该新虚电路。

如何判断是否有能力接受新虚电路而不发生拥塞呢?因此,需要某种方法来对网络中的流量、拥塞状况进行量化。常用的方法是基于 平均流量瞬时流量,来判断是否有能力接受新虚电路而不会发生拥塞。

流量调节

在网络发生拥塞时,可以通过调整发送方向网络发送数据的速率来消除拥塞。

  1. 感知拥塞

  2. 处理拥塞:将拥塞信息通知到其上游结点,从而使之降低发送速率。

处理方法:

(1)抑制分组:给拥塞数据报的 源主机 返回一个抑制分组。

(2)背压:让抑制分组在从拥塞结点到源结点的路径上的每一跳,都发挥抑制作用。

负载脱落

负载脱落:另一种消除拥塞方法,即通过有选择地主动丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。当路由器中的数据报得不到及时处理,可能面临被丢弃的危险时,路由器就主动将该数据报丢弃掉。

如何选择要丢弃的数据报:

1.丢弃新分组:如GBN(回退N步)

2.丢弃老分组:如实时视频流

第五节 Internet 网络层

第六节 路由算法与路由协议

graph LR

节点1(路由选择) --- 节点2(数据报网络) --- 节点3(根据分组的目的 IP 地址进行转发)
节点1(路由选择) --- 节点4(虚电路网络) --- 节点5(根据分组的 VCID 进行转发)

节点6(路由选择算法分类) --- 节点7(全局式路由选择算法) --- 节点8(链路状态路由选择算法, 简称 LS 算法)
节点6(路由选择算法分类) --- 节点9(分布式路由选择算法) --- 节点10(距离向量路由选择算法, 简称 DV 算法)

路由算法

当分组到达一台路由器时,在 Internet(数据报网络) 中,需要根据分组的目的 IP 地址进行转发。在虚电路网络中,需要根据分组的 VCID 进行转发,而转发时就需要用到路由算法。

路由算法作用

在给定一组网络中的路由器以及路由器间的连接链路的情况下,寻找一条从源路由器到目的路由器的最优路径。

路由算法分类

根据路由算法是否基于网络全局信息计算路由,可以分为 全局式路由选择算法分布式路由选择算法

全局式路由选择算法

根据网络的完整信息(即完整的网络拓扑结构),来计算最短路径。该算法并不是说路由计算只在某个路由器上进行,而是指每个路由器在计算路由时,都要获取完整的网络拓扑信息。最具有代表性的全局式路由选择算法是 链路状态路由选择算法(LS算法)

分布式路由选择算法

在该算法中,结点不会(也不需要)尝试获取整个网络拓扑信息,结点只需获知与其相连的链路的“费用”信息,以及邻居结点通告的到达其他结点的最短距离(估计)信息,经过不断的迭代计算,最终获知经由哪个邻居可以具有到达目的结点的最短距离。最具有代表性的分布式路由选择算法是 距离向量路由选择算法(DV算法)

链路状态路由选择算法

链路状态路由选择算法是一种全局式路由选择算法,每个路由器在计算路由时需要构建出整个网络的拓扑图。

计算最短路径 — Dijkstra 算法

image.png

距离向量路由选择算法

每个结点基于其与邻居结点间的直接链路距离,以及邻居交换过来的距离向量,计算并更新其到达每个目的结点的最短距离,然后将新的距离向量再通告给其所有邻居,直到距离向量不再改变。

层次化路由选择

无论链路状态路由选择算法(LS算法),还是距离向量路由选择算法(DV算法),如果应用于大规模网络,网络设备数量庞大,无论是链路状态分组的广播,还是距离向量的交换,都会极大地消耗网络带宽与时间。所以实现大规模网络路由选择最有效的、可行的解决方案就是层次化路由选择。

层次化路由选择将大规模互联网的路由划分为两层:自治系统内路由选择自治系统间路由选择

在层次化路由选择网络中,路由器的转发表由自治系统内路由选择协议和自治系统间路由选择协议共同设置。

Internet 路由选择协议

graph LR

节点1(Internet 路由选择协议) --- 节点2(内部网关协议IGP) --- 节点3(路由信息协议RIP) --- 节点7(基于距离向量路由选择算法)
节点3(路由信息协议RIP) --- 节点9(RIP 报文封装到 UDP 报文段)
节点2(内部网关协议IGP) --- 节点6(开放最短路径优先协议OSPF) --- 节点8(基于链路状态路由选择算法)
节点6(开放最短路径优先协议OSPF) --- 节点11(OSPF 报文封装到 IP 数据报)
节点1(Internet 路由选择协议) --- 节点4(外部网关协议EGP) --- 节点5(边界网关协议BGP)--- 节点10(可以看做是路径向量路由选择算法)
节点5(边界网关协议BGP)--- 节点12(BGP 报文封装到 TCP 报文段)
  • Internet 的自治系统内路由选择协议称为内部网关协议(IGP)

    • 路由信息协议(RIP)
    • 开放最短路径优先协议(OSPF)
  • Internet 的自治系统间路由选择协议称为外部网关协议(EGP)

    • 边界网关协议(BGP)

RIP

RIP 是基于距离向量路由选择算法的协议。

RIP 协议在使用DV算法时,有以下特性:

  • 在度量路径时采用的是跳数,即每条链路的费用都为 1。
  • 费用是定义在源路由器和目的子网之间的,最短路径的费用就是沿着从 源路由器目的子网 的最短路径所经过的子网数量。
  • 被限制在网络直径不超过15跳的自治系统内使用。

在 RIP 中,相邻的路由器间通过 RIP 响应报文来交换距离向量,交换频率约为30s一次。

OSPF

RIP 是基于链路状态路由选择算法的协议,使用 Dijkstra 算法求解最短路径。

OSPF 多优点

1️⃣ 安全。所有 OSPF 报文都是经过认证的,可以预防恶意入侵者将不正确的路由信息注入到路由器的转发表中。

2️⃣ 支持多条相同费用路径。OSPF允许使用多条具有相同费用的路径,这样可以防止在具有多条从源到目的的费用相同的路径时,所有流量都发往其中一条路径。这一特性有利于 实现网络流量均衡

3️⃣ 支持区别化费用度量。OSPF 支持对于同一条链路,根据 IP 数据报的 TOS 不同,设置不同的费用度量,从而可以 实现不同类型网络流量的分流

4️⃣ 支持单播路由与多播路由。

5️⃣ 分层路由。


RIP报文封装到UDP报文段中传输,而OSPF报文则直接封装到IP数据报中进行传输。

BGP

BGP 实现跨自治系统的路由信息交换。

BGP实现如下功能:

1️⃣ 从相邻AS获取某子网的可达性信息。

2️⃣ 向本AS内部的所有路由器传播跨AS的某子网可达性信息。

3️⃣ 基于某子网可达性信息和AS路由策略,决定到达该子网的最佳路由。

本小节总结

路由选择是网络层的重要功能之一。路由选择算法通常都是将网络抽象成一张带权无向图来计算最佳路径。典型路由算法包括链路状态路由选择算法距离向量路由选择算法,以及层次化路由策略。层次化路由解决了大规模网络路由选择问题。层次化路由将网络路由选择分为自治系统内路由选择自治系统间路由选择两个层,分别有自治系统内路由选择协议和自治系统间路由选择协议。 Internet 中典型的路由协议有自治系统内路由选择协议 RIPOSPF 以及自治系统间路由选择协议 BGP。RIP 基于距离向量路由选择算法,OSPF 基于链路状态路由选择算法,BGP 可以看作是路径向量路由选择算法。RIP 报文封装到 UDP 报文段中传输,OSPF 报文封装到 IP 数据报中传输,BGP 报文封装到 TCP 报文段中传输。