在网络中发送报文时,主机中的协议栈自上而下工作。以 Web 服务器为例,我们可以使用 TCP/IP 模型来说明向客户端发送 HTML 网页的过程。
应用层协议 HTTP 向传输层传送设定为 HTML 格式的网页数据,从而开始了整个过程。应用程序数据在传输层被划分为多个 TCP 数据段。每个 TCP 数据段都添加了一个标签,称为报头,其包含的信息用于指定目的计算机上运行的哪个进程应接收报文。此外,它还包含供目的进程用于将数据重新组装成原始格式的相关信息。
传输层将网页的 HTML 数据封装到数据段内,然后将其发送到执行 IP 协议的 Internet 层。在这里,整个 TCP 数据段被封装到添加了另一个标签(称为 IP 报头)的 IP 数据包内。IP 报头包含源主机和目的主机的 IP 地址以及将数据包传送到其相应的目的进程所需的信息。
随后,会将 IP 数据包发送到网络接入层以太网协议。在这里,会将数据包封装到帧头和帧尾中。每个帧头都包含源物理地址和目的物理地址。物理地址用于唯一标识本地网络中的设备。帧尾则包含错误检查信息。最后,服务器网卡将比特编码到以太网介质中。
接收主机上的过程与之相反。数据在朝着最终用户应用程序沿协议栈向上移动的过程中被解封。
转载于:https://blog.51cto.com/07net01/564362