在我们工作中,相信大家都有接触并使用过ping命令,无论你是开发、测试、运维、网络、安全哪个职位。

当你想要知道从本地到目标设备/系统网络是否通畅时,这时候ping命令就派上用场了。而且ping命令除了windows系统、linux系统外,其他的网络设备,比如交换机、路由器、防火墙、负载均衡等等都支持。

1 ping命令调用ICMP协议

那ping命令后面的原理你知道吗?在本地敲入ping命令后,发生了些什么,然后就知道到目标设备/系统网络是否通畅?

其实在我们本地(比如windows,ip地址为10.74.97.116)敲入ping 10.75.97.125后,本地系统会发送一个ICMP数据包到目标设备10.74.97.125。如果目标设备收到以后就会回复此数据包,本地收到回复的数据包后,就知道到目标设备网络是通畅的。如果在一段时间内没有收到回复,说明网络不通或者目标设备没有开机等等一系列问题。

2 ICMP协议与OSI模型

那这个ICMP数据包是个什么鬼?其实这就得说道我们的TCP/IP协议族中的另一个协议了--ICMP协议,如下图所示,ICMP跟上文我们讲的ARP协议一样,位于OSI模型的第三层--网络层。

不过呢,我们的ARP协议是直接封装在底层网络(以太网)之上的,如下图所示。

但我们的ICMP协议,可不是直接封装在底层网络之上, 而是在底层网络之上加了一层IP层,然后封装在IP层之上。IP层对应了TCP/IP协议中的一个非常重要的协议--IP协议,IP协议跟ARP、ICMP协议一样,也是位于OSI模型的网络层。关于IP协议和ICMP协议的字段内容如下图所示。

3 IP的报头

从上图我们可以看到IP报头的字段,不难看出IP的头部还是比较复杂的,而且长度不固定,因为IP头部包含了固定的20个字节和0--40个字节的options,所以说IP头部的长度范围是20--60字节。

我们终端关注IP报头的以下几个部分,余下的非网工可以不必掌握。

(1)Version:IP协议的版本,本系列教程中的IP协议都指IPv4协议,还有一个IPv6协议,不过它的头部可比IPv4头部简单多了;

(2)Header Length:IPv4头部长度,因IPv4头部长度不固定,需要一个字段指明头部的长度,该值要乘4,才是头部长度,字节为单位;

(3)Total Length:整个数据包的长度,包括IPv4的可变头部和载荷部分;

(4)Time to live:原来表示数据包生存周期,现在每当数据包经过一台路由器(或其他三层设备),该值减一,初始值有发送方控制;

(5)Protocol:因好多协议作为载荷被封装在IPv4协议里,需要一个字段区分这些不同的协议,本例中的1表示ICMP,如果是17则表示UDP,6表示TCP;

(6)Header Checksum:头部检验和,数据如果被篡改,可以通过此字段看出来,具体原理不展开;

(7)Source:源IP地址,也就是此数据包的发送者IP地址;

(8)Destination:目的IP地址,即此数据包的接收者IP地址。

4 ICMP的报头

从上图中,我们不难看出ICMP协议报头的字段,有type、code、checksum和data等部分。由于此ICMP协议封装在IPv4上,所以我们又称之为ICMPv4协议。同样的道理,ICMPv6协议是封装在IPv6协议上。

(1)type:表示ICMP的消息类型,长剑的type如下图所示;

我们ping命令发送数据包时,对应的type为8:Echo Request,对端回复ping命令的数据包,对应的type为0:Echo Reply,

(2)code:表示ICMP消息类型的子类型,常见的code如下图所示;

(3)checksum:检验和,作用也是通过此字段判断出数据是否被篡改。

写给非网工的CCNA教程(3)聊聊ping命令后的原理相关推荐

  1. linux怎么知道ping命令,教程方法;通过ping命令查看服务器类型(linux还是windows系列)电脑技巧-琪琪词资源网...

    琪琪词资源网-教程方法;通过ping命令查看服务器类型(linux还是windows系列)电脑技巧,以下是给大家带来的教程方法;通过ping命令查看服务器类型(linux还是windows系列),大家 ...

  2. 第三组 通信一班 030 网工知识点总结

    2019年软考网络工程师考点一:局域网技术   VTP协议 在VTP域中有个很重要的概念就是交换机的模式,分别是服务器模式.客户端模式.透明模式. 服务器模式的交换机可以添加.修改.删除VLAN以及V ...

  3. 对路径的访问被拒绝怎么办_学习了解ACL—扩展访问控制列表,就在网工知识角...

    学网络,就在IE-LAB 国内高端网络工程师培养基地 基于ACL过滤telnet和特定的网段信息 什么是访问控制列表(ACL)? 应用于路由器接口的指令列表,用于指定哪些数据包可以接收转发,哪些数据包 ...

  4. ipsec协议_网工知识角轻松学网络|三分钟了解PPPOE协议

    学网络,就在IE-LAB 国内高端网络工程师培养基地 PPPOE( Point-to-PointProtocol Over Ethernet)以太网上的点对点协议,是将点对点协议(PPP)封装在以太网 ...

  5. esxi管理端口_网工知识角|一分钟轻松了解华为端口安全机制

    学网络,就在IE-LAB 国内高端网络工程师培养基地 为防止MAC地址洪泛攻击,防止未经允许的设备访问网络,并增强安全性.通过端口安全机制,录连接到交换机端口的以太网MAC地址,只允许某个或者某些合法 ...

  6. 只会用ping测试网络通不通?高级网工还会这么用

    今天咱们来聊聊PING命令.作为网工应该都是耳熟能详,PING作为ICMP协议工具之一,算是一个使用率很高的命令. 它的作用: 用来检测网络的连通情况和分析网络速度 根据域名得到服务器IP 根据pin ...

  7. 交换机虚拟化和堆叠的区别_网工知识角|一分钟记熟NFV网络功能虚拟化技术介绍...

    点上方蓝字关注,每天都有新收获! 学网络,就在IE-LAB 国内高端网络工程师培养基地 NFV网络功能虚拟化(Network Functions Virtualization),是一种网络架构的概念, ...

  8. vlan配置实例详解_网工知识角|MUXVLAN技术详解,基本原理一篇搞定

    学网络,就在IE-LAB 国内高端网络工程师培养基地 MUX VLAN(Multiplex VLAN )提供了一种通过VLAN进行网络资源控制的机制.通过MUX VLAN提供的二层流量隔离的机制可以实 ...

  9. 思科新版ccna认证网工一定要知道的PIM技术概述

    思科新版ccna认证网工一定要知道的PIM技术概述PIM(Protocol Independent Multicast)称为协议无关组播.这里的协议无关指的是与单播路由协议无关,即PIM不需要维护专门 ...

  10. 思科ccna认证工程师NETCONF协议详解网工必看

    思科ccna认证工程师NETCONF协议详解网工必看,这些年随着SDN的热潮,一个诞生了十年之久的协议再一次引起了人们的重视,它就是NETCONF协议. 网络配置协议NETCONF(Network C ...

最新文章

  1. 一文回顾深度学习发展史上最重要经典模型
  2. 2月上旬国内域名总量止跌回升 净增长量达8574个
  3. Linux Kernel aarch64的ARM-CE aes-ecb的底层代码导读
  4. 大数据如何预测上市公司的业绩?
  5. Spring Boot @SpringApplicationConfiguration 不能导入
  6. 项目总结一:情感分类项目(emojify)
  7. SpringBoot2.0之三 优雅整合Spring Data JPA
  8. SQL Server job突然不工作了
  9. 一个优秀的logo应该具备哪些特点?
  10. poco mysql 编译_Poco介绍及编译
  11. request 使用方法
  12. FTP手机和PC互传文件
  13. ENFI下载器地址——百度网盘不限速下载工具
  14. 地下水位监测预警方案 | 助力城市排水信息化
  15. 【饭谈】为什么别人都劝你别做外包?
  16. 桌面打开计算机图标卡,电脑打开 只有界面什么都没有 一直卡一个壁纸
  17. javascript 自己主动绑定JS callback 的方法函数
  18. 月薪3000+与月薪30000+的3D游戏建模师的区别是什么?
  19. VisualGDB安装使用
  20. 腾讯、阿里、百度、小米、360深藏不露的投资秘籍!

热门文章

  1. java自动签到_原来实现钉钉自动签到如此简单,每天准时上下班不是梦
  2. 货币代码,不允许ALE通讯
  3. easyui ajax post,实例详解EasyUI框架使用Ajax提交注册信息
  4. Mac安装telnet工具和使用
  5. 关于oneNote插件加载不显示的问题(NoteHighlight)
  6. .NET-3.Xamarin学习与总结
  7. Qt 中 链接Ws2_32.lib
  8. adobe acrobat pro字体很怪,有点发虚,不整齐,调整方法
  9. html新浪微博页面练习,js实现新浪微博首页效果
  10. java 微信文章评论点赞_微信文章评论点赞刷赞工具及微信文章评论点赞软件使用教程...