什么是 IP 地址? - IP 地址完全指南


什么是 IP 地址?

网络上的每一台机器都有一个唯一标识。就像你寄信时要写明收件地址一样,计算机也要靠这个唯一标识,才能把数据发送给网络上特定的某台计算机。今天的绝大多数网络(包括互联网上的所有计算机)都以 TCP/IP 协议作为网络通信的标准。在 TCP/IP 协议中,计算机的这个唯一标识就叫做 IP 地址。

IP 地址有两套标准:第 4 版互联网协议(IPv4)与第 6 版互联网协议(IPv6)。所有拥有 IP 地址的计算机都有一个 IPv4 地址,其中许多也开始同时使用新的 IPv6 地址体系。这两类地址的含义如下:

  • IPv4 用 32 个二进制位来构成网络上的一个唯一地址。IPv4 地址写作以点分隔的四个数字,每个数字都是一个八位二进制数(也称八位组)的十进制表示。例如:216.27.61.137
  • IPv6 用 128 个二进制位来构成网络上的一个唯一地址。IPv6 地址写作以冒号分隔的八组十六进制数字,例如 2001:cdba:0000:0000:0000:0000:3257:9652。其中全为零的数字组常常被省略以节省篇幅,只留下一个冒号分隔符标示这段空缺(例如 2001:cdba::3257:9652)。

在 IPv4 编址诞生之初,互联网还远不是今天这样庞大的商业奇观,多数网络都是封闭的专用网络,与世界上其他网络互不相通。等到互联网爆发式增长时,仅用 32 位来标识一个唯一的互联网地址,就让人们开始担心 IP 地址会被耗尽。在 IPv4 之下共有 2^32 种组合,也就是略少于 43 亿个唯一地址。IPv6 把这个数字提升到了令人安心的 2^128 个。稍后我们会进一步讲解如何读懂自己计算机上的 IPv4 或 IPv6 地址。

那么,你的计算机是怎么拿到 IP 地址的呢?IP 地址可以是动态的,也可以是静态的。静态地址由你自己在计算机的网络设置中手动配置。这种方式并不常见,如果你对 TCP/IP 缺乏足够了解就贸然使用,还可能引发网络故障。动态地址才是最常见的形式,它由运行在网络上的动态主机配置协议(DHCP)服务分配。DHCP 通常运行在路由器之类的网络设备上,或者运行在专门的 DHCP 服务器上。

动态 IP 地址通过租约机制下发,也就是说这个 IP 地址只在一段有限的时间内有效。租约到期后,计算机会自动申请一份新租约。有时这也意味着计算机会拿到一个新的 IP 地址,尤其是当它在两次租约之间曾从网络上断开过。整个过程通常对用户是无感的,除非计算机提示网络上出现了 IP 地址冲突(两台计算机用了同一个 IP 地址)。地址冲突很少发生,而且今天的技术通常能够自动解决这个问题。

IP 地址分类

前面提到,IPv4 地址由四个八位二进制数构成。这意味着每个数字的取值范围,在二进制下是 00000000 到 11111111,在十进制下则是 0 到 255。换句话说,地址范围是 0.0.0.0 到 255.255.255.255。不过,这个范围内的某些数字在 TCP/IP 网络中被保留作特定用途,这些保留由 TCP/IP 编址的主管机构——互联网号码分配局(IANA)认定。其中有四项具体的保留:

  • 0.0.0.0 —— 表示默认网络,也就是"接入某个 TCP/IP 网络"这一抽象概念本身。
  • 255.255.255.255 —— 该地址保留用于网络广播,即那些需要发送给网络上所有计算机的消息。
  • 127.0.0.1 —— 称为环回地址,是计算机用来指代自身的方式,无论它是否已被分配 IP 地址。
  • 169.254.0.1 到 169.254.255.254 —— 这是自动专用 IP 编址(APIPA)的地址范围,当计算机未能从 DHCP 服务器获取到地址时会自动使用。

其余的 IP 地址保留则是为子网类别准备的。子网是通过路由器接入更大网络的一个较小计算机网络。子网可以拥有自己的一套地址体系,使同一子网内的计算机能够快速通信,而无需把数据发往更大的网络。TCP/IP 网络(包括互联网)上的路由器都会被配置为识别一个或多个子网,并据此正确转发网络流量。以下是为子网保留的 IP 地址:

  • 10.0.0.0 到 10.255.255.255 —— 落在 A 类地址范围 1.0.0.0 至 127.0.0.0 之内,其首位为 0。
  • 172.16.0.0 到 172.31.255.255 —— 落在 B 类地址范围 128.0.0.0 至 191.255.0.0 之内,其前两位为 10。
  • 192.168.0.0 到 192.168.255.255 —— 落在 C 类地址范围 192.0.0.0 至 223.255.255.0 之内,其前三位为 110。
  • 组播(旧称 D 类)—— 地址的前四位为 1110,范围从 224.0.0.0 到 239.255.255.255。
  • 保留供未来/实验用途(旧称 E 类)—— 地址范围 240.0.0.0 到 254.255.255.254。

前三项(分属 A、B、C 类)是划分子网时最常用的。稍后我们会看到子网是如何使用这些地址的。IANA 已在互联网工程任务组(IETF)的 RFC 5771 文档中规定了组播地址的具体用途;但自 1989 年的 RFC 1112 文档保留 E 类地址块以来,IANA 一直没有为其指定用途或未来规划。在 IPv6 出现之前,互联网上曾就 IANA 是否应当把 E 类地址开放给公众使用展开过大量争论。

互联网地址与子网

如果你在 ISP 线路与自己的计算机之间使用了路由器(无线或有线),那么家中计算机上的子网 IP 地址可能是下面这个样子:

  • IP 地址:192.168.1.102
  • 子网掩码:255.255.255.0
  • 二十四位(三个八位组)用于标识网络
  • 八位(一个八位组)用于标识节点
  • 依子网掩码得出的子网标识(第一个地址):192.168.1.0
  • 该子网保留的广播地址(最后一个地址):192.168.1.255
  • 同一网络内的地址示例:192.168.1.1、192.168.1.103
  • 不在同一网络内的地址示例:192.168.2.1、192.168.2.103

除了保留 IP 地址之外,IANA 还负责把成块的 IP 地址分配给特定实体,通常是商业机构或政府组织。你的互联网服务提供商(ISP)可能就是这样的实体之一,也可能只是从属于某个实体所控制的更大地址块。为了让你能够接入互联网,ISP 会从中分配一个地址给你。你可以在这里查阅 IANA 针对 IPv4 地址的完整分配与保留清单。

如果你只把一台计算机接入互联网,那么这台计算机可以直接使用 ISP 给的地址。不过今天许多家庭都使用路由器,让多台计算机共享同一条互联网线路。无线路由器近年来尤其流行,因为它省去了在房间之间布设网线的麻烦。

如果你用路由器共享互联网连接,那么由路由器直接从 ISP 获取 IP 地址,随后它会为连接到自己的所有计算机创建并管理一个子网。如果你计算机的地址落在前面列出的那些保留子网范围内,就说明你是经由路由器上网,而不是直接连接到互联网。

子网中的 IP 地址由两部分组成:网络部分和节点部分。网络部分标识子网本身;节点(也称主机)则是接入网络、需要一个唯一地址的某台具体设备。每台计算机都借助子网掩码来区分 IP 地址中的这两部分。子网掩码看起来有点像 IP 地址,但它实际上只是一个过滤器,用来判定 IP 地址中哪一部分表示网络、哪一部分表示节点。

子网掩码由一串 1 位后面接着一串 0 位构成。其中的 1 位指明应当遮蔽掉 IP 地址中的网络位,只显露出用于标识该网络内某个唯一节点的部分。在 IPv4 标准中,最常用的子网掩码都是由完整的全 1 和全 0 八位组构成的,如下所示:

  • 255.0.0.0 = 11111111.00000000.00000000.00000000 = 八位用于网络,24 位用于节点
  • 255.255.0.0 = 11111111.11111111.00000000.00000000 = 16 位用于网络,16 位用于节点
  • 255.255.255.0 = 11111111.11111111.11111111.00000000 = 24 位用于网络,八位用于节点

搭建大型网络的人,会根据所需的子网数量或节点数量来决定采用哪种子网掩码最合适。想要更多子网,就把更多位分给网络;想让每个子网容纳更多节点,就把更多位分给节点。这有时意味着要使用非标准的掩码取值。例如,如果你想用 10 位表示网络、22 位表示节点,那么子网掩码的第二个八位组就要写成 11000000,最终得到的子网掩码值为 255.192.0.0。

关于子网中的 IP 地址,还有一点很重要:第一个和最后一个地址是保留的。第一个地址用于标识子网本身,最后一个地址则是该子网上各系统所使用的广播地址。

适用于 Chrome 的 IP Flager

在浏览器中直接查看网站 IP 地址所属国家的国旗。

了解更多
ADVERTISEMENT