两台电脑之间PING完整通信过程
一、查看设备原始状态
1、搭建实验拓扑如图1所示,分别配置PC1~PC4的IP地址为192.168.1.1~192.168.1.4,并记录它们的MAC地址;
图1 实验拓扑
2、进入PC1命令提示符状态,输入arp –a,查看PC1的ARP缓存表,确认缓存表为空,如果不空,使用命令arp –d清空缓存表;
3、进入PC2命令提示符状态,输入arp –a,查看并确保PC2的ARP缓存表为空;
4、进入SW1特权模式,输入show mac-address-table,查看交换机MAC地址表,如果不为空,使用命令clear mac-address-table清空MAC表; 6、编辑过滤器,只保留ARP和ICMP协议 7、填写下表 设备 PC1 PC2 PC3 PC4 SW1 IP地址 MAC地址 ARP/MAC表
二、查看PC1 ping PC2的模拟通信过程
1、进入PT的模拟模式,点击“自动捕获/播放”按钮; 2、进入PC1命令提示符状态,输入命令ping 192.168.1.2 3、此时PC1将生成一个ICMP报文(图2),并封装到IP数据包(图3)中:
说明:ICMP定义了五种常用差错报文和八种询问报文类型,类型8或0:回送请求或回答查询报文。主要用来测试目的站是否可达以及了解其有关的状态。 图2 ICMP报文格式 说明:Pro协议字段,常用的协议有:1-ICMP 2-IGMP 6-TCP 8-EGP 9-IGP 17 –UDP 88-IGRP 89-OSPF
图3 IP数据包格式
4、在做二层封装时,由于没有目的主机的MAC地址,此时PC1将调用ARP协议,为获取目的主机的MAC地址,生成一个ARP请求包(图4),再封装到以太网二型帧中(图5),再发给SW1。 说明:硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1; 协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制); 硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用; 操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3, RARP响应为4; ARP请求时,目标MAC为全0 图4 ARP请求包
Ethernet II,最早最简单,上层直接承载三层包。其MTU为1500B,它也是在数据传输中最常使用的帧格式; Ethernet 802.3 raw在Novell网络中使用,其MTU为1498B; Ethernet 802.3 SAP在需要LLC控制的局域网 中使用,其MTU为1497B; Ethernet 802.3 SNAP主要在交换机之间传输生成树及VLAN信息时使用。MTU为1492B。 图5以太网二型帧格式
5、SW1收到数据帧后,首先查看帧原MAC地址,并将其保存到MAC地址表中(交换机的地址学习功能),然后将广播帧从接收端口之外的所有端口转发出去;PC2~PC4都将收到相同的ARP广播帧;P3和PC4收到广播帧后,拆封到二层,发现是ARP请求包,与自己无关,丢弃该帧;
6、PC2收到广播帧后,拆封到二层,发现是请求自己的MAC地址的ARP请求,PC2将PC1的MAC地址放入自己的ARP缓存表中,然后生成一个ARP应答包(图6),并封闭到以太网二型帧中再发给SW1; 图6 ARP应答包 图7 以太网二型帧
7、SW1收到ARP应答帧后,先学习PC2的MAC地址,然后根据目的MAC,查找MAC表,从指定端口转发出去。此时的交换机中就已经学到了PC1和PC2的MAC地址及其连接端口了。
Switch#show mac-address-table Mac Address Table -------------------------------------------
Vlan Mac Address Type Ports ---- ----------- -------- -----
1 0002.16b0.8501 DYNAMIC Fa0/1 1 00d0.bc12.8502 DYNAMIC Fa0/2 Switch#
8、PC1收到ARP应答包后,将PC2的MAC地址保存到ARP缓存表中,然后再回到第4步,做二层封装,生成以太网二型帧(图8)。 9、SW1收到这个单播帧后,转发给PC2,PC2收到后,生成ICMP应答包,先封装到IP包中,再做二层封装,发给SW1,并由SW1转发给PC1,完成一次PING过程。
PC2接收帧
10、PC1再重复三次PING过程,完成整个PING过程。
PC2发送帧
ICMP定义了五种常用差错报文和八种询问报文类型,差错报告报文的类型有一下几个: 类型3:目的站不可达 类型4:源站抑制 类型5:改变路由 类型11:时间超过 类型12:参数问题
查询报文的类型有一下几个: 类型8或0:回送请求或回答
类型13或14:时间戳请求或回答 类型17或18:地址掩码请求或回答 类型10或9:路由器询问或通告
IP-Ethernet 的组播地址和组播MAC地址有什么关系?
许多MAC组播地址是从IP组播地址转换而来。例,OSPF IP组播地址是224.0.0.5, 转换为相应的MAC组播地址如下:
(1) 把IP地址(32位)用二进制表现 1110000: 00000000: 00000000: 00000101 (2) 然后抽出最右边的23叫做A: 0000000: 00000000: 00000101
(3) 把IEEE定义的组播01:00:5e作为B. B有24位 (二进制是 00000001:00000000:01011110)
(4) 合成相应的MAC组播地址如下:连接 B,0,A。 B有24位,在左边; 0是一位,在中间;A有23位,在右边。共48位。
二进制是 00000001:00000000:01011110:000000000: 00000000: 00000101 十六进制是 01:00:5e:00:00:05
相关推荐: