热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2.1TCP/IP命令(Ping)

2.1TCPIP命令(Ping)1.概念Ping命令来源于物理学中测声纳脉冲的回应情况,利用它可以检查网络是否连通,从而帮助我们分析和判定网络故障。

2.1 TCP/IP命令(Ping)


1.概念

Ping命令来源于物理学中测声纳脉冲的回应情况,利用它可以检查网络是否连通,从而帮助我们分析和判定网络故障。ping命令使用的是ICMP(Internet Control Message Protocol)协议,即Internet控制消息协议的缩写,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

运行ping命令的主机会触发一个IP数据包从本地出发,前往目标主机。这个IP数据包会携带本机和目标主机的IP地址,一个简单的计时器和计数器,并且都从0开始。到达目标主机B后,IP地址调换再将其打回原地。这一去一回的路径不一定一致,只要IP包顺利返回就说明A和B之间双向皆通畅。

查询帮助输入“ping /?”,即可以看到ping的参数。


2.同一网段内(存在)

本机(A)IP地址是“192.168.0.106”,局域网内目标主机(B)的IP地址是“192.168.0.103”,运行“Ping192.168.0.103”后,首先Ping命令会构建一个固定格式的ICMP请求数据包,然后ICMP协议会将这个数据包连同地址“192.168.0.103”一起交给IP层协议,IP层协议会把地址“192.168.0.103”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包。

IP层协议通过目标主机的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本机的ARP缓存表中查找目标主机IP与其MAC的映射关系(如果没有,就发一个ARP请求广播,得到B机的MAC地址),之后交给数据链路层。最后数据链路层会构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

目标主机(B)收到这个数据帧后,先检查此数据帧的目的地址,并和它自己的物理地址对比,如一致则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给它的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,ICMP处理后,马上构建一个ICMP应答包,发送给主机(A),其过程和主机(A)发送ICMP请求包到主机(B)一模一样。

使用Wireshark抓包分析:


3.同一网段内(不存在)

本机(A)IP地址是“192.168.0.106”,局域网内目标主机(B)的IP地址是“192.168.0.189”(此ip地址没有主机使用),运行“Ping192.168.0.189”后,前面和同一网段内的一模一样。

 IP层协议通过目标主机的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本机的ARP缓存表中查找目标主机IP与其MAC的映射关系,结果发现没有,于是就发一个ARP请求广播,依然没有得到B机的MAC地址,于是它会不停的发送ARP广播。

使用Wireshark抓包分析:


4.不在同一网段内

本机(A)IP地址是“192.168.0.106”,运行“Pingwww.xapi.edu.cn”后,通过域名解析服务可以得到它的ip地址。首先Ping命令会构建一个固定格式的ICMP请求数据包,然后ICMP协议会将这个数据包连同地址“202.200.82.150”一起交给IP层协议,IP层协议会把地址“202.200.82.150”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包。

IP协议通过计算发现B机与自己不在同一网段内,就直接将其交给路由器处理(想办法取回路由器的MAC,先查找ARP缓存表,没有就广播),路由得到这个数据帧后,会跟主机B进行联系,如果找不到,就向主机A返回一个超时的信息(这里假设只有2台PC,一台路由器)。

超时的原因:对方服务器设置了防火墙(拒绝Ping入或者Ping出),对方服务器ip与外网断开连接或者已经关机,路由器实在无法找到对方等。

使用Wireshark抓包分析:









推荐阅读
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • 如何配置汉邦录像机的远程监控功能?
    本文详细介绍了汉邦录像机远程监控功能的配置方法,包括通过IP地址访问和Web浏览器访问两种方式。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • Logging all MySQL queries into the Slow Log
    MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 深入解析Python进程间通信:Queue与Pipe的应用
    本文详细探讨了Python中进程间通信的两种常用方法——Queue和Pipe,并通过具体示例介绍了它们的基本概念、使用方法及注意事项。 ... [详细]
  • 花生壳内网穿透:实现企业智能网关远程管理和维护
    随着物联网技术的发展,企业对智能网关的需求日益增加。本文介绍如何利用花生壳内网穿透技术,实现企业智能网关的远程管理和维护,提高效率,降低成本。 ... [详细]
  • 路由器串行接口互联地址可以不在同一个网段
    一、理论基础:串行链路普遍用于广域网中。串行链路中定义了两种数据传输方式:异步和同步。1、异步传输是以字节为单位来传输数据,并且需要采用额外的起始位和停止位来标记每个字节的开始和结 ... [详细]
  • 本文详细介绍了 Android 开发中常用的单位 dip(设备独立像素)、px(像素)、pt(点)和 sp(可缩放像素),并解释了它们在不同屏幕密度下的应用。 ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • 本章介绍了TCP/IP协议族中的链路层,其主要功能是为IP模块发送和接收IP数据报。链路层还支持一些辅助性协议,如ARP。此外,本文详细探讨了不同类型的链路层技术及其应用。 ... [详细]
  • 如何在Windows 7系统中配置和设置无线路由器?
    随着无线设备的普及,如智能手机和平板电脑,WiFi已成为日常生活中的必备功能。许多家庭拥有无线路由器,但不清楚如何正确设置。本文将详细介绍如何在Windows 7系统中配置和设置无线路由器,帮助用户轻松实现稳定高效的无线网络连接。 ... [详细]
  • 本文探讨了在多DHCP服务器环境中如何创建和管理作用域,并提出了一种有效的备用DHCP服务器方案,以确保网络服务的高可用性和稳定性。通过详细的技术分析和实践操作,本文为网络管理员提供了一套完整的解决方案,帮助其更好地应对复杂的网络环境。 ... [详细]
author-avatar
小猴子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有