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

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

粗放使用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. about data type in c#

    int: identical with int 32, capacity, Type Capacity Int16 -- (-32,768 to +32,767) Int32 (same with i ...

  2. Atcoder CODE FESTIVAL 2017 qual C C - Inserting 'x' 回文串

    题目链接 题意 给定字符串\(s\),可以在其中任意位置插入字符\(x\). 问能否得到一个回文串,若能,需插入多少个\(x\). 思路 首先统计出现次数为奇数的字符\(cnt\). \(cnt\ge ...

  3. PE笔记之DOS头

    IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic    // Magic DOS signature MZ(4Dh 5Ah)     DOS可执行文件标记 +2h ...

  4. 阻止关闭窗口,FormCloseQuery

    procedure TfrmTopJdsMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin ) = mrNo then ...

  5. hdu 2680(最短路)

    Choose the best route Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  6. LeetCode OJ-- Length of Last Word

    https://oj.leetcode.com/problems/length-of-last-word/ 对一个字符串遍历,求最后一个单词的长度,如果有 ‘ ’,则切开了. 字符串的最后一个字符为 ...

  7. HDU 1027 Ignatius and the Princess II[DFS/全排列函数next_permutation]

    Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ( ...

  8. spring源码学习(一)

    Spring作为一个IOC容器,今天我们学习它作为web解析的地方,学习下webmvc包的代码.我们先看下web.xml文件 可以看到通过DispatcherServlet来实现页面的mapper处理 ...

  9. 详解Webpack2的那些路径

    Webpack2 中有很多涉及路径参数配置,若不知其所以然,很容易混淆出错.本文尽可能的汇集了 Webpack2 中设计路径的配置,力争深入浅出. context context 是 webpack ...

  10. 区间最小值(2) (线段树 更新区间)2015年 JXNU_ACS 算法组暑假第一次周赛

    区间最小值(2) Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Subm ...