IP基础知识

IP位于OSI参考模型的网络层,网络层的主要作用是“实现终端节点之间的通信”。

IP主要作用模块:IP寻址,路由控制,IP数据分片与重组。

IP寻址

在计算机通信中,为了识别通信对端,必须有一个类似于地址的识别码进行识别。在数据链路中使用MAC地址;在网络层IP中,被称为IP地址,用于在连接到网络中的所有主机中识别出进行通信的目标地址,为所有的主机或路由器分配唯一的IP地址。

路由控制

路由控制是将分组数据发送到最终目标地址的功能,为了将数据包发送给目标主机,所有主机都维护着一张路由控制表,该表记录IP数据在下一步应该发给哪个路由器。

IP数据分片与重组

根据数据链路层的最大传输单元MTU,IP上层传入的数据可能超过数据链路层MTU,当数据包过大时,IP 协议将其分片传输,并在目标设备上重新组装。

IP协议的特点

IP 协议提供无连接的、不可靠的、尽力的数据报投递服务。

  • 无连接:IP协议在传输数据之前不建立固定连接,每个数据包独立发送。
  • 不可靠:IP协议不保证数据包一定能到达目标设备,数据包可能以任意顺序到达,甚至可能丢失,数据包在传输过程中可能被损坏,IP协议不提供修复机制。
  • 尽力而为:IP协议会尽最大努力将数据包传输到目标设备,但不提狗任何服务质量保证,所有数据包在传输过程中具有相同的优先级

IP地址

IP地址由32位二进制数组成,为便于使用,常以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数,该表示方法称为点分十进制。例如维基媒体的一个IP地址是208.80.152.2。地址可分为A、B、C、D、E五大类,其中E类属于特殊保留地址。

类别A 类B 类C 类D 类E 类
网络标志位010110111011110
IP 地址范围0.0.0.0 ~ 127.255.255.255128.0.0.0 ~ 191.255.255.255192.0.0.0 ~ 223.255.255.255224.0.0.0 ~ 239.255.255.255240.0.0.0 ~ 255.255.255.255
可用 IP 地址范围1.0.0.1 ~ 127.255.255.254128.0.0.1 ~ 191.255.255.254192.0.0.1 ~ 223.255.255.254------
是否可以分配给主机使用
网络数量(个)126 (2⁷ - 2)16,384 (2¹⁴)2,097,152 (2²¹)------
每个网络中可容纳主机数(个)16,777,214 (2²⁴ - 2)65,534 (2¹⁶ - 2)254 (2⁸ - 2)------
适用范围大量主机的大型网络中等规模主机数的网络小型局域网组播地址(留给 IAB 使用)保留,仅用于实验和开发
备注0.0.0.0 为特殊地址,表示本网主机---------255.255.255.255 为特殊地址,用于定向广播

子网

IP网络可以在IPv4IPv6中划分子网。为此,将IP地址识别成由两部分组成:网络前缀(高位)和其余的位(称为其余字段,主机标识符或者接口标识符(IPv6)),用于网络内的主机编号。子网掩码(subnet mask)或无类别域间路由(英语:Classless Inter-Domain Routing,简称:CIDR)表示法确定了IP地址如何分为网络部分和主机部分。

子网掩码的意义

它是一种用来指明一个IP地址的哪些位标识的是主机所在的网络地址以及哪些位标识的是主机地址的位掩码。 一个IP地址的网络部分被称为网络号或者网络地址,子网掩码根据逻辑与运算,得出的结果是相同的网络号,则说明这两台计算机是处于同一个子网络上的,可以进行直接与具有相同的网络号的设备通讯。

子网掩码ABC类IP地址最大网络范围与最大可用主机数

IP地址分为两部分,左边部分用来标识主机所在的网络,被称为网络地址,右边被用来标识主机本身,称为主机地址;可左右部分各字节占总比的 ?/4 并不知道,也由此,地址的类别开始进行划分开来。

IP地址类型地址表示范围缺省(默认)子网掩码网络位n与主机位h
A类地址1.0.0.1-127.255.255.255255.0.0.00nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
B类地址128.0.0.1-191.255.255.255255.255.0.010nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
C类地址192.0.0.1-223.255.255.255255.255.255.0110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh

以A类地址说明为例

A类地址最大网络范围:

从1算到127(包括1与127),总数的确是128;但IP地址最后结尾的部分的x.x.x.0为网络地址,最后结尾的部分以x.x.x.255则为广播地址,二者并不能作为ip使用。因此,需要减2,即A类网络可定义27-2=126(A类地址n的个数为7)。

A类地址最大可用主机数:

A类地址默认子网掩码是255.0.0.0,而这个0正好是未被遮罩h字节的部分(3*8=24),所以每个网络可以拥有最大可用的主机数为224-2=16777214

得出公式: 2^n-2 = x类型IP地址最大网络范围;2^h-2 = 最大可用主机数;B类地址、 C类地址类推同理。

子网地址和广播地址

子网地址

子网地址是每一个子网的第一个IP地址,用于标识整个子网,例如子网 192.168.1.0/24 的子网地址是 192.168.1.0,子网地址是网络的标识符,不能分配给任何主机。

广播地址

广播地址用于再同一链路中互相连接的主机之间发送数据广播消息,在IP地址中主机地址部分全部设置为1,就成为了广播地址。

在子网中,广播地址为每一个子网的最后一个IP地址,用于向子网内所有设备发送广播消息,例如子网 192.168.1.0/24 的广播地址是 192.168.1.255

子网划分的IP广播地址与最大可用主机数

例题2:PC1的ip为192.168.0.3/26,最大可用主机数与广播地址分别是什么?

/261111 11111111 11111111 11111100 0000

26-2 最多可用主机数:62 (子网掩码未遮罩的6个0为h,h为主机编号位

由例题1得出192.168.0.3/26网络地址为192.168.0.0

公式:网络地址 || (~子网掩码) = 广播地址

将子网掩码[~ 取反(opens new window)]

/261111 11111111 11111111 11111100 0000
~0000 00000000 00000000 00000011 1111

取反的子网掩码与网络地址进行[|| 短路与运算(opens new window)]

网络地址1100 0000.1010 1000.0000 0000.0000 0000192.168.0.0
~子网掩码0000 0000.0000 0000.0000 0000.0011 11110.0.0.63
广播地址1100 0000.1010 1000.0000 0000.0011 1111192.168.0.63

广播地址结果为:192.168.0.63

快速运算:

子网掩码 /26,32-26=6(子网掩码未遮罩的6个0为h,h为主机编号位,2^6-2即最大可用主机数;也由此可推出广播地址为 x.x.x.最大可用主机数+1

子网计算


子网计算的基础知识

1. IP地址与子网掩码

  • IP地址:用于标识网络中的设备,由 32 位二进制数组成,通常表示为点分十进制(如 192.168.1.1)。
  • 子网掩码:用于划分网络和主机部分,由连续的 10 组成。例如,255.255.255.0 表示前 24 位是网络部分,后 8 位是主机部分。

2. CIDR 表示法

  • CIDR:无类别域间路由(Classless Inter-Domain Routing),用于表示子网掩码的位数。例如,192.168.1.0/24 表示前 24 位是网络部分。

3. 块大小

  • 块大小:每个子网中可用的 IP 地址范围,计算公式为:
    块大小 = 256 - 子网掩码
    例如,子网掩码为 255.255.255.192,则块大小为 256 - 192 = 64

子网的作用

子网划分是网络设计中的重要环节,其主要作用包括:

  1. 优化网络性能
    • 通过划分子网,可以减少广播域的大小,降低网络拥塞,提高网络性能。
  2. 提高安全性
    • 子网可以将不同部门或功能的设备隔离,限制网络访问范围,增强网络安全性。
  3. 简化管理
    • 划分子网后,网络管理员可以更清晰地管理 IP 地址资源,便于故障排查和维护。
  4. 节省 IP 地址
    • 通过合理划分子网,可以更高效地利用有限的 IP 地址资源,避免浪费。
  5. 支持多区域网络
    • 子网划分可以支持多区域网络的部署,例如分支机构、数据中心等。

子网计算的步骤

步骤 1:确定子网掩码和 CIDR

  • 根据需求选择子网掩码或 CIDR 表示法。
    例如,255.255.255.192 对应的 CIDR 是 /26

步骤 2:计算块大小

  • 使用公式 块大小 = 256 - 子网掩码 计算块大小。
    例如,子网掩码为 255.255.255.192,则块大小为 256 - 192 = 64

步骤 3:确定子网范围

  • 0 开始,以块大小为基数递增,直到达到子网掩码值。
    例如,块大小为 64,则子网范围为 0、64、128、192

步骤 4:划分具体子网

  • 根据子网范围划分具体的子网。
    例如,块大小为 64,则子网划分为:
    子网 1:0 - 63
    子网 2:64 - 127
    子网 3:128 - 191
    子网 4:192 - 255

步骤 5:分析每个子网

  • 子网地址:每个子网的第一个地址。
    例如,子网 0 - 63 的子网地址是 0
  • 广播地址:每个子网的最后一个地址。
    例如,子网 0 - 63 的广播地址是 63
  • 可用主机地址:子网地址和广播地址之间的地址。
    例如,子网 0 - 63 的可用主机地址是 1 - 62

子网计算示例

示例 1:192.168.1.0/24 划分为 /26 子网

  1. 子网掩码255.255.255.192

  2. 块大小256 - 192 = 64

  3. 子网范围0、64、128、192

  4. 子网划分
    子网 1:192.168.1.0 - 192.168.1.63
    子网 2:192.168.1.64 - 192.168.1.127
    子网 3:192.168.1.128 - 192.168.1.191
    子网 4:192.168.1.192 - 192.168.1.255

  5. 分析子网 1

  • 子网地址:192.168.1.0
  • 广播地址:192.168.1.63
  • 可用主机地址:192.168.1.1 - 192.168.1.62

示例 2:192.168.10.0/30

  1. 子网掩码255.255.255.252

  2. 块大小256 - 252 = 4

  3. 子网范围0、4、8、12、...、252

  4. 子网划分
    子网 1:192.168.10.0 - 192.168.10.3
    子网 2:192.168.10.4 - 192.168.10.7
    子网 3:192.168.10.8 - 192.168.10.11
    ...
    子网 64:192.168.10.252 - 192.168.10.255

  5. 分析子网 1

  • 子网地址:192.168.10.0
  • 广播地址:192.168.10.3
  • 可用主机地址:192.168.10.1 - 192.168.10.2

子网计算的注意事项

  1. 子网地址和广播地址
    每个子网的第一个地址是子网地址,最后一个地址是广播地址,不能分配给主机。
  2. 可用主机数
    可用主机数 = 块大小 - 2(减去子网地址和广播地址)。
  3. 子网掩码的连续性
    子网掩码必须是连续的 1,例如 255.255.255.252 是有效的,而 255.255.255.254 是无效的。
  4. 实际应用中的选择
    根据需求选择合适的子网掩码,例如点对点连接适合 /30,小型网络适合 /24

参考链接

https://hoochanlon.github.io/helpdesk-guide/enhance/net/neta.html#%E5%AD%90%E7%BD%91%E5%88%92%E5%88%86%E7%9A%84ip%E5%B9%BF%E6%92%AD%E5%9C%B0%E5%9D%80%E4%B8%8E%E6%9C%80%E5%A4%A7%E5%8F%AF%E7%94%A8%E4%B8%BB%E6%9C%BA%E6%95%B0
https://zh.wikipedia.org/wiki/IP%E5%9C%B0%E5%9D%80