【发布时间】:2016-02-09 22:22:03
【问题描述】:
我试图从数据包和硬件方面了解 HTTP 请求从主机到服务器的过程。
首先,HTTP 数据被放入一个 TCP 数据包(第 4 层)。然后这个包被打包成 IP 数据包(第 3 层),由 NIC(第 2 层)构成,并通过物理介质(电缆、光纤等)传输(第 1 层)到最近的路由器。
问题 1. 路由器中的 NIC(连接到客户端 LAN 的那个,因为路由器有两个 NIC)是否重建帧并将有效负载(即 IP 包)传递给路由器的处理器?这似乎合乎逻辑,但我无法在网上找到任何明确说明这一点的地方。
路由器然后有一个IP包并根据它的路由表通过另一个网卡转发它,另一个网卡将它再次成帧并传输它。
逐跳,服务器的网卡最终接收并重构帧并将它们传递给...(参见问题2)...,它解包TCP包并以某种方式读取HTTP信息并使用给定的参数执行操作。
问题 2: 内核?是负责电脑内部IP打包/解包的人吗?
问题3:如何在计算机中负责TCP和“理解”HTTP?它是操作系统的哪一部分?我猜这个也是负责理解HTTP的。
我知道还有更多细节,但整个问题会太长。我也很高兴看到有趣的链接可以深入了解此事。
【问题讨论】:
标签: http networking tcp tcp-ip