以在 Web 浏览器中搜索www.example.com为例。我在每一层都有一些困惑,它们是
我们打开了一个网络浏览器并搜索了www.example.com。现在,据我所知,应用层将 HTTPS GET 请求的标头附加到example.com,使用 DNS 解析 IP 地址。这意味着,IP地址在这一层本身是已知的,但为什么IP地址附加在网络层而不是应用层?它是如何解析 google.com 的 IP 地址的?它是否遵循相同的 7 层模型来解析 IP 地址,或者它是一个单独的任务并遵循不同的场景。
好的...现在应用层将 PDU 传递给表示层。它在这里翻译、加密和压缩 PDU。它总是在物理层执行这三个功能吗?
好吧,现在 PDU 被传递到会话层。我在某处读到它在发送者和接收者之间创建会话、维护会话、验证、授权和同步。创建会话是什么意思,它如何在发送者和接收者之间创建会话,甚至没有进入下一层。
好的,PDU 不知何故到达了传输层。在这里它将 PDU 分成可传输的段。并为每个段附加一个序列号、ACK 号、端口号等。但是,它如何知道服务器的端口号(即 HTTPS 请求的 443?)以及客户端端口号。这里的主要问题是它如何处理 TCP 3 路握手。握手意味着它需要通过一个路由向目的地发送 SYN 数据包,并且必须通过相同的路径接收 ACK。我的问题是,它如何在不到达较低层的情况下进行 3 次握手
现在它将发送方和接收方的 IP 地址以及其他一些控制信息附加到 PDU。为什么它在此处添加 IP 地址,而不是在应用层。PDU在这里在网络层称为包。
现在它会附加主机所连接的下一个设备的 MAC 地址以及其他一些信息。我的疑问是,数据链路层是否附加路由器的MAC地址以将数据传输到另一个路由器?
现在,这些帧成为信号并通过通道(LAN 电缆)传输到连接到计算机的交换机。它是一个物理层。
接下来发生的事情是我的比喻。如果我在任何地方错了,请纠正我。
现在,在交换机上,信号变成帧并将 MAC 地址更改为它连接的下一个设备,例如交换机连接到路由器。因此,交换机会附加路由器的 MAC 地址,并将这些帧作为信号并通过连接到交换机的通道进行传输。
现在,路由器获取数据,删除 MAC 地址,以便它可以查看 IP 地址并通过查看基于目标地址的路由表将数据转发到下一个节点(可能是路由器)。这意味着,路由器是否附加下一个路由器的 MAC 地址。
并继续,直到它到达服务器。
在接收端路由器(最后一个路由器),路由器在传输时是否附加服务器的MAC地址?好的.. 请求的数据以某种方式到达服务器。服务器本身是否删除了数据链路标头、网络层标头?
最后,通过在服务器中逐层解包标头,请求已到达服务器的应用程序层。
现在,它是否遵循相同的步骤将请求的网页发送给客户端?
