参考:
ping 深入剖析:https://www.cnblogs.com/aozhejin/p/15917312.html 

windows默认是32字节,linux是56字节说的都是数据包大小
注意:
1. 数据包和数据报的区别
2.56.64.84三个数字
3.8字节icmp数据报头
4.20字节ip数据报头
5.报头+内容不能大于65535,所以最大值为65507(linux:65507, windows:65500)

来测试网络的状况,这时,就要指定ping包的大小了。数据包总长度84个字节

1. 指定数据包大小为1500Byte:ping -s 1500 ip

2. 指定次数为4次,数据包大小为32767Byte:ping -c 4 -s 32767 ip

3. 指定ping包大小为1500Byte:ping -l 1500 ip

4. 指定次数为6次,ping包大小为1500:ping -n 6 -l 1500 ip

  1. -s 指定每次ping发送的数据字节数
  1. -s 指定一个数据包发送给指定ip ,单位字节(byte), 最大发送65536(32int最大值).
    由于1024B = 1KB , 65536B = 65Byte. 所以最大只能附加65byte的包,默认64b(1byte=8bit)
  1. 提示超出包大小
  1. [root@h6 ~]# ping -s 665000 10.129.51.11
  2. ping: packet size too large: 665000
  1. ping.c中处理的代码为
  1.  if (datalen > 0xFFFF - 8 - optlen - 20) {
  2. //十六进制0xFFFF转成十进制为65535
  3. //实际数据大小为 65535-8-20= 65507字节
  4.  
  5.   if (uid || datalen > sizeof(outpack)-8) {
  6.   fprintf(stderr, "Error: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen);
  7.   exit(2);
  8.  }
  9.  /* Allow small oversize to root yet. It will cause EMSGSIZE. */
  10.  fprintf(stderr, "WARNING: packet size %d is too large. Maximum is %d\n", datalen, 0xFFFF-8-20-optlen);
  11. //imcp报头+ip报头+内容数据不能大于65535,实际的数据字节为最大值为65507(实际数据包大小为 65535-8-20= 65507字节)
  12. //linux:65507, windows:65500
  1. windows

C:\Users\qic>ping www.baidu.com

正在 Ping www.baidu.com [110.242.68.3] 具有 32 字节的数据: 
  来自 110.242.68.3 的回复: 字节=32 时间=13ms TTL=52
  来自 110.242.68.3 的回复: 字节=32 时间=38ms TTL=52 
  来自 110.242.68.3 的回复: 字节=32 时间=10ms TTL=52

110.242.68.3 的 Ping 统计信息:
  数据包: 已发送 = 3,已接收 = 3,丢失 = 0 (0% 丢失),
  往返行程的估计时间(以毫秒为单位):
  最短 = 10ms,最长 = 38ms,平均 = 20ms

//windows,数据包大小是32字节/次

 linux 

  1. [root@ht6 ~]# ping -c 4 -w 10 10.129.51.11
  2. PING 10.129.55.111 (10.129.51.11) 56(84) bytes of data.
  3. 64 bytes from 10.129.51.11: icmp_seq=1 ttl=64 time=0.196 ms
  4. 64 bytes from 10.129.51.11: icmp_seq=2 ttl=64 time=0.126 ms
  5. 64 bytes from 10.129.51.11: icmp_seq=3 ttl=64 time=0.166 ms
  6. 64 bytes from 10.129.51.11: icmp_seq=4 ttl=64 time=0.140 ms
  7. --- 10.129.51.11 ping statistics ---
  8. 4 packets transmitted, 4 received, 0% packet loss, time 3000ms
  9. rtt min/avg/max/mdev = 0.126/0.157/0.196/0.026 ms
    //icmp_seq如果丢失则显示错误
    //这里有三个数据 56,84,64这三个数据分别是
  1. 1.ping包的linux默认数据包大小为64字节(icmp头部8字节+56字节的默认数据包)
    2.84字节是数据包总大小(实际的)--构成为(20字节ip数据报+8字节icmp数据报)+56数据包
    3.56字节即数据大小

linux ping的三个数字(56,84,64)的更多相关文章

  1. linux ping 命令解析

    不管在windows平台,还是在linux平台,ping都是非常常用的网络命令:ping命令通过ICMP(Internet控制消息协议)工作:ping可以用来测试本机与目标主机是否联通.联通速度如何. ...

  2. Linux ping 命令

    ping命令用来测试与目标主机的连通性,常见用法如下: [root@localhost ~]$ ping www.baidu.com # 对目标主机域名进行连通性测试 [root@localhost ...

  3. c linux ping 实现

    摘自:https://blog.csdn.net/weibo1230123/article/details/79891018 ping的实现和代码分析一.介绍     ping命令是用来查看网络上另一 ...

  4. 转载:解决linux ping: unknown host www.baidu.com

    解决linux ping: unknown host www.baidu.com 转载网址:http://www.kankanews.com/ICkengine/archives/48417.shtm ...

  5. 解决linux ping: unknown host www.baidu.com(转)

    解决方案:    如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# ping www.baidu.comping: unknown host www.ba ...

  6. linux ping命令

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...

  7. Red hat linux ping: unknown host www.baidu.com

    "ping: unknown host www.baidu.com" 解决方案: 如果某台Linux服务器ping不通域名, 如下提示: [root@localhost ~]# p ...

  8. linux常用命令三

    linux常用命令三 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 ...

  9. linux ping加执行时间

    [root@back_zabbix_100 ~]# ping 10.10.30.250 | awk '{print $0"\t" strftime("%H:%M:%S&q ...

随机推荐

  1. CF258D题解

    太厉害啦 首先做期望题最不能忘记的就是期望的线性性. 所以我们直接将全局逆序对对数拆成两个数其中一个比另一个大的期望(概率),设为 \(f[i][j]\),初值为 \([a_i>b_j]\). ...

  2. 2022年官网下安装NodeJS最全版与官网查阅方法

    目录 安装部署NodeJS 1.百度搜索NodeJS. 2.选择下载,windows版,选择64位下载 3.找到本地安装包位置,双击打开 4.选择同意,点击下一步 5.选择安装目录,点击下一步 6.选 ...

  3. Gin 08 上传文件

    单文件上传 cat index.html <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  4. Arcgis 离线部署api 4.x的两种本地部署方法!

    引言:本文用的是api4.6版本 方法一  拷贝api进去tomcat服务器用绝对地址引用 首先将下载好的api放入Tomcat服务中的Webapp下: 1  可以打开下载好的的 api46/arcg ...

  5. Spring Security实现统一登录与权限控制

    1  项目介绍 最开始是一个单体应用,所有功能模块都写在一个项目里,后来觉得项目越来越大,于是决定把一些功能拆分出去,形成一个一个独立的微服务,于是就有个问题了,登录.退出.权限控制这些东西怎么办呢? ...

  6. VMware Workstation网络修改vlan id值

    我们捣鼓虚拟机时,有时候网卡是需要承载多个vlan的,比如说部署fuel时网卡3需要承载私有,管理,存储网络的流量. 在virtualbox中我们可以直接在混杂模式项选择全部允许,但是在VMware ...

  7. 17调试经验之串口读写flash协议

    一是设计功能 我的理解协议就是一个命令包,通过给出不同的控制命令,来调动不同的功能模块,实现不同的功能,如读数据,写数据,擦除等. 二设计过程 先看了尤老师的视频,主要讲了大致设计原理和总体框架,当然 ...

  8. 两个对象值相同(x.equals(y) == true),但却可以有不同的hashcode?

    这个得看情况,如果该对象重写了equals方法,那么可能会出现equals相同,但hashcode不同的情况,但假如没有重写equals方法,那么它默认继承是Object的equals方法,根据源码可 ...

  9. 列举 spring 支持的事务管理类型?

    Spring 支持两种类型的事务管理: 1. 程序化事务管理:在此过程中,在编程的帮助下管理事务.它为您提供极大 的灵活性,但维护起来非常困难. 2. 声明式事务管理:在此,事务管理与业务代码分离.仅 ...

  10. elasticsearch 是如何实现 master 选举的 ?

    想了解 ES 集群的底层原理,不再只关注业务层面了. 前置前提: 1.只有候选主节点(master:true)的节点才能成为主节点. 2.最小主节点数(min_master_nodes)的目的是防止脑 ...