华为网络基础 | 数据转发过程

  • 内容
  • 相关

接着讲述了上网时,我们所发送的数据包转发的全过程,下图是电脑和网络设备连接拓扑图。

以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应答数据包,过程相似。

 您阅读这篇文章共花了:

上一篇:华为网络基础 | 静态路由

下一篇:Windows | Linux | windows 7与redhat7双系统安装并设置默认启动Windows 7

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:华为网络基础 | 数据转发过程 - http://www.fishyoung.com/post-185.html