为了完成路由选择,每个数据链路(网络)都必须有一个惟一的地址;

另外,数据链路上的每台主机也必须有一个地址,这个地址不仅标识主机为一个网络成员,还可以把主机与网络上的其他主机区分开来。

粗放使用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(四)子网和子网掩码的更多相关文章

  1. IP地址分类、私有地址、子网、子网掩码

    IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...

  2. 子网/ip/子网掩码

    IP地址由网络地址和主机地址组成 而现在IP由“子网掩码”通过子网网络地 址细分出 A,B,C类更小的网络.这种方式 实际上就是将原来的A类,B类,C类等分类 中的的主机地址部分用作子网地址,可以 将 ...

  3. 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...

  4. 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为环回地址 ...

  5. 可变长度子网掩码(VLSM)在子网划分中的应用

    在学习可变长度子网掩码时,必须先熟练掌握二进制与十进制的转化.计算机中数据的单位(字节.位)等知识. 一.什么是可变长度子网掩码? 要理解可变长度子网掩码,先要理解子网掩码:要理解子网掩码,先要理解I ...

  6. IPv4子网掩码回顾

    子网掩码的介绍: IP协议标准规定:每一个使用子网的节点都选择一个32位的位模式,若位模式中的某位置为1,则对应IP地址中的某位就为网络地址(包括网络部分和子网号)中的一位:若位模式中的某位置0,则对 ...

  7. IP地址、子网掩码详解

    如何通过子网掩码划分网段 资料一: 一.缺省A.B.C类地址,子网掩码:  二.子网掩码的作用:  code:  IP地址 192.20.15.5 11000000 00010100 00001111 ...

  8. IPv4地址学习总结

    一. IPv4地址格式 网络互连的一个重要前提条件是要有一个有效的地址结构,并且所有的互连网络用户都应遵守这个地址结构.因为只有这样所有的互连网络用户才能在统一的规定下相互之间通讯.这个地址结构可以有 ...

  9. 计算机网络知识点总结2:IP协议(IPV4)

    一.Internet网络是一种数据报网络(另一种是虚电路网络,用于ATM等),主要功能是路由和转发. 二.IP数据报(分组)格式(IPV4版本) 首部 描述 版本号(4bit) 描述IP协议的版本号, ...

随机推荐

  1. Mongoose 参考手册

    转自:https://cnodejs.org/topic/548e54d157fd3ae46b233502 Mongoose 是什么? 一般我们不直接用MongoDB的函数来操作MongoDB数据库 ...

  2. 【全局变量】mysql查看全局变量以及设置全局变量的值

    1.查看mysql的所有全局变量的值 SHOW GLOBAL VARIABLES 或者 SHOW VARIABLES mysql有很多全局变量,包括系统的一些基本信息,以及mysql的一些基本配置都可 ...

  3. Hibernate更新某些字段的几种update方法

    Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: public class TeacherTest { @Test pu ...

  4. 通过使用集合Properties完成JDBC的连接工具类

    1.将数据库连接对象所需参数保存在本地文件中 database.properties driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localh ...

  5. python的特殊方法总结

    1.跟运算相关的特殊方法 2.跟运算符相关的方法

  6. hdu 4990(数学,等比数列求和)

    Reading comprehension Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  7. Linux日志审计

    https://www.itgank.com/archives/2599 https://blog.csdn.net/yanggd1987/article/details/70255179 http: ...

  8. Android自定义Dialog多选对话框(Dialog+Listview+CheckBox)

    先放效果截图 项目中需要有个Dialog全选对话框,点击全选全部选中,取消全选全部取消.下午查了些资料,重写了一下Dialog对话框.把代码放出来. public class MainActivity ...

  9. Codeforces Round #464 (Div. 2) A. Love Triangle[判断是否存在三角恋]

    A. Love Triangle time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  10. SecureCRT使用Ctrl+D快速关闭Tab