java实现ping计算机网络_Ping的实现原理

java实现ping计算机⽹络_Ping的实现原理
Ping的实现原理
ping是定位⽹络通不通的⼀个重要⼿段,是⽤来探测本机与⽹络中另⼀台主机之间是否可达的命令,如果两台主机之间ping不通,则表明这两台主机不能建⽴起连接。
外文翻译ping命令是基于ICMP协议来⼯作的,ping命令会发送⼀份ICMP回显请求报⽂给⽬标主机,并等待⽬标主机返回ICMP回显应达,如果源主机在⼀定时间内收到了⽬标主机的应答,则表明两台主机间是连通的。航行警告
举⼀个例⼦来描述ping命令⼯作的原理
1)假设有两个主机,主机A(192.168.0.1)和主机B(192.168.0.2),现在我们要监测主机A和主机B之间⽹络是否可达,那么我们在主机A 上输⼊命令:ping 192.168.0.2;
2)此时,ping命令会在主机A上构建⼀个 ICMP的请求数据包,然后 ICMP协议会将这个数据包以及⽬标IP(192.168.0.2)等信息⼀同交给IP层协议;
3)IP层协议得到这些信息后,将源地址(即本机IP)、⽬标地址(即⽬标IP:192.168.0.2)、再加上⼀些其它的控制信息,构建成⼀个IP数据包;
4)IP数据包构建完成后,还不够,还需要加上MAC地址,因此,还需要通过ARP映射表出⽬标IP所对应的MAC地址。当拿到了⽬标主机的MAC地址和本机MAC后,⼀并交给数据链路层,组装成⼀个数据帧,依据以太⽹的介质访问规则,将它们传送出出去;
圆跳动怎么测量
复合光缆5)当主机B收到这个数据帧之后,会⾸先检查它的⽬标MAC地址是不是本机,如果是就接收下来处理,接收之后会检查这个数据帧,将数据帧中的IP数据包取出来,交给本机的IP层协议,然后IP层协议检查完之后,再将ICMP数据包取出来交给ICMP协议处理,当这⼀步也处理完成之后,就会构建⼀个ICMP应答数据包,回发给主机A;
6)在⼀定的时间内,如果主机A收到了应答包,则说明它与主机B之间⽹络可达,如果没有收到,则说明⽹络不可达。除了监测是否可达以外,还可以利⽤应答时间和发起时间之间的差值,计算出数据包的延迟耗时。
ping不需要端⼝号
因为ping是应⽤层直接使⽤⽹络层ICMP的⼀个例⼦,⽽端⼝是运输层的概念,ping并没有通过运输层的TCP和UDP等
漳州师范学院学报>2014世界女排锦标赛

本文发布于:2024-09-21 10:55:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/14407.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据包   命令   交给   协议   应答
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议