PING用一生诠释了TCP-IP.doc

上传人:s9****2 文档编号:558525254 上传时间:2023-02-21 格式:DOC 页数:9 大小:133.50KB
返回 下载 相关 举报
PING用一生诠释了TCP-IP.doc_第1页
第1页 / 共9页
PING用一生诠释了TCP-IP.doc_第2页
第2页 / 共9页
PING用一生诠释了TCP-IP.doc_第3页
第3页 / 共9页
PING用一生诠释了TCP-IP.doc_第4页
第4页 / 共9页
PING用一生诠释了TCP-IP.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《PING用一生诠释了TCP-IP.doc》由会员分享,可在线阅读,更多相关《PING用一生诠释了TCP-IP.doc(9页珍藏版)》请在金锄头文库上搜索。

1、PING用一生诠释了TCP/IP(1)-PING与TCP/IP的关系 一个资深的网络人员应该是谙熟于PING这个命令的,而且一个专业的网络从业人员一生之中用得最多的命令行可能就是PING了。那么你理解PING的工作原理码?你能悉数当你敲出ping命令回车后所发生的一切码?如果你满脑空白,或者一知半解,那么你应该来读读这篇文章。这篇文章将详细的解读TCP/IP的基本原理,二三层转发的详细过程以及PING这个简单的命令是如何用她的一生来诠释TCP/IP的。PING与TCP/IP的关系 TCP/IP沿用了OSI分层思想,但是原理更为简练精深,所以很快就在市场推动之下成为了INTERNET的主宰。下图

2、描述了TCP/IP的层次结: 图1 TCP/IP四层结构 TCP/IP是四层结构,从上到下分别是应用层,运输层,网络层及链路层。链路层屏蔽了物理接口与驱动的关系,可以将物理层的比特信息封装为帧结构,流行的由两种,一种是以太帧封装,另一种则是IEEE 802封装,以太帧封装现在以其绝对优势占据了主流市场。网络层处理分组在网络中的活动,该层也称为路由层,负责分组在网络中的寻路转发。传输层主要提供两台主机上的应用程序提供端到端的通信。该层通过端口号来识别上层数据。应用层负责处理特定的应用程序细节。两台处于异地的两台主机之间通信,那么数据包的处理就是一个封装与解封装的过程。如下图所示:图2 数据包的封

3、装过程图3 TCP/IP水平垂直结构如图3所示,两台主机之间想要建立一个FTP连接,FTP客户端会经过一个类似于图2所示的数据封装过程,将应用层数据会交给TCP运输层添加TCP首部,然后交给IP网络层添加IP首部,再交由链路层完数据帧的封装,最后变成BIT流在物理链路上传输,到对端FTP服务器数据会经过一个相反的完全倒置的解封装过程然后最终将数据交给FTP服务器应用程序进行处理。这样便完成了数据的处理过程。以上简单的讲述了一下TCP/IP的工作原理,那么你可能会问,既然如此那么ping到底是工作在哪一层呢?其实从应用的角度我们可以把ping划分在应用层,但是她却没有使用传输层来识别,因为pin

4、g命令正是图1中最左侧应用程序ICMP的层次关系的代表。另外也可以直接将ping划分在网络层,因为她是利用icmp的请求与回显来判断网络主机的路由可达性。ping根本就没有涉及到端口的概念,她只用IP地址来完成整个解析过程。这样的解释可能让你产生迷惑,但是当你比较深入的了解了TCP/IP后就会由深入的体会。经过上面的分析我们可将将PING跟TCP/IP的关系抽象化为下图:图4 ping跟TCP/IP的关系 ping是一个基本的网络命令,用来确定网络上具有某个特定IP地址的主机是否存在以及是否能接收请求。Ping命令通过向计算机发送ICMP回应报文并且监听回应报文的返回,以校验与远程计算机或本地

5、计算机的连接。对于每个发送报文,Ping最多等待1秒,并打印发送和接收把报文的数量。比较每个接收报文和发送报文,以校验其有效性。默认情况下,发送四个回应报文,每个报文包含64字节的数据(周期性的大写字母序列)。可以使用Ping实用程序测试计算机名和IP地址。如果能够成功校验IP地址却不能成功校验计算机名,则说明名称解析存在问题。这种情况下,要保证在本地HOSTS文件中或DNS数据库中存在要查询的计算机名。比如我想在向知道某一台主机(IP为10.153.100.2)的网络可达性,我们可以用命令ping 10.153.100.2,回车后ping命令便会向目的主机发一个ICMP请求ECHO报文,然后

6、查本地ARP表,如果存在ARP表项则直接填充解析到的目的MAC发送,如果不存在ARP表,则会启动ARP地址解析,发送ARP请求报文,当ARP报文到达中间交换机或路由器会判断是二层转发还是三层转发将报文转发到目的主机,目的主机收到ARP请求以后就会返回一个ARP应答给源主机,源主机生成ARP表项,ICMP请求报文便会被发送出去,其中携带源及目的IP地址,在网络上经过路由查询转发最后将ICMP请求报文送达给目的主机,目的主机会响应请求返回ICMP repay按原路返回给源主机,源主机收到ICMP应答报文之后便判断目的主机可达,这样便可以向目的主机发送应用数据了。 从上面的分析可以看出,一个简单的P

7、ING命令的工作过程完整的描述了TCP/IP的工作原理。PING命令依然会按照图2所示的数据封装过程对数据进行封装与解封装。而且在报文转发的过程中会经历二层转发还是三层转发,路由查询转发等过程,整个PING的生与死便会完美的诠释TCP/IP。PING用一生诠释了TCP/IP(2)-ARP做了PING的接生婆前面概述了PING跟TCP/IP的关系,简要阐述了PING的一生。我们知道了PING是利用ICMP的一求一答完成主机目的可达性探测的,那么在发送ICMP请求报文之前,源主机会查询ARP表项(arp -a)获取目的IP目的MAC的映射,有了这个映射关系之后便可以在ICMP报文前封装IP报头,将

8、查询到的目的IP和目的MAC填充在IP报头,便可以在网络上传输了,所以ARP表项的存在是PING能够启动的前提条件,所以在这里我形象的将ARP称为PING的接生婆。下面我们来介绍一下ARP的工作原理:ARP(地址解析协议)是用来完成已知目的IP地址解析得到目的MAC地址的,那么为什么必须要知道对端主机的MAC呢?原因就在于真正用于通信的地址是全球唯一的MAC地址,而IP其实是一种用来简化标识被创造出来的虚拟的地址。ARP协议通过向已知目的主机IP发送ARP请求,然后目的端回应填充了目的主机的MAC地址的ARP应答消息来获得目的Dest IP和Dest MAC的映射关系。图 以太网封装的请求或应

9、答分组格式以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全1的特殊地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。两个字节长的以太网帧类型表示后面数据的类型。对于ARP请求或应答来说,该字段的值为0x0806。 形容词hardware (硬件)和protocol (协议)用来描述ARP分组中的各个字段。例如,一个ARP请求分组询问协议地址(这里是IP地址)对应的硬件地址(这里是以太网地址)。 硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。协议类型字段表示要映射的协议地址类型。它的值为0x0800即表示IP地址。它的值与包含IP数据报的以太网数据帧中的类

10、型字段的值相同,这是有意设计的。接下来的两个1字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度,以字节为单位。对于以太网上IP地址的ARP请求或应答来说,它们的值分别为6和4。 操作字段指出四种操作类型,它们是ARP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)和R ARP应答(值为4)。这个字段必需的,因为ARP请求和ARP应答的帧类型字段值是相同的。接下来的四个字段是发送端的硬件地址(在本例中是以太网地址)、发送端的协议地址(IP地址)、目的端的硬件地址和目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬

11、件地址。 对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。了解了以太网封装的分组格式之后我们以一个例子来详细说明的工作过程:. .00:D0:F8:0A:FB:83 00:E0:3C:43:0D:24如上图所示从发送 .命令,命令会发送请求,在发送请求之前会查询告诉缓存(),Microsoft Windows XP 版本 5.1.2600 (C) 版权所有 1985-2001 Microsoft Corp. C:Docume

12、nts and SettingsAdministrator>arp -a Interface: 192.168.1.16 - 0x3 Internet Address Physical Address Type 192.168.1.2 00-21-27-5e-9f-54 dynamic C:Documents and SettingsAdministrator>告诉缓存查询结果显示并没有找到目的主机的地址的表项,所以就会发送一个请求报文给。发送的请求分组的具体格式如下:图 以太帧封装的请求报文正如上图请求报文的格式,其中需要注意的是以太帧头目的为全的广播地址,也就是说所有局域网内的

13、主机都会收到该请求报文,帧类型十六进制的代表该帧封装了协议报文。操作类型字段代表请求,代表应答信息。目的地址就是需要请求的地址,在请求报文中该字段填全.如此以太帧封装的请求报文的就准备完成了然后交给物理层进行流处理后发送。当交换机接收到请求报文后,会在交换机端口学习源主机与映射表,然后在内广播,这样请求报文就会从所有的交换机同端口广播出去,但是只有报文目的所对应的主机会接受处理该请求报文,其他的主机则直接丢弃。目的主机接受到后,就会向源主机回应一个应答报文,具体如下:图 以太帧封装的应答报文应答报文中以太帧报文用自己的地址填充,操作字段字段为,标识是应答报文,请求报文中的目的以太帧地址(全)同

14、样填充了的地址,将源及目的地址对换后将应答报文发往。交换机收到应答报文后,在端口上学习,生成的表项,然后按照目的(的)查找对应的表项,查到后从对应的端口发送出去,收到应答报文后生成对应的缓存表项。如此一来就学习到了目的主机的表项,这个时候所使用的请求报文便会根据学习到的表转发报文。协议为准备好了所有需要使用的表项信息。这就是为什么我把亲切的称为的接生婆的原理。PING用一生诠释了TCP/IP(3)-ICMP为PING鸿雁传情 PING是利用ICMP协议的一求一答来完成目的主机可达性探寻的。而ICMP(Internet网控制协议)素来被称为信使协议,来弥补IP协议在设计上的缺陷。ICMP按功能可以分为:差错报告和查询两类。差错报文用来传递报文网络处理过程中目的不可达,超时等信息。而查询报文的典型代表就是今天要说到的PING请求及应答报文。 PING的原理就是源主机向目的主机发送ICMP请求报文,如果目的主机能够接收便会向源主机返回一ICMP应答报文告诉源主机,该主机目的可达,可以发送信息。而如果连续发送若干ICMP请求(例如5个)还收不到ICMP应答而连续收到time out报文,则源主机认为目的地不可达。利用PING还可以根据返回信息判断网络环境

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号