根据我的理解,当数据包到达路由器时,数据链路层报头(如果有拖车)将从数据包中移除,并向数据包中添加一个新的头(如果有拖车,则添加一个新的拖车)。
但是,其他层(数据链路层除外)的头是否也被移除,并在到达路由器时重新添加?
当然,我说的是OSI模型中的层。
发布于 2022-08-23 14:16:10
但是,其他层(数据链路层除外)的头是否也被移除,并在到达路由器时重新添加?
不是的。路由发生在第3层,所以第3层以下的任何信息都会被删除,而第3层或上面的任何信息都会被保留下来。因为TTL是递减的,所以必须在IPv4头中重新计算IPv4校验和,但是IPv6没有头校验和,所以减少Hop计数不需要重新计算校验和。
如果在路由器上也执行NAT或NAPT,则修改第3层报头(地址和校验和),也必须修改TCP、UDP或ICMP的报头(可能是端口或ICMP查询号和校验和),但这不是路由中固有的。
https://networkengineering.stackexchange.com/questions/79748
复制相似问题