在IPv4地址(一)中提到过,IP地址可以分成两部分,前面一部分是网络号,而后面一部分是主机号。

这里网络可以通过主机数量规模不同而分为3类:大型网络中型网络小型网络

不同网络的特点

  • 大型网络——可以定义位包含大量主机的网络。大型网络的数量相对很少。
  • 小型网络——作为大型网络的对照,它仅仅包含很少量的主机,但是小型网络的数目很多。
  • 中型网络——相对于大型网络和小型网络,包含的主机数量中等,而且中型网络的数量也中等。

下图显示了3类IPv4地址的网络号和主机号是如何划分的。

图1 不同类型网络地址的格式及其区分

目前对于所描述的大型、中型和小型网络,是按照如下的方式映射到各类地址的:

  • A类地址——用于大型网络,第1个八位组是网络号,后3个八位组是主机号。8位的网络号最多可以表示256个网络,而每个网络地址的主机号可以提供的主机数量为2^24或1, 677, 216。
  • B类地址——用于中型网络。前2个八位组表示网络号,后2个八位组表示主机号。网络号和主机号的数量均为2^16或65535个。
  • C类地址——对应于A类IP地址。前3个八位组表示网络号,最后1个八位组表示主机号。

如何区分不同类型的地址

对于所有的IPv4地址,都是32位的二进制字符串,所以需要有某种方法来区分一个特定的地址到底属于哪一类地址。

如图1中所示的:

  • 对于A类地址,首个八位组的第1位,即32位字符串最左边的1位,总是被设置为0。所以对于前八位,可以很容易找到A类地址范围中的最小数和最大数,即0和127。但是例外的是:0被保留作为缺省地址部分,127被保留作为内部回送地址。剩下的十进制数则是1~126。其中最典型的127.0.0.1是给设备使用的环回地址,向自己给发送流量。发送到该地址的数据将会被直接送回给发送进程,而不会离开此设备。
  • B类地址总是把左边的第1位设置为1,第2位设置为0。再次通过设置首个八位组的剩余位为0或者为1,可以得到128到191之间的IP属于B类地址。
  • C类地址中,前2个均被设置为1,第3位被设置为0。这样设置之后,首个八位组在192~223之间。

图2 不同网络号的分布

事实上有很多地址都不会被分配,例如:

10.0.0.0~10.255.255.255

172.16.0.0.~172.31.255.255

192.168.0.0~192.168.255.255

这几个范围都是作为保留地址的,难怪路由器中老是192.168.xxx.xxx,原来是C类地址呀。

确定IP地址的网络号

有了以上的约定之后,可以通过首个八位组字节规则确定IP地址的网络类型,然后通过网络类型确定取前多少位,然后计算可得网络号,那么剩下的位数就是主机号咯。

比如:如果第1位是0,则需要读取前8位才能获取网络地址;如果前两位是01,那么需要读取16位。但是事情真的就是这么简单么???

IPv4地址(二)网络划分的更多相关文章

  1. IPv4编址及子网划分

    在讨论IP编址之前,我们需要讨论一下主机与路由器连入网络的方法.一台主机通常只有一条链路链接到网络:当主机中的IP想发送一个数据报时,它就在链路上发送,主机与物理链路之间的边界叫做接口(interfa ...

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

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

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

  4. 网络连接详细信息出现两个自动配置ipv4地址

    问题:网络连接详细信息出现两个自动配置ipv4地址,一个是有效地址,一个是无效地址. 解决办法:先将本地连接ip设置成自动获取,然后点击开始——>运行——>输入cmd,回车,进入命令行界面 ...

  5. 网络连接详细信息出现两个自动配置ipv4地址的解决办法

    问题描述:网络连接详细信息出现两个自动配置ipv4地址,一个是有效地址,一个是无效地址. 解决办法: 先将本地连接ip设置成自动获取 点击开始——>运行——>输入cmd,回车,进入命令行界 ...

  6. python网络编程——将IPv4地址转换成不同的格式

    1.将IPv4地址转换为32位二进制格式,用做底层网络函数. import socket from binascii import hexlify def convert_IPv4_address() ...

  7. IPv4地址学习总结

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

  8. ------- 当前全球最新的 IPv4 地址池使用报告 -------

    -------------------------------------------------------------- 对于互联网行业相关的从业人员而言,时刻关注 IPv4 地址池的状态此类&q ...

  9. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

随机推荐

  1. poj 3311 Hie with the Pie 经过所有点(可重)的最短路径 floyd + 状压dp

    题目链接 题意 给定一个\(N\)个点的完全图(有向图),求从原点出发,经过所有点再回到原点的最短路径长度(可重复经过中途点). 思路 因为可多次经过同一个点,所以可用floyd先预处理出每两个点之间 ...

  2. Heritrix3.0.0启动介绍

    下面开始使用Heritrix3.0.0 进 入CMD(开始->运行),进入Heritrix3.0.0所在目录,我这里是D:/heritrix/heritrix3.0.0/bin,这里 大家截图也 ...

  3. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---44

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  4. [SaltStack] Minion-conf自动更新

    minion-conf配置文件自动更新, 加载 minion-conf是每个minion自身以来的配置, 为了方便我们在中心管控机上(Master)统一配置, 然后下发文件, 进而使得Minion能够 ...

  5. 记录: 一次解决整型溢出攻击(使用scala,隐式转换)

    最近项目遇到一次整型溢出攻击 有一个功能,玩家购买num个物品. 每个物品花费14货币. 客户端限制玩家只能购买 1-9999个该物品. 但是某玩家通过技术手段,获得了客户端的运行权限. 于是发送协议 ...

  6. LeetCode OJ-- Binary Tree Maximum Path Sum ***

    https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ 给一棵二叉树,路径可以从任一点起,到任一点结束,但是可以连成一个路径的.求 ...

  7. 交换机的工作模式:IVL和SVL

    IVL(independent vlan learning)每个vlan建一个表,看起来好像有很多表,其实这里所说的表是指逻辑上的表,实际上在交换机中还是只有一个表.如果将VID相同的记 录都提取出来 ...

  8. Codeforces Round #451 (Div. 2) A. Rounding【分类讨论/易错】

    A. Rounding time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  9. win7下用PyInstaller把Python代码打包成exe文件

    2013-11-05 22:02:14|   1.安装 使用PyInstaller需要安装PyWin32. 下载与Python对应的PyInstaller版本,解压后就算安装好了. 例如,安装了PyI ...

  10. WebApp 安全风险与防护课堂开课了!

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 2018 网络安全事故频发,从数据泄露.信息窃取,到 DDOS 攻击.勒索 ...