从之前写的那个概括的文章之后,具体细节知识我也不知道写啥子,最近忙于毕业论文和考证,所以就总结一下这方面的知识,本篇的话就先从IP说起。

IP这方面有IPv4和IPv6这两方面的内容,这里就只说IPv4。本篇将会从两个方面讲有关IPv4的东西:IP地址和分类,子网掩码及子网划分/聚合。

1.IP地址和分类

IP地址

IPv4地址分为4段,每段可以由十进制和二进制表示,十进制最小0最大255,二进制最小00 00 00 00,最大11 11 11 11。地址由网络位和主机位组成。

分类

为了方便划分网络大小,可按类将其划分为A,B,C,D,E五种。

A类地址为首段1-126的IP,即1.0.0.0到126.255.255.255。

A类地址的前8位为网络位,第一位为0,剩余7位可分配,二进制表示即00 00 00 01到01 11 11 10(全零全一保留),十进制表示0到126,共有126个地址范围,每个地址范围可分配的主机有16777214台(每段的全零全一保留)。

B类地址为首段128-191的IP,即128.0.0.0到191.255.255.255。

B类地址的前16位为网络位,前两位为10,剩余的14位可分配,二进制表示为
10 00 00 00.00 00 00 00到
10 11 11 11.11 11 11 11
十进制表示为128.0到191.255,共有16384个地址范围,每个地址范围可分配的主机有65534台(每段全零全一保留)。

C类地址为首段192-223的IP,即192.0.0.0到233.255.255.255。

C类地址的前24位为网络位,前三位为110,剩余21位可分配,二进制表示为
11 00 00 00.00 00 00 00.00 00 00 00到
11 01 11 11.11 11 11 11.11 11 11 11
十进制表示为192.0.0到233.255.255,共有2097152个地址范围,每个地址范围可分配的主机有254台(每段全零全一保留)。

D类和E类一起说了,D类为保留的组播地址,不区分网络位和主机位,首段以1110开头,其范围为224.0.0.0到239.255.255.255。E类是用作于试验和开发的保留地址,以1111开头,剩下的除本地广播地址全一以外均可作为E类。

为了节省IP地址,还将IP划分为了私有地址和公有地址,私有地址为非注册地址,专门供企业、学校等组织机构内部使用,公有地址由Inter NIC负责,将IP地址分配给注册并向其提出申请的组织机构,通过此IP直接访问外网。

私有地址有A、B、C三类,分别为A类10.0.0.0-10.255.255.255,B类172.16.0.0-172.31.255.255,C类192.168.0.0-192.168.255.255。

除此之外,还有些特殊地址,127.x.x.x为测试用本地回环地址,0.0.0.0未知地址一般用于缺省路由,255.255.255.255为本地广播地址,主机位全0的地址为网络号,主机位全1的地址为子网广播地址,169.254.x.x这是DHCP没正确获取时的IP。

2.子网掩码及子网划分/聚合

子网掩码

子网掩码由连续的1和0组成,1和0之间不会隔断出现,1对应IP地址的网络位,0对应IP地址的主机位,而子网掩码就是用于区分IP中的网络位和主机位,子网掩码可以由“IP/位数”表示。

例如IP 192.168.1.1,子网掩码 255.255.255.0,对应的二进制数
IP
11 00 00 00.10 10 10 00.00 00 00 01.00 00 00 00
子网掩码
11 11 11 11.11 11 11 11.11 11 11 11.00 00 00 00
简便的表示法将后面的子网掩码改写为对应的二进制的1的数量就是192.168.1.1/24。

子网划分/聚合

子网划分是将一个大的网络划分为多个小的网络,目的是提高IP地址的使用率。

如何进行子网划分,我们先用C类地址来举例:

这里有个C类地址192.168.100.1/24其所在的网段为192.168.100.0/24,他的主机范围为192.168.100.(1-254)/24,广播地址为192.168.100.255/24,子网掩码用上面讲的那么就有24个1,换一下表现形式就是
11 11 11 11.11 11 11 11.11 11 11 11.00 00 00 00
因为前面也说过子网掩码由连续的1和0组成,子网划分可以表示为把跟在1后面的0变为1,这里我们后移1位即
11 11 11 11.11 11 11 11.11 11 11 11.10 00 00 00
这时的IP和子网掩码完整表示就是192.168.100.1/25。而在掩码中,1对应的为IP的网络位,这时我们将IP和掩码对比一下:

11 00 00 00.10 10 10 00.01 10 01 00.00 00 00 01(IP)
11 11 11 11.11 11 11 11.11 11 11 11.10 00 00 00(NATMASK)

所以在IP里面
11 00 00 00.10 10 10 00.01 10 01 00.0(网络位)0 00 00 01(主机位)
其网络位就是192.168.100.0/25(主机位全零),起始主机位就是192.168.100.1/25,广播号为192.168.100.127/25(主机位全一),主机范围就是192.168.100.1到192.168.100.126/25。

之前掩码为24的网就分为了两个,192.168.100.0/24->192.168.100.0/25和192.168.100.128/25。

子网聚合和子网划分类似,不过是将子网划分反过来,其目的是减少路由条目。

这里我们也用一个24位子网掩码的地址192.168.200.100/24来举例,其IP和子网掩码分别转化成二进制为:
11 00 00 00.10 10 10 00.11 00 10 00.01 10 01 00
11 11 11 11.11 11 11 11.11 11 11 11.00 00 00 00
如果要将其聚合为一个23位的,其子网掩码就是
11 11 11 11.11 11 11 11.11 11 11 10.00 00 00 00
对应的网络号的IP
11 00 00 00.10 10 10 00.11 00 10 0(0.00 00 00 00)
十进制为192.168.200.0
对应的主机号范围为
11 00 00 00.10 10 10 00.11 00 10 0(0.00 00 00 01)=192.168.200.1
11 00 00 00.10 10 10 00.11 00 10 0(1.11 11 11 10)=192.168.201.254
这个范围共有510台主机。

通过二进制算法能比较准确,但是有点麻烦,这里总结一下公式:

子网个数:
2的x次方,x为子网位数,例如掩码为24就是有2的24个次方,之前说过子网掩码为1对应的就是网络号,所以可以简便理解为2的子网掩码个次方。
2^(子网掩码位数)

主机个数:
除去网络位之后就是主机位,所以就是2的32减子网位数个次方然后再减去两个保留地址(全一和全零的网络号和广播号)。
2^(32-x)-2,x为子网掩码位数

有关IP和子网掩码的总结的更多相关文章

  1. IP地址子网掩码主机地址网络号主机号

    (1)子网掩码1所对应的位为网络号位 而所对应的位为主机号位 IP地址+子网掩码=网络号: IP地址+子网掩码(反码)=主机号. (2)主机号中的m位被用来表示网络号了,也就是子网号,将0-255划分 ...

  2. IP地址,子网掩码,默认网关,路由,形象生动阐述

    自己的Linux虚拟机已经分配了固定的IP地址(使用无线路由,用的是192.168.1.XX网段),公司的无线网络分配的IP地址是(10.51.174.XX网段) 所以当自己的电脑拿到公司,还想使用桥 ...

  3. [转]IP地址-子网掩码-默认网关

    IP地址:是给每个连接在Internet上的主机分配的一个32bit地址.地址有两部分组成,一部分为网络地址,另一部分为主机地址.IP地址分为A.B.C.D.E 5类.常用的是B和C两类.网络地址的位 ...

  4. ip,子网掩码,网关,DNS

    要配置一个局域网通信的计算机(也就是同一个网络): IP地址 子网掩码 要配置一个跨网段通信的计算机: IP地址 子网掩码 网关(路由使用) 要配置一个可上网的计算机: IP地址 子网掩码 网关 DN ...

  5. IP地址 子网掩码 默认网关 DNS(转)

    突然被问到IP地址方面的知识,吓得我赶紧上网找一找资料,觉得这篇还是写得简单易懂,share一下. Key: 1.IP地址=网络地址+主机地址,(又称:主机号和网络号组成): 2.将IP地址和子网掩码 ...

  6. IP 分段 子网掩码

    子网掩码分网段 例如 200台机器分成4个子网 [ ip 段 ] 200台机器,4个子网,那么就是每个子网50台机器,设定为192.168.10.0,C类的IP,大子网掩码应为255.255.255. ...

  7. erlang中通过ip和子网掩码,计算地址范围 【二进制和十进制的转换】

    在程序中,难免用的二进制和十进制之间的转换.遇到一个场景,通过ip和子网掩码,计算地址范围. 而地址范围为:网络地址+1—— 广播地址 -1 .  网络地址即ip和子网掩码的与的位运算.广播地址为:网 ...

  8. 西门子S7-300 设置IP、子网掩码

    =============================================== 2019/7/17_第1次修改                       ccb_warlock == ...

  9. 一文搞懂网络知识,IP、子网掩码、网关、DNS、端口号

    网络的基本概念 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器) 服务器:为客户端提供服务.数据.资源的机器 请求:客户端向服务器索取数据 响应:服务器对客户端请求作出反应,一般是返回 ...

随机推荐

  1. 纯css实现树形结构

    纯css实现属性结构 **css实现属性结构的思路是利用伪类实现树形结构连接线,如果想实现点击展开和收 缩以及复选框效果还得配合js来实现.其实展开和收缩就是一个点击元素其子元素隐藏 和显示的切换.* ...

  2. position:absolute 按钮左右分布:left:0 和 right:0 以及雪碧图

    问题:把两个a标签按钮 垂直居中,并且分别把两个按钮放在水平左右两边顶部1,祖父元素设定:position:relative2,把.arrow 设定上下垂直居中 position:absolute; ...

  3. 老男孩Python==基础数据类型考试题

    转载 # Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意 ...

  4. linux重启之后No CUDA-supporting devices found!

    实验室做并行计算的服务重启后,采用cuda接口的应用程序vasp_gpu,运行时提示: CUDA Error in cuda_main.cu, line 144: unknown error No C ...

  5. focus([[data],fn]) 当元素获得焦点时,触发 focus 事件。

    focus([[data],fn]) 概述 当元素获得焦点时,触发 focus 事件.直线电机选型 可以通过鼠标点击或者键盘上的TAB导航触发.这将触发所有绑定的focus函数,注意,某些对象不支持f ...

  6. Material icons 全图标一览

    Material icons 全图标一览 2018年12月17日 16:52:55 boywcx 阅读数 3090   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...

  7. webpack+vue+Eslint+husky+lint-staged 统一项目编码规范

    一. Eslint: 为什么我们要在项目中使用ESLint ESLint可以校验我们写的代码,给代码定义一个规范,项目里的代码必须按照这个规范写. 加入ESLint有非常多的好处,比如说可以帮助我们避 ...

  8. el-form 表单校验

    <el-form ref="dataForm" :model="dataForm" :rules="rules" label-widt ...

  9. intellj idea 常用快捷键

    1.command+shift+a 查找操作2.command+e 查找历史打开的文件3.command+n 查找类4.command+shift+n 查找文件

  10. django 后台静态文件不显示

    原文链接 https://my.oschina.net/VASKS/blog/874270 django admin svg 不显示.后台显示 xx.svg 200 但浏览器就是不显示. 百度了一圈, ...