(10.1.1.1/30)pc1-----(1)sw1(2)----(10.1.1.2/30)(e0)r1(e1)(172.16.1.1/30)-----(1)sw2(2)-----pc2(172.16.1.2/30)
从pc1   ping到pc2
1、因为172.16.1.2/30与10.1.1.1/30不是同一网段,所以pc1通过本机的路由表信息判断要把数据包发往网关(e0);
2、pc1要了解与它在同一网络的e0的MAC地址,pc1先发出arp广播包寻找e0口的mac地址;
3、当sw1接收到arp广播包的时候,先记录pc1的数据来源端口号及它的mac地址;因为sw1不知道e0的mac地址,它就泛洪;
4、e0口会回复一个单播包,目标地址是pc1;sw1又记录了e0的mac地址及它的来源端口号;
5、pc1接到回复的包,记住e0的mac地址与ip映射信息,开始封装成数据帧发送;
6、目标ip地址:172.16.1.2/30
   源ip地址:10.1.1.1/30
   源MAC地址:pc1
   目标mac地址:e0
7、sw1接收到该数据包,查找它的缓存表,送往e0;
(路由器收到报文,检查是不是给自己的,如果是,丢弃二层数据,打开三层,检查三层报文的目标IP,并转发到相应接口)
8、e0收到该报文,检查报文目标地址,如果认识该地址,从该数据帧中抽取出数据包,丢弃数据帧。
9、e1口发送arp广播包,查找pc2的mac地址(根据目标ip地址)
10、sw2记录e1的mac地址,及来源的端口号,泛洪。
11、pc2回复单播(目标地址e1)
12、sw2记录pc2的mac地址,及来源的端口号。
13、e1再次对数据进行封装
14、源ip地址:10.1.1.1/30
    目标ip地址:172.16.1.2/30
    源MAC地址:e1
    目标mac地址:pc2
15、sw2接收到该数据包,查找它的缓存表,送往pc2;
16、pc2回复。