什么是 IP 地址(本文主要讲解 IPv4)#
IP 地址(Internet Protocol Address),即互联网协议地址,是一种统一的地址格式,用于为互联网上的每一个网络和每一台主机分配一个逻辑地址,以屏蔽物理地址的差异。IP 地址类似于电话号码或家庭住址,它确保信息能够准确地发送到正确的目的地。
IPv4 地址是目前广泛使用的 IP 地址版本之一,它由 32 位二进制数构成,通常分为 4 个 8 位的二进制数(即 4 个字节)。为了便于阅读,IPv4 地址通常采用点分十进制表示法,即将每个 8 位的二进制数转换为十进制数,并用点(.)分隔,形如 a.b.c.d
,其中 a、b、c、d 都是 0 到 255 之间的十进制整数。
IPv4 地址可以分为以下几类:
- A 类地址:以 0 开头,网络号占据第一个字节,主机号占据后三个字节,适用于大型网络。
- B 类地址:以 10 开头,网络号占据前两个字节,主机号占据后两个字节,适用于中等规模网络。
- C 类地址:以 110 开头,网络号占据前三个字节,主机号占据最后一个字节,适用于小型网络。
- D 类地址:以 1110 开头,用于多播。
- E 类地址:以 1111 开头,保留地址,用于实验和研究。
IPv4 地址还包括特殊地址,如环回地址(127.0.0.1),用于本机通信测试,以及广播地址(如 255.255.255.255),用于发送给本网络上所有主机的数据包。
由于 IPv4 地址空间有限,目前已经出现了地址耗尽的问题,这也是 IPv6 地址被提出的原因,IPv6 地址具有更大的地址空间,可以满足未来更多设备的需求。
什么是子网掩码#
子网掩码介绍#
子网掩码(Subnet Mask),是一种用于划分 IP 地址中的网络地址和主机地址的 32 位地址。它与 IP 地址结合使用,通过逻辑运算来区分一个 IP 地址的网络部分和主机部分 ¹1。
子网掩码作用#
子网掩码的主要作用有两个:
- 区分网络地址和主机地址:子网掩码通过与 IP 地址进行按位逻辑 “与” 运算,可以将 IP 地址中的网络地址和主机地址分离出来。这有助于确定一个 IP 地址是否属于本地网络,还是在远程网络上 ²6。
- 划分子网:子网掩码可以将一个大的 IP 网络划分为若干小的子网络,这样做可以减少 IP 地址的浪费,提高网络应用的效率,并便于网络管理 ¹1。
例如,一个常见的子网掩码是255.255.255.0
,它的二进制形式是11111111.11111111.11111111.00000000
。这意味着 IP 地址的前三个字节是网络地址,最后一个字节是主机地址。如果两台计算机的 IP 地址在应用了相同子网掩码后的网络地址相同,那么它们就处于同一子网内 ¹1。
子网掩码的设置必须遵循一定的规则,其中 1 和 0 必须分别连续,不能交错。子网掩码的长度也是 32 位,左边是网络位,用二进制数字 “1” 表示,右边是主机位,用二进制数字 “0” 表示 ¹1。
在实际应用中,子网掩码不仅用于局域网内部,还用于路由器判断数据包的正确路由路径。通过子网掩码,路由器可以确定数据包的下一跳地址,并将数据包转发到正确的目的地 ³8。这对于互联网数据传输至关重要,确保数据能够准确地发送到正确的目的地。
如何进行子网划分#
子网划分是将一个较大的网络划分成多个小的、独立的子网络的过程。这样做可以提高网络的管理效率和安全性,同时也可以更合理地分配和使用 IP 地址资源。进行子网划分通常需要以下几个步骤:
- 确定子网数量:根据实际需求确定需要划分出多少个子网。
- 计算子网掩码:根据子网数量计算新的子网掩码。子网掩码决定了 IP 地址中哪些部分用于网络地址,哪些部分用于主机地址。
- 分配子网地址:为每个子网分配一个网络地址。
- 计算可用的主机地址范围:每个子网都有一个从网络地址到广播地址的范围,其中的地址可以分配给该子网内的设备。
例如,如果有一个 C 类网络地址 192.168.1.0,其默认子网掩码是 255.255.255.0(或者 / 24),我们想要划分出 4 个子网,每个子网至少支持 30 台主机。我们可以采取以下步骤:
- 步骤 1:确定子网数量。我们需要 4 个子网。
- 步骤 2:计算子网掩码。因为我们需要 4 个子网,所以至少需要借用 2 位作为子网位(因为 2^2=4)。这样,子网掩码变为 255.255.255.192(或者 / 26),因为原来的 24 位加上借用的 2 位,总共是 26 位。
- 步骤 3:分配子网地址。第一个子网的网络地址是 192.168.1.0,第二个子网的网络地址是 192.168.1.64,第三个子网的网络地址是 192.168.1.128,第四个子网的网络地址是 192.168.1.192。
- 步骤 4:计算可用的主机地址范围。每个子网可以有 2^(32-26)-2=62 个可用地址(减去 2 是因为网络地址和广播地址不能用于主机)。