二、三层转发原理(ping过程)

1. 概述

如图1所示,交换机Router,SW1,SW2的所有表项为空,Host 1要ping Host 2,即Host 1要给Host 2发送ICMP echo请求,Host 2收到请求之后,发现是请求自己的IP地址,会回复ICMP echo应答报文。

图1 网络拓扑图

Host 1的IP地址为1.1.1.1/24,默认网关为1.1.1.254,MAC地址为ca02.1a14.0000;

Host 2的IP地址为2.2.2.2/24,默认网关为2.2.2.254,MAC地址为ca03.1a14.0000;

Router的fa0/0口的IP地址为1.1.1.254/24,MAC地址为ca06.1b2c.0008;

Router的fa0/1口的IP地址为2.2.2.254/24,MAC地址为ca06.1b2c.0006。

2. 三层转发

2.1 Host 1的ARP请求

Host 1将ICMP echo请求报文,封装到源IP地址为1.1.1.1,目的IP地址为2.2.2.1的IP报文中。然后查询Host1的路由表,将报文准备发送给Host 1的默认网关1.1.1.254。由于Host 1没有其默认网关的MAC地址,因此Host 1会将该报文存到内存,先发送ARP请求。

Host 1将源物硬件址为ca02.1a14.0000,源协议地址为1.1.1.1,目的硬件地址填充00:00:00:00:00:00,目的协议地址为1.1.1.254的ARP请求,封装在源MAC地址为ca02.1a14.0000,目的MAC地址为ffff.ffff.ffff的以太网帧发出,如图2所示。

图2 ARP请求

2.2 SW1学习MAC地址

Sw1收到该帧广播,同时将ca02.1a14.0000与1口关联起来,加入到MAC地址表。

2.3 Router的ARP应答

Router收到这个帧之后,去掉二层封装,查看到ARP请求中的目的协议地址为fa0/0口地址,会发送响应物理地址为ca06.1b2c.0008,响应协议地址为1.1.1.254,目的MAC地址ca02.1a14.0000,目的IP地址1.1.1.1的ARP应答,封装在源MAC地址为ca06.1b2c.0008,目的MAC地址为ca02.1a14.0000的以太网帧中发出,如图3所示。

图3 ARP应答

同时Router也会将物理地址ca02.1a14.0000与IP地址1.1.1.1存入到自己的ARP表中,如图4所示。

图4 Router的ARP表

2.4 SW1学习MAC地址

Sw1收到帧之后,查询MAC地址表,将帧从1口发出,同时将ca06.1b2c.0008地址与2口关联,加入到MAC地址表中。

2.5 ICMP echo请求

Host 1收到Router发送的ARP应答之后,会将物理地址ca06.1b2c.0008与IP地址1.1.1.254存入到自己的ARP表中,如图5所示。

图5 Host 1的ARP表

Host 1会调出ICMP echo请求,封装成源MAC地址为ca02.1a14.0000,目的MAC地址为ca06.1b2c.0008的数据帧,发送给Router,如图6所示。

图6 ICMP echo请求

Router的fa0/0收到该报文,查询路由表,Router会将该报文发送给从fa0/1发送给Host 2。由于Router的fa0/1口没有2.2.2.2的MAC地址,只能先进行ARP请求。

2.6 Router的ARP请求

Router会将源物理地址为ca06.1b2c.0006,源协议地址为2.2.2.254,目的物理地址填充全0,目的IP地址为2.2.2.2的ARP请求,封装在源MAC地址为ca06.1b2c.0006,目的MAC地址为ffff.ffff.ffff的以太网帧从fa0/1口广播出去。

2.7 SW2学习MAC地址

Sw2收到该帧之后会将该帧广播,同时将ca06.1b2c.0006与1口关联,加入到MAC地址表。

2.8 Host 2的ARP应答

Host 2收到ARP请求之后,会将响应MAC地址ca03.1a14.0000,响应IP地址2.2.2.2,目的MAC地址ca06.1b2c.0006,目的IP地址2.2.2.254的ARP应答,封装在源MAC地址为ca03.1a14.0000,目的MAC地址为ca06.1b2c.0006的以太网帧中发出。同时也将物理地址ca06.1b2c.0006与IP地址2.2.2.254关联起来,存入到自己ARP表中。

2.9 SW2学习MAC地址

Sw2收到帧之后,查询MAC地址表,将帧从2发出,同时将ca03.1a14.0000地址与1口关联,加入到MAC地址表中。

Router获到Host 2给他的ARP响应之后,会将物理地址ca06.1b2c.0006与IP地址2.2.2.254关联,并且加入到ARP表中。这时,Router将刚才的ICMP echo报文转发给Host 2。

2.10 ICMP echo应答

Host 2收到由Host 1发送的ICMP echo请求之后,会将ICMPecho应答封装在源IP地为2.2.2.1,目的IP地址为1.1.1.1的IP报文中,发送给Host 1。

Host 1收到Host 2发送的ICMP echo应答,此次ping的过程结束,如图7所示。

图7 ICMP echo应答

3. 相关报文格式

3.1 ARP报文

其中:

硬件类型:描述硬件类型信息,具体解释如下表所示,长度2字节;


类型编号


硬件类型


1


以太网


6


IEEE 802网络


12


本地网


15


帧中继


16


ATM


17


HDLD


19


异步传输模式


20


串行线路


21


同步传输模式

协议类型:描述要映射的协议类型,0x0800为IP协议,长度2字节;

硬件地址长度:1字节;

协议地址长度:1字节;

操作:描述ARP操作类型,1为ARP请求,2为ARP应答,长度2字节;

3.2 ICMP echo报文

类型:0x00为回波响应,0x08为回波请求,长度1字节;其中:

代码:0x00,长度1字节;

校验和:2字节;

标识号:在ping请求中随机产生,2字节;

序号:描述请求与应答序列,在之前的基础上+1,1字节。

时间: 2024-10-10 12:37:51

二、三层转发原理(ping过程)的相关文章

ping 二三层转发

作为一个网络使用者,你也许从来没有思考过源及目的主机之间究竟发生了什么,因为网络对用户来说是一个黑匣子,所有的细节都被屏蔽掉了,你只能知道通还是不通,能不能上网?但是作为一个网络设计者,研究者,你就必须要想想?假如你要ping一台位于美国硅谷的服务器,那么ICMP请求报文从源主机发出之后会发生那些事呢?其实报文的所有的路径都是由各种各样的类似与现实生活中的法律一样的网络协议约束下设计的,报文在离开老巢之后会经过二层接入层交换机,在三层交换机汇聚,从边缘路由器上发送出去,流入了茫茫的interne

路由器的三层转发原理

路由器的三层转发原理 首先,介绍一下将要涉及的几个概念: IP,全称互联网协议地址,是指IP地址,意思是分配给用户上网使用的网际协议的设备的数字标签.常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类. MAC(Media Access Control,介质访问控制)地址,或称为MAC位址.硬件地址,用来定义网络设备的位置.MAC集成在网卡,由48bit的2进制的数字组成,0~23位数字叫作组织唯一标志符(organizationally unique,是识别局域网节点的标识

简单剖析静态路由三层转发原理并进行路由转发实验

静态路由(英语:Static routing),一种路由的方式,路由项(routing entry)由手动配置,而非动态决定.与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态.一般来说,静态路由是由网络管理员逐项加入路由表.而静态路由的转发方式一般是三层转发.什么是三层转发?可以通过下面的两张图进行理解图看不懂?没关系,三层转发简单来说就是1--2--3--4,最终目标机收到的数据帧格式就如同图二. 而复杂点说三层转发具体由以下5步组成: 1.HostA发出数据帧,

二三层转发

二层转发:当A.B或者C.D互相通信时,它们走的就是二层转发. 第一步: A--> B.因为报文的源IP和目的IP在同一网段,将会走二层转发,查询PCT表,确定出端口.因为PCT表此时是空的: MAC VLAN 接口(物理口) 所以,交换机会把A向B发送的报文进行广播处理,向VLAN内所有成员端口发送,B当然可以正常接收.同时,交换机会把A对应的MAC.VLAN.端口信息添加到PCT表项中,此时PCT表项变成如下形式. MAC VLAN 接口(物理口) MAC_A VLAN_1 1 第二步: B

三层转发原理

1.Host A想要给Host B发送数据包,Host A检查目标的IP地址与自己的不在同一网段,需要通过网关进行转发.然而Host A检查自己的ARP缓存表里没有网关的MAC地址,与是就向A路由器(默认网关)发送ARP请求报文.2.A路由器将Host A的MAC地址学习且记录到自己的ARP缓存表里,并将自己E0接口的MAC地址应答给Host A.3.Host A学习且记录A路由器E0接口的MAC地址,并重新发送ARP报文,然而此时的源IP地址与目标IP地址不变,目的MAC地址换为A路由器E0接

1.1【基本路由原理】(二层转发原理)1

二层转发原理: 交换机的功能: 1.转发(MAC地址表中存在目的MAC地址) 2.泛洪(1.未知单播帧2.广播/组播帧) 3.过滤(1.MAC地址表中存在目的MAC地址,转发也是一种过滤2.如果数据帧的出入口一致,数据帧需要丢弃) (交换机收到数据帧后的行为和动作,广播是广播帧,泛洪是一个动作(未知单播帧/MAC地址表里面没有目的MAC)) (CAM表是可寻址内存,是二进制数,是为了快速交换 MAC表绑定VLAN信息,接口信息,三层转发才需要ARP,二层转发不需要ARP) (MAC地址表老化时间

ping不通,找房东-----从一个ping包来解析网络转发原理

"房东,我ping不通了",相信在外打工租房的各位都有过这个经历吧.ping不通,一个简单的现象,其实蕴藏着很多的过程,今天我们就来谈谈,ping不通该怎么办. 在说这些之前,先介绍几个概念:1.ping包ping包走的是ICMP协议,什么是ICMP协议呢,Internet控制报文协议,字面意思不好理解,作用很简单,就是发送一些控制消息,来检测链路. 要了解一个协议,我们一般先看它是怎么封装的,查什么书籍都是假的,最好的办法就是自己去抓一个包看看,抓包的工具有很多种,我喜欢用wires

TCP的三次握手和四次挥手与路由器(三层)转发原理

传输层是国际标准化组织提出的开放系统互连(OSI)参考模型中的第四层.该层协议为网络端点主机上的进程之间提供了可靠.有效的报文传送服务.其功能紧密地依赖于网络层的虚拟电路或数据报服务.传输层定义了主机应用程序之间端到端的连通性.传输层只存在于端开放系统中,是介于低3层通信子网系统和高3层之间的一层,但是很重要的一层,因为它是源端到目的端对数据传送进行控制从低到高的最后一层.传输层的服务一般要经历传输连接建立阶段,数据传送阶段,传输连接释放阶段3个阶段才算完成一个完整的服务过程.而在数据传送阶段又

锐捷CCNA系列(二) Wireshark抓包分析Ping过程

实训目的 初步了解Wireshark的使用. 能分析Ping过程. 实训背景 PING(Packet Internet Groper, 因特网包探索器),用于测试网络是否连通的程序,在Windows.Linux.Unix下都是标配程序,Ping发送一个ICMP (Internet Control Messages Protocol, 因特网信息控制协议)Request,接收方收到后,马上回复一个ICMP Echo(Reply). 实训拓扑 实验所需设备: 设备类型 设备型号 数量 交换机 S37