您好,欢迎来到华拓网。
搜索
您的当前位置:首页CN003-Ping与TCPIP的关系-3

CN003-Ping与TCPIP的关系-3

来源:华拓网
CN003-Ping与TCPIP的关系-3

PING是利⽤ICMP协议的⼀求⼀答来完成⽬的主机可达性探寻的。⽽ICMP(Internet⽹控制协议)素来被称为信使协议,来弥补IP协议在设计上的缺陷。ICMP按功能可以分为:差错报告和查询两类。差错报⽂⽤来传递报⽂⽹络处理过程中⽬的不可达,超时等信息。⽽查询报⽂的典型代表就是今天要说到的PING请求及应答报⽂。

PING的原理就是源主机向⽬的主机发送ICMP请求报⽂,如果⽬的主机能够接收便会向源主机返回⼀ICMP应答报⽂告诉源主机,该主机⽬的可达,可以发送信息。⽽如果连续发送若⼲ICMP请求(例如5个)还收不到ICMP应答⽽连续收到time out报⽂,则源主机认为⽬的地不可达。利⽤PING还可以根据返回信息判断⽹络环境,⽐如是否存在等价路由,可以根据TTL判断两个站之间的距离等,是否存在不可达路由还是该报⽂需要被重定向等等。所以PING才成为被如此重视的⽹络测试协议。

经过ARP协议的地址解析之后,我们在发送ICMP请求报⽂之前查询ARP⾼级缓存可以根据⽬的IP查询到对应的MAC地址,这样便可以发送ICMP请求报⽂了。⾸先我们先来看看ICMP协议的报⽂结构及其封装: 图1 ICMP封装在IP数据报内部

图2 ICMP报⽂

图1说明了ICMP的报⽂封装结构,可以看出为什么ICMP经常被看做是IP的⼀个组成部分。图2则表明了ICMP报⽂的结构,其中类型和代码字段可以唯⼀的标识⼀种ICMP差错或查询报⽂。16为校验和是ICMP必须的,且覆盖整个ICMP报⽂,确保在传输过程中不被篡改,最后⼀部分说明了出现该种差错的原因或者是查询结果。

PING使⽤了ICMP的请求报⽂(Type=8,Code=0)和回显应答报⽂(Type=0,Code=0),这两个报⽂都是查询类报⽂。也就是说PING后源主机发送Type=8,Code=0的ICMP请求报⽂给⽬的主机(由IP报头中的⽬的IP及⽬的MAC标识),然后在⽹络上或进⾏⼆三层的转发,查询FIB及RIB表项转发报⽂,最后等⽬的主机收到请求报⽂之后,便会返回⼀个ICMP应答报⽂,其中⽤Type=0,Code=0标识。源主机收到该ICMP应答报⽂之后就可⼀判断⽬的主机是否可达。

所以PING是将⾃⼰的请求与应答信息装在ICMP信封之内完成所有的操作的,从这个意义上说ICMP作为PING传情的鸿雁⼀点也不夸张。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务