TCP/IP各层执行的场所在哪?

以浏览器发起HTTP请求为例,

  • 应用层,浏览器产生HTTP请求数据,即HTTP报文;
  • 传输层,切割HTTP报文,并加上TCP首部,即TCP报文段;
  • 网络层,加上IP首部,即IP数据包;
  • 链路层,加上MAC地址等以太网首部。

我想知道各个层对报文的加工发生的地点在哪?我大概猜测应用层发生在浏览器,网络层发生在路由器,请哪位朋友指点下。

阅读 3.6k
2 个回答

假设浏览器所在主机处于以太网环境下,你所列举的 4 个都发生在本机,分别在:

  1. 应用层:浏览器
  2. 传输层:操作系统 TCP 栈
  3. 网络层:操作系统 IP 栈
  4. 链路层:网卡驱动程序

视网卡驱动,部分 TCP/IP 字段可能由驱动(硬件)填充,以加速数据包处理。例如 “包校验” 字段。

根据最近看到的,大概可以这样理解:

  • http层发生在应用本身,即可以是你这里举例说的浏览器;
  • tcp和IP层的封包解包,执行的场所在客户端或者服务端机器上;
  • 链路层则发生在路由器
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进