了解 TCP/IP 寻址和子网划分的基础知识

本文旨在概括介绍 Internet 协议 (IP) 网络和子网划分的概念。 本文末尾处有一份术语表。

适用于:Windows 10 - 所有版本
原始 KB 编号: 164015

摘要

在 Windows 计算机上配置 TCP/IP 协议时,TCP/IP 配置设置需要:

  • IP 地址
  • 子网掩码
  • 默认网关

若要正确配置 TCP/IP,必须了解 TCP/IP 网络的寻址方式以及划分为网络和子网的方式。

TCP/IP 作为 Internet 网络协议之所以成功,很大程度上是由于它能够将不同规模的网络和不同类型的系统连接在一起。 这些网络被随意定义为具有预定义大小的三个主要类(以及其他一些类)。 每个网络都可以由系统管理员划分为更小的子网。 子网掩码用于将 IP 地址划分为两个部分。 一部分标识主机(计算机),另一部分标识它所属的网络。 为了更好地理解 IP 地址和子网掩码的工作原理,请查看 IP 地址并了解其组织方式。

IP 地址:网络和主机

IP 地址是一个 32 位的数字。 它以唯一的数字标识出 TCP/IP 网络上的主机(计算机或其他设备,如打印机或路由器)。

IP 地址通常以用点分隔的十进制格式表示,四个数字由句点分隔,如 192.168.123.132。 若要了解如何使用子网掩码区分主机、网络和子网,请查看用二进制计数法表示的 IP 地址。

例如,虚线十进制 IP 地址 192.168.123.132 以二进制表示法 () 32 位数字11000000101010000111101110000100。 这个数字可能很难理解,因此将其划分为四部分,每个部分包含八个二进制数字。

这些 8 位数部分称为八进制数。 那么,示例中的 IP 地址将变为 11000000.10101000.01111011.10000100。 这个数字只是相对好理解一些,因此对于大多数用途,会将二进制地址转换为用点分隔的十进制格式 (192.168.123.132)。 由句点分隔的十进制数是由二进制计数法转换为十进制计数法的八进制数。

为了让 TCP/IP 广域网 (WAN) 可以作为网络集合有效地工作,在网络之间传递数据包的路由器不知道信息数据包将发往的主机的确切位置。 路由器只知道主机是哪个网络的成员,并使用其路由表中存储的信息来确定如何将数据包发送到目标主机的网络。 数据包传递到目标网络后,数据包将传递给相应的主机。

为了让这个流程正常运转,IP 地址有两个部分。 IP 地址的第一部分用作网络地址,后一部分则用作主机地址。 以 192.168.123.132 为例,将其划分为这两部分,则会得到 192.168.123. 网络 .132 主机,或 192.168.123.0(网络地址)。 0.0.0.132(主机地址)。

子网掩码

TCP/IP 正常运作所需的第二项是子网掩码。 TCP/IP 协议使用子网掩码来确定主机位于本地子网还是远程网络上。

在 TCP/IP 中,IP 地址中用作网络和主机地址的部分并不固定。 除非获取额外的信息,否则无法确定上述的网络和主机地址。 此信息以另一个 32 位数字(称为子网掩码)提供。 在这个例子中,子网掩码为 255.255.255.0。 这个数字的含义并不明显,除非你知道 255 在二进制计数法中等于 11111111。 因此,子网掩码为 11111111.11111111.11111111.00000000。

将 IP 地址和子网掩码排在一起,即可分开地址中的网络和主机部分:

11000000.10101000.01111011.10000100 - IP 地址 (192.168.123.132)
11111111.11111111.11111111.00000000 - 子网掩码 (255.255.255.0)

前 24 位(子网掩码中的 1)被标识为网络地址。 最后 8 位(子网掩码中剩余的零)被标识为主机地址。 它为你提供以下地址:

11000000.10101000.01111011.00000000 - 网络地址 (192.168.123.0)
00000000.00000000.00000000.10000100 - 主机地址 (000.000.000.132)

现在你知道,对于这个使用 255.255.255.0 子网掩码的示例,其网络 ID 为 192.168.123.0,主机地址为 0.0.0.132。 当数据包(从本地子网或远程网络)到达 192.168.123.0 子网,并且其目标地址为 192.168.123.132 时,计算机会从网络接收并处理它。

几乎所有十进制子网掩码都会转换为左侧全为 1,右侧全为 0 的二进制数。 其他一些常见的子网掩码包括:

十进制 Binary
255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000

Internet RFC 1878(可从 InterNIC-有关 Internet 域名注册服务的公开信息中获取)介绍了可用于 TCP/IP 网络的有效子网和子网掩码。

网络类

Internet 地址由管理 Internet 的组织 InterNIC 分配。 这些 IP 地址分为多个类。 其中最常见的是 A、B 和 C 类。还有 D 和 E 类,但不供最终用户使用。 每个地址类都有不同的默认子网掩码。 可以通过查看 IP 地址的第一个八进制数来标识 IP 地址的类。 以下是 A、B 和 C 类 Internet 地址的范围,每个地址都有一个示例地址:

  • A 类网络使用默认子网掩码 255.0.0.0,并且将 0-127 用作其第一个八进制数。 地址 10.52.36.11 是 A 类地址。 它的第一个八进制值是 10,介于 1 和 126 之间(包括 1 和 126)。

  • B 类网络使用默认子网掩码 255.255.0.0,并且将 128-191 用作其第一个八进制数。 地址 172.16.52.63 是 B 类地址。 它的第一个八进制值是 172,介于 128 和 191 之间(包括 128 和 191)。

  • C 类网络使用默认子网掩码 255.255.255.0,并且将 192-223 用作其第一个八进制数。 地址 192.168.123.132 是 C 类地址。 它的第一个八进制值为 192,介于 192 和 223 之间(包括 192 和 223)。

在某些情况下,默认子网掩码值不符合组织的需求,原因如下:

  • 网络的物理拓扑结构
  • 网络(或主机)数量不符合默认子网掩码限制。

下一节介绍如何使用子网掩码划分网络。

子网

A、B 或 C 类 TCP/IP 网络可以由系统管理员进一步划分或子网划分。 在对 Internet 的逻辑地址方案(抽象 IP 地址和子网)与实际使用的物理网络协调时,这就变得非常必要。

分配了 IP 地址块的系统管理员可能正在管理那些组织方式无法轻松容纳这些地址的网络。 例如,你有一个广域网,其中 150 台主机位于由 TCP/IP 路由器连接的三个网络(在不同城市)上。 这三个网络分别具有 50 台主机。 为你分配了 C 类网络 192.168.123.0。 (例如,此地址实际上来自 Internet 上未分配的范围。)这意味着这 150 台主机可以使用地址 192.168.123.1 到 192.168.123.254。

示例中两个不能使用的地址为 192.168.123.0 和 192.168.123.255,因为主机部分全为 1 和全为 0 的二进制地址均无效。 零地址无效,因为它用于指定网络而不指定主机。 255 地址 (二进制表示法,主机地址全为 1) 用于向网络上的每个主机广播消息。 请记住,任何网络或子网中的第一个和最后一个地址不能分配给任何单独的主机。

现在,你应该能够向 254 台主机提供 IP 地址。 如果所有 150 台计算机都位于一个网络上,则可以正常运行。 但是,你的 150 台计算机位于三个单独的物理网络上。 你可以将网络划分为多个子网,以便在多个物理网络上使用一个地址块,而不是为每个网络请求更多地址块。

在这种情况下,使用子网掩码将网络分为四个子网,该掩码使网络地址更大,并且可能的主机地址范围更小。 换句话说,你“借用”了一些用于主机地址的位,并将其用于地址的网络部分。 子网掩码 255.255.255.192 提供四个网络,每个网络包含 62 台主机。 它之所以有效,是因为在二进制计数法中,255.255.255.192 与 1111111.11111111.1111111.11000000 相同。 最后一个八进制数的前两位数成为网络地址,因此你会获取其他网络 00000000 (0) 、01000000 (64) 、10000000 (128) 和 11000000 (192) 。 (某些管理员仅使用使用 255.255.255.192 的两个子网作为子网掩码。有关本主题的详细信息,请参阅 RFC 1878.) 在这四个网络中,最后六位二进制数字可用于主机地址。

使用 255.255.255.192 子网掩码,你的 192.168.123.0 网络将变成 192.168.123.0、192.168.123.64、192.168.123.128 和 192.168.123.192 四个网络。 这四个网络将具有有效的主机地址:

192.168.123.1-62 192.168.123.65-126 192.168.123.129-190 192.168.123.193-254

请记住,具有全部一或全部零的二进制主机地址是无效的,因此不能使用最后一个八进制数为 0、63、64、127、128、191、192 或 255 的地址。

查看两个主机地址 192.168.123.71 和 192.168.123.133,可了解其工作方式。 如果使用默认的 C 类子网掩码 255.255.255.0,则两个地址都位于 192.168.123.0 网络上。 但是,如果使用 255.255.255.192 子网掩码,则它们位于不同的网络上;192.168.123.71 在 192.168.123.64 网络上,192.168.123.133 在 192.168.123.128 网络上。

默认网关

如果 TCP/IP 计算机需要与另一个网络上主机通信,它通常会通过一个称为路由器的设备进行通信。 在 TCP/IP 术语中,在主机上指定的、将主机的子网连接到其他网络的路由器,称为默认网关。 本节介绍了 TCP/IP 如何确定是否将数据包发送到其默认网关以到达网络上的其他计算机或设备。

当主机尝试使用 TCP/IP 与其他设备通信时,它将使用定义的子网掩码和目标 IP 地址与子网掩码及其自己的 IP 地址执行比较过程。 此比较的结果告知计算机,目标是本地主机还是远程主机。

如果此过程的结果确定目标为本地主机,则计算机将发送本地子网上的数据包。 如果比较结果确定目标为远程主机,则计算机将数据包转发到在其 TCP/IP 属性中定义的默认网关。 然后,路由器负责将数据包转发到正确的子网。

疑难解答

TCP/IP 网络问题通常是由计算机的 TCP/IP 属性中的三个主要条目配置不正确造成的。 通过了解 TCP/IP 配置中的错误如何影响网络操作,可以解决许多常见的 TCP/IP 问题。

错误的子网掩码:如果网络使用的子网掩码不是其地址类的默认掩码,而客户端仍然配置了该地址类的默认子网掩码,那么与附近的网络通信就会失败,但与远处的网络就不会。 例如,如果你创建了四个子网(比如在子网划分的例子中),但在你的 TCP/IP 配置中使用了错误的子网掩码 255.255.255.0,主机将无法确定某些计算机是在与自己不同的子网中。 在这种情况下,发往属于同一 C 类地址的不同物理网络上主机的数据包不会发送到默认网关进行传递。 此问题的一个常见症状是,计算机可以与位于其本地网络的主机通信,并且可以与所有远程网络通信,除了附近且具有相同的 A、B 或 C 类地址的网络。 若要解决此问题,只需在主机的 TCP/IP 配置中输入正确的子网掩码。

错误的 IP 地址:如果将 IP 地址应该在单独子网的计算机置于同一本地网络上,则它们彼此之间将无法通信。 它们将尝试通过无法正确转发数据包的路由器相互发送数据包。 此问题的一个症状是计算机可以与远程网络上的主机通信,但无法与本地网络上的某些或所有计算机通信。 若要更正此问题,请确保同一物理网络上的所有计算机具有相同的 IP 子网中的 IP 地址。 如果单个网段上的 IP 地址用完了,则有一些解决方案超出了本文的讨论范围。

错误的默认网关:配置了错误的默认网关的计算机可以与其自己的网段中的主机通信。 但它将无法与某些或所有远程网络上的主机进行通信。 如果满足以下条件,主机可以与某些远程网络通信,但不能与其他网络通信:

  • 一个物理网络具有多个路由器。
  • 将错误的路由器配置为默认网关。

如果组织有一个连接内部 TCP/IP 网络的路由器和另一个连接到 Internet 的路由器,此问题很常见。

References

TCP/IP 上的两个常用引用是:

  • “TCP/IP 图示,第 1 卷:协议”,Richard Richards,Addison Wesley,1994 年
  • “使用 TCP/IP 网络互联,第 1 卷:原则、协议和结构”,Douglas E. Comer,Prentice Hall,1995 年

建议负责 TCP/IP 网络的系统管理员至少具有这些参考中的一个。

术语表

  • 广播地址:主机部分全部为 1 的 IP 地址。

  • 主机:TCP/IP 网络上的计算机或其他设备。

  • Internet:连接在一起并共享公用 IP 地址范围的全局网络集合。

  • InterNIC:负责管理 Internet 上的 IP 地址的组织。

  • IP:用于通过 TCP/IP 网络或 Internet 发送网络数据包的网络协议。

  • IP 地址:TCP/IP 网络或网际网络上主机的唯一 32 位地址。

  • 网络:术语“网络”在本文中有两种用法。 一种是指单个物理网络段上的一组计算机。 另一种是指由系统管理员分配的 IP 网络地址范围。

  • 网络地址:主机部分全部为零的 IP 地址。

  • 八进制数:一个 8 位数字,由 4 个八进制数构成一个 32 位 IP 地址。 它们的范围为 00000000-11111111,对应于十进制值 0-255。

  • 数据包:通过 TCP/IP 网络或广域网传递的数据单元。

  • RFC(请求注释):用于在 Internet 上定义标准的文档。

  • 路由器:在不同 IP 网络之间传递网络流量的设备。

  • 子网掩码:用于区分 IP 地址的网络和主机部分的 32 位数字。

  • 子网:通过将较大网络划分为相等的部分而创建的较小的网络。

  • TCP/IP:广泛用于 Internet 和大型网络上常用的一组协议、标准和实用程序。

  • 广域网 (WAN):由路由器分隔的较小网络集合而成的大型网络。 Internet 即为一种大型 WAN。