从IP到Ping命令:了解计算机网络连接的基础

本文最后更新于:10 个月前

破冰

  • 当今世界已经变得日益连接,而在这个连接的网络中,IP(Internet Protocol)扮演着至关重要的角色。无论是浏览网页、发送电子邮件,还是进行网络游戏,我们都要依赖IP地址来建立和维持网络连接。在这篇博客中,我们将深入探讨IP的概念,并重点介绍公网IP和内网IP的区别及其在网络通信中的作用。

  • 首先,我们将从IP的基础知识开始,探索什么是IP地址以及它们的结构和分类方式。我们将了解IP地址包含的信息,以及如何将其分配给计算机和设备来实现通信。不仅如此,我们还将深入了解网络连接中的公网IP和内网IP的区别,以及它们在不同网络环境中的应用。

  • 在接下来的部分,我们将带您一起了解Ping命令的重要性和用途。Ping命令作为一种网络诊断工具,可以帮助我们测试网络连接的可靠性和性能。我们将探究Ping命令的出处和使用方式,了解如何通过Ping命令来检测网络的故障和延迟问题。

  • 作为这篇博客的第一部分,我们希望通过介绍IP的概念、公网IP和内网IP,以及Ping命令的出处和使用,为读者提供计算机网络基础知识。未来,我们还将分享更多类似的计算机网络方面的内容,以帮助读者深入了解和掌握网络连接的要点。

  • 随着技术的不断进步和网络的不断发展,了解IP的基础知识和掌握Ping命令的使用变得愈发重要。我们相信通过这篇博客,读者将能够更好地理解网络连接的基本原理,并能够自信地使用Ping命令进行网络诊断。让我们一起探索计算机网络的奥秘吧!

正文

IP

介绍

什么是 IP ?

  • 在庞大的计算机网络当中,每一台计算机都需要一个唯一标识来确定自己在网络中的位置,这个标识就叫 IP
  • 以上是我对 IP 的理解,下面给出 IP 标准定义:
1
IP地址,全称(Internet Protocol Address)翻译成中文就是指互联网协议地址,所有的计算机分配一个统一格式的、唯一的虚拟地址编号。就像每个人都有一个身份证一样,IP地址就是每台计算机都有自己上网用的身份编号,在网络上交互时,不管是发送数据还是接收数据,通过IP地址互相访问。

IP 查询

  • 我们直接百度“ IP ”关键词,页面显示 IP 如下:

image-20230711115126654

  • 注意,该 IP 为该计算机所连接的网络IP地址,并非本机 IP ,可以简单理解为路由器 IP
  • 查询本机 IP ,只需在命令行下执行以下命令(Windows):
1
ipconfig
  • 查询结果如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
C:\WINDOWS\system32>ipconfig

Windows IP 配置

未知适配器 本地连接:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 9:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 10:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 VMware Network Adapter VMnet1:

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::7f58:5e0:a3cf:b38%4
IPv4 地址 . . . . . . . . . . . . : 192.168.152.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :

以太网适配器 VMware Network Adapter VMnet8:

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::261:257a:b98e:6653%14
IPv4 地址 . . . . . . . . . . . . : 192.168.88.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :

无线局域网适配器 WLAN:

连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::e579:8da4:ddea:b21d%12
IPv4 地址 . . . . . . . . . . . . : 192.168.0.102
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.0.1
  • 很显然,查询到的本机 IP 地址为:
1
IPv4 地址 . . . . . . . . . . . . : 192.168.0.102
  • 注意这个 IP 是在动态变化着的

公网 IP 和内网 IP

公网/内网

  • 在解释公网 IP 和内网 IP 之前,我们首先要了解两个概念:公网/内网
1
公网:又名外网、广域网(Wide Area Network,WAN),是连接不同地区局域网或城域网计算机通信的远程网。它能连接多个地区、城市和国家,或横跨几个州并能提供远距离通信,形成国际性的远程网络。
1
内网:又名私网、局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
  • 简单来讲,公网就是大范围的网络,内网就是小区域内的网络
  • 内、外网是相对于防火墙而言的,在防火墙内部叫做内网,反之就是外网

网络通信

  • 当今时代,我们每天无时不刻都在上网:玩网络游戏、刷短视频、视频聊天、点外卖等等,这些都属于网络通信的范畴
  • 不论是浏览玩网络游戏,还是刷视频,本质上我们都是在对后台的服务器发送请求,获取资源,也就是访问服务器
  • 而网络之间通信是以公网 IP 地址进行识别,所以联网必须使用公网 IP 地址,也就是说,我们要上网,必须要使用公网 IP 去访问服务器

内网 IP

  • 我们使用手机、电脑等电子设备来上网,那我们为什么能联网呢?
  • 简单的回答当然是家里有路由器了!有了路由器,我们的电脑手机就能联网,就能上网了
  • 这样的回答没有问题,路由器确实给我们提供了网络环境,但是路由器给我们我们使用的是局域网,即内网,那分配给我们的电子设备的 IP 就是内网 IP
  • 前面谈到,要进行网络通信,必须使用公网 IP ,那这中间必然存在一个内网 IP 转公网 IP 的过程
  • 我们在使用内网 IP 进行网络通信时,通过NAT(Network Address Translation 网络地址转换)技术,将内网 IP 地址修改为公网 IP 地址,如此一来,内网计算机就可以向 Internet 请求数据了
  • 这个转换过程,我们称为端口映射

端口映射

  • 什么是端口映射?下面给出定义:
1
端口映射是 NAT 的一种,它将外网主机的 IP 地址的一个端口映射到内网中的一台机器,提供相应的服务。当用户访问该 IP 的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。
  • 现在市场上的家庭路由器都具备 NAT 功能,也可以实现端口映射,这就是我们使用内网 IP 也能联网的原因

公网 IP

  • 上面反复提到,任何设备只有使用公网 IP 地址,才能进行网络通信,那究竟什么是公网 IP 呢?
  • 首先了解下公网 IP /内网 IP 地址是怎么分配的:
1
公有地址(Public address):由 Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些 IP 地址分配给注册并向Inter NIC提出申请的组织机构,公有 IP 全球唯一,通过它直接访问因特网
1
私有地址(Private address):属于非注册地址,专门为组织机构内部使用,说白了,私有 IP 不能直接上网。
  • 总的来说,公网 IP 是运营商分配的,是唯一的,使用公网 IP 可直接进行网络通信
  • 内网 IP 是由路由器/交换机分配的,内网的所有 IP 地址都是通过同一个公网 IP 进行上网的
  • 内网 IP 只在局域网中有效,互联网上无法直接访问到内网的 IP 地址用户,即我们在自己电脑上查到的都是私有IP
  • 两个 IP 同时存在,一个对内,一个对外
  • 那有人可能会问,如何判断一个 IP 是公网 IP 还是内网 IP 呢?当然,公网 IP 和内网 IP 也很好分辨:
1
2
3
4
5
如下3个区域就是处于私网:
1:10.*.*.*
2:172.16.*.*至172.31.*.*
3:192.168.*.* (*为0到255之间的任意数字)
以上3个区域外的就是处于公网之中了

公网IP申请

  • 国内有很多厂商提供云服务,如阿里云、腾讯云、百度云、华为云、亚马逊云等等
  • 我们在购买云服务器后,能够注意到该服务器已经被分配了一个公网 IP ,并且是唯一的
  • 即购买相关服务或者租用服务器后,即可向服务提供商申请独立 IP 地址,所申请的 IP 地址为“公网 IP ”

运营商

  • 国内三大运营商:移动、电信、联通
  • 我们之前提到过,通过 NAT 技术,可以将我们的内网 IP 转换成公网 IP 来进行网络通信,这个过程的详细流程是这样的:
  • 国内的三大运营商向 Inter NIC 申请并购买了一些公网 IP,然后通过这些公网 IP ,再分给国内用户使用
  • 我们在家里安装了宽带,在局域网下,通过路由器分出几个 IP ,让家里的手机、电脑都能联网
  • 只不过我们平时上网用的都是内网 IP ,或者说是私有 IP ,真正拥有公网 IP 的是运营商(当然,我们可以租用一个公网 IP ,就是上面提到的购买云服务器的方法)
  • 这里注意到,两个家庭的局域网 IP 相同是有可能的也很正常,因为这两个家庭上网还是通过运营商的公网 IP ,而公网 IP 是唯一的
  • 那么我们的上网过程就是这样的:我们平时经过路由器,通过宽带,最终去到运营商那边,数据是从运营商出去,最终数据是回到运营商那边,运营商再把数据发送到用户的电脑

Ping

出处

  • 众所周知,声纳音是是各国海军进行水下监视使用的主要技术,它利用声波在水中的传播和反射来进行导航和测距
  • 我们现在使用的Ping命令,就是以声纳音“ping”来命名的

介绍

1
2
3
Ping命令就是发送数据包到目标端,然后等待Ping返回数据
根据Ping返回的数据来判断是否可以抵达目标端
并分析出数据返回时间、与目标端的距离等等信息

Ping的五步法

  • 我们需要进行以下五个步骤来验证电脑上的Ping工具是否正常使用:
1
2
3
4
5
ping 127.0.0.1/localhost
ping 本机IP地址
ping 默认网关
ping 目标IP地址
ping 目标主机名
  • ping 127.0.0.1:检测自己主机的网络配置是否正常,无需联网
  • ping 本机IP地址:ping本机的内网IP,检测本机网线及WIFI连接是否有问题
  • ping 默认网关:即ping路由器,检测路由器是否出现故障
  • ping 目标IP地址:这一步不成功的原因有很多,排除掉本机的网络连接问题,很可能是对方主机未联网、防火墙屏蔽了ping请求、数据包丢失等等,多是外部原因
  • ping 目标主机名:即ping一个域名,域名会在DNS里解析成IP地址,其原理同上

Ping数据包

  • 我们在执行ping命令后,控制台上会不断地跳出提示消息,这些就是ping成功发送以后得到的消息
  • 这些消息包括:目标IP地址、数据包传输时间、数据包生命周期、数据字节等等,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
C:\WINDOWS\system32>ping -n 20 www.baidu.com

正在 Ping www.baidu.com [39.156.66.18] 具有 32 字节的数据:
来自 39.156.66.18 的回复: 字节=32 时间=22ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=18ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=129ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=361ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=50ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=42ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=20ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=19ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=17ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=17ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=15ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=17ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=19ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=21ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=37ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=53ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=50ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=23ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=30ms TTL=52
来自 39.156.66.18 的回复: 字节=32 时间=23ms TTL=52

39.156.66.18 的 Ping 统计信息:
数据包: 已发送 = 20,已接收 = 20,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 15ms,最长 = 361ms,平均 = 49ms

常用Ping命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
C:\WINDOWS\system32>ping

用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name

选项:
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何
影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

常见错误信息

  • 这里简单提一下常见的错误信息,具体的内容,日后有实操经验后再另作介绍
  • 请求超时、无法连接到目标IP、硬件错误

总结

  • 在这篇博客中,我们深入探讨了IP的概念,重点介绍了公网IP和内网IP的区别以及Ping命令的基本原理和用途。
  • 通过了解IP地址的结构和分类,我们能够更好地理解网络连接的基础知识。同时,通过掌握Ping命令的使用,我们可以有效地测试和诊断网络连接的可靠性和性能。
  • 希望这篇博客为读者提供了有益的计算机网络基础知识,让您能够更加自信地掌握网络连接和故障排查的要点。继续关注我们的博客,将会有更多有趣的计算机网络相关内容与大家分享。谢谢阅读!

从IP到Ping命令:了解计算机网络连接的基础
http://example.com/2023/07/11/从IP到Ping命令:了解计算机网络连接的基础/
作者
Memory
发布于
2023年7月11日
更新于
2023年7月11日
许可协议