4.2.4 理解路由器数据包过程

1、实验目的

通过本实验可以掌握:

  1. 了解IP路由原理
  2. 了解数据包封装和解封装的概念
  3. 了解路由器路由和交换过程

2、实验拓扑

观察路由器路由数据包过程的实验拓扑如图4-3所示,设备接口地址信息如表4-2所示。

图4-3 观察路由器路由数据包过程的实验拓扑

本实验强烈建议利用Cisco Packet Tracer软件完成,可以清晰查看数据包的结构。本实验的配置在后续章节中介绍,此处只注重路由器对数据包封装、解封装和转发过程。本实验就是在Cisco Packet Tracer7.1环境下完成的,假设所有计算机和路由器的ARP表为空。提示:计算机可以使用arp -d命令清空ARP缓存表项,路由器可以使用clear arp命令清空ARP缓存表项。

3、实验步骤

数据包从计算机PC1到达服务器Server1的工作过程如下所述。

路由过程

1、在计算机 PC1上执行ping 172.16.2.100命令,此时PC1首先判断目的IP地址和本机IP地址不在同一个网段,于是向网关(172.16.1.1))发送ARP请求,此数据包为二层广播包,二层地址信息如下:

|----------------|----------------|--------|
| 源MAC地址 | 目的MAC地址 | 类型 |
| 0090.0CD9.63D3 | FFFF.FFFF.FFFF | 0x0800 |

路由器R1收到ARP请求包后,以单播方式回复ARP应答包,二层地址信息如下:

|----------------|----------------|--------|
| 源MAC地址 | 目的MAC地址 | 类型 |
| 0060.47b5.d001 | 0090.0CD9.63D3 | 0x0800 |

计算机PC1收到路由器R1回复的ARP应答后,更新自己的ARP表,此时 PC1的 ARP表如下:

复制代码
C:\>arp -a
  Internet Address      Physical Address      Type
  172.16.1.1            0060.47b5.d001        dynamic

【技术要点】

实际应用环境中,当路由器的G0/0接口启动后,会主动发送 Gratuitous ARP(免费ARP),处在同一网段的计算机收到该数据包后,就会更新自己的ARP缓存表;当计算机网卡启动时,会主动周期性发送ARP请求,以便获得网关的MAC地址,因此上述①的过程实际是自动完成的,不需要用户发送数据包来触发。

2、计算机PC1收到路由器Rl的ARP应答包后,可以进行以太网封装,地址信息如下:

|----------------|----------------|--------|--------------|--------------|------|
| 源MAC地址 | 目的MAC地址 | 类型 | 源IP地址 | 目的IP地址 | 协议 |
| 0090.0CD9.63D3 | 0060.47b5.d001 | 0x0800 | 172.16.1.100 | 172.16.2.000 | 0x01 |

3、计算机PCl将该数据包送到默认网关,即路由器R1,R1 从 G0/0接口收到该以太帧后,将数据包解封装(删除二层帧头和帧尾),然后路由器RI使用数据包的目的IP地址172.16.2.100搜索路由表,查找匹配的路由条目。在路由表中找到匹配的目的网络地址后,确定出接口为S0/0/0,Rl将数据包重新封装(二层重写)到PPP帧中,然后将数据包转发到路由器R2,地址信息如下:

|-------|--------|--------------|--------------|------|
| PPP地址 | 类型 | 源IP地址 | 目的IP地址 | 协议 |
| 0xFF | 0x0021 | 172.16.1.100 | 172.16.2.100 | 0x01 |

4、路由器R2收到R1发送的数据包后,将数据包解封装(删除二层帧头和帧尾),路由器R2使用数据包的目的P地址172.16.2.100搜索路由表,查找匹配的路由条目。在路由表中找到目的网络地址后,发现目的主机位置和自己直连的GO/0接口网络相同,此时如果路由器R2的ARP表中没有172.16.2.100对应的ARP缓存,就发送ARP请求,以便获得 Server1网卡的MAC地址信息,地址信息如下:

|----------------|----------------|--------|
| 源MAC地址 | 目的MAC地址 | 类型 |
| 0040.0b60.a601 | FFFF.FFFF.FFFF | 0x0806 |

5、 Server1收到路由器R2发送的ARP请求后,更新自己的ARP表,此时Serverl的ARP表如下:

复制代码
C:\>arp -a
  Internet Address      Physical Address      Type
  172.16.2.2            0040.0b60.a601        dynamic

6、Server1收到路由器R2发送的ARP请求后会以单播方式回复ARP应答包,地址信息如下:

|----------------|----------------|--------|
| 源MAC地址 | 目的MAC地址 | 类型 |
| 0090.21ED.4390 | 0040.0b60.a601 | 0x0806 |

7、路由器R2收到Server1回复的ARP应答后,更新自己的ARP表,此时路由器R2可以对数据包进行重新封装(二层重写),然后将数据包转发到服务器Serverl,地址信息如下:

|----------------|----------------|--------|--------------|--------------|------|
| 源MAC地址 | 目的MAC地址 | 类型 | 源IP地址 | 目的IP地址 | 协议 |
| 0040.0b60.a601 | 0090.21ED.4390 | 0x0800 | 172.16.1.100 | 172.16.2.100 | 0x01 |

8、路由器R2收到数据包后,继续执行和上述类似的过程,数据包最后到达 PC1,完成一次ping的过程。

以上过程表明,在数据包从计算机 PCl到达服务器Serverl的整个传递过程中,二层地址信息会被重写,但是三层IP地址信息保持不变。(变的是MAC地址不变的是IP地址)

相关推荐
等风来不如迎风去35 分钟前
【win11】最佳性能:fix 没有壁纸,一直黑屏
网络·人工智能
Harvy_没救了1 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
汤愈韬1 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
2401_873479402 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
7ACE3 小时前
Wireshark TS | TLP 超时时间
网络·网络协议·tcp/ip·wireshark·tcpdump
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
草履虫君4 小时前
VMware 虚拟机网络性能优化指南:从 11 秒到 4 秒的完整调优实践
服务器·网络·经验分享·性能优化
@insist1234 小时前
信息安全-防火墙技术演进全景:从代理NAT 到下一代及专项防火墙
网络·安全·web安全·软考·信息安全工程师·软件水平考试
优化Henry5 小时前
TDD-LTE站点Rilink=3链路故障处理案例---BBU侧C口“有发光、无收光”的排查与恢复
运维·网络·信息与通信·tdd