📜  网络层服务 – 打包、路由和转发

📅  最后修改于: 2021-09-27 14:46:02             🧑  作者: Mango

网络层是计算机网络 OSI 模型中的第三层。它的主要函数是将网络数据包从源传输到目的地。它涉及源主机和目标主机。在源端,它接受来自传输层的数据包,将其封装在数据报中,然后将数据包传送到数据链路层,以便进一步将其发送到接收器。在目的地,数据报被解封装,数据包被提取并传送到相应的传输层。

特征 :

  1. 网络层的主要职责是在不改变或不使用它的情况下将数据包从源传送到目的地。
  2. 如果数据包太大而无法传送,它们会被分段,即分解成更小的数据包。
  3. 它决定在网络中可用的多个根(也称为路由)中从源到目的地传输数据包所采用的根。
  4. 源地址和目的地址被添加到网络层内的数据包中。

网络层协议提供的服务如下:

  1. 打包
    在源端将从网络上层接收到的数据(也称为有效载荷)封装在网络层数据包中,并在目的地从网络层数据包中解封装有效载荷的过程称为打包。

    源主机在从上层协议接收到的有效载荷中添加包含源地址和目的地址以及网络层协议要求的其他一些相关信息的头,并将数据包传送到数据链路层。

    目的主机从其数据链路层接收网络层数据包,对数据包进行解封装,并将有效载荷传递给相应的上层协议。路径中的路由器不允许更改源地址或目的地址。路径中的路由器不允许对它们接收的数据包进行解封装,除非它们需要被分片。

  2. 路由和转发 –
    这是网络层提供的另外两项服务。在网络中,从源到目的地有许多可用的路由。网络层指定了一些策略来找出可能的最佳路由。这个过程称为路由。在此过程中使用了许多路由协议,它们应该运行以帮助路由器相互协调并帮助在整个网络中建立通信。

    转发简单地定义为当数据包到达其接口之一时每个路由器应用的操作。当路由器从其连接的网络中的一个接收数据包时,它需要将数据包转发到另一个连接的网络(单播路由)或某些连接的网络(在多播路由的情况下)。

网络层预期的一些其他服务是:

  1. 错误控制
    虽然它可以在网络层实现,但通常不是首选,因为网络层的数据包可能会在每个路由器上分片,这使得网络层的错误检查效率低下。
  2. 流量控制
    它调节源可以发送的数据量,而不会使接收器过载。如果源以非常快的速度生成数据,而接收器可以使用它,则接收器将因数据过载。为了控制数据流,接收方应该向发送方发送反馈,通知后者数据过载。

    网络层的设计缺乏流量控制。它不直接提供任何流量控制。数据报在准备好时由发送方发送,不考虑接收方的准备情况。

  3. 拥塞控制
    当源发送的数据报数量超过网络或路由器的容量时,就会发生拥塞。这是网络层协议中的另一个问题。如果拥塞继续存在,有时可能会出现系统崩溃并且没有数据报传送的情况。虽然拥塞控制是在网络层间接实现的,但仍然缺乏网络层的拥塞控制。

网络层服务的优势:

  • 网络层的打包服务为数据包的传输提供了便利。
  • 分组化还消除了数据通信系统中的单点故障。
  • 网络层中的路由器通过创建冲突和广播域来减少网络流量。
  • 在转发的帮助下,数据包从网络中的一个地方传输到另一个地方。

网络层服务的缺点:

  • 网络层的设计缺乏流量控制。
  • 拥塞有时是由于网络中存在太多超出网络或路由器容量的数据报。由于这个原因,一些路由器可能会丢弃一些数据报,一些重要的信息可能会丢失。
  • 虽然网络层存在间接差错控制,但由于存在碎片数据包,缺乏适当的差错控制机制,差错控制变得难以实现。