我仍然无法理解的一件事是持久连接和会话。我将解释我如何理解所有网络内容。
物理层。这只是通过电线的电压电平,这一层没有什么难理解的。
数据链路层例如帧,其中包含有关设备的一些信息,如 MAC 地址。帧如何到达目的地?例如使用开关。交换机知道哪个端口映射到特定地址,当帧到来时,它只向特定端口发送电压电平。在另一侧网卡接收电压并触发由操作系统处理的中断。我不明白如何使用 Wifi 连接将数据包定向到正确的设备。
网络层。只需使用数据链路层为数据定义的空间在顶部添加IP头,减少可以在一帧内通过网络传输的数据有效载荷大小
我关于持久连接的主要问题呢?
我不明白在这种情况下持久意味着什么。我理解持久一词如下:在持久连接时没有其他人可以占用电线。所以这个连接只是一对一的。但这是不对的。当其他数据包通过同一条线路时,可以建立持久连接。
我想它以以下方式工作。客户端或服务器定期发送称为心跳的数据包,以接受对方仍然在这里,并将此信息存储在操作系统中的某处,例如布尔标志(is_still_alive)在其他情况下,如果在一段时间内没有响应,连接将被关闭(移除标志,清除缓冲区)。并且如果带有 ACK 心跳的数据包稍后到来,它将以再次建立连接的意图进行响应。
如果我理解了上述内容,我想我就会理解会话机制。
请帮助了解这些东西是如何工作的。我将不胜感激任何帮助。