其他分享
首页 > 其他分享> > 一个完整的网络数据包转发过程

一个完整的网络数据包转发过程

作者:互联网

这篇文章讲述了上网时数据包转发的全过程,下面是电脑和网络设备连接简略图:

以PC1 ping PC3为例讲述数据包转发过程:

1、当PC1 ping PC3时,发现它们的IP不在同一网段,PC1就将数据包发送至网关(1.1.1.1/24),这时需要知道网关的MAC地址,

PC1于是查找自身ARP缓存表,如果没有则会发出ARP广播包,包中的地址分别为:

源 IP : 1.1.1.2/24 源 MAC : a.a.a(PC1)

目的 IP : 1.1.1.1/24 目的 MAC : f.f.f

2、交换机SW1从e0/1接口收到数据包,解封后读取数据包的MAC地址,将其写入SW1的MAC地址表,发现该数据包是广播包,加

上帧头后向来源接口外的所有接口发送数据包,PC2接口收到该数据包发现其目的IP地址(1.1.1.1/24)与自身不符,丢弃该数据

包并不做回应。经过交换机后的源IP、源MAC、目的IP、目的MAC都不改变。

3、路由器R1接收到数据包,发现其MAC地址为广播地址,接收该包,再解封,发现请求的目的IP地址为自己的IP(1.1.1.1/24),

需要向源地址进行ARP回复。读取的数据包来源于1.1.1.1/24,源MAC地址为a.a.a。于是向PC1发送数据包,该包中地址为:

源 IP : 1.1.1.1/24 源 MAC : b.b.b(R1、e0/0)

目的 IP : 1.1.1.2/24 目的 MAC : a.a.a(PC1)

4、交换机SW1收到来自R1的数据包,查看源MAC地址为b.b.b,将改地址连同来源的接口号保存到MAC地址表。查看目的MAC地址

a.a.a,查看MAC地址表,找到与a.a.a的匹配项,向指定接口转发该包,经该接口封装后向PC1进行单播。PC1收到数据包,解

封后读到源IP为1.1.1.1/24,源MAC地址为b.b.b,PC1得到网关的MAC地址,并保存到ARP缓存表。

5、PC1向PC3发出数据包,包中地址为:

源 IP : 1.1.1.2/24 源 MAC : a.a.a(PC1)

目的 IP : 2.2.2.2/24 目的 MAC : b.b.b(R1、e0/0)

​ 该包进入SW1,根据目的MAC地址查询MAC地址表后由上接口转出向R1发送,到达接口s0/1,查到数据包MAC地址为自己MAC

地址,将包解封到IP层,查询路由表:在路由表中查到最优匹配项,查找到下一跳接口IP地址,并发送出去;如果没有最优匹配

项,则按照默认路由发送,没有默认路由则丢弃数据包,并发送回应包,目的地址不可达。

​ 查询路由表后得到转发接口为R1s0/1口,下一跳接口的IP地址为3.3.3.2/24,查询ARP表中IP地址为3.3.3.2的接口的MAC地址,

得到其MAC地址d.d.d;如果表中无匹配项,则通过s0/1口发送ARP广播,请求3.3.3.2的MAC地址。封装好包后,从接口s0/1转发

数据包,发出去的包MAC地址改变为:

源 IP : 1.1.1.2/24 源 MAC : c.c.c(R1、s0/1)

目的 IP : 2.2.2.2/24 目的 MAC : d.d.d(R2、s0/0)

6、路由器R2接口s0/0接收到数据包,检验MAC地址后接收并解封至IP层,查询路由表,发现转发接口为E0/0,且目的IP地址与接口

E0/0在同一网段内,查找ARP表中目的IP(2.2.2.2)的MAC地址,得到PC3的MAC地址e.e.e;如果没有查到,则通过E0/0接口

发送ARP广播包查询IP地址为2.2.2.2的MAC地址。

7、E0/0接口将封装好的数据包发送出去,报地址为:

源 IP : 1.1.1.2/24 源 MAC : g.g.g(R2、E0/0)

目的 IP : 2.2.2.2/24 目的 MAC : e.e.e(PC3)

​ 经过SW2的上接口进入,根据其目的MAC地址查询MAC地址表,如果找到匹配表项,则根据指定接口转发出去;如果没有找

到,则向除进接口外的所有接口转发出去。

8、PC3接收到SW2发来的数据包,解封检验MAC地址为自己MAC地址e.e.e,接收数据包,包地址表为:

源 IP : 1.1.1.2/24 源 MAC : g.g.g(R2、E0/0)

目的 IP : 2.2.2.2/24 目的 MAC : e.e.e(PC3)

然后向源地址发送ICMP应答数据包,过程相似。


参考:https://blog.csdn.net/qq_38668258/article/details/84987881

标签:24,MAC,IP,完整,网络,地址,包转发,数据包,1.1
来源: https://www.cnblogs.com/NEGAN-H/p/14621375.html