码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-09-02 19:02:08      阅读:833      评论:0      收藏:0      [点我收藏+]

标签:网络   交换机   ip地址   转发原理   ping   

1. 概述

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

技术分享

1 网络拓扑图

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

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

Routerfa0/0口的IP地址为1.1.1.254/24MAC地址为ca06.1b2c.0008

Routerfa0/1口的IP地址为2.2.2.254/24MAC地址为ca06.1b2c.0006

2. 三层转发

2.1 Host 1ARP请求

Host 1ICMP echo请求报文,封装到源IP地址为1.1.1.1,目的IP地址为2.2.2.1IP报文中。然后查询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.254ARP请求,封装在源MAC地址为ca02.1a14.0000,目的MAC地址为ffff.ffff.ffff的以太网帧发出,如图2所示。

技术分享

2 ARP请求

2.2 SW1学习MAC地址

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

2.3 RouterARP应答

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

技术分享

3 ARP应答

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

技术分享


4 RouterARP

2.4 SW1学习MAC地址

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

2.5 ICMP echo请求

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

技术分享

5 Host 1ARP

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

技术分享

6 ICMP echo请求

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

2.6 RouterARP请求

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

2.7 SW2学习MAC地址

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

2.8 Host 2ARP应答

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

2.9 SW2学习MAC地址

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

Router获到Host 2给他的ARP响应之后,会将物理地址ca06.1b2c.0006IP地址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.1IP报文中,发送给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

同步传输模式

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

硬件地址长度:1字节;

协议地址长度:1字节;

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

3.2 ICMP echo报文

技术分享

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

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

校验和:2字节;

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

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

本文出自 “8133053” 博客,转载请与作者联系!

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

标签:网络   交换机   ip地址   转发原理   ping   

原文地址:http://8143053.blog.51cto.com/8133053/1690878

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!