不会就选b头像
Linux之IP<2>封面图

Linux之IP<2>

网段划分

IP网段划分是什么

核心公式

IP 地址 = 网络标识(网络号) + 主机标识(主机号)

  1. 上方子网:192.168.128.0/24
    • 网络号固定:192.168.128
    • 主机号:最后一段,同一个子网里,主机号不能重复
    • 例子:192.168.128.10、192.168.128.11、192.168.128.1
  2. 下方子网:192.168.144.0/24
    • 网络号固定:192.168.144
    • 主机号:最后一段
    • 例子:192.168.144.10、192.168.144.11、192.168.144.1

路由器连接两个子网,路由器有两个接口,分别属于两个网段:

  • 上接口:192.168.128.1(属于 128 子网,是这个子网主机的网关)
  • 下接口:192.168.144.1(属于 144 子网,是这个子网主机的网关)

为什么要进行网络划分

我们先从一个例子进行切入

此时你该怎么找到失主???

故事还原

张三捡到钱包,只有失主学号:06123

  1. 学号开头06 → 代表机械学院(网络号);后面123是该学院里面这名学生编号(主机号)
  2. 张三不知道这个学生是谁,直接在校门口挨个问所有人,相当于广播遍历全网,效率极低,不可行。
  3. 张三把学号发给学校总辅导员(路由器)
    • 辅导员只看学号前缀(网络号),判断属于机械学院,不需要知道具体学生是谁。
    • 转发消息给机械学院辅导员(下一跳路由器)
  4. 机械学院辅导员拿到学号,看后半段123(主机号),在本院内部直接找到这名学生,通知失主。
  1. 路由器只看 IP 的网络号,不关心主机号。就像总辅导员只看学号前缀判断学院,不关心学生在学院里的个人编号。
  2. 目标子网内部的网关,拿到数据包之后,才使用主机号,在子网里面找到最终主机。
  3. 路由转发逻辑:先根据网络号找到目标子网;进入子网后,再依靠主机号定位主机。

查找的本质是淘汰。线性查找一次淘汰一个;二分一次淘汰一半;IP 路由最长前缀匹配,依靠前缀 Trie 一次性淘汰大量不匹配网段,实现快速查表。

怎么做的

过去曾经提出一种划分网络号和主机号的方案, 把所有IP 地址分为五类,

A类 0.0.0.0到127.255.255.255 

B类 128.0.0.0到191.255.255.255

C类 192.0.0.0到223.255.255.255

D类 224.0.0.0到239.255.255.255

E类 240.0.0.0到247.255.255.255

B 类地址在实际应用中越来越受欢迎,但随着网络规模扩大,B 类地址也逐渐不够分配。与此同时,IPv4 地址空间不足的问题日益突出,因此人们提出了 CIDR 这种更灵活的地址划分方式,并逐步引入 IPv6 等方案,从根本上解决地址短缺问题。

分类划分法最大的问题:IP地址使用不充分

解决--子网掩码

1、什么是 CIDR(无类别域间路由)

传统 IP 会硬性把 IP 分成 A/B/C 类;CIDR 不再看 A、B、C 类别,而是手动指定多少位作为网络号。 用/数字这种写法,就是 CIDR 标记法,例如图里的 /24。

2、子网掩码 subnet mask

子网掩码是 32 位二进制,前面全是1,后面全是0

不再区分 A、B、C 类 IP,子网掩码自由定义,/n代表前 n 位是网络位

子网掩码,可以从原来长长的主机号里面,拿出前面若干位,借来当「子网的网络位」

  • 原本:后面 24 位全部是主机号
  • 子网划分:从这 24 位的最左边,截取 N 位,升级变成子网网络号;剩下的才保留为主机位。

举例子: A 类地址,拿 8 位主机位当子网位 → 总网络位 = 8+8 =16 位,CIDR 写法/16 掩码:255.255.0.0 这样就把1 个巨大的 A 类主网,切分成很多个小网段(子网),不会一次性浪费上千万 IP。

特殊 IP 地址

1. 网络号(网段地址)

将 IP 地址里主机位全部置 0 → 网络号,代表整个局域网网段,不能分配给任何主机使用。

例子:192.168.128.0/24

  • /24,前 24 位网络位,最后 8 位主机位。
  • 主机位全部写 0:192.168.128.0
  • 含义:代表192.168.128.x这一整个网段,不是某一台电脑。
2. 广播地址

将 IP 地址里主机位全部置 1 → 广播地址。 作用:向同一个网段内所有主机同时发送数据包。也不能分配给主机。

例子:192.168.128.0/24 主机位 8 位全部置 1,二进制11111111,十进制255 广播地址:192.168.128.255 发给这个地址的数据包,网段内所有设备都会收到。

✅ 重点结论: 一个网段里,网络地址、广播地址不能分给主机,所以可用主机数 = \(2^{主机位数}-2\)

3. 环回地址 loopback:127.*.*.*
  • 整个127.0.0.0/8段都属于环回地址,最常用:127.0.0.1
  • 特点:永远只访问本机,数据包不会发到外网 / 网卡,只在电脑内部协议栈测试。
  • 用途:测试本机 TCP/IP 协议栈是否正常。 比如:ping 127.0.0.1,ping 通代表本机网络协议没问题,和网线、外网无关。

IPv4 地址数量限制与解决方案

一、IPv4 地址的局限

IPv4 地址是32 位(4 字节),理论总数量:\(2^{32}\),约 43 亿个。

  1. 并不是一台主机对应 1 个 IP:一块网卡就要分配至少 1 个 IP,一台多网卡设备会占用多个 IP。
  2. 还有大量特殊 IP(网络号、广播地址、环回地址、私有地址)不能分配给互联网主机,实际可用公网 IP 远小于 43 亿。
  3. CIDR 无类别编址: ✅ 好处:提高 IP 利用率、减少地址浪费 ❗ 局限:只是优化分配方式,不会增加 IP 地址总数量,依然不够用。
二、三种解决 IPv4 地址枯竭的方案
  1. 动态分配 IP(DHCP) 只给当前在线接入网络的设备分配 IP;设备下线后 IP 回收,可以重复分给别的设备。 同一个设备(MAC 不变)每次上网拿到的 IP 可能不一样。
  2. NAT 网络地址转换(重点考点) 内网设备共用同一个公网 IP 上网,大量内网主机只消耗 1 个公网 IP,是现在最主流方案,后面会详细讲。
  3. IPv6
  • 地址长度:128 位(16 字节),地址空间极其巨大;
  • 注意:IPv6 不是 IPv4 简单升级,二者是两套独立协议,互相不兼容;
  • 现状:部署普及度还不够高。

私有IP地址和公网IP地址

核心概念
  • 公网 IP(蓝色部分):互联网上全球唯一的 IP 地址,除私有 IP 段以外的 IPv4 都属于公网 IP,可以直接在互联网路由访问。
  • 私有 IP(内网 IP,黄色部分):专门留给局域网(内网)使用,不能直接在公网路由;由路由器搭建内网使用。

三大私有 IP 网段

  1. A 类私有段:10.0.0.0/8 前缀10.*,前 8 位是网络位;总地址数量:16,777,216 个
  2. B 类私有段:172.16.0.0 ~ 172.31.0.0 /12 172.16.* ~ 172.31.*,前 12 位网络位;总地址数量:1,048,576 个
  3. C 类私有段:192.168.0.0/16 192.168.*,前 16 位网络位;总地址数量:65,536 个

我们先来了解一下运营商

为什么我们交话费给运营商?

运营商负责物理基础设施:基站、光纤、交换机、骨干路由。

  • 话费本质是:租用运营商的通信线路资源,让你的手机可以接入这张通信网络,收发数据、打电话。
  • 抖音、支付宝只提供软件服务,它们不负责把信号传到你的手机上,所以流量费交给运营商,不是交给 APP。

为什么没有话费还可以拨打运营商客服电话(10086/10010)

运营商把客服号码标记成紧急 / 特权号码: 欠费停机后,语音通道保留呼叫客服的权限,不消耗套餐话费,属于基础通信保障; 但是上网流量会直接断开,只能打指定客服、紧急号码(110/120),不能打普通手机号。

我国互联网经济为什么发展好

  1. 运营商基建完善:国内光纤、5G 基站大规模铺设,网络接入成本低,大量普通人可以低成本接入互联网(图中间的云覆盖广)。
  2. 海量用户基数:左侧大量用户,为抖音、支付宝这类互联网应用提供巨大市场。
  3. 应用生态丰富:右侧孵化大量互联网业务,线上支付、短视频、电商互相促进,形成完整闭环。

路由器有至少两个接口,每个接口属于不同子网:LAN 口(内网子网 IP)、WAN 口(上一级子网 IP)。

路由器本身,同时处在两个子网里面,这是跨网段转发的根本。

家用路由器

  • LAN 侧(内网):192.168.1.1/24,构建内网子网,家里电脑 / 手机192.168.1.200/24、192.168.1.201/24都在这个子网。同子网主机可以直接通信,不需要路由。
  • WAN 侧:10.1.1.2/24,这个 IP 属于运营商路由器构建的10.1.1.0/24子网。 ✅ 家用路由器,对于家里设备是网关;对于上层运营商路由器,它就相当于一台普通主机。

运营商路由器

  • LAN 口:10.1.1.1/24,管理所有家用路由器(所有家庭的 WAN 口都在这个子网)
  • WAN 口:122.77.241.5/24,接入广域网,属于公网子网,最终连到远端服务器122.77.241.3/24

网络分层规划时,越靠近终端用户的子网,分配的地址空间越小;上层运营商汇聚网络,使用更大的私有地址段。

我们设想一个错误的发包流程:内网主机192.168.1.201直接带着私有源 IP 向外发送数据包,目标 IP 为公网服务器122.77.241.3。 数据包可以一路路由到达服务器,服务器可以成功接收请求。但当服务器构造响应报文时,目的地址填写的是私有 IP192.168.1.201。 公网路由器不识别私有网段,无法转发这个应答报文,响应包会直接丢失。

实际上发包的时候src是会发生变化的

路由器会把内网主机的子网源 IP 替换为自身 WAN 口 IP,再向上转发数据包。数据包进入公网后,源 IP 不会再发生替换。NAT 地址转换这个操作,只在内网出口的家用路由器上完成。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2503_92261635/article/details/167587618

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--