本文最后更新于128 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com
1. IP地址:互联网的“门牌号”
想象一下,你要给另一个城市的同学寄一封信,你需要知道他的详细地址(比如:北京市海淀区学院路123号)
在网络世界里,IP地址就扮演着这个“详细地址”的角色
- 定义:IP地址是分配给网络设备(如电脑、手机、服务器)的一个唯一的逻辑地址,用于在IP网络(如互联网)中标识和定位设备
- 格式:目前最广泛使用的IPv4地址是一个32位的二进制数 但为了便于人类读写,我们通常用“点分十进制”法来表示,即分成4段,每段8位(0-255),用点分隔
- 组成:一个IP地址由两部分组成:
- 网络号:标识设备所在的特定网络 就像地址中的“北京市海淀区”,代表一个大的区域
- 主机号:标识该网络中的特定设备 就像地址中的“学院路123号”,代表区域内的具体位置
关键问题来了:给定一个IP地址,比如 192.168.1.10,我们怎么知道哪部分是网络号,哪部分是主机号呢?
这就是子网掩码要解决的问题
2. 子网掩码:区分“街区”和“门牌”的“尺子”
子网掩码的作用就是明确地指出IP地址中哪些位是网络号,哪些位是主机号
- 格式:子网掩码也是一个32位的二进制数,与IP地址一一对应
- 规则:
- 表示网络号的位,在子网掩码中设置为 1
- 表示主机号的位,在子网掩码中设置为 0
- 举例说明:最常见的子网掩码是
255.255.255.0- 它的二进制形式是:
11111111.11111111.11111111.00000000 - 前面24位是1,后面8位是0
192.168.1.10来看:- IP地址:
192.168.1.10->11000000.10101000.00000001.00001010 - 子网掩码:
255.255.255.0->11111111.11111111.11111111.00000000
- 子网掩码中为 1 的部分(前24位)对应的是网络号 所以这个IP的网络号是
192.168.1 - 子网掩码中为 0 的部分(后8位)对应的是主机号 所以这个设备的主机号是
10
192.168.1.0这个网络中,它是这个网络里的第10号设备 - 它的二进制形式是:
- CIDR表示法:为了更简洁,我们常用CIDR(无类别域间路由)表示法 它直接在IP地址后面加上一个斜杠“/”和网络号的位数
- 例如:
192.168.1.10/24就等同于192.168.1.10加上255.255.255.0
- 例如:
3. 为什么需要子网划分?(核心价值)
子网掩码不仅仅是用来区分网络和主机,它更强大的功能在于对网络进行灵活划分(子网划分),这主要出于以下目的:
- 减少网络拥堵:一个庞大的网络(比如有上万台主机)会产生大量的广播流量(如ARP请求),导致效率低下 通过子网划分,可以将一个大网络分割成多个小的广播域,将广播限制在每个子网内部,极大提升性能
- 提高安全性:不同子网之间的通信通常需要通过路由器或三层交换机,可以在这些设备上设置访问控制列表(ACL)来实现安全策略,隔离不同部门(如财务部和销售部)的网络
- 高效管理IP地址:IP地址是有限的资源 通过子网划分,可以根据每个部门或楼宇的实际主机数量,分配大小合适的地址段,避免浪费
4. 实战演练:判断两个IP是否在同一个子网
这是网络配置和故障排除中的常见操作 规则是:比较两个IP地址的网络号是否相同
步骤:
- 将IP地址和子网掩码都转换为二进制
- 将IP地址和子网掩码进行 “按位与” 运算
- 规则:1 AND 1 = 1;1 AND 0 = 0;0 AND 1 = 0;0 AND 0 = 0
- 得到的结果就是网络地址比较两个IP计算出的网络地址是否一致
例子:
判断 192.168.1.10/24和 192.168.1.20/24是否在同一网络?
- 设备A: IP=
192.168.1.10, 掩码=255.255.255.0- IP二进制:
11000000.10101000.00000001.00001010 - 掩码二进制:
11111111.11111111.11111111.00000000 - 按位与结果:
11000000.10101000.00000001.00000000->192.168.1.0(网络地址)
- IP二进制:
- 设备B: IP=
192.168.1.20, 掩码=255.255.255.0- IP二进制:
11000000.10101000.00000001.00010100 - 掩码二进制:
11111111.11111111.11111111.00000000 - 按位与结果:
11000000.10101000.00000001.00000000->192.168.1.0(网络地址)
- IP二进制:
结论:两者的网络地址都是 192.168.1.0,所以它们在同一个子网,可以直接通信(通常通过交换机)
再看一个不在同一子网的例子:
判断 192.168.1.10/24和 192.168.2.10/24是否在同一网络?
- 设备A的网络地址:
192.168.1.0 - 设备B的网络地址:
192.168.2.0 - 结论:网络地址不同,不在同一子网 它们之间的通信需要网关(通常是路由器)的转发
5. 常见的地址类型(需要记住)
在一个子网中,有几个特殊的IP地址:
- 网络地址:主机位全为0的地址(例如
192.168.1.0) 代表这个网络本身,不能分配给设备 - 广播地址:主机位全为1的地址(例如
192.168.1.255) 向这个地址发送数据,子网内所有设备都会接收 - 可用主机地址:介于网络地址和广播地址之间的地址(例如
192.168.1.1到192.168.1.254),可以分配给设备
一个小练习:
对于网络 172.16.0.0/16(掩码 255.255.0.0),请问:
- 网络地址是?
172.16.0.0 - 广播地址是?
172.16.255.255 - 可用主机数量是? 2^16 – 2 = 65534 个
总结
| 概念 | 比喻 | 作用 |
|---|---|---|
| IP地址 | 完整的邮寄地址(城市+街道+门牌) | 唯一标识网络中的一台设备 |
| 子网掩码 | 一把标尺,划出地址中“城市”和“门牌”的分界线 | 定义IP地址的网络部分和主机部分 |
| 网络号 | 城市名 | 标识设备所属的网络 |
| 主机号 | 街道和门牌号 | 标识网络中的特定设备 |