彻底理解 IP 地址,子网掩码,子网划分
彻底理解 IP 地址,子网掩码,子网划分
IP地址、子网掩码和子网划分是计算机网络中的基础概念,对于理解互联网的运作机制至关重要。本文将从IP协议的基本原理出发,深入解析IP地址的结构、分类以及子网划分的原理和方法,帮助读者建立对网络通信的全面理解。
什么是 IP 协议
在探讨IP地址之前,我们先需要了解IP协议是什么。从普通人的角度看,网络可能只是手机上的一个WIFI标志或电脑上的一根网线。但从学术角度看,网络是一个由硬件和软件组成的复杂系统,是连接全球的基础设施。
IP协议是众多网络协议中的基础协议之一,位于OSI模型的网络层。当前广泛使用的是IPv4协议,虽然未来会被IPv6取代,但IPv4仍然是互联网的主要协议。IP协议的主要作用是制定网络通信的标准,确保数据能够准确地从源地址传输到目的地址。
IP协议在设计时就假设网络基础设施是不可靠的,因此采用了动态连接和节点的设计,不存在中心监控和维护网络状态。这种设计导致IP协议只能做到"尽最大努力投递报文",可能会出现数据损坏、丢失、乱序或重复等问题。这些问题的解决主要依赖于更高层的传输协议,如TCP协议。
IP 地址
IP地址是一个32位的二进制数字,例如:
11000000 10101000 00000001 00000011
为了便于人类记忆,通常使用点分十进制表示法,上述二进制地址可以表示为:
198.168.1.89
IPv4地址总共可以标识2^32个设备,即4,294,967,296个。为了便于管理和寻址,IP地址被分为A、B、C、D、E五类,其中D类用于多播地址,E类保留使用。我们主要讨论A、B、C三类IP地址。
理解IP地址的关键在于将其分为三部分:网络标识位、网络号和主机号。以B类地址为例,其结构如下图所示:
- 网络标识位:B类地址的高位是"10"。
- 网络号:紧随其后的14位。
- 主机号:最后的16位。
例如,IP地址10111101 00001010 01011010 00010100
(189.10.90.20)的网络号和主机号如下图所示:
网络号用于标识网络的位置,主机号用于标识主机的位置。同网络号的主机可以直接通信,不同网络号的主机则需要通过网关(路由器)进行通信。
根据上述规则,可以归纳出详细的IP地址分类表格:
描述 | A 类 | B 类 | C 类 |
---|---|---|---|
网络标识位 | 0 | 10 | 110 |
IP地址范围 | 0.0.0.0 - 127.255.255.255 | 128.0.0.0 - 191.255.255.255 | 192.0.0.0 - 223.255.255.255 |
可用IP地址范围 | 1.0.0.1 - 127.255.255.254 | 128.0.0.1 - 191.255.255.254 | 192.0.0.1 - 223.255.255.254 |
网络数量 | 126(2^7 - 2) | 16384 (2^14) | 2097152 (2 ^ 21) |
每个网络可用主机 | 16777214 (2^24 - 2) | 65534 (2 ^ 16 - 2) | 254 (2^8 - 2) |
每个网络的主机号全0代表网络本身,全1用作广播地址。例如,对于网络号192.168.1
,192.168.1.0
代表本网络,192.168.1.255
用作广播。
A类地址的128个网络中保留了两个特殊网络号:0.0.0.0
用于广播到本机所有地址,127.0.0.0
用于环回测试。
子网划分
在一个B类网络地址中,理论上可以容纳65534台主机。但在实际应用中,很少有组织需要如此庞大的网络。同时,主机数量过多会导致网络传输效率降低。因此,需要将一个网络划分为多个子网,就像城市被划分为多个区域一样。
子网划分通过引入子网掩码实现。子网掩码也是一个32位的二进制数字,通常由高位连续的1和低位连续的0组成。例如,对于IP地址189.10.90.20
,子网掩码255.255.240.0
表示前20位是网络部分,后12位是主机部分。
判断两个IP地址是否在同一子网,可以通过子网掩码和IP地址进行AND运算。例如:
IP地址 | 计算过程 | 结果 |
---|---|---|
189.10.90.20 | 189.10.90.20 & 255.255.240.0 | 10111101000010100101000000000000 |
189.10.200.20 | 189.10.200.20 & 255.255.240.0 | 10111101000010101100000000000000 |
189.10.202.20 | 189.10.202.20 & 255.255.240.0 | 10111101000010101100000000000000 |
A、B、C类地址的默认子网掩码分别为:
- A类地址:255.0.0.0(十进制表示:8)
- B类地址:255.255.0.0(十进制表示:16)
- C类地址:255.255.255.0(十进制表示:24)
私有地址
在RFC 1918中保留了一些地址作为私有地址,这些地址不能直接接入公网,仅用于家庭或组织内部使用。私有地址范围如下:
类型 | 范围 | 子网掩码 | IP数量 |
---|---|---|---|
A类地址 | 10.0.0.0 - 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
B类地址 | 172.16.0.0 - 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
C类地址 | 192.168.0.0 - 192.168.255.255 | 192.168.0.0/16 | 65,536 |