斗胆问一个老问题,为什么ping第一包丢失?

zcg2073 2021-05-15 12:20:47
看前期帖子解释,一台pc主机ping命令,第一包丢失是由于没有对方mac地址,要进行ARP请求和回应,但实验抓包发现,在发送第一包ICMP命令前,pc主机会主动发送ARP请求并等到回应后才发送第一包,仅会造成延时,不会丢包呀?
...全文
3222 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qy8090 2021-11-13
  • 打赏
  • 举报
回复
我抓包看了一下,假设发10个request,对端只收到9个,第一个根本没有发出去,应该被内核丢弃了。但是我的主机连device,然后直连device,从主机ping device,没有复现第一个包丢的情况,device中的包都是一样的,测试电脑自动化脚本测试有时会出现第一个包丢的情况,实在不知道是哪边的问题了。
丁劲犇 2021-05-23
  • 打赏
  • 举报
回复
ARP不想应,估计是不是网段里有重复的IP
冰思雨 2021-05-20
  • 打赏
  • 举报
回复
arp 解析所花费的时间也计算在超时时间内的,arp 的耗时如果太长的话,会引起 ping 命令的第一个包 time out 。
qy8090 2021-11-13
  • 举报
回复
@冰思雨 即使把ping 超时时间变大也还是timeout,所以跟这根本没关系
zcg2073 2021-05-20
  • 打赏
  • 举报
回复
引用 9 楼 wj31932的回复:
ping丢包不是和arp查询没关系。 ping的过程首先是查路由表,判断是走直连路由出去还是默认路由,直连路由首先检查arp缓存是否有对方的mac地址,没有的话,会首先发出arp查询消息,得到响应后,发出ip层ping的request消息,超时没有的得到对方的mac地址,会回显目标主机不可达的打印,用自身的ip地址打印。对方设备收到ping的request消息,会回ping的reply消息。各种原因不回reply,源ip显示time out。 若走默认路由,会首先检查是否有默认网关的下一跳mac地址,有的话,直接发出ping的request消息,到达目的ip所在网关,会查询目的ip的mac地址,得到后,转发ping的request消息。没有得到,会用目的网关的ip发出icmp目的ip不可达消息给源ip。time out和上面一致。
我用的手机app,不知道怎样操作给你分数呀?
zcg2073 2021-05-20
  • 打赏
  • 举报
回复
引用 9 楼 wj31932的回复:
ping丢包不是和arp查询没关系。 ping的过程首先是查路由表,判断是走直连路由出去还是默认路由,直连路由首先检查arp缓存是否有对方的mac地址,没有的话,会首先发出arp查询消息,得到响应后,发出ip层ping的request消息,超时没有的得到对方的mac地址,会回显目标主机不可达的打印,用自身的ip地址打印。对方设备收到ping的request消息,会回ping的reply消息。各种原因不回reply,源ip显示time out。 若走默认路由,会首先检查是否有默认网关的下一跳mac地址,有的话,直接发出ping的request消息,到达目的ip所在网关,会查询目的ip的mac地址,得到后,转发ping的request消息。没有得到,会用目的网关的ip发出icmp目的ip不可达消息给源ip。time out和上面一致。
采纳您的分析。清楚了ping包在交换机传输过程,同时ping丢包与arp确实有关系。但网上帖子和视频中讲解的ping第一包丢失是做arp解析不正确。
wj31932 2021-05-19
  • 打赏
  • 举报
回复
ping丢包不是和arp查询没关系。 ping的过程首先是查路由表,判断是走直连路由出去还是默认路由,直连路由首先检查arp缓存是否有对方的mac地址,没有的话,会首先发出arp查询消息,得到响应后,发出ip层ping的request消息,超时没有的得到对方的mac地址,会回显目标主机不可达的打印,用自身的ip地址打印。对方设备收到ping的request消息,会回ping的reply消息。各种原因不回reply,源ip显示time out。 若走默认路由,会首先检查是否有默认网关的下一跳mac地址,有的话,直接发出ping的request消息,到达目的ip所在网关,会查询目的ip的mac地址,得到后,转发ping的request消息。没有得到,会用目的网关的ip发出icmp目的ip不可达消息给源ip。time out和上面一致。
zcg2073 2021-05-18
  • 打赏
  • 举报
回复
网上帖子和老师讲课都说ping的第一包做Arp解析,但与实际情况不一致。网卡抓包发现,在ping发送第一包前,微机会主动发送一个Arp请求(请注意是在ping发送第一包前,并是主动发送Arp请求),并等Arp回复后在发送ping第一包。
wj31932 2021-05-18
  • 打赏
  • 举报
回复
time out说明arp响应已经获得对方mac地址,ping的request消息已经发出,但在一定时间内没有收到响应包,win是5秒。
骆文利 2021-05-17
  • 打赏
  • 举报
回复
【太阁】6IE闫辉一节课教会你 Router工作原理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/BV1tJ411K7A7
骆文利 2021-05-17
  • 打赏
  • 举报
回复
ping 的第一个包会做arp解析,所以会丢包。详情可以看闫辉老师在bilibili的一期视频-一期说明白路由器的工作原理。
zcg2073 2021-05-17
  • 打赏
  • 举报
回复
是 time out信息,但为啥会出这样信息呢,因为pc主机会主动发送arp请求查询呀
zcg2073 2021-05-17
  • 打赏
  • 举报
回复
引用 1 楼 wj31932的回复:
ping的回显中要么目标主机不可达,要么time out,你说的第一包丢失指的是那种回显?
是 time out信息,但是为啥会出这个信息呢,pc主机会主动发arp请求了?
zcg2073 2021-05-17
  • 打赏
  • 举报
回复
引用 1 楼 wj31932的回复:
ping的回显中要么目标主机不可达,要么time out,你说的第一包丢失指的是那种回显?
是time out信息
wj31932 2021-05-17
  • 打赏
  • 举报
回复
ping的回显中要么目标主机不可达,要么time out,你说的第一包丢失指的是那种回显?

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧