子网掩码的主要功能是告知网络设备,一个特定的IP地址的哪一部分是包含网络地址与子网地址,哪一部分是主机地址。网络的路由设备只要识别出目的地址的网络号与子网号即可作出路由寻址决策,IP地址的主机部分不参与路由器的路由寻址操作,只用于在网段中唯一标识一个网络设备的接口。

本来,如果网络系统中只使用A、B、C这三种主类地址,而不对这三种主类地址作子网划分或者进行主类地址的汇总,则网络设备根据IP地址的第一个字节的数值范围即可判断它属于A、B、C中的哪一个主类网,进而可确定该IP地址的网络部分和主机部分,不需要子网掩码的辅助。

但为了使系统在对A、B、C这三种主类网进行了子网的划分,或者采用无类别的域间选路技术(Classless Inter-Domain Routing,CIDR)对网段进行汇总的情况下,也能对IP地址的网络及子网部分与主机部分作正确的区分,就必须依赖于子网掩码的帮助。

子网掩码使用与IP相同的编址格式,子网掩码为1的部分对应于IP地址的网络与子网部分,子网掩码为0的部分对应于IP地址的主机部分。将子网掩码和IP地址作"与"操作后,IP地址的主机部分将被丢弃,剩余的是网络地址和子网地址。例如,一个IP分组的目的IP地址为:10.2.2.1,若子网掩码为:255.255.255.0,与之作"与"运算得:10.2.2.0,则网络设备认为该IP地址的网络号与子网号为:10.2.2.0。子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。

最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。

请看以下示例:

运算演示之一:aa

I P 地址  192.168.0.1

子网掩码  255.255.255.0

AND运算

转化为二进制进行运算:

I P 地址 11010000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

AND运算

 11000000.10101000.00000000.00000000

转化为十进制后为:

192.168.0.0

运算演示之二:

I P 地址  192.168.0.254

子网掩码  255.255.255.0

AND运算

转化为二进制进行运算:

I P 地址 11010000.10101000.00000000.11111110

子网掩码 11111111.11111111.11111111.00000000

AND运算

 11000000.10101000.00000000.00000000

转化为十进制后为:

192.168.0.0

运算演示之三:

I P 地址  192.168.0.4

子网掩码  255.255.255.0

AND运算

转化为二进制进行运算:

I P 地址 11010000.10101000.00000000.00000100

子网掩码 11111111.11111111.11111111.00000000

AND运算

 11000000.10101000.00000000.00000000

转化为十进制后为:

192.168.0.0

通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0

所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。我现在单位使用的代理服务器,内部网络就是这样规划的。

也许你又要问,这样的子网掩码究竟有多少了IP地址可以用呢?你可以这样算。

根据上面我们可以看出,局域网内部的ip地址是我们自己规定的(当然和其他的ip地址是一样的),这个是由子网掩码决定的通过对255.255.255.0的分析。可得出:

前三位IP码由分配下来的数字就只能固定为192.168.0所以就只剩下了最后的一位了,那么显而易见了,ip地址只能有(2的8次方-1),即256-1=255一般末位为0或者是255的都有其特殊的作用。

但是这样划分但浪费地址了,所以后来又引出一种叫VLSM(可变长掩码)的新算法。

如果共有50台机器,那一定是用C类地址。但是如果用C类的话每一个网段可以用到253台主机而你现在只有50台,这样的话不是要浪费200台了吗?但是如果用了VLSM就不同了请看。

如果是静态掩码的话C类地址因该是255.255.255.0

50<2的7次方,化为十进制就是64。所以VLSM就是255.255.255.64

例一:IP:192.168.0.1

SubstMask:255.255.255.64

转化为二进制11000000.10101000.00000000.00000001

11111111.11111111.00000000.1000000

AND与运算

11000000.10101000.00000000.00000000

转化为十进制192.168.0.0

例二:192.168.0.50

SubstMask:255.255.255.64

转化为二进制11000000.10101000.00000000.00110010

11111111.11111111.11111111.01000000

AND与运算

11000000.10101000.00000000.00000000

转化为十进制192.168.0.0

以上二个地址在同一网段

再看:

例三:IP:192.168.0.65

SubstMask:255.255.255.64

转化为二进制11000000.10101000.00000000.01000001

11000000.10101000.00000000.01000000

AND与运算

110000000.10101000.00000000.010000000

转化为十进制192.168.0.64

划开了!!就这么简单!

子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。附图所示的就是IP地址为“192.168.1.1”和子网掩码为“255.255.255.0”的二进制对照。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。这样,子网掩码就确定了一个IP地址的32位二进制数字中哪些是网络号、哪些是主机号。这对于采用TCP/IP协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

常用的子网掩码

子网掩码有数百种,这里只介绍最常用的两种子网掩码,它们分别是“255.255.255.0”和“255.255.0.0”。

1. 子网掩码是“255.255.255.0”的网络:最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。

2. 子网掩码是“255.255.0.0”的网络:后面两个数字可以在0~255范围内任意变化,可以提供2552个IP地址。但是实际可用的IP地址数量是2552-2,即65023个。

IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地机不在同一子网内的目的机的数据,会因为错误的判断而认为目的机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目的机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。

如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;笔者见到的最大规模的中小学校园网具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。

默认子网掩码

在Windows 2000 Server中,如果给一个网卡指定IP地址,系统会自动填入一个默认的子网掩码。这是Windows 2000 Server为了节省用户输入时间自动产生的子网掩码。比如,局域网最常使用的IP地址“192.168.x.x”默认的子网掩码是“255.255.255.0”。一般情况下,IP地址使用默认子网掩码就可以了。

子网划分与实例根据以上分析,建议按以下步骤和实例定义子网掩码。

1、将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。

2、取上述要划分子网数的2的m次方的幂。如23,即m=3。

3、将上一步确定的幂m按高序占用主机地址m位后转换为十进制。如m为3 则是11100000,转换为十进制为224,即为最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是C类网,则子网掩码为255.224.0.0。

在这里,子网个数与占用主机地址位数有如下等式成立:2m=n。其中,m表示占用主机地址的位数;n表示划分的子网个数。根据这些原则,将一个C类网络分成4个子网。若我们用的网络号为192.9.200,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址),现将网络划分为4个部分,按照以上步骤:

4=22,取22的幂,即2,则二进制为11,占用主机地址的高序位即为11000000,转换为十进制为192。这样就可确定该子网掩码为:192.9.200.192,4个子网的IP地址范围分别为:

二进制十进制

① 11000000 00001001 11001000 00000001 11000000 00001001 11001000 00111110 192.9.200.1

192.9.200.62

② 11000000 00001001 11001000 01000001 11000000 00001001 11001000 01111110 192.9.200.65

192.9.200.126

③ 11000000 00001001 11001000 10000001 11000000 00001001 11001000 10111110 192.9.200.129

192.9.200.190

④ 11000000 00001001 11001000 11000001 11000000 00001001 11001000 11111110 192.9.200.193

192.9.200.254

在此列出A、B、C三类网络子网数目与子网掩码的转换表,以供参考。

A类:

子网数目 占用位数子网掩码子网中主机数

 2 1255.128.0.08,388,606

 4 2255.192.0.04,194,302

 8 3255.224.0.02,097,150

 16 4255.240.0.01,048,574

 32 5255.248.0.0524,286

 64 6255.252.0.0262,142

 1287255.254.0.0131,070

 1288255.255.0.065,534

B类:

子网数目 占用位数子网掩码子网中主机数

 2 1255.255.128.0 32,766

 4 2255.255.192.0 16,382

 8 3255.255.224.0 8,190

 16 4255.255.240.0 4,094

 32 5255.255.248.0 2,046

 64 6255.255.252.0 1,022

 1287255.255.254.0 510

 2568255.255.255.0 254

C类:

子网数目 占用位数子网掩码子网中主机数

 2 1255.255.255.128 126

 4 2255.255.255.192 62

 8 3255.255.255.224 30

 16 4255.255.255.240 14

 32 5255.255.255.248 6

 64 6255.255.255.252 2

ip地址 子网掩码 子网 IP地址、子网掩码

0

分享

微博 QQ 微信

收藏

上一篇:IP地址专题一:IP地址和子网掩... 下一篇:IP地址专题三:MAC地址原理,...
whbty1985

29篇文章,1W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

推荐专栏更多

网络安全入门到实战,让SQLmap子弹飞一会儿

9本网络安全实战书籍精华

共23章 | simeon2005

¥51.00 828人订阅

订   阅

Web网站安全评估分析及防御

企业级网安运维

共30章 | simeon2005

¥51.00 407人订阅

订   阅

负载均衡高手炼成记

高并发架构之路

共15章 | sery

¥51.00 506人订阅

订   阅

猜你喜欢

我的友情链接 交换机IP-MAC-PORT绑定和DHCP Snooping的应用 Java线程:线程的调度-休眠 用光影魔术手制作一寸照片(8张一寸) Linux关闭休眠和屏保模式 Windows7删除休眠文件hiberfil.sys节省大量C盘空间 康熙对容妃的最后的心里话 《一位IT退休老兵的感言、工作、生活、前途、选择》 加入域时遇到“找不到网络路径”错误解决办法汇总 史上最全:怎样买到最便宜的机票 超级实用篇 易都市三维城市地图网址 新东方王强经典语录 通过关键字获取漏洞平台最新漏洞信息 11月10日直播:EVE-NG模拟器入门和老司机心得分享,你来不来? 网工2.0 - 给你一次逆袭的机会 python-dnspod:批量添加域名、解析记录和修改解析记录等 H3C室外无线AP(WA4320X)胖瘦切换设置方法 网络运维 - 你与真相就差一层窗户纸 F5负载均衡上使用iRule 来选择SNAT pool 高校智能DNS解析技术总结分析

扫一扫,领取大礼包

0

分享

whbty1985

转载于:https://blog.51cto.com/whbty1985/108390

IP地址专题二:子网掩码入门相关推荐

  1. IP地址段与子网掩码

    IP地址段与子网掩码 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络. 最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是 ...

  2. IP地址,netmask 子网掩码、gateway 默认网关,dns-nameserve域名服务器总结

    IP地址,netmask 子网掩码.gateway 默认网关,dns-nameserve域名服务器总结 一.IP地址 二.netmask 子网掩码 三.gateway 默认网关 四.dns-names ...

  3. 虚拟机如何配置网络ip地址_木杉入门Elasticsearch(2):虚拟机IP地址配置

    木杉入门 本系列的目标是在本地搭建一个Elasticsearch的服务集群,通过在阿里云服务器搭建FRP通道对外提供服务,为小规模应用提供一种高性价比的解决思路. 系列内容: 木杉入门Elastics ...

  4. 9000字加图文 | 带你了解IP地址划分、子网掩码的作用、实际中IP地址规划是怎么样的

    作者:一天,公众号:网络之路博客(ID:NetworkBlog).让你的网络之路不在孤单,一起学习,一起成长. (1)子网掩码 之所以出现大量地址浪费,在于早期的地址分类采用的是固定的网络位与主机位的 ...

  5. 带你了解IP地址划分、子网掩码的作用、实际中IP地址规划是怎么样的

    (1)子网掩码 之所以出现大量地址浪费,在于早期的地址分类采用的是固定的网络位与主机位的长度,不能灵活的规划,所以在后面打破了这个规则,32比特的IP还是分为网络号与主机号,但是不在采用固定的长度形式 ...

  6. IP地址划分与子网掩码

    目录 前言 1. IP地址 1.1 IP地址的涵义 1.2 IP地址分类 1.3 特殊IP地址 2. 子网掩码 2.1 子网掩码的涵义 2.2 子网掩码的计算 2.3子网划分--子网掩码的借位划分 总 ...

  7. IP地址分类及子网掩码划分网段详解!!!

    IP地址的组成 网络位:表示IP地址所属的网段 主机位:用来唯一标识一个网段内的某一台设备 IP地址的作用 可以实现同一网段或跨网段的通信 IP地址的分类 A类地址:0.0.0.0 -- 127.25 ...

  8. php获取访问者ip地址,PHP获取访问者IP地址的二种方法

    本节内容: PHP获取访问者IP地址 方法一:$_SERVER['HTTP_X_FORWARDED_FOR']来获取相应的地址 复制代码 代码示例: function get_onlineip() { ...

  9. android 网络获取地址,android 网络地址,ip地址获取,子网掩码获取,默认网关获取...

    获取eth0的ip: getIpAddrForInterfaces("eth0")java private String getIpAddrForInterfaces(String ...

最新文章

  1. 《AutoCAD全套园林图纸绘制自学手册》一第1章 园林设计基本概念1.1 概述
  2. 想写Python爬虫?看这5个教程就行了!
  3. Linux中xml导入数据库,XML数据库 BaseX
  4. [WPS笔试题]实现栈的push,pop,max且时间复杂度为O(1)
  5. win10如何修改IP地址
  6. LeetCode 85. 最大矩形(DP/单调递增栈,难)
  7. 靓仔落泪,性能问题定位难倒我了
  8. 一只青蛙跳向三个台阶_青蛙跳台阶问题的三种解法
  9. 2014牡丹江——Hierarchical Notation
  10. 原生android字体,不用Root,国产安卓手机如何把字体切换成安卓原生字体
  11. 不同局域网内进行网络连接的建立方法
  12. 北航计算机博士后,北京航空航天大学博士后待遇
  13. C++定义复数类(Complex)
  14. 闰年和平年的区别python_连续四年中一定有一个闰年吗
  15. 2007想飞之旅 (中)
  16. 计算机图片怎么截图快捷键,电脑截图快捷键四种截屏方式,笔记本电脑如何截屏截图?...
  17. linux ext4 img解包打包教程,安卓解包、修改、打包system.img/system.img.ext4教程
  18. 【笔记】Polygon mesh processing 学习笔记(10)
  19. mysql支持kv_阿里云推出兼容Redis的KV数据库 有三大优势
  20. matlab-数学运算

热门文章

  1. 源代码可以从应用提取码_大规模下加速源代码分析
  2. 塑料壳上下扣合的卡扣设计_一种塑料件卡扣结构制造技术
  3. linux自带的文本编辑器,linux自带文本编辑器
  4. 中专计算机应用完整教学计划,中职生教学计划
  5. java 线程内存模型_JAVA内存模型与线程
  6. 雅安职业技术学院工业机器人专业_2017年雅安职业技术学院开设哪些专业(高职/专科)...
  7. java执行python脚本并传递参数_从Java执行Python脚本存在参数传递问题
  8. html span 字体位置,html – 如何强制span在CSS中使用父字体系列
  9. phalcon执行原始SQL查询语句
  10. Filter过滤器输出HelloFilter