IPv4地址与子网掩码
本文最后更新于128 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com

1. IP地址:互联网的“门牌号”

想象一下,你要给另一个城市的同学寄一封信,你需要知道他的详细地址​(比如:北京市海淀区学院路123号)

在网络世界里,IP地址就扮演着这个“详细地址”的角色

  • 定义​:IP地址是分配给网络设备(如电脑、手机、服务器)的一个唯一的逻辑地址,用于在IP网络(如互联网)中标识和定位设备
  • 格式​:目前最广泛使用的IPv4地址是一个32位的二进制数 但为了便于人类读写,我们通常用“点分十进制”法来表示,即分成4段,每段8位(0-255),用点分隔
  • 组成​:一个IP地址由两部分组成:
    1. 网络号​:标识设备所在的特定网络 就像地址中的“北京市海淀区”,代表一个大的区域
    2. 主机号​:标识该网络中的特定设备 就像地址中的“学院路123号”,代表区域内的具体位置

关键问题来了​:给定一个IP地址,比如 192.168.1.10,我们怎么知道哪部分是网络号,哪部分是主机号呢?

这就是子网掩码要解决的问题


2. 子网掩码:区分“街区”和“门牌”的“尺子”

子网掩码的作用就是明确地指出IP地址中哪些位是网络号,哪些位是主机号

  • 格式​:子网掩码也是一个32位的二进制数,与IP地址一一对应
  • 规则​:
    • 表示网络号的位,在子网掩码中设置为 ​1
    • 表示主机号的位,在子网掩码中设置为 ​0
  • 举例说明​:最常见的子网掩码是 255.255.255.0
    • 它的二进制形式是:11111111.11111111.11111111.00000000
    • 前面24位是1,后面8位是0
    现在我们结合IP地址 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. 为什么需要子网划分?(核心价值)

子网掩码不仅仅是用来区分网络和主机,它更强大的功能在于对网络进行灵活划分(子网划分)​,这主要出于以下目的:

  1. 减少网络拥堵​:一个庞大的网络(比如有上万台主机)会产生大量的广播流量(如ARP请求),导致效率低下 通过子网划分,可以将一个大网络分割成多个小的广播域,将广播限制在每个子网内部,极大提升性能
  2. 提高安全性​:不同子网之间的通信通常需要通过路由器或三层交换机,可以在这些设备上设置访问控制列表(ACL)来实现安全策略,隔离不同部门(如财务部和销售部)的网络
  3. 高效管理IP地址​:IP地址是有限的资源 通过子网划分,可以根据每个部门或楼宇的实际主机数量,分配大小合适的地址段,避免浪费

4. 实战演练:判断两个IP是否在同一个子网

这是网络配置和故障排除中的常见操作 ​规则是:比较两个IP地址的网络号是否相同​

步骤​:

  1. 将IP地址和子网掩码都转换为二进制
  2. 将IP地址和子网掩码进行 ​​“按位与”​​ 运算
    • 规则:1 AND 1 = 1;1 AND 0 = 0;0 AND 1 = 0;0 AND 0 = 0
  3. 得到的结果就是网络地址比较两个IP计算出的网络地址是否一致

例子​:

判断 192.168.1.10/24192.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(网络地址)
  • 设备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(网络地址)

结论​:两者的网络地址都是 192.168.1.0,所以它们在同一个子网,​可以直接通信​(通常通过交换机)

再看一个不在同一子网的例子​:

判断 192.168.1.10/24192.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.1192.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地址的网络部分和主机部分
网络号城市名标识设备所属的网络
主机号街道和门牌号标识网络中的特定设备
Life's a struggle, I'll conquer it.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇