1.IP地址的格式

 每一类地址都由两个固定长度的字段组成:

(1)网络号 net-id:它标志主机(或路由器)所连接到的网络

(2)主机号 host-id:它标志该主机(或路由器)。

 

最大可指派网络数中会减掉2或者1,其实后面的最大主机数大家计算一下会发现都减去了2,这是因为A类的前缀是0,所以网络号加上前缀的8位可以出现全0的情况,而且127(01111111)作为环回地址用来测试,所以不指派,故而需要减去2,B类和C类的前缀分别是10和110,所以网络号加上前缀不可能出现全0的情况,不过B类的128.0.0.0和C类的192.0.0.0也是不指派的,所以B类和C类只需要减去这一个不指派的网络地址即可。

 

2.子网划分方法

子网划分实际上就是将原来的两级IP地址转变为三级IP地址,表示如下:

    IP地址 ::= {<网络号>, <子网号>, <主机号>}

从上面的表示可以看出,子网划分就是在32位中借了几位用来表示子网号,注意,这里的网络号的位数是不变的,子网号是从主机号中借走的,所以大家想一想就可以明白,子网划分实际上就是减少了主机数,分配到不同的子网,每个子网包含一定的主机数。

3. CIDR概述及其地址块计算

   CIDR中文全称是无分类域间路由选择,英文全称是Classless Inter-Domain Routing,在平常,大家多称之为无分类编址,它也是构成超网的一种技术实现。CIDR在一定程度上解决了路由表项目过多过大的问题。CIDR之所以称为无分类编址,就是因为CIDR完全放弃了之前的分类IP地址表示法,它真正消除了传统的A类、B类、C类地址以及划分子网的概念,它使用如下的IP地址表示法:

   IP地址 ::= {<网络前缀>, <主机号>} / 网络前缀所占位数

   CIDR仅将IP地址划分为网络前缀和主机号两个部分,可以说又回到了二级IP地址的表示,不过大家要注意,最后面用“/”斜线分隔,在其后写上了网络前缀所占的位数,这样就不需要告知路由器地址掩码,仅需要通过网络前缀所占的位数就可以得到地址掩码,为了统一,CIDR中的地址掩码依然称为子网掩码。

   CIDR表示法给出任何一个IP地址,就相当于给出了一个CIDR地址块,这是由连续的IP地址组成的,所以CIDR表示法构成了超网,实现了路由聚合,即从一个IP地址就可以得知一个CIDR地址块。例如:已知一个IP地址是:128.14.35.7/20,那么这个已知条件告诉大家的并不仅仅是一个IP地址这么简单,我们来分析一下。

   128.14.35.7/20 = 10000000  00001110  00100011  00000111

  即前20位是网络前缀,后12位是主机号,那么我们通过令主机号分别为全0和全1就可以得到一个CIDR地址块的最小地址和最大地址,即

    最小地址是:128.14.32.0    = 10000000  00001110  00100000 00000000 

    最大地址是:128.14.47.255  = 10000000  00001110  00101111 11111111   

    子网掩码是:255.255.240.0  = 11111111  11111111  11110000  00000000 

  因此就可以看出来,这个CIDR地址块可以指派(47-32+1)*256=4096个地址,这里没有把全0和全1除外。

 

 

最新文章

  1. 【代码笔记】iOS-向服务器传JSON数据的两种方式
  2. EF查询视图只得到一条记录
  3. Maven最佳实践:划分模块
  4. CentOS 6.4 U盘启动问题的解决
  5. gcc的基础知识
  6. 使用jQuery.FileUpload插件和服Backload组件自定义上传文件夹
  7. Factorials 阶乘
  8. c++的正整数高精度加减乘除
  9. React Native学习(三)—— 使用导航器Navigation跳转页面
  10. codeforces Gym 101063 C
  11. 前端-css
  12. Mybatis之旅第六篇-关联查询
  13. 基于MMSE的预测
  14. Android源码分析一 Android系统架构
  15. Cocos2d-js3.3 模态对话框的实现
  16. BD是什么角色
  17. codeforces 873C - Strange Game On Matrix
  18. You have new mail in /var/spool/mail/root
  19. ios读取plist文件:
  20. 解决opencv和mfc同时使用导致memory leak

热门文章

  1. linux设置系统环境变量的天坑
  2. java学习第一天.day01
  3. rcu使用遇到问题汇总
  4. vs完整编译Opencv+contrib
  5. [网鼎杯 2020 朱雀组]phpweb-1|反序列化
  6. const修饰符总结
  7. 【FAQ】接入华为应用内支付服务常见问题解答
  8. DOS文档
  9. LibTorch 多项分布
  10. CMake | 将路径添加到 CMAKE_PREFIX_PATH