第一章:实验准备
第一节:TOP准备
第二节:IP地址规划表
第二章:正式实验
步骤一:PC1发出ARP的请求包
步骤二:路由器从F0/0发出的ARP回应包
步骤三:PC1发出的ICMP的请求包
步骤四:路由器发出的ARP request包
步骤五:PC2发出的ARP request包
步骤六:PC1成功封装并发出的第二个ICMP请求包
步骤七:路由器从F0/1重新封装并转发请求包
步骤八:PC2发出的ICMP回应包
步骤九:路由器从F0/0重新封装并转发的ICMP回应包
步骤十:PC1 第三次发送ICMP(request)
步骤十一:R1转发ICMP(request)
步骤十二:PC 2发送ICMP(reply)
步骤十三:路由器从F0/0重新封装并转发的ICMP回应包
第一章:实验准备
第一节:TOP准备
参照下图TOP搭建实验环境
第二节:IP地址规划表
设备 IP地址 MAC地址
第二章:正式实验
步骤一:PC1发出ARP的请求包
原因:PC1进行与运算得跨网段,查看ARP缓存表中没有网关的MAC地址,导致ICMP封装失败,进行ARP泛洪。
步骤二:路由器从F0/0发出的ARP回应包
原因:路由器学习192.168.1.1的MAC地址到ARP缓存表中,封装ARP的repiy包并发出。
步骤三:PC1发出的ICMP的请求包
原因:
步骤四:路由器发出的ARP request包
原因:路由器收到数据包了,逐层解封装,根据目的IP与路由表中每一个路由条目进行与运算,根据匹配条目进行重新封装,三层不变,二层变,源MAC封装F0/1的MAC,目的MAC封装192.168.2.1的MAC,路由器ARP缓存表中找192.168.2.1的MAC,找不到就导致重新封装的ICMP请求包封装失败,导致ARP泛洪。
步骤五:PC2发出的ARP request包
原因:PC2收到路由器发来的ARP请求包,学习192.168.2.100的MAC地址是0001.97A0.1401,学习到PC2的ARP缓存表中。PC2封装ARP的回应包的MAC地址是0060.5C35.1D39,学习到路由器的缓存表中。
步骤六:PC1成功封装并发出的第二个ICMP请求包
原因:
步骤七:路由器从F0/1重新封装并转发请求包
原因:路由器收到PC1发来的ICMP请求包,逐层解封装,(解封装二层,目的MAC是路由器自己接口的MAC地址,继续解封装三层,nudistIP不是路由器自己的IP,192.168.2.1与路由器中的每一个路由条目进行与运算,找到匹配的路由条目。)
步骤八:PC2发出的ICMP回应包
原因:封装3层:源IP、目的IP不变,封装2层:源MAC封装接口F0/1的MAC地址(192.168.1.100),目的MAC封装目的IP的MAC地址(192.168.2100),路由器去ARP缓存表中找到对应的地址,成功重新封装ICMP包并存F0/1中转发出去。
步骤九:路由器从F0/0重新封装并转发的ICMP回应包
原因:路由器收到PC2发表的ICMP回应包,逐层解封装(解封装2层,目的MAC是路由器自己接口的MAC地址,连续解封装3层,目的IP不是路由器自己的IP,根据目的IP 192.168.1.1与路由器中的每一个路由条目进行与运算,找到匹配的路由条目,根据该匹配的路由表重新封装。封装3层,源IP,目的IP不变,目的MAC封装目的IP的路由表去ARP缓存表中想对应的MAC地址,并重新封装ICMP会员包从F0/0转发出去。
步骤十:PC1 第三次发送ICMP(request)
步骤十一:R1转发ICMP(request)
步骤十二:PC 2发送ICMP(reply)
步骤十三:路由器从F0/0重新封装并转发的ICMP回应包