第5章 子网划分和CIDR
第5章 子网划分和CIDR
划分网络
根据A类、B类或C类网络ID来识别网段具有一些局限性,主要是在网络级别之下不能对地址空间进行任何逻辑细分
如果一个IP是一个A类网络。数据报到达网关,然后传输到99.0.0.0地址空间。如果要考虑它在这个地址空间中是如何传递的,这个图示就会变得非常复杂,因为A类网络能够容纳超过1600万台主机。这个网络也许包含数百台主机,这大大超过了在一个子网上容纳的数量。
为了在大型网络里实现更高效的数据传输,地址空间被划分为较少的网段。把网络划分为独立的物理网络能够增加网络的整体性能,也就能够让网络使用更大的地址空间。它们不能使用网络ID,因为传输到这个网络的数据报具有相同的网络ID(99.0.0.0)。尽管可以利用主机ID来组织地址空间,但是对于能够容纳超过1600万台主机的网络来说,将会是很麻烦、非常不灵活、完全不实用的。唯一可行的解决方法是在网络标ID下对地址空间进行某种细分,让主机和路由器能够根据IP地址判断应该把数据发送到哪个网段。
TCP/IP的设计者借用了主机ID里的一些位来形成子网地址。一个名为子网掩码的参数指明了地址中多少位用于子网ID、保留多少位作为实际的主机ID。
像IP地址一样,子网掩码也是个32位的二进制值,它的形式能够说明与之相关的IP地址的子网ID。
数据表先根据网络ID被路由到目标网络,而这个网络ID是由地址类别决定的。当数据报到达目标网络之后,它根据子网ID路由到合适的网段。在到达这个网段之后,再根据主机ID传输到正确的计算机。
将子网掩码转换为点分十进制标记
子网掩码必须仔细计算,并且要反应网络的内部组织。一个子网内的所有主机应该具有相同的子网ID和子网掩码。为了便于人们使用,子网掩码通常以点分十进制的形式表示,类似于IP地址
与IP地址相比,子网掩码的转换通常更为简单。对应于地址中的网络ID和子网ID的掩码位是1,代表IP地址里主机ID的掩码是0。这意味着1都在掩码的左侧,而0都在右侧。在子网掩码中,一组8位1对应于十进制的255(二进制11111111),8位0对应于十进制的0。下面这个常见的子网掩码:
1111111111111111111111111111111100000000
以点分十进制的形式表示就是255.255.255.0。类似地,子网掩码:
11111111111111110000000000000000
以点分十进制的形式表示就是255.255.0.0
使用子网
子网掩码决定了网络ID之后有多少位是作为子网ID的。子网ID的长度不是固定的,取决于子网掩码的值。子网ID越长,留给主机ID的位数越少。换句话说,如果网络有很多子网,每个子网上的主机容量就会减少;如果子网数量较少,而且子网ID占据的位数也较少,每个子网的主机容量就会增加。
子网ID的分配(以及子网掩码的分配)取决于网络的配置。最好的方案是先规范网络,确定全部网段的数量与位置,然后为每个网段分配一个子网ID。
下面是一个简单的示例。这里是一个B类网络,它的第3个八位组被用作子网ID。假设网络129.100.0.0分配的子网掩码是255.255.255.0,表示网络ID和子网掩码占据了IP地址中的3个八位组。由于这个地址是个B类地址,地址中的前两个八位组是网络ID。全0和全1的主机ID是不能分配的,因此该配置最多支持254个子网,每个子网最多容纳254台主机。在能够使用B类网络地址(已经越来越难获得了)并且任何子网不会超过254台主机时,这是一种相当明智的解决方案。
无类别域间路由(CIDR)
在2011年,ICANN宣布,IPv4地址已经耗尽,应用对IP地址耗尽问题的长期解决方案是使用IPv6地址系统,它可以提供大量的地址。然而ICANN分配光所有的IPv4地址并不意味着人们停止使用其地址。ISP一直在参与IPv4地址的买卖与分配。IP地址的高额交易,对路由表中地址条目的扩散进行限制的需求,催生了另外一种路由表示形式,这种形式提供了更为一致的方法来聚合和划分IP地址空间。
A类地址已经耗尽,B类地址也很快用完了,C类地址还有剩余,但它的地址空间比较小(最多254台主机),这对于ISP是个限制。当然,我们可以向需要包含超过254台主机的网络所有者分配多个C类地址,但是把属于同一个网络的多个C类地址分别管理只会路由器产生不必要的混乱。
而无类别域间路由(CIDR)在路由表中定义地址块时更容易修改,更具有灵活性。这种技术不依赖于预定义的8位、16位或24位网络ID,而是使用一个名为CIDR的前缀的值指定地址中作为网络ID的位数。这个前缀有时也被称为变长子网掩码(VLSM)。这个前缀可以位于地址空间的任何位置,让管理员能够以更灵活的方式定义子网,以简便的形式指定地址中网络ID部分与主机ID部分。CIDR标记使用一个斜线(/)分隔符,后面跟一个十进制数值来表示地址中网络部分所占的位数。例如,在CIDR地址205.123.196.183/25中,/25表示地址中25位用于网络ID,相应的子网掩码就是255.255.255.128
CIDR前缀就是表明了IP地址中前面的多少位对于网络里的全部主机是一样的。CIDR的一个强大的特性是不仅能够对网络划分子网,还让ISP或管理员能够把多个连续C类网络聚合或组合为一个实体。这种特性极大地简化了网际路由表,从而延长了IPv4的生命。出租一系列连续C类网络的ISP只需要一个条目就可以定义全部网络。在这种情况下,CIDR前缀发挥了所谓超网掩码的作用。例如,一个ISP可以分配204.21.128.0(11001100000101011000000000000000)~204.21.255.255(11001100000101011111111111111111)的全部C类地址。
问与答
问:B类网络在使用255.255.0.0作为掩码时,子网ID占据了多少位?
答:0位(不存在子网ID字段)。掩码255.255.0.0是B类网络的默认设置,全部16个掩码位都是用于网络ID,没有用于子网划分。
问:一个网络管理员计算出他需要21位掩码,他应该使用什么子网掩码?
答:21位掩码:11111111111111111111100000000000,也就是两个全1八位组再加5位。全1的八位组对应于255,前5位为1的八位组等于128+64+32+16+8=248,所以这个掩码是255.255.248.0
问:公司有一个C类地址,员工分布于10个位置,每个位置的员工不超过12个。使用什么子网掩码能够满足为每个用户提供一台电脑的需要?
答:子网掩码是255.255.255.240,主机ID使用4位,足够为每个用户提供不同的地址。
问:Billy想在一个A类网络上使用占据3位的子网ID,相应的子网掩码是多少?
答:A类网络意味着IP地址中第一个八位组是属于网络ID的,它的掩码就是255。第二个八位组的3位子网ID对应于128+64+32=224,所以子网掩码是255.224.0.0。
问:中CIDR范围212.100.192.0/20中,分配了什么IP地址?
答:超网参数/20表示ip地址的前20位是不变的,其余部分是可变的。这个初始地址的二进制形式是:
11010110.01100100.11000000.00000000
地址的前20位必须与这个初始地址相同,其他部分只可以变化。下面是可变部分的另一个极限值(全1替换全0):
11010110.01100100.11001111.11111111
所以地址范围是212.100.192.0 ~ 212.100.207.255。
问题
子网ID的位来自哪里?
答: 主机ID包含子网ID。为什么子网划分技术如今没有过去那么重要?
答:因为子网划分技术已经被纳入CIDR中无类别域间路由中的“无类别”指的是什么?
答:无类别指的是不再使用传统的网络地址分类(A,B,C,D),而是使用CIRD前缀的事实在/26的网络中,可以有多少台主机?
答:主机号是6位,所以可以有
C = 2^6 - 2
62台主机。
- 将几个较小的网络合并为一个较大网络范围的技术是什么?
答:超网
课后练习
1.如果把网络地址180.4.0.0~180.7.255.255合并为一个网络地址,请计算CIDR网络地址。
答:180.4.0.0/14。
2.如果子网192.100.50.192的子网掩码为255.255.255.224,则该子网可以有多少台主机?
答:C类地址的十进制两位数是110,该子网属于C类地址。C类地址前24位是网络ID,子网ID从主机ID借走了3位,主机ID还剩下5位。因此,子网可以存在
2^5 -2 = 30
3.在练习2中,在子网掩码位255.255.255.224,则可以产生多少个子网?
答:子网ID是3位,因此有
2^3 - 2 = 6
个可能的子网。有些厂商支持全0和全1的子网,此时则意味着有8个可能的子网。
4.在网络195.50.100.0/23中,确定表示主机的最小IP地址
答:最低的主机地址是195.50.100.1
5.在练习4中,确定表示主机的最大IP地址
答:最高的主机地址是195.50.101.254
第5章 子网划分和CIDR的更多相关文章
- IPv4协议及VLSM可变长子网划分和CIDR无类域间路由
IPv4协议及VLSM可变长子网划分和CIDR无类域间路由 来源 https://blog.csdn.net/hongse_zxl/article/details/50054817 互联网世界一切通信 ...
- CCNA第三章子网划分,变长子网掩码(VLSM)和TCP/IP排错考试要点学习笔记
1. 子网划分的好处 缩减网络流量; 优化网络性能; 简化管理; 可以更为灵活地形成大覆盖范围的网络. 2. 如何创建子网的步骤 首先,确认所需要的网络ID数; 其次,确认每个子网中所 ...
- HCNP学习笔记之子网划分 VLSM CIDR
子网划分.VLSM可变长子网掩码.CIDR无类域间路由是学习网络知识或者说是学习路由知识所必备的,但很多朋友说这三者理论性太强了,不好掌握.本文将结合实例讲解子网划分的方法并对VLSM和CIDR进行简 ...
- 子网划分与CIDR(斜杠加数字的表示与IP 的关系)(改进)
子网和CIDR 将常规的子网掩码转换为二进制,将发现子网掩格式为连续的二进制1跟连续0,其中子网掩码中为1的部份表示网络ID,子网掩中为0的表示主机ID.比如255.255.0.0转换为二进制为1 ...
- [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)
http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. ...
- 第5章 IP地址和子网划分(3)_子网划分
6.子网划分 6.1 地址浪费 (1)IPv4公网地址资源日益紧张,为减少浪费,使IP地址能够充分利用,就要用到子网划分技术. (2)传统上一个C类地址,如212.2.3.0/24,其可用的地址范围为 ...
- CCNA 第四章 轻松划分子网
1:划分子网的的好处: (1):减少网络流量 (2):优化网络性能 (3):简化管理 (4):有助于覆盖大型地理区域 2:CIDR和ISP的概念 (1):CIDR:Classless Inter-Do ...
- 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 第5章 IP地址和子网划分(4)_超网合并网段
7. 超网合并网段 7.1 合并网段 (1)子网划分是将一个网络的主机位当网络位,来划分出多个子网.而多个网段合并成一个大网段,合并后的网段称为超网. (2)需求分析 某企业有一个网段,该网段有200 ...
随机推荐
- wpf 研究之道 winform or wpf,u choose who?
很久以前,我们用winform做过一个五子棋的程序,当时用winform的画图,先画出棋盘...后来项目的研究阶段,偶尔用winform做个小工具.闲暇之余,看到介绍wpf的资料,只知道它采用了xam ...
- 从AngularJS2谈到前台开发工程化
才刚刚对AngularJS有些了解,又听闻AngularJS2早就铺天盖地了,AngularJS3刚刚夭折,AngularJS4今年已经发布了,还是学习先下AngularJS2吧,据说更加适合以移动为 ...
- Python账号密码登陆判断(三次机会)
#!/usr/bin/env python #coding=UTF-8 #先设定初始用户名和登录密码 init_usrname=input("Please enter initial use ...
- python文件基本操作(读,写,追加)
一:只读(r) f=('d:\ python的联系文件'') 绝对路径和相对路径(绝对路径:能找到文件开始到结束路径,真实存在的路径,相对路径:在绝对路径一致的情况下新建一个文件) f=open( ...
- java序列化浅谈
首先大家进来第一个疑问肯定是"什么是序列化?为什么要使用序列化?怎么实现一个简单的序列化案例?" 1.序列化就是把对象以一种规范的二进制形式存在内存中,另一边以反序列化方式获取: ...
- 设计模式——中介者模式/调停者模式(C++实现)
#include <iostream> #include <string> using namespace std; class Colleague; class Mediat ...
- hidden symbol `pthread_atfork'
gcc交叉编译时发生这种错误 /.. .../voice_demo: hidden symbol `pthread_atfork' in /opt/gcc-linaro-aarch64-linux-g ...
- php后台开源框架
1,OneBase 官网首页:https://onebase.org 后台演示:https://demo.onebase.org/admin.php 接口演示:https://demo.onebase ...
- 数据库操作sql
一.把从另外一张表里查到的值插入到前表: 1. 表结构完全一样 insert into 表1 select * from 表2 2. 表结构不一样(这种情况下得指定列名) insert into 表1 ...
- 关于html文档的规范
1. <!DOCTYPE html> 告诉浏览器该文档使用哪种html或xhtml的规范 2. 元数据中的X-UA-Compatible <meta http-equiv=" ...