请教个路由转发问题:主机A向主机E发个数据包,中间经过B,C两个路由,请问源地址和源MAC是怎么变化的?

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:05:12
一、源MAC和源IP是主机A的,目标IP是主机E的,下一跳地址是路由B的。
二、路由B查路由表,转发到路由C,那么这个包的源MAC和源IP是什么?是主机A的源MAC和IP,还是路由器接口的MAC和IP?这个包是怎么封装的?
“目标MAC地址就是B1的MAC地址,源MAC地址就是A的MAC地址”目标MAC不是未知的吗,由ARP请求才能得到吗?怎么变成B1的MAC地址了?
“源MAC地址变成C2的MAC地址,目标MAC地址变成主机E的MAC地址,然后发送给主机E”路由C在确定了主机E的IP为目标IP后,应发送一个ARP请求吧,然后E在回应C一个MAC地址,C建arp表和cef表,下次在发就从cef表里转发了吧。

A-----(B1-B2)-----(C1-C2)-------E

就假设拓扑图是这个样子吧,B1和B2是路由器B上的两个接口,C1和C2是路由器C上的两个接口,A和E是PC,由主机A向主机E发送数据包,那么在主机A形成的数据包的目的IP就是E的IP,源IP就是主机A的IP地址,目标MAC地址就是B1的MAC地址,源MAC地址就是A的MAC地址

由A发给路由器B,B经过重封装后,源IP和目标IP是不变的,源MAC地址变成B2的MAC地址,目标MAC地址变成C1的MAC地址,封装完成发送给路由器C,路由器C接收到数据包后和B做的操作是一样的,源IP和目标IP的不变的,源MAC地址变成C2的MAC地址,目标MAC地址变成主机E的MAC地址,然后发送给主机E,这样E就收到了这个数据包,当恢复数据包的时候就是把收到的数据包的源IP地址(主机A的IP地址)和源MAC地址(接口C2的MAC地址)作为他的目标IP和目标MAC地址

有点乱,希望能帮到你

目标IP地址是不变的。
目标MAC是NEXT HOP 的MAC地址
发包的时候是从3层到2层,先看路由表,确定出口后,发送ARP广播请求。收到回应后封装上下一跳得MAC地址。出包。