ping 的原理

ping 的原理
ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping 使用的是ICMP协议,它发送icmp回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。

假定主机A的IP地址是192.168.1.1,主机B的IP地址是192.168.1.2,都在同一子网内,则当你在主机A上运行“Ping 192.168.1.2”后,都发生了些什么呢?

首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.1.2”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.1.2”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址,一并交给数据链路层。其中, 映射表由ARP实现。ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。

原文地址:https://www.cnblogs.com/betterquan/p/11504319.html

时间: 2024-10-13 17:53:18

ping 的原理的相关文章

ping的原理以及ICMP

ping 的原理: ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接.     ping 使用的是ICMP协议,它发送icmp回送请求消息给目的主机.ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机.如果源主机在一定时间内收到应答,则认为主机可达. ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议. ping.exe的原理: 向指定的IP地址发送一定长度的数据包,按照约定,若指定IP地址存在的话,会返

PING的原理以及ICMP协议

主要内容: 1.ping的原理以及工作过程 2.ICMP协议 3.ICMP的应用:ping,traceroute 1.ping的原理以及工作过程  ping的原理  ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接. ping 使用的是ICMP协议,它发送icmp回送请求消息给目的主机.ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机.如果源主机在一定时间内收到应答,则认为主机可达. ICMP协议通过IP协议发送的,IP协议是

计算机网络(5)-----ICMP协议和PING程序

控制报文协议(Internet Control Message Protocol) 定义 它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网络通不通.主机是否可达.路由是否可用等网络本身的消息. 简介 ICMP报文就像是IP报文的小弟,总顶着IP报文的名头出来混.因为ICMP报文是在IP报文内部的,如图: IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)

【网络基础】ICMP报文和ping指令

ICMP报文: 作用: 为了更有效转发IP数据报和提高 IP 数据报交付成功的机会, 在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol). 概念: ICMP 不是高层协议,而是 IP 层的协议.ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送. 格式: 种类(对应ICMP报文内的类型字段): ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文. ICMP差错报告报文共有五种:

ping过程详解

原出处:http://wanicy.blog.51cto.com/509018/335207/ PS:这里只是给出了ping ip地址的例子,没有给出ping域名的例子. ping 域名还有域名转换成IP地址这一步,转换成IP后,这样接着下面的继续 如果你想了解PING的原理,就看我的文章,不要去网上找,找不到什么好的内容.看了我文章,也许你会从对网络一窍不通,到豁然开朗. 先看拓朴图: 我在这里讲拼的两情况,一种是同一网段内,一种是跨网段的ping …. 首先,如果主机A,要去拼主机B,那么主

Ping 命令详解

Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可以用来验证与远程计算机的连接. ping的参数 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list] [-

Ping命令与ICMP协议

ICMP协议 ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息 ping命令 ping命令通常用来作为网络可用性的检查.ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络. ping和ICMP的关系 ping命令发送数据使用的是ICMP协议. ping的原理 向指定的网络地址发送一定长度的数据包,

网络层--icmp协议(05)

ping 原理与ICMP协议 以前刚开始看的时候总觉得网络协议只能是层层封装,虽然查找资料,都说在网络上面同时有IP协议,arp协议,ICMP和IGMP协议,但自己就是绕不过弯来,现在想想,唉.... ping 的原理 ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接.ping 使用的是ICMP协议,它发送icmp回送请求消息给目的主机.ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机.如果源主机在一定时间内收到应答,则认为主

Nmap系列C------OSI二层扫描

通过OSI二层(数据链路层)实施主机扫描发现 OSI模型的第二层就是数据链路层,在该层主要工作的协议是ARP.当两台主机间进行通信时,源主机会先使用ARP协议广播请求获取目标主机的MAC地址.如果源主机收到目标主机的响应,则说明目标主机是活动的,否则,目标主机是关闭的.所以,可以使用OSI二层实施主机扫描发现. 数据链路层 把数据转换为标准格式,管理数据加密与压缩 ARP 1.1.1    ARP Ping扫描 原理:主机发现的原理与Ping命令类似,就是向目标主机发送数据包,如果收到回复则说明