主机到交换机到路由器到交换机到主机数据转发过程(网络处于初始化状态),数据穿越路由器时二层解封装和重封装过程。

拓扑图:

交换机的作用和路由器的配置方法(主机-交换机-路由器-交换机-主机数据转发过程)(1)

主机A和主机B通信(网络初始化状态)(设备明显不在自己的同一网段内)

1:主机A要发送数据给主机B, 主机A有自己的源IP地址和源MAC地址,但是只知道主机B的IP 地址,不知道主机B的MAC地址。

2:数据在传输层封装相应的头部信息后交付给网络层。

3:主机A的网络层收到由传输层送来的数据,网络层将封装自己的源IP地址和目标IP地址和数据打包成数据包,发现数据包的目标IP地址不在同一网段范围内,需要把数据包发送给网关。(数据包由网关进行转发数据)

4:因为网络在初始化状态,主机A无法知道主机B和网关地址的MAC地址,而主机A需要发送一个ARP请求给网关。主机A就发送一个ARP 请求给网关,而与自己连接的是交换机1,需要通过交换机1将ARP请求往外发。

5:交换机1的接口1收到一个ARP请求,在自己的MAC地址表中添加该物理接口和主机A的MAC地址对应的映射关系,并且查看自己的MAC地址表是否有网关的MAC地址,在表内无法查到网关的MAC地址,然后将接收到的ARP请求向接口1以外的所有物理接口进行泛洪。

6:路由器的接口1收到由交换机1的接口2发来的ARP请求,查看相应字段,发现是请求自己的MAC地址,然后回送一个单播数据给主机A(回送的数据中包含自己的IP地址和MAC地址)。

7:交换机1的接口2收到路由器回送的数据查看后,在自己的MAC地址表中形成了物理接口与路由器的MAC地址的对应映射关系。且将把路由器回送的ARP回应报文数据交付给接口1发送出去。

8:主机A收到由交换机1的接口1发来的ARP回应后。将已封装好网络层头部信息的数据,添加源MAC地址和目标MAC地址的头部信息,变成比特流由物理层发送给交换机1。

9:交换机1的接口1收到由主机A发送来的数据帧,查看相应字段信息后。查找MAC地址表中的物理接口和MAC地址的映射关系后,知道了路由器MAC地址和自己物理接口的对应关系后,由自己接口2发送出去给路由器。

10:路由器的接口1收到了由交换机1的接口2发送来的比特流。交付给自己的数据链路层分析,路由器对接收到的数据帧,查看源MAC地址和目标MAC地址和相应字段后,发现数据是发送给自己的。然后将收到的数据帧进行剥除数据帧的头部信息,剥除后的数据发送给自己的网络层去分析。网络层查看该数据包的头部相应字段信息,发现目的IP是在自己物理接口2的网段内(路由器的物理接口已经有相关的IP地址信息)。

11:路由器对接收到的数据的分析,目的IP地址是在接口2的网段内,但是路由器查找相关信息,不知道目的IP地址的MAC地址无法进行转发数据。路由器发起一个ARP请求。从接口2出去。交换机2接口1收到由路由器接口2发送来的ARP请求,在自己的MAC地址表中查看,无法找到对应的目的MAC信息。将接收的源MAC地址与物理接口信息对应的映射关系添加到自己的MAC 地址表中。且将收到的ARP请求,通过交换机2的接口1以外的所有物理接口进行泛洪动作。

12:主机B收到由交换机2的接口2发送来的数据,查看相应字段后,知道是发送给自己的一个ARP请求。是请求自己的MAC地址,就回应一个ARP请求并且添加自己的IP地址和MAC地址。

13:交换机2的接口2收到由主机B回送的一个ARP请求。查看相应字段后,在自己的MAC地址表中添加物理接口和MAC地址的对应关系。且将收到的数据查看MAC 地址表后由自己的接口1发送出去。

14:路由器收到了由交换机2的接口1发送来的ARP回应后。将刚被自己解封装的数据,将网络层的源IP地址和目标IP地址原封不动的封装好后,交给自己的数据链路层,路由器的数据链路层添加自己的MAC地址信息和主机B的MAC信息后和其他相应字段。形成数据帧后变成比特流再由物理层发送给交换机2.

15:交换机2的接口1收到由路由器的接口2发送来的数据帧。查看相应字段后,查找MAC地址表和物理接口的对应映射关系。知道了该数据帧需要从自己的物理接口2发送出去。把数据帧从交换机2的接口2发送出去。

16:主机B收到由交换机2的接口2发送来的比特流。交付给自己的数据链路层分析,路由器对接收到的数据帧,查看源MAC地址和目标MAC地址,发现数据是发送给自己的。主机B将收到的数据帧剥除数据帧的头部信息和相应字段后,将数据送给自己的网络层去分析。网络层收到数据后剥除数据包的头部信息和相应字段后。数据交给传输层,由传输层剥离相应的头部信息后。最后把数据送给应用层。

,