网络中的封装如何工作?

网络中,数据封装对于实现源计算机与目标计算机之间的有效沟通至关重要。

其逆过程,即解封装,同样对于此目的不可或缺。这两个过程协同工作,确保网络上数据的正确传输和流动。

当用户想要访问计算机上的信息时,他们只需输入几个关键词,结果便会迅速呈现。

然而,许多事情都在幕后以惊人的速度进行。他们的网络及其组件正忙于检索用户请求的信息。

不过,大多数人对于幕后运作的机制知之甚少。实际上,网络、组件和相关概念在现代用户的日常生活中扮演着重要角色。

在本文中,我将探讨封装和解封装,以便更深入地理解网络概念。

让我们开始吧!

什么是数据封装和解封装?

数据封装:在网络中,数据封装是指当数据项在 OSI 或 TCP/IP 网络模型中从源传输到目标时,向数据项添加额外信息,以实现附加功能。

通过数据封装,将协议信息添加到数据的头部或尾部,从而确保数据传输的正确进行。这个过程发生在从应用层到物理层的发送端。每一层接收来自上一层的封装信息,并添加更多数据以进一步封装,然后将其发送到下一层。

此过程可能包括错误检测、数据排序、拥塞控制、流量控制和路由数据等。

数据解封装:这是数据封装的逆过程。在数据从物理层传输到接收端的应用层以获取原始信息时,封装的数据会从接收的数据中移除。

此过程与发送端的封装层发生在相同的层级。随后,新添加的头部和尾部信息会被从数据中删除。

最终,数据在每一层的发送端被封装,然后在 TCP/IP 或 OSI 网络模型的相同层级的接收端被解封装。

什么是协议数据单元 (PDU)?

协议数据单元(Protocol Data Unit,PDU)是指在数据传输过程中,在 OSI 或 TCP/IP 模型的每一层附加到数据项上的控制数据。此信息被添加到数据项的头部字段,有时也会添加在尾部。

因此,网络模型中的每一层都利用 PDU 与其相邻层进行交互和交换数据。这些 PDU 通过在数据的每一层添加而进行封装。每个 PDU 都根据其包含的数据进行命名。位于目的地的相邻层只能在数据被移除并交给下一层之前读取数据。

OSI 模型中的 PDU

如上所述,每个 OSI 模型层中的 PDU 都有一个名称。实际上,在不同的模型中,不同层的封装数据使用不同的术语,如下表所示。

在 TCP/IP 网络的应用程序层和 OSI 模型的应用层、表示层和会话层中,它们被简称为“数据”,但在这两个模型的其他层中,则有所不同。

封装术语 OSI Layers TCP/IP Layers
Data Application Application
Data Presentation
Data Session
Segment Transport Transport
Packet Network Internet
Frame Data-Link Data-Link
Bits Physical Physical

让我们逐一详细了解它们以及它们在网络中的重要性。

传输层 PDU

在传输层,协议数据单元被称为“段”。该层创建头部,然后将其附加到数据片段中。此处的的数据单元将包含远程主机将用于重新组合所有数据片段的数据。

因此,在传输层带有数据片段的头部被称为段,该层将段传输到下一层(网络层)进行进一步处理。

网络层 PDU

网络层的 PDU 称为“数据包”。网络层将类似地为其从传输层接收的每个段创建一个头部。头部将包含有关路由和寻址的数据。

网络层创建头部后,将其附加到段。此时数据项成为数据包,然后移动到下一层。

数据链路层 PDU

在这一层中,PDU 被称为“帧”。数据链路层将从上一层接收数据包,然后为接收的每个数据包创建一个头部和尾部。此头部将包含源计算机地址、目标计算机地址等切换数据。另一方面,尾部包含有关损坏数据包的数据。

数据链路层会将头部和尾部信息附加到数据包中。此时数据单元变成帧,帧将被发送到下一层(物理层)。

物理层 PDU

物理层中的 PDU 称为“位”。物理层从上一层获取帧,然后将其转换为传输介质可以承载的格式。位就是这种格式。

封装如何工作

封装发生在它开始和结束的数据或数据包单元上。它的开始部分是头部,而结尾是尾部。而头部和尾部之间的数据可以称为有效负载。

数据包的头部在其初始字节中包含数据,标记数据包的开始并标识所携带的信息。现在,数据包从源计算机移动到目标计算机。此外,头部包含基于所用协议的数据,因为每个协议都有明确的格式。

此外,数据包的尾部指向已到达数据包末端的接收计算机。它可能具有设备使用的错误检查值,以确认它是否已收到完整的数据包。

分步封装过程:

第一步:OSI 模型的应用层、表示层、会话层或 TCP/IP 模型的应用层将用户的数据视为数据流。然后它封装数据并将其转发到下一层,即传输层。但这并不意味着它必须为此数据添加头部或尾部。它特定于应用程序,仅添加它需要的头部或尾部。

第二步:当数据移动到 TCP/IP 和 OSI 模型中的传输层时,该层使用来自更高层的数据流并将其分成多个部分。该层通过向称为段的每个数据块添加合适的头部来执行数据封装。添加的头部包含排序信息,因此段在接收端重新组合。

第三步:现在,添加了头部信息的数据项进入到被称为网络层(OSI 模型)或互联网层(TCP/IP 模型)的后续层。该层从上一层获取段并通过添加必要的路由信息来执行封装,以便数据正确传递。封装后的数据在这一层成为数据报或数据包。

第四步:数据包现在移至 TCP/IP 或 OSI 模型中的数据链路层。该层接收数据包并通过附加头部和尾部来封装它。此时,头部将具有切换信息,以确保数据正确传送到接收硬件组件。相反,尾部将包含与错误检测和缓解相关的数据。在这个阶段,数据变成一个帧,进入最后一层。

第五步:来自数据链路层的数据帧现在进入 TCP/IP 或 OSI 模型中的物理层。该层通过将数据转换为位或数据信号来封装它。

解封装如何工作

在 OSI 或 TCP/IP 模型中,解封装的工作顺序与封装相反,从物理层到应用层。在发送端封装期间添加到数据块中的所有附加信息将在传输到接收端时被删除。

以下是解封装如何工作的分步过程:

第一步:物理层中封装的数据,称为比特或数据信号,将被该层提取以对其进行解封装。数据现在变成数据帧,将被转发到更高层或数据链路层。

第二步:数据链路层现在获取这些数据帧并解封装它们。该层还检查数据帧的头部是否切换到正确的硬件。如果数据帧对应于错误或不正确的目的地,它将被丢弃。但如果它是正确的,该层将检查数据帧的尾部以获取信息。

一旦发现尾部或数据有任何错误,它将请求数据重传。但是如果尾部有正确的信息,该层将解封装它,形成一个数据报或数据包,然后将其转发给更高层。

第三步:来自数据链路层的数据包现在进入 Internet 层(TCP/IP 模型)或网络层(OSI 模型)。该层将数据包解封装并形成数据段。

如果数据包被路由到正确的目的地,该层会检查数据包的头部以获取路由信息。如果路由不正确,数据包将被丢弃。但是如果它有正确的路由信息,该层会解封装它并发送到上层,即传输层。

第四步:来自 Internet 层或网络层的数据段在 TCP/IP 和 OSI 模型中都进入传输层。传输层获取这些段并检查它们的头部信息,接下来,它开始重新组装这些段并形成数据流,然后将其移动到更高层。

第五步:数据流从传输层到达 TCP/IP 模型中的应用层。在 OSI 模型中,它到达会话层、表示层,最后到达应用层。这些层将获取数据流并对其进行解封装,同时仅将特定于应用程序的数据转发到接收方的计算机或应用程序。

封装的优点

封装在网络中的优点如下:

#1. 数据安全

封装有助于提高数据安全性和隐私性,防止未经授权的访问。而且在当前情况下,数据保护的重要性不言而喻。因此,可以避免数据盗窃、攻击等在线风险。此外,可以轻松地向任何指定级别的用户授予访问权限。

#2. 可靠的数据

封装可确保核心数据的完整性,使其无法被任何客户端代码篡改。它还决定核心信息是否对外部对象可见。在没有数据封装的情况下,即使是数据的微小变化也可能对网络造成破坏。

#3. 添加的特性和功能

在封装中,数据被添加到不同的层中。这为网络上发送端和接收端之间的数据传输增加了更多特性和功能。这些特性和功能可以是数据流控制、路由、错误检测、数据排序等。这也有助于使数据传输正确且有效。

#4. 有效沟通

封装和解封装在网络中同时运行。封装在发送端执行,而解封装在接收端完成。这使得通信更加有效,这对接收者和发送者都是必不可少的。

#5. 易于维护

由于某种原因,随时可能出现错误,导致两端之间的数据传输中断。但是,对数据执行的封装有助于保护连接并避免篡改数据。因此,核心信息保持安全,减少了出错的机会,从而促进了易于维护。

结论

数据封装和解封装是网络的重要组成部分。这些技术确保数据在网络中正确流动,具有更好的数据安全性、隐私性、可靠性和有效沟通。