从之前写的那个概括的文章之后,具体细节知识我也不知道写啥子,最近忙于毕业论文和考证,所以就总结一下这方面的知识,本篇的话就先从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. 巧用getdate()测试你的sql执行效率

    在开发项目的过程中,我们会遇到各种各样的问题,有时候由于业务逻辑复杂,我们写的sql语句会很长很长,甚至会嵌套很多层,这个时候我就会担心sql执行时间会不会太长了?会不会有什么问题导致执行效率变慢?经 ...

  2. BZOJ 1420 Discrete Root

    思路:数学大汇总 提交:\(3\)次 错因:有一个\(j\)写成\(i\) 题解: 求:\(x^k \equiv a \mod p\) 我们先转化一下:求出\(p\)的原根\(g\) 然后我们用\(B ...

  3. ueditor+粘贴word

    Chrome+IE默认支持粘贴剪切板中的图片,但是我要发布的文章存在word里面,图片多达数十张,我总不能一张一张复制吧?Chrome高版本提供了可以将单张图片转换在BASE64字符串的功能.但是无法 ...

  4. 线程的分离状态 detached joinable

    转自  http://blog.chinaunix.net/uid-26983585-id-3315953.html 其实在写上一篇日志的时候,由于我把创建线程的返回值的判断条件写错了,程序每次运行的 ...

  5. php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法

    使用压缩包函数必须要安装zip扩展,否则会报错 $ apt install php-zip

  6. yquery-操作样式属性

    前几天回家,参加了全国的成人高考,都说学历是找工作的敲门砖,其实一点都不假,尤其是现在的社会竞争力那么强,你不学就会被淘汰.像要过自己想要的生活,就必须努力学习,努力赚钱,买自己想买的,过自己想过的. ...

  7. expdp / impdp 用法详解 ,和exp / imp 的区别

    一  关于expdp和impdp     使用EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用.EXPDP和IMPDP是服务端的工具程 ...

  8. Mybatis按照SQL查询字段的顺序返回查询结果,使用resultType="java.util.LinkedHashMap"

    在使用Mybatis开发时,Mybatis返回的结果集就是个map,当返回map时只需要做好SQL映射就好了,减少了代码量,简单便捷,缺点是不太方便维护,但是写大量的vo类去返回也挺累的,这个看你个人 ...

  9. Flutter移动电商实战 --(25)列表页_使用Provide控制子类-1

    主要是二级分类的UI布局 生成我们的右侧动态类 定义list变量 开始写里面的子项,把每一个小的写了 再拼成一个大的 这样我们的小类就写完了 开始写我的大类别:是一个横向的ListView.写横向的L ...

  10. Mac 上卸载node和npm

    Mac 上卸载node和npm 卸载node依次在终端执行下面的脚本 sudo npm uninstall npm -gsudo rm -rf /usr/local/lib/node /usr/loc ...