详细Ping过程描述(二、三层转发)
※ 首先要了解
① 源主机在发起通信之前,将自己的IP与目的主机的IP进行比较,如果两者位于同一网段(用网络掩码计算后具有相同的网络号),那么源主机发送arp请求广播报,请求目的主机的mac地址,在收到目的主机的ARP应答后获得对方的物理层(MAC)地址,然后用对方MAC作为报文的目的MAC进行报文发送。位于同一VLAN(网段)中的主机互访时属于这种情况,这时用于互连的交换机作二层交换转发;
② 判断是否网络层转发:报文的目的MAC地址是否为路由接口(网关)的MAC
如下图
当源主机判断目的主机与自己位于不同网段时,它会通过网关(Gateway)来递交报文,即发送ARP请求来获取网关IP地址对应的MAC,在得到网关的ARP应答后,用网关MAC作为报文的目的MAC进行报文发送。
了解了以太帧目的MAC的填写规则之后就可以描述转发过程了
一、拓扑1,及各接口配置如下图:
同网段通信,PCa ping PCb
1,欲发送的以太帧关键部分如下:
目的MAC:未知 |
源MAC:MACa |
目的IP:10.10.10.2 |
源IP:10.10.10.1 |
2,根据规则,判断目的PCb的IP地址,发现和自己在同一网段,则直接请求目的主机MAC,此时PCa未知PCb的MAC,便广播ARP请求,请求帧关键部分如下:
以太网首部 |
ARP字段 |
|||||
目的MAC:广播 |
源MAC:MACa |
标志: 0 |
源MAC:MACa |
源IP: 10.10.10.1 |
目的MAC: 0待填充 |
目的IP:10.10.10.2 |
3,此时SW1从Fa1/1接收到了此广播,进行MAC以及ARP的学习,FDB(MAC表)上增加一条MAC对应关系如下:
MACa |
Fa1/1 |
4,SW1查表发现没有对应的表项,便在同网段内即向Fa0/1和Fa2/1转发广播包。R1发现请求的ARP不是自己的IP便丢弃;PCb则发现ARP请求目的IP是自己,便准备编辑一个ARP回应报文,同时,将PCa的MAC和IP对应关系保存在自己的ARP缓冲表中。ARP回应报文关键部分:
以太网首部 |
ARP字段 |
|||||
目的MAC:MACa |
源MAC:MACb |
标志: 1 |
源MAC:MACb |
源IP: 10.10.10.2 |
目的MAC: MACa |
目的IP:10.10.10.1 |
5,ARP回应报文从SW的Fa2/1接口进入交换机,交换机进行学习,FDB上增加一条
MACb |
Fa2/1 |
6,此时SW1再查表,发现目的MAC可以从Fa1/1到达,便从此端口转发此报文。
7,这时PCa便能收到ARP回应,将PCb的MAC记录在本机ARP缓存中。可以编辑ping报文发送。当SW1接收到目的MAC为MACb的帧时,学习过程便是更新FDB表,查表将报文从Fa2/1转发,PCb便能收到报文。Ping回应的过程也一路查表畅通无阻。
======================================================================
跨网段通信,PCa ping PCc
1,欲发送的以太帧关键部分如下:
目的MAC:未知 |
源MAC:MACa |
目的IP:10.10.20.1 |
源IP:10.10.10.1 |
2,根据规则,判断目的PCc的IP地址,发现和自己不在同一网段,于是向网关发送ARP请求。请求帧关键部分如下:(ARP请求的源为自己本身,目的地址为网关)
以太网首部 |
ARP字段 |
|||||
目的MAC:广播 |
源MAC:MACa |
标志: 0 |
源MAC:MACa |
源IP: 10.10.10.1 |
目的MAC: 0待填充 |
目的IP:10.10.10.100 |
3,此时SW1从Fa1/1接收到了此广播包,便进行ARP学习,FDB(MAC表)上增加一条MAC对应关系如下:
MACa |
Fa1/1 |
4,SW1查表发现没有对应的表项,便在同网段内即向Fa0/1和Fa2/1转发广播包。PCb发现请求的ARP不是自己的IP便丢弃;R1则发现ARP请求目的是自己Fa0/0接口IP,便编辑一个ARP回应报文:
以太网首部 |
ARP字段 |
|||||
目的MAC:MACa |
源MAC:MAC_R1_0 |
标志: 1 |
源MAC:MAC_R1_0 |
源IP: 10.10.10.100 |
目的MAC: MACa |
目的IP:10.10.10.1 |
5,此时SW1接收到该ARP应答,并进行基于原地址的学习,与目的地址的转发,新增MAC表项:
MAC_R1_0 |
Fa0/1 |
6,PCa接收到ARP应答后,就学习到网关的MAC地址,这时,PCa就开始向PCc发送ping报文,源IP、源MAC为自己本身,目的MAC为网关的MAC,目的IP为PCc的IP地址:
目的MAC:MAC_R1_0 |
源MAC:MACa |
目的IP:10.10.20.1 |
源IP:10.10.10.1 |
7,SW1接到此报文基于源地址的学习,查找目的MAC,进行转发给R1。
接下来的步骤,和同网段通信大同小异
8,R1接收到该ICMP报文后,R1查找本地路由表,通过最长匹配找到PCc的匹配项,确定出端口为fa1/0,接着进行规则判断,目的IP是否和自己IP处于同一网络,发现PCc的IP和自己接口Fa1/0的IP为同一网段,欲转发ICMP报文,目的MAC为PCc的MAC。
目的MAC:未知PCc |
源MAC:MAC_R1_1 |
目的IP:10.10.20.1 |
源IP:10.10.10.1 |
查找ARP表,没有发现端对应的MAC地址,这时,R1发送ARP请求报文,广播请求PCc的MAC地址:
以太网首部 |
ARP字段 |
|||||
目的MAC:广播 |
源MAC:MAC_R1_1 |
标志: 0 |
源MAC:MAC_R1_1 |
源IP: 10.10.20.100 |
目的MAC: 0待填充 |
目的IP:10.10.20.1 |
9,交换机SW2接收到广播包,基于源地址的学习和目的地址的转发
10,PCc收到ARP请求,基于源地址的学习,同时发现请求的IP地址为自己本身,以单播形式做ARP应答
11,SW2接收到ARP应答报文,基于源地址的学习和目的地址的转发
12,R1接收到ARP应答后,获取到PCc的MAC地址,于是,R1将PCcMAC地址填入ping报文中,将ping报文转发给PC3
13,SW2接收到ping报文后基于源地址学习,根据目的MAC转发给PCc
14,PCc接收到ping报文,开始通信。
以上为简单的拓扑的二三层转发过程,省略了ping应答的过程。
下面的拓扑加入了vlan和路由,用表格以序号方式展示ping的过程
二、加入VLAN的网络拓扑
网络说明:
1) 网络中所有二层口都为ACCESS口(包括设备间互联的二层口),其对应VLAN如图中连接所示。
2)L2-1下链A-1端口为0/1,下链B-1端口为0/2;上链L3-1端口为0/23,上链L3-2端口为0/24。
L2-2下链A-2端口为0/1,下链B-2端口为0/2;上链L3-1端口为0/23,上链L3-2端口为0/24。
3) L3-1和L3-2连接L2-1的端口均为0/1,连接L2-2的端口均为0/2。
L3-1和L3-2通过路由口相连,均为0/24口。
L3-1是VLAN3的网关SVI3:192.168.1.100/24,L3-2是VLAN4的网关SVI4:192.168.2.100/24。终端用户PC的IP配置如图所示。
4)方便描述,在L3-1添加静态路由:ip route 192.168.2.0 255.255.255.0 192.168.3.2
在L3-2添加静态路由ip route 192.168.1.0 255.255.255.0 192.168.3.1
A-1 ping通B-2 (以表格形式说明完整ping过程报文)
编号 |
报文类型 |
源MAC |
目的MAC |
tag |
源IP/ |
目的IP/ |
TTL |
发送者 |
1 |
ARP请求 |
MAC_A1 |
全F |
NA |
192.168.1.1 |
192.168.1.100 |
NA |
A1 |
2 |
ARP请求 |
MAC_A1 |
全F |
NA |
192.168.1.1 |
192.168.1.100 |
NA |
L2-1 |
3 |
ARP应答 |
MAC_L3_1_SVI3(或MAC_L3_1) |
MAC_A1 |
NA |
192.168.1.100 |
192.168.1.1 |
NA |
L3-1 |
4 |
ARP应答 |
MAC_L3_1_SVI3(或MAC_L3_1) |
MAC_A1 |
NA |
192.168.1.100 |
192.168.1.1 |
NA |
L2-1 |
5 |
ICMP请求 |
MAC_A1 |
MAC_L3_1_SVI3(或MAC_L3_1) |
NA |
192.168.1.1 |
192.168.2.2 |
255 |
A1 |
6 |
ICMP请求 |
MAC_A1 |
MAC_L3_1_SVI3(或MAC_L3_1) |
NA |
192.168.1.1 |
192.168.2.2 |
255 |
L2-1 |
7 |
ARP请求 |
MAC_L3_1_gi0/24(或MAC_L3_1) |
全F |
NA |
192.168.3.1 |
192.168.3.2 |
NA |
L3-1 |
8 |
ARP应答 |
MAC_L3_2_gi0/24(或MAC_L3_2) |
MAC_L3_1_gi0/24(或MAC_L3_1) |
NA |
192.168.3.2 |
192.168.3.1 |
NA |
L3-2 |
9 |
ICMP请求 |
MAC_L3_1_gi0/24(或MAC_L3_1) |
MAC_L3_2_gi0/24(或MAC_L3_2) |
NA |
192.168.1.1 |
192.168.2.2 |
254 |
L3-1 |
10 |
ARP请求 |
MAC_L3_2_SVI4(或MAC_L3_2) |
全F |
NA |
192.168.2.100 |
192.168.2.2 |
NA |
L3-2 |
11 |
ARP请求 |
MAC_L3_2_SVI4(或MAC_L3_2) |
全F |
NA |
192.168.2.100 |
192.168.2.2 |
NA |
L2-2 |
12 |
ARP应答 |
MAC_B2 |
MAC_L3_2_SVI4(或MAC_L3_2) |
NA |
192.168.2.2 |
192.168.2.100 |
NA |
B2 |
13 |
ARP应答 |
MAC_B2 |
MAC_L3_2_SVI4(或MAC_L3_2) |
NA |
192.168.2.2 |
192.168.2.100 |
NA |
L2-2 |
14 |
ICMP请求 |
MAC_L3_2_SVI4(或MAC_L3_2) |
MAC_B2 |
NA |
192.168.1.1 |
192.168.2.2 |
253 |
L3-2 |
15 |
ICMP请求 |
MAC_L3_2_SVI4(或MAC_L3_2) |
MAC_B2 |
NA |
192.168.1.1 |
192.168.2.2 |
253 |
L2-2 |
16 |
ICMP应答 |
MAC_B2 |
MAC_L3_2_SVI4(或MAC_L3_2) |
NA |
192.168.2.2 |
192.168.1.1 |
255 |
B2 |
17 |
ICMP应答 |
MAC_B2 |
MAC_L3_2_SVI4(或MAC_L3_2) |
NA |
192.168.2.2 |
192.168.1.1 |
255 |
L2-2 |
18 |
ICMP应答 |
MAC_L3_2_gi0/24(或MAC_L3_2) |
MAC_L3_1_gi0/24(或MAC_L3_1) |
NA |
192.168.2.2 |
192.168.1.1 |
254 |
L3-2 |
19 |
ICMP应答 |
MAC_L3_1_SVI3(或MAC_L3_1) |
MAC_A1 |
NA |
192.168.2.2 |
192.168.1.1 |
253 |
L3-1 |
20 |
ICMP应答 |
MAC_L3_1_SVI3(或MAC_L3_1) |
MAC_A1 |
NA |
192.168.2.2 |
192.168.1.1 |
253 |
L2-1 |
可以发现:跨网通信中,ping报文的源、目的IP地址没有变化(对于网络层);而源、目的MAC的址随着不同设备间转发的过程而变化。
详细Ping过程描述(二、三层转发)相关推荐
- PING用一生诠释了TCP/IP(4)------二三层转发为PING劈荆斩棘
作为一个网络使用者,你也许从来没有思考过源及目的主机之间究竟发生了什么,因为网络对用户来说是一个黑匣子,所有的细节都被屏蔽掉了,你只能知道通还是不通,能不能上网?但是作为一个网络设计者,研究者,你就必 ...
- 交换机二三层转发原理简单总结
首先二层转发是基于MAC地址转发,三层转发基于IP地址转发,但是这并不意味着仅仅依靠IP地址就能转发,三层转发是建立在二层的基础上的,而仅仅依靠MAC地址是能够转发的.另外,由于二三层转发基于MAC地 ...
- vlan 二三层转发
http://www.cnblogs.com/clover-toeic/p/3741115.html
- PING用一生诠释了TCP/IP------二三层转发为PING劈荆斩棘(转载)
作为一个网络使用者,你也许从来没有思考过源及目的主机之间究竟发生了什么,因为网络对用户来说是一个黑匣子,所有的细节都被屏蔽掉了,你只能知道通还是不通,能不能上网?但是作为一个网络设计者,研究者,你就必 ...
- 交换机二三层协议及其详细解答
交换机二三层协议及其详细解答 概述 二层协议 三层协议 以太网协议 示例代码 CSMA/CD协议 示例代码 IP协议 示例代码 概述 交换机是网络设备的一种,主要用于连接多个网络设备,以实现网络通信和 ...
- 由浅入深玩转华为WLAN—19 漫游系列(6)不同AC之间AP漫游的概述以及二三层漫游处理过程
HAC(Home AC):一个无线终端首次与漫游组内的某个AC进行关联,该AC即为它的HAC,如图所示,AC_1即为STA的HAC. HAP(Home AP):一个无线终端首次与漫游组内的某个AP进行 ...
- 71张图详解IP 地址、IP 路由、分片和重组、三层转发、ARP、ICMP
目录 有小伙伴问:为什么没有配置 IP 地址就无法上网?IP 协议又是啥? 这要从 TCP/IP 协议说起,互联网使用的是 TCP/IP 协议,其中 IP 协议又是最重要的协议之一.IP 协议是基于 ...
- 71张图详解IP地址、IP 路由、三层转发、ARP、ICMP
71张图详解IP地址.IP 路由.三层转发.ARP.ICMP 架构师之道2021-04-07 13:51:24 https://www.toutiao.com/i6948285918986027531 ...
- 【最全面的】71张图详解IP 地址、IP 路由、分片和重组、三层转发、ARP、ICMP
转发自: Original Fox 网络技术平台 目录 有小伙伴问:为什么没有配置 IP 地址就无法上网?IP 协议又是啥? 这要从 TCP/IP 协议说起,互联网使用的是 TCP/IP 协议,其中 ...
最新文章
- socket套接字选项
- LeetCode第19题;删除链表的倒数第N个节点
- matlab 线性拟合相关系数,Matlab自动选择相关性最高波段并拟合曲线
- KEILC51警告:WARNING L15: MULTIPLE CALL TO SEGMENT
- asp.net中提交表单数据时提示从客户端(。。。)中检测到有潜在危险的 Request.Form 值...
- Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串:
- 计算机字体原理,字体图标生成原理(1)
- 学习STP的一些总结
- [bzoj 1030][JSOI2007]文本生成器
- Wix 3.0正式发布
- windows下编译可在visual studio中调试的FFmpeg
- Python-变分模态分解(VMD)python代码及其测试用例
- 黑苹果 无线网卡相关配置
- Cortex-M3 (NXP LPC1788)之WDT窗口看门狗定时器
- 大数据杀熟?苹果回应:定价权在开发者那
- xp服务器文件写保护怎么删除,winxp系统复制文件提示“请去掉写保护或使用另一张磁盘”的解决...
- Mysql 最全教程
- HTML+CSS制作的纯静态网页
- 阿里PaaS平台下开发建设
- 笔记本电脑无法连接自己家的网络
热门文章
- JavaScript控制打印机打印条形码----条形码产生部分
- Nexus5X Android 安卓 6.0 刷 8.0.1 root
- 什么是Defensive Copy
- 这些很小的错误不应该在有了!
- 移动应用测试团队的新人培训计划
- AndroidStudio 用Gradle把Moudle打成jar包
- 学习云计算流程,分享学习资源
- 大写字母的读法(大写字母的读音)
- 移动信号最好的服务器,2019信号排行榜发布:中国移动信号强度和稳定性最好……...
- Python实现Plugin