ping知识

过程

首先假设A ping B
1.ping通知系统建立一个固定格式的ICMP请求数据包。

2.ICMP协议打包这个数据包和B的IP地址转交给IP协议层。

3.IP层协议将机器B的IP地址为目的地址,本机的IP地址为源地址,加上一些头部必要的控制信息,构建一个IP数据包。

4.获取B的MAC地址,做这个操作首先机器A会判断B是否在同一网段内,若IP层协议通过B的IP地址和自己的子网掩码,发现它跟自己属于同一网络,就直接在本网络查找这台机器的MAC,否则则通过路由器进行类似查找。

接下来是ARP协议根据IP地址查找MAC地址的过程:

  • 若两台机器之前有过通信,在机器A的ARP缓存表里应该存有B的IP与其MAC地址的映射关系。
  • 若没有,则通过发送ARP请求广播,得到回应的B机器MAC地址,并交给数据链路层*

5.数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址,再附加一些必要的控制信息,依据以太网的介质访问规则将他们传送出去

6.机器B收到这个数据帧后,先检查目的地址,和本机MAC地址对比:

  • 符合,接受。接收后检查该数据帧。将IP数据包从帧中提取出来,交给本机的的IP地址协议层协议,IP协议层检查之后,将有用的信息提取给ICMP协议,后者处理,马上构建一个ICMP应答包,发送给A,其过程和主机A发送ICMP请求包到B的过程类似,但不用ARP广播收取A的信息,因为请求包中已经有足够的信息用于B回应A。
  • 若不符合,丢弃。

可以知道PING的过程即一段发送报文和接受确认报文的过程,在来回直接可以计算时延。其过程简单,但其中还包括了一步ARP协议请求,广播请求,单播回应的过程。其他都是正常IP数据包的发送和接受。

常用参数

  1. -t:是用来不断的ping对方主机,直到手动停止,使用ctrl+c。Windows默认是四次停止;
  2. -n:主要用来自定义发送的包数量。
  3. -c:ping指定次数后停止ping。
  4. -l(L的小写):参数用来设定数据包的大小的,在默认的情况下windows的ping发送的数据包大小为32byte,也可以自定义它的大小,最大限制发送65500byte,否则容易造成主机瘫痪。使用这个命令后,会明显发现时间变长了。
  5. -w:windows下是以毫秒为单位设置ping的超时时间;linux下以秒为单位的。
  6. -t:设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值