数据帧转发过程中IP地址及MAC地址的变化

数据帧在交换机间转发

帧经过交换机时,其源、目标MAC是不会变的。

交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。

这种情况只需要坚持一个原则,数据帧在交换机之间转发不更改源MAC地址和目标MAC地址;

就好比主机A和主机B通过若干个交换机相连(并没有路由器在中间),那么此时的MAC地址是什么?源MAC地址自然是主机A的网卡所对应的MAC地址,目标MAC地址则是主机B的网卡所对应的MAC地址;

数据帧在路由器间转发

帧经过路由器时,进行路由转发,IP地址不会变的,但MAC地址一定会变 。

路由转发过程

当主机A发向主机B的数据流在网络层封装成IP数据包,IP数据包的首部包含了源地址和⽬标地址。主机A会⽤本机配置的24位IP网络掩码255.255.255.0与目标地址进⾏与运算,得出⽬标网络地址与本机的⽹络地址是不是在同⼀个⽹段中。如果不是将IP数据包转发到网关。

在发往⽹关前主机A还会通过ARP的请求获得默认⽹关的MAC地址。在主机A数据链路层IP数据包封装成以太网数据帧,然后才发住到网关……也就是路由器上的⼀个端⼝。

当网关路由器接收到以太网数据帧时,发现数据帧中的目标MAC地址是自己的某⼀个端⼝的物理地址,这时路由器会把以太网数据帧的封装去掉。路由器认为这个IP数据包是要通过自己进行转发,接着它就在匹配路由表。匹配到路由项后,它就将包发往下⼀条地址。

路由器转发数据包就是这样,所以它始终是不会改IP地址的。只会改MAC。

当有数据包传到路由器时,路由器首先将其的目的地址与路由表进⾏对⽐,如果是本地⽹络,将不会进⾏转发到外⽹络,⽽是直接转发给本地⽹内的目标主机;但是如果目标地址经路由表对比,发现不在本⽹中,nat就将改变源地址的IP(原源地址的Ip地址改为了路由器的IP地址),路由器将数据包转发到相应的端⼝,进⾏通信。

例如路由器A,B,C,D相连,那么源地址就是(IP-x:MAC-x),目的地址就是(IP-y:MAC-y)。

当A——>B时,源IP地址还是IP-x,目的IP地址还是IP-y,源MAC地址和目标MAC地址则是A,B相连的两个接口(MAC-a2,MAC-b1)。

当B——>C时,源IP地址还是IP-x,目的IP地址还是IP-y,源MAC地址和目标MAC地址则是B,C相连的两个接口(MAC-b2,MAC-c1)。

当C——>D时,源IP地址还是IP-x,目的IP地址还是IP-y,源MAC地址和目标MAC地址则是C,D相连的两个接口(MAC-c2,MAC-d1)。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李小白20200202

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值