【发布时间】:2022-06-11 12:30:59
【问题描述】:
关于网络数据如何通过互联网传输的问题。
我想知道在通过互联网发送请求时,封装/解封装过程是否发生在每一跳。 (参考https://afteracademy.com/blog/what-is-data-encapsulation-and-de-encapsulation-in-networking)
例如,我从私人笔记本电脑向 www.google.com 发送 HTTP/S 请求。 当 Google 网络服务器收到我的请求时,它会准备响应。我了解步骤如下。
- Google 网络服务器将 HTML 数据放入 HTTP(第 7 层)数据流中。
- 要封装到传输层(第 4 层)的数据流
- 等等....(直到第 1 层)
当 Google 响应穿越互联网时,它会经过多个跃点(例如来自互联网服务提供商的路由器)
问题:每一跳是否会再次进行解封装(查找信息)和封装(转发响应)过程? 例如我希望路由器(第 3 层)将响应包解封装到第 3 层,它读取相关信息并再次封装它 - 所以路由器不会一直解封装到第 7 层?
提前致谢!
【问题讨论】:
-
路由器剥离数据链路帧,在路由表中查找数据包的目的网络地址,将数据包路由到下一个接口,为数据链路协议构建一个新帧下一个接口,并将包含数据包的新帧转发到下一个接口。路由器不关心数据包的有效负载。
-
这是否意味着如果我通过第 4 层代理发送 HTTP/S 请求,第 4 层代理会剥离数据段(第 4 层)并转发 HTTP/S 请求?
标签: networking tcp routes network-protocols osi