IPv4编址;A类、B类、C类、D类、E类IP地址(IP地址;网络地址和主机地址;子网掩码;网关;广播地址;)

2021年11月21日 5点热度 0条评论

IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器,就相当于电信局的“程控式交换机”。 
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。

IP地址,点分十进制记法,与接口相关联,每台主机和路由器上的每个接口,必须拥有全球唯一的IP地址。

点击打开链接

IP地址的编址方法共经过了三个历史阶段:(1)分类的IP的地址(2)子网的划分(3)构成超网。

分类的IP地址

  所谓的“分类的IP地址”就是将IP地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成,其中第一个字段是网络号,它标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。第二个字段是主机号,它标志该主机(或路由器)。一个主机号在它前面的网络号所指明的网络范围内必须是唯一的。由此可见,一个IP地址在整个因特网范围内是唯一的。
  分为A类、B类、C类、D类、E类。
  A类、B类、C类地址都是单播地址,它们的网络号字段分别是1,2,和3字节长,而在网络号字段的最前面有1~3位的类别位,其数值分为规定为0,10,110。它们的地址的主机号分为3个、2个和1个字节长。D类地址(前4位是1110)用于多播,地址的网络号取值于224~239之间。而E类地址(前4位为1111)保留为以后用。

 常用的三类类别的IP地址:


  A类地址的网络号字段占一个字节,只有7位可供使用,但可指派的网络号是126个(即2的7次方-2)。减2的原因是:第一,IP地址中的全0是个保留地址,意思是“本网络”。第二,网络号为127(即01111111)保留作为本地软件环回测试本主机的进程之间的通信之用。A类地址的主机号占3个字节,因此每一个A类网络中的最大主机数是2的24次方-2。减2的原因是:全0的主机号字段表示该IP地址是“本主机”所连接到的单个网络地址,而全1表示“所有的”,因此全1的主机号字段表示该网络上的所有主机。(主机号:全0代表网络地址,全1代表广播地址)。

1.0.0.0-126.0.0.0)(00000001.00000000.00000000.00000000 - 011111110.00000000.00000000.00000000)

(默认子网掩码:255.0.0.0或 0xFF000000

  B类地址的网络号字段有2个字节,当前面两位(10)已经固定了,只剩下14位可以进行分配。因为网络号字段后卖弄的14位无论怎么取值也不可能出现使整个2字节的网络号字段成为全0或全1,因此这里不存在网络总数减2的问题。但实际上B类网络地址128.0.0.0是不指派的,而可以指派的B类最小网络地址是128.1.0.0。因此B类地址可指派的网络数为2的14次方-1。B类地址的每一个网络上的最大主机数是2的16次方-2(减去全0和全1的主机号)。

128.1.0.0-191.255.0.0)(10000000.00000001.00000000.00000000 - 10111111.11111111.00000000.00000000)

(默认子网掩码:255.255.0.00xFFFF0000

  C类地址有3个字节的网络号字段,最前面的3位是(110),还有21位可以进行分配。C类网络地址的192.0.0.0也是不指派的,可以指派的C类最小网络地址是192.0.1.0.因此,C类地址可指派的网络总数是2的21次方-1。每一个C类地址的最大主机数是2的8次方-2

192.0.1.0-223.255.255.0)(11000000.00000000.00000001.00000000 - 11011111.11111111.11111111.00000000)

(子网掩码:255.255.255.0或 0xFFFFFF00

  总结:
     所有类型的主机号都是-2。网络号,只有A类是-2,其余的都是-1。
 

子网的划分:

  分类IP地址是两级IP地址,而子网的划分则构成了三级IP地址

  从两级IP地址到三级的IP地址的理由有:第一,IP地址空间的利用率有时很低。第二,给每一个物理网络分配一个网络号会使路由表变得太大,因而使网络性能变坏。第三,两级IP地址不够灵活。

  划分子网的基本思想:

  (1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网。划分子网纯属于一个单位内部的事情。本单位以外的网络看不见这个网络是由多少个子网组成,因为这个单位对外仍然表现为一个网络。

  (2)划分子网的方法是从网络的主机号借用若干个作为子网号,当然主机号也就相应减少了同样的位数。于是两级IP地址在本单位内部就变成了三级IP地址:网络号子网号主机号

  (3)凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号和子网号找到目的子网,把IP数据报交付给目的主机。

   划分子网只是把IP地址的主机号host-id这部分进行再划分,而不改变IP地址原来的网络号net-id.

   子网掩码出现的原因:

   现在剩下的问题就是:假定有一个数据报(其目的地址是145.13.3.10)已经到达了路由器R1,那么这个路由器如何把它转发到子网145.13.3.0呢?

   我们知道,从IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分。因为32位的IP地址本身以及数据报的首部都没有包含任何有关子网划分的信息。因此必须另外想办法,这就是使用子网掩码
   用一主机的三级IP地址的结构,也就是说,现在从原来16位的主机号中拿出8位作为子网络号subnet-id,而主机号减少到8位。请注意,现在子网号为3的网络的网络地址是145.13.3.0。为了使路由器R1能够很方便地从数据报中的目的IP地址中提取出所要找的子网的网络地址,路由器R1就要使用子网掩码。子网掩码中的1对应于IP地址中原来的net-id 加上subnet-id,而子网掩码中的0对应于现在的host-id.

   R1把子网掩码和收到的数据报的目的IP地址145.13.3.10逐位相“与”得出了所要找的子网的网络地址145.13.3.0。

   使用子网掩码的好处就是:不管网络有没有划分子网,只要把子网掩码和IP地址进行逐位的“与”运算,就立即得出网络地址来。这样在路由器处理到来的分组时就可采用同样的算法。

   有人或许会问,在不划分子网时,既然没有子网,为什么还要使用子网掩码呢?其实,这就是为了更便于查找路由表。现在因特网的标准规定,所有的网络都必须使用子网掩码,同时在路由器的路由表中也必须有子网掩码这一栏。如果一个网络不划分子网,那么该网络的子网掩码就使用默认子网掩码。默认子网掩码中1的位置和IP地址中网络字段net-id正好相对应

   A类地址的默认子网掩码是255.0.0.0

   B类地址的默认子网掩码是255.255.0.0

   C类地址的默认子网掩码是255.255.255.0

   请读者注意,虽然根据已成为因特网标准协议的RFC950文档,子网号不能为全1或全0,但随着无分类域间路由选择CIDR的广泛使用,现在全1和全0大的子网号也可以使用了,但一定要谨慎使用,要弄清你的路由器所用的路由选择软件是否支持全0和全1的子网号这种较新的用法。

   讨论完了子网掩码,现在来讨论讨论使用了子网掩码后应怎样查找路由表。

   使用了子网划分后,路由表必须包含一下三项内容:目的网络地址子网掩码下一跳地址

子网掩码

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0.0;对于C类地址来说默认的子网掩码是255.255.255.0。

  • 通过子网掩码,就可以判断两个IP在不在一个局域网内部。

  • 子网掩码可以看出有多少位是网络号,有多少位是主机号:255.255.255.0 二进制是:11111111 11111111 11111111 00000000

    网络号24位,即全是1 主机号8位,即全是0

    129.168.1.1 /24 这个、24就是告诉我们网络号是24位,也就相当于告诉我们了子网掩码是:11111111 11111111 11111111 00000000即:255.255.255.0

    172.16.10.33/27 中的/27也就是说子网掩码是255.255.255.224 即27个全1 ,11111111 11111111 11111111 11100000

无分类编址CIDR(构造超网):

   划分子网虽然在一定程度上减缓了因特网在发展中遇到的问题。但是仍然存在问题:

   (1)B类地址在1992年已分配了近一半,眼看很快就将全部分配完毕

   (2)因特网主干网上的路由表中项目数急剧增长。

   (3)整个IPv4的地址空间最终将全部耗尽。

    CIDR最主要的特点有两个:

   (1)CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前容许因特网的规模继续增长。CIDR把32位的IP地址划分为两个部分。前面的部分是“网络前缀”,用来指明网络,后面的部分则用来指明主机。因此CIDR使IP地址从三级编址又回到了两级编址,但这已是无分类的两级编址

    CIRDR还使用“斜线记法”或称为CIDR记法,即在IP地址后面加上斜线“/”,然后协商网络前缀所占的位数。

   (2)CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。我们只要知道CIDR地址块中任何一个地址,就可以知道这个地址块的起始地址(最小地址)和最大地址,以及地址块中的地址数。例如,IP地址:128.14.35.7/20.代表其中的前20位是网络前缀,而前缀后面的12位是主机号。

    为了更方便地进行路由选择,CIDR使用32位的地址掩码。地址掩码是一串1和一串0组成,而1的个数就是网络前缀的长度。虽然CIDR不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此CIDR使用的地址掩码也可以继续称为子网掩码。斜线记法中,斜线后面的数字就是地址掩码中1的个数。

    由于一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络。这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示原来传统分类地址的很多个路由。路由聚合也称为构成超网。路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个因特网的性能。

   使用CIDR的一个好处就是可以更加有效地分配IPv4的地址空间,可根据客户的需要分配是的那个大小额CIDR地址块。

   在使用时,由于采用了网络前缀这种记法,IP地址由网络前缀和主机号这两个部分组成,因此在路由表中的项目也要有相应的改变。这时,每个项目由“网络前缀”和“下一跳地址”组成。但是在查找路由表时可能会得到不止一个匹配结果。这样就带来一个问题:我们应当从这些匹配结果中选择哪一条路由呢?

   正确答案是:应当从匹配结果中选择具有最长网络前缀的路由。这叫作最长前缀匹配,这是因为网络前缀越长,其地址块就越小,因而路由就越具体。

网关点击打开链接

网关(Gateway)又称网间连接器、协议转换器。默认网关在网络层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连

网关实质上是一个网络通向其他网络的IP地址。

比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。

而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。

所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

广播地址(Broadcast Address)

广播地址(Broadcast Address)是专门用于同时向网络中所有工作站进行发送的一个地址。

在使用TCP/IP 协议的网络中,主机标识段host ID 为全1 的IP 地址为广播地址,广播的分组传送给host ID段所涉及的所有计算机。例如,对于10.1.1.0 (255.255.255.0 )网段,其广播地址为10.1.1.255 (255 即为2 进制的11111111 ),当发出一个目的地址为10.1.1.255 的分组(封包)时,它将被分发给该网段上的所有计算机。


例题:

1、根据IP地址和子网掩码求 网络地址 和 广播地址:

  • 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址,虚线前为网络地址,虚线后为主机地址

  • IP地址和子网掩码进行与运算,结果是网络地址(即主机号全0是网络地址)

  • 将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址

  • 地址范围就是含在本网段内的所有主机

网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址, 
由此可以看出地址范围是: 网络地址+1 至 广播地址-1

  • 主机的数量=2^二进制位数的主机-2

减2是因为主机不包括网络地址和广播地址。

示例 :
一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址

1、根据子网掩码可以知道网络号有多少位,主机号有多少位!

255.255.255.224 转二进制:11111111 11111111 11111111 11100000

网络号有27位,主机号有5位

网络地址就是:把IP地址转成二进制和子网掩码进行与运算(逻辑乘法:0&0=0;0&1=0;1&0=0;1&1=1 )

11001010 01110000 00001110 10001001

IP地址&子网掩码

11001010 01110000 00001110 10001001

11111111 11111111 11111111 11100000

11001010 01110000 00001110 10000000

即:202.112.14.128

广播地址:网络地址的主机位有5位全部变成1 ,10011111 即255 即:202.112.14.159

主机数:2^5-2=30

2、根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。

比如一个子网有10台主机,那么对于这个子网需要的IP地址是: 

10+1+1+1=13 
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。因为13小于16(16等于2的4次方),所以主机位为4位。而 
256-16=240 
所以该子网掩码为255.255.255.240。 
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为: 
14+1+1+1=17 
17.大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224

3、 IP地址为128•36•199•3 子网掩码是255•255•240•0。算出网络地址、广播地址、地址范围、主机数。

1)将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址,虚线前为网络地址,虚线后为主机地址
2)IP地址和子网掩码进行与运算,结果是网络地址
3)将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址
4) 地址范围就是含在本网段内的所有主机
网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出
地址范围是: 网络地址+1 至 广播地址-1

128.36.11000111.00000011

&255.255.11110000.00000000

128.36.11000000.00000000即:网络地址128.36.192.0 广播地址:128.36.11000000.00000000把主机位有12个零换成1变成:

128.36.11001111.11111111 即:128.36.207.255
本例的网络范围是:128•36•192•1 至 128•36•207•254
5) 主机的数量
主机的数量=2^二进制位数的主机-2
主机的数量=2^12-2=4094
减2是因为主机不包括网络地址和广播地址。
从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。

4、206 110 4 0/18被划分成16个子网,每个子网掩码?

(划分成16个子网,根据子网掩码/18就表示有18个1,就要从的IP地址的主机位借4位来用作网络位!)

子网掩码是255.255.252.0

每个子网可以容纳的主机数是1022台。

详细解答:

206.110.1.0 /18 由最后的那个/18,我们可以知道这个IP已经规定了它的网络位是18位,它默认的子网掩码就是11111111.11111111.11 | 000000.00000000(其中1代表网络位,0代表主机位)

可以看出我们可以操作的位数就是后面的14个0,也就是说我们可以在地面划分出几位作为子网的网络位,进而来划分子网。要求是切分成16个子网,我们知道2的4次方刚好等于16,这就说明子网网络位的位数是4位,那14-4=10就是子网的主机位。所以上面我写的那串二进制就可以变成:11111111.11111111.111111 | 00.00000000(其中1代表网络位,0代表主机位)

换算成十进制就是:255.255.252.0 每个子网可容纳的主机数就是2的10次方减2,即1022(全0全1除去)

附录

16-30位网络号-掩码位数,IP总数,子网掩码查询表

ip段/27 /29 /30 网关,子网掩码,广播地址查询 
可用IP查询,IP段对应表

掩码位数 IP总数 子网掩码 C段个数
/30 4 255.255.255.252 1/64
/29 8 255.255.255.248 1/32
/28 16 255.255.255.240 1/16
/27 32 255.255.255.224 1/8
/26 64 255.255.255.192 1/4
/24 256 255.255.255.0 1
/23 512 255.255.254.0 2
/22 1024 255.255.252.0 4
/21 2048 255.255.248.0 8
/20 4096 255.255.240.0 16
/19 8192 255.255.224.0 32
/18 16384 255.255.192.0 64
/17 32768 255.255.128.0 128
/16 65536 255.255.0.0 256

24位网络号

24位网络号,8位主机号,可形成1个子网(C段总数),每个子网256-2台主机

网络地址 可用IP范围 广播地址
.0 .1-.254 .255

25位网络号

25位网络号,7位主机号,可形成2个子网,每个子网126台主机

网络地址 可用IP范围 广播地址
.0 .1-.126 .127
.128 .129-.254 .255

26位网络号

26位网络号,6位主机号,可形成4个子网,每个子网62台主机

网络地址 可用IP范围 广播地址
.0 .1-.62 .63
.64 .65-.126 .127
.128 .129-.190 .191
.192 .193-.254 .255

27位网络号

27位网络号,5位主机号,可形成8个子网,每个子网30台主机

网络地址 可用IP范围 广播地址
.0 .1-.30 .31
.32 .33-.62 .63
.64 .65-.94 .95
.96 .97-.126 .127
.128 .129-.158 .159
.160 .161-.190 .191
.192 .193-.222 .223
.224 .225-.254 .255

28位网络号

28位网络号,4位主机号,可形成16个子网,每个子网14台主机

网络地址 可用IP范围 广播地址
.0 .1-.14 .15
.16 .17-.30 .31
.32 .33-.46 .47
.48 .49-.62 .63
.64 .65-.78 .79
.80 .81-.94 .95
.96 .97-.110 .111
.112 .113-.126 .127
.128 .129-.142 .143
.144 .145-.158 .159
.160 .161-.174 .175
.176 .177-.190 .191
.192 .193-.206 .207
.208 .209-.222 .223
.224 .225-.238 .239
.240 .241-.254 .255

29位网络号

29位网络号,3位主机号,可形成32个子网,每个子网6台主机

网络地址 可用IP范围 广播地址
.0 .1-.6 .7
.8 .9-.14 .15
.16 .17-.22 .23
.24 .25-.30 .31
.32 .33-.38 .39
.40 .41-.46 .47
.48 .49-.54 .55
.56 .57-.62 .63
.64 .65-.70 .71
.72 .73-.78 .79
.80 .81-.86 .87
.88 .89-.94 .95
.96 .97-.102 .103
.104 .105-.110 .111
.112 .113-.118 .119
.120 .121-.126 .127
.128 .129-.134 .135
.136 .137-.142 .143
.144 .145-.150 .151
.152 .153-.158 .159
.160 .161-.166 .167
.168 .169-.174 .175
.176 .177-.182 .183
.184 .185-.190 .191
.192 .193-.198 .199
.200 .201-.206 .207
.208 .209-.214 .215
.216 .217-.222 .223
.224 .225-.230 .231
.232 .233-.238 .239
.240 .241-.246 .247
.248 .249-.254 .255

30位网络号

29位网络号,3位主机号,可形成64个子网,每个子网2台主机

%

网络地址 可用IP范围 广播地址
.0 .1-.2 .3
.4 .5-.6 .7
.8 .9-.10 .11
.12 .13-.14 .15
.16 .17-.18 .19
.20 .21-.22 .23
.24 .25-.26 .27
.28 .29-.30 .31
.32 .33-.34 .35
.36 .37-.38 .39
.40 .41-.42 .43
.44 .45-.46 .47
.48 .49-.50 .51
.52 .53-.54 .55
.56 .57-.58 .59
.60 .61-.62 .63
.64 .65-.66 .67
.68 .69-.70 .71
.72 .73-.74 .75
.76 .77-.78 .79
.80 .81-.82 .83
.84 .85-.86 .87
.88 .89-.90 .91
.92 .93-.94 .95
.96 .97-.98 .99
.100 .101-.102 .103
.104 .105-.106 .107
.108 .109-.110 .111
.112 .113-.114 .115
.116 .117-.118 .119
.120 .121-.122 .123
.124 .125-.126 .127
.128 .129-.130 .131
.132 .133-.134 .135
.136 .137-.138 .139
.140 .141-.142 .143
.144 .145-.146 .147
.148 .149-.150 .151
.152 .153-.154 .155
.156 .157-.158 .159
.160 .161-.162 .163
.164 .165-.166 .167
.168 .169-.170 .171
.172 .173-.174 .175
.176 .177-.178 .179
.180 .181-.182 .183
.184 .185-.186 .187
.188 .189-.190 .191
.192 .193-.194 .195
.196 .197-.198 .199
.200 .201-.202 .203
.204 .205-.206 .207
.208 .209-.210 .211
.212 .213-.214 .215
.216 .217-.218 .219
.220 .221-.222 .223
.224 .225-.226 .227
.228 .229-.230 .231
.232 .233-.234