IPv4(四)子网和子网掩码
为了完成路由选择,每个数据链路(网络)都必须有一个惟一的地址;
另外,数据链路上的每台主机也必须有一个地址,这个地址不仅标识主机为一个网络成员,还可以把主机与网络上的其他主机区分开来。
粗放使用IPv4地址
在目前位置,一个A类、B类或C类地址仅仅能用在一个单一网络中。
为了建立一个网络,每个数据链路都必须使用不同的地址,以便这些网络可以被惟一地标识。
如果每一个数据链路都使用一个单独的A类、B类或C类地址,那么即使使用尽所有的IPv4地址,也只能给少于1700万个数据链路分配地址。
所以这样使用资源是不明智滴。
使用子网实现梯度使用
使A类、B类或C类地址实用化的惟一方法是对主网地址进行划分,例如将172.21.0.0划分为子网地址。
注意到两个事实:
- IPv4地址的主机部分可以随意使用
- IPv4地址的网络号由分配给接口的地址掩码确定
对于一个B类地址172.21.0.0,标准的地址掩码是16位。现在为了对子网进行划分,这里使IP地址的前24位都被解释为网络位。换句话说,掩码使路由器和主机把读取的前8位主机网络作为网络地址的一部分。
结果是:
- 主网络地址用于整个网络,而每一个数据链路则变为一个子网(subnet);一个子网是一个主A类、B类或C类地址空间的一个子集。
- 现在IPv4地址包括了3个部分:网络部分、子网部分和主机部分。
- 地址掩码现在变为子网掩码,或比标准掩码长的掩码。
实例
现在地址的前两个八位组依然是172.21,但第3个八位组——主机位已经由子网位代替——的变化范围位0~255。
下图中的网络有子网1、2、3、4和5(172.21.1.0~172.21.5.0),图1中用红色圈圈圈出来的就是5个子网咯。
图1 子网划分案例,子网掩码使得单一网络地址可以用于多个数据链路
注意事项
比如对于B类地址172.21.0.0来说,如果以第三个八位组作为子网划分依据,那么这样就有172.21.0~172.21.255一共256个子网。但我们需要注意的是并不是其中所有的子网都可以实际拿来使用的。
原因:
并不是所有的路由选择协议都支持子网地址,如果子网位全为0或者全为1。
因为这些协议是有类别化协议,它们并不能区分一个全0子网和主网络号。
例如,在图1中,子网0为172.21.0.0;而主网IP地址也为172.21.0.0。没有更多的信息来区分二者。
同样,有类别路由选择协议也不能区分全1子网的广播地址和一个所有子网的广播地址。
例如,图1中全1子网为172.21.255.0,对于这个子网,广播地址是172.21.255.255,但是这也是主网172.21.0.0的所有子网上所有主机的广播地址。
第一版的RIP协议和IGRP协议都是有类别路由选择协议,不能区分上述地址。无类别路由选择协议则可以真正地使用全0或者全1子网。
对子网的理解
类似图1中,对B类地址的第3个八位组进行子网划分是非常普遍的。但是会出现其他错误的表述:
"B类地址使用C类地址掩码"或者"将B类地址划分为C类地址",这两种表述都是错误的,会引起会子网涉及不正确的理解。
对图1的解释应该是:
"使用8位进行子网划分的B类地址"或者"一个带有24位掩码的B类地址"。
可以用以下3中格式中的任何一种表示子网掩码:
点分十进制:255.255.255.0
位计数:172.21.0.0/24
十六进制:0xFFFFFF00
与点分十进制相比,位计数格式可以更清楚地描述掩码的实际作用。
IPv4(四)子网和子网掩码的更多相关文章
- IP地址分类、私有地址、子网、子网掩码
IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...
- 子网/ip/子网掩码
IP地址由网络地址和主机地址组成 而现在IP由“子网掩码”通过子网网络地 址细分出 A,B,C类更小的网络.这种方式 实际上就是将原来的A类,B类,C类等分类 中的的主机地址部分用作子网地址,可以 将 ...
- 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...
- IPv4地址分类及子网划分
IPv4地址分为A,B,C,D,E类: A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址 ...
- 可变长度子网掩码(VLSM)在子网划分中的应用
在学习可变长度子网掩码时,必须先熟练掌握二进制与十进制的转化.计算机中数据的单位(字节.位)等知识. 一.什么是可变长度子网掩码? 要理解可变长度子网掩码,先要理解子网掩码:要理解子网掩码,先要理解I ...
- IPv4子网掩码回顾
子网掩码的介绍: IP协议标准规定:每一个使用子网的节点都选择一个32位的位模式,若位模式中的某位置为1,则对应IP地址中的某位就为网络地址(包括网络部分和子网号)中的一位:若位模式中的某位置0,则对 ...
- IP地址、子网掩码详解
如何通过子网掩码划分网段 资料一: 一.缺省A.B.C类地址,子网掩码: 二.子网掩码的作用: code: IP地址 192.20.15.5 11000000 00010100 00001111 ...
- IPv4地址学习总结
一. IPv4地址格式 网络互连的一个重要前提条件是要有一个有效的地址结构,并且所有的互连网络用户都应遵守这个地址结构.因为只有这样所有的互连网络用户才能在统一的规定下相互之间通讯.这个地址结构可以有 ...
- 计算机网络知识点总结2:IP协议(IPV4)
一.Internet网络是一种数据报网络(另一种是虚电路网络,用于ATM等),主要功能是路由和转发. 二.IP数据报(分组)格式(IPV4版本) 首部 描述 版本号(4bit) 描述IP协议的版本号, ...
随机推荐
- Javascript&Html-history对象
Javascript&Html-history对象 history对象保存着用户的上网记录,这些记录从用户打开浏览器开始. 用户借助history对象实现的跳转. history.go(-1) ...
- @RequestMapping定义不同的处理器映射规则
通过@RequestMapping注解可以定义不同的处理器映射规则. 1. URL路径映射 @RequestMapping(value="item")或@RequestMappin ...
- TCMalloc小记【转】
转自:http://blog.csdn.net/chosen0ne/article/details/9338591 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一 原理 二 ...
- C++学习(二):学会使用stringstream
1.前言 今天在CppTemplateTutorial群里,有人问了一个问题:这一堆add怎么简化掉 https://wandbox.org/permlink/vDPDwMFbBIQSSymS.代码如 ...
- 通过Java实现斗地主
功能:洗牌,发牌,对玩家手中的牌排序,看牌 package demo06; import java.util.ArrayList; import java.util.Collections; impo ...
- ACM信息汇总
一.ACM算法总结及刷题参考 (摘自:http://www.cnblogs.com/flipped/p/5005693.html) 初期: 一.基本算法: (1)枚举. (poj1753,poj296 ...
- windows 下使用github客户端报错:Failed to publish this branch
在windows系统下使用github客户端同步的时候报错“Failed to publish this branch”,查找原因,发现结果是安装vscode的时候没有检查到git,然后安装git后库 ...
- quick-coco2d下的事件
qucik下的事件机制很简洁,也很简单,能够处理大多数的自定义时间,我们新建一个类型,然后用扩展的方式实现事件,之前quick的文档上很详细,但是很悲哀,傻逼的的网站现在是404,记下来,怕到时候忘记 ...
- 模拟登陆web微信的流程和参数细节
这几天在用python写了一个模拟登陆web微信,发送和接受信息的程序.发现步骤不多,但需要的参数太多了 整个过程中,务必保证session.headers.cookie一致,不然的话,中间会出现登陆 ...
- Windows API 教程(七) hook 钩子监听
茵蒂克丝 如何创建一个窗口 手动创建窗口的流程 实际代码 安装钩子 (Install hook) 钩子简介 SetWindowsHookEx 函数 设置监听[键盘]消息 设置监听[鼠标]消息 如何创建 ...