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协议的版本号, ...
随机推荐
- js,add script async? loaded ok.
function loadScript(url, callback){ var script = document.createElement_x("script") script ...
- android的布局-----TableLayout(表格布局)
学习导图 (1)TableLayout的相关简介 java的swing编程和html中经常会使用到表格,可见表格的应用开发中使用还是比较多的,同样android也为我们提供这样的布局方式. (2)如何 ...
- python - break和continue
break 终止整个循环:当循环或判断执行到break语句时,即使判断条件为True或者序列尚未完全被历遍,都会跳出循环或判断 for i in xrange(10): print(i) if i = ...
- Python学习杂记_3_字符串操作的常用方法
字符串操作 字符串是可以通过下标来进行取值的,但是由于字符串是不可变变量,不能通过下标来修改它的值(形式如 字符串[下标]),下标从0开始,最大下标值是字符串长度减1,即len(string)-1 P ...
- nodejs编写实例基础操作
学习视频地址 https://cnodejs.org/topic/5a72c66ace45d440451465c3 初始化项目 首先查看项目中是否有package.json 文件,如果有可执行np ...
- my.ini配置详解
Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM ...
- js 值类型和引用类型
function chainStore() { var store1='Nike China'; var store2=store1; store1='Nike U.S.A.'; alert(stor ...
- 转:java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例
java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例 1.CountDownLatch:一个同步工具类,它允许一个或多个线程一 ...
- Android Studio和MAT结合使用来分析内存问题
Android开发中时常会遇到内存泄漏的问题,而Android系统对单个App又有一定的内存限制,此值可以通过一下方式获取: ActivityManager am = (ActivityManager ...
- Mac搭建python环境
1 安装xcode 2 安装 brew ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/mast ...
