IP地址与子网划分

时间:2022-07-22
本文章向大家介绍IP地址与子网划分,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

IP地址是一个32位的二进制地址,被分为4个8位段(八位组)。人们不习惯使用32的二进制地址或8位的二进制八位组,所以IP地址最常用的表达形式是点分十进制形式。

IP地址分类

IP地址中一部分是网络ID,另一部分是主机ID,地址分类系统把IP地址划分为不同的地址类:‘

  • A类地址:IP地址的前**8**位表示网络ID,后24位表示主机ID
  • B类地址:IP地址的前**16**位表示网络ID,后16位表示主机ID
  • C类地址:IP地址的前**24**位表示网络ID,后8位表示主机ID

使用的位数越多,包含的组合就越多,可知A类地址较少的网络ID,但每个网络都具有大量的可用主机ID。那计算机或路由器是如何将一个IP地址解释为A类、B类还是C类呢?其实二进制的前几位就是用来地址分类,如下表:

地址类

二进制的前几位

点分十进制的第一个字段

排除地址

A

0

0~127

10.0.0.0~10.255.255.255127.0.0.0~127.255.255.255

B

10

128~191

172.16.0.0~173.31.255.255

C

110

192~223

192.168.0.0~192.169.255.255

  • D类地址,前4位为1110,用于多播(组播)
  • E类地址,前5位为11110,实验性质的,不用于生产环境
  • 排除地址指的是**私有IP地址**,用于本地局域网的IP地址分配

特殊的IP地址

  • 全0主机ID:表示**网络本身**,如IP地址129.152.0.0是指网络ID为129.152的B类网络
  • 全1主机ID:表示**广播地址**,如IP地址129.152.255.255是指网络ID为129.152的B类网络的广播地址
  • 十进制**127开头**的地址:**环回地址**,用于测试自身TCP/IP软件是否正常,如ping自己127.0.0.1

子网掩码

子网掩码是需要配合IP地址一起使用的,用于指示IP地址的前多少比特是网络ID,后多少比特是主机ID。

A、B、C类地址均有默认的掩码,也称固定掩码:

IP地址分类

默认掩码

网络号比特

主机号比特

子网可容纳电脑数

A

255.0.0.0

8

24

2^24-2=16777216-2≈1677万

B

255.255.0.0

16

16

2^16-2=65536-2≈6万

C

255.255.255.0

24

8

2^8-2=256-2=254

子网划分

子网划分是从主机号字段借用若干位比特,把物理网络分解为更小的逻辑实体(称为子网)的一种手段,从而可以更加充分的利用有限的IP地址资源。

将初始网络分段,必须设计一种编址方案,能够识别出大型网络中的每个子网。一台特定主机可以通过以下三项被唯一识别:

  • 网络号唯一地指定主机所在网路(如果网络是公共互联网,网络号就是表示网络的地址,包括了其所有的子网)
  • 子网号唯一的指定了一个子网(初始网络内部的子网),一个子网内部包含若干主机
  • 主机号唯一地指定了子网内的某台主机

子网划分的几个步骤

  • 1确定需要的**子网个数**
  • 2确定一个**子网内可能的最多主机数量**
  • 3确定从主机号字段**借用的比特数**,用于创建子网号字段
  • 4确定主机号字段需要**保留的比特数**(不能被子网字段借用的比特数)
  • 5确定**原始**网络号字段和主机号字段的比特数
  • 6检查以确保被借用的比特数**没有超过**被保留的比特数(即检查子网划分问题是可解的)
  • 7设置**子网号字段的最佳长度**,包括为未来增长预留空间
  • 8创建一个修改(自定义)的**子网掩码**
  • 9确定**有效的子网号**
  • 10确定每个子网的**IP地址有效范围**

子网划分举例

问题:有一个C类地址193.200.35.0,分配给某个组织,该组织需要两个子网,每个子网的主机数不会超过30台。

分析:子网数S=2,每个子网内最多的主机数H=30,C类地址的主机位比特T=8

  1. 确定子网个数,S=2
  2. 确定一个子网内可能的最多主机数量,H=30
  3. 求解2^s - 2 >= S的最小整数s,解得s=2,即从主机号字段借用的比特数,用于创建子网号字段
  4. 求解2^h - 2 >= H的最小整数h,解得h=5,即主机号字段需要保留的比特数
  5. 确定原始网络号字段和主机号字段的比特数,网络号字段为24,主机号字段T=8
  6. 因为s + h = 2 +5 =7 < 8,即借用的比特数没有超过被保留的比特数,问题可解
  7. 由于7 < 8,并且r = T - s - h = 1,因而可将 r分配给s或h,通常情况下子网的数量相比子网内主机的数量更容易耗尽,因而将r分配给s,即s = s + r = 2 + 1 =3,此时s + h = 3 + = 8 = T
  8. 创建一个自定义的子网掩码,默认C类地址的子网掩码为255.255.255.0,需要计算一个新值代替其0字节,计算256 - 2 ^ (8 - s) = 256 - 2 ^ 5 = 256 - 32 = 224,所以自定义子网掩码为255.255.255.224
  9. 确定有效的子网号,运势网络地址为193.200.35.0,将2 ^ (8 - s) = 256 - 2 ^ 5 = 32加到其0字节上,得到第一个子网的网络地址为193.200.35.32。继续在此字节上加上2 ^ (8 - s),直至其等于自定义的子网掩码,具体如下: 原始地址(非有效子网地址,网络号全0)193.200.35.0子网1地址193.200.35.**32**子网2地址193.200.35.**64**子网3地址193.200.35.**96**子网4地址193.200.35.**128**子网5地址193.200.35.**160**子网6地址193.200.35.**192**自定义子网掩码(非有效子网地址,网络号全1)193.200.35.224
  10. 确定每个子网的IP地址有效范围,先计算第一个子网,其地址为193.200.35.33,所以其有效起始地址为193.200.35.33,子网内可以有2^h - 2 = 2^5 - 2 = 30个IP地址,所以结束地址为193.200.35.62,具体如下: 子网序号子网地址子网IP范围1193.200.35.**32**193.200.35.**33**~193.200.35.**62**2193.200.35.**64**193.200.35.**65**~193.200.35.**94**3193.200.35.**96**193.200.35.**97**~193.200.35.**126**4193.200.35.**128**193.200.35.**129**~193.200.35.**158**5193.200.35.**160**193.200.35.**161**~193.200.35.**190**6193.200.35.**192**193.200.35.**193**~193.200.35.**222**注:每个子网的有效起始IP为子网地址+1,每个子网的有效结束IP为子网地址+子网内IP总数,也为下一个子网地址-2,中间跳过的一个IP地址为子网的广播地址

一些题目

  1. 给定IP地址167.77.88.99和掩码255.255.255.192,求子网号、广播地址、有效IP地址。 分析: IP地址---->167.77.88.99--> 10100111.01001101.01011000.01100011 掩码-->255.255.255.192-->11111111.11111111.11111111.11000000 对应位求积--------------------> 10100111.01001101.01011000.01000000-->167.77.88.64子网号广播地址(子网主机全1)---> 10100111.01001101.01011000.01111111-->167.77.88.127 有效IP(除去子网本身和广播地址):167.77.88.65~167.77.88.126
  2. 一个子网网段地址为5.32.0.0,掩码为255.224.0.0网络,求它允许的最大主机地址。 分析: 网段------->5.32.0.0-->00000101.00100000.00000000.00000000 掩码-->255.254.0.0-->11111111.11100000.00000000.00000000-->主机位为21位(0位) 最大主机地址---------->00000101.00111111.11111111.11111110-->5.63.255.254
  3. 188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗? 分析: IP1---->188.188.0.111-->10111100.10111100.00000000.01101111 IP2---->188.188.5.222-->10111100.10111100.00000101.11011010 掩码-->255.255.254.0-->11111111.11111111.11111110.00000000 IP分别与掩码作求积运算: 10111100.10111100.00000000.00000000 10111100.10111100.00000100.00000000 网络标识不一样,即不在同一网段

参考:《TCP/IP入门经典 第6版》/ 乔·卡萨德(Joe Casad)《计算机网络基础教程:基本概念及经典问题解析》/ 纳拉辛哈·卡鲁曼希 等https://blog.csdn.net/hawht/article/details/22684499