这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
我们已经构建好了请求的报文,也获得了目的服务器的IP地址。接下来要进行的就是数据传输的工作了。要将报文从客户端发送到目标服务器,需要经过应用层的创建报文、传输层对数据段分割、网络层将数据端打包、数据链路层分割数据帧、物理层通过传输介质传输信号。信号在不同层级的路由器之间进行传输,并根据路由器的数据表流向下一个目的地,最终传达到目标服务器中。
- 应用层 HTTP报文的第一站是客户端应用程序,它创建HTTP请求报文,并将其传输到传输层。
- 传输层 传输层使用TCP协议将HTTP请求报文分成若干个数据段,并为每个数据段添加一个TCP报头。TCP报头包含源IP地址,目标IP地址,源端口号,目标端口号,序列号和确认号等信息。TCP协议还提供了流量控制和拥塞控制功能,以确保数据传输的可靠性和稳定性。传输层将数据段发送到网络层。
- 网络层 网络层使用IP协议将TCP数据段打包成IP数据报,并为每个数据报添加一个IP报头。IP报头包含源IP地址,目标IP地址和其他路由信息。网络层的主要作用是为数据报提供网络地址转换和路由功能,以将数据报传输到下一个路由器。网络层将数据报发送到数据链路层。
- 数据链路层 数据链路层使用MAC地址来寻址和传输数据,它将IP数据报分成若干个数据帧,并为每个数据帧添加一个数据链路层报头。数据链路层报头包含源MAC地址和目标MAC地址。数据链路层还负责传输误码检测和校验功能,以确保数据的准确性和完整性。数据链路层将数据帧发送到物理层。
- 物理层 物理层负责将数据转换为适合传输介质的电信号,并在不同计算机之间传输数据。物理层通过光纤、电缆、无线电波等物理媒介传输数据。
- 路由器 路由器是用于连接不同网络的网络设备。当数据从一个网络传输到另一个网络时,数据必须经过路由器进行转发。路由器可以根据IP地址和路由表将数据包转发到目标网络。每个路由器都检查IP头中的目标地址,并根据路由表将数据包转发到下一个路由器,直到达到目标服务器所在的网络。
- 目标服务器 当HTTP请求报文到达目标服务器时,服务器会解析报文并生成响应。服务器将响应打包成HTTP响应报文,并通过相同的网络层、数据链路层、传输层和应用层的流程将响应发送回客户端。
经过不同层的处理,我们的数据信息通道中安全顺利的抵达了目标服务器。