网络学习day04_VLSM、子网划分
IP子网划分
首先,在进行子网划分的学习之前,我们先来回顾一下IP地址的相关知识,同时了解一下公有和私有IP地址:
在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址。Internet IP地址由NIC(Internet Network Information Center)统一负责全球地址的规划、管理;同时由Inter NIC、APNIC、RIPE三大网络信息中心具体负责美国及其它地区的IP地址分配。
在现在的网络中,IP地址分为公网IP地址和私有IP地址。公网IP是在Internet使用的IP地址,而私有IP地址则是在局域网中使用的IP地址。
上一篇博客中我们介绍到了A、B、C、D、E五类IP地址,其中D、E类有特殊用途,所以实际我们可用的IP地址就为A、B、C三类地址,其中公有地址(Public address)由Inter NIC(Internet Network Information Center 因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。
私有地址(Private address)属于非注册地址,专门为组织机构内部使用。
以下列出留用的内部私有地址
A类:10.0.0.0--10.255.255.255
B类:172.16.0.0--172.31.255.255
C类:192.168.0.0--192.168.255.255
除去这些地址以外,其他的即为公有IP,所以共有IP的地址范围为:
A类:0.0.0.1-- 9.255.255.255 & 11.0.0.0--126.255.255.255
B类:128.0.0.0--172.15.255.255 & 172.32.0.0--191.255.255.255
C类:192.0.0.0-- 192.167.255.255 &192.169.0.0--223.169.255.255
子网划分的原因
今天讨论的子网划分技术是在ipv4协议的基础上实施的。
首先看一看百度对ipv4的定义:
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基础的协议。1981年 Jon Postel 在RFC791中定义了IP,Ipv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议) ,卫星链路等等。局域网中最常用的是以太网。
ipv4提出来时才1981年,当时互联网并不普及,人们对于互联网的需求极小,然而随着时代的发展,互联网上网民数量的不断增加,人们对网络的需求量日趋庞大,原有的IPv4地址逐渐开始不够用了。
在互联网中,我们用交换机可以组成一个局域网,一个局域网即可单独成为一个网段,两个局域网之间通信就需要使用路由器相连,路由器的功能便是用来连接不同网段设备进行通。
而世界上那么多的路由器,若是全部都连在一起,现有的ipv4网段是绝对不够用的。而全世界的互联网上只能出现公有IP,一个网段在公网任何地方出现过一次,在其他地方就不能再次出现,一旦出现就会造成互联网的网络冲突。
ABC三类地址加起来也就那么多网段,我们设想一下,假如一个公司拥有着一个A类的地址网段,例如:140.0.0.0/8,这个网段里最大可容纳主机数为2^24-2=16777214,而这个公司员工可能还不到1000人,在网络资源如此紧张的情况下,这个公司如果使用这个网段就会造成资源上的极大浪费。
所以在这样的情况下,我们就需要应用子网划分的技术对这种情况进行资源的充分利用。
总结一下子网划分的原因:
- 满足不同网络对IP地址的需求
- 实现网络的层次性
- 节省IP地址
子网划分的原理
实际就是通过改变子网掩码对IP地址进行网段的重新划分
VLSM 可变长子网掩码
VLSM(Variable Length Subnet Mask,可变长子网掩码) 是为了有效的使用无类别域间路由(CIDR)和路由汇聚(route summary)来控制路由表的大小,网络管理员使用先进的IP寻址技术,VLSM就是其中的常用方式,可以对子网进行层次化编址,以便最有效的利用现有的地址空间。
VLSM规定了如何在一个进行了子网划分的网络中的不同部分使用不同的子网掩码。这对于网络内部不同网段需要不同大小子网的情形来说很有效。
VLSM的作用就是在类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数。各类网络可以用来再划分子网的位数为:A类有二十四位可以借,B类有十六位可以借,C类有八位可以借。
子网划分
这里继续用上面的140.0.0.0/8,该网段下可用主机数为16777214台,假设这个网段现在被中国买下使用,但是中国那么多的省份,每个省份都有着大量的IP需求,我应该怎么去分配这个资源呢?
例如:
140.0.0.1/8 - 140.0.0.255/8 北京
140.0.1.0/8 - 140.0.1.255/8 上海
140.0.2.0/8 - 140.0.2.255/8 广州
140.0.3.0/8 - 140.0.3.255/8 深圳
现在我们使用VLSM技术的话,可以将其划分出一些子网网段进行资源的一个合理分配,让我们看下面两个网段:
140.1.0.0/16
140.2.0.0/16
这个和上面的网段看似不同,实际就是我们使用VLSM进行子网划分以后的结果,我们通过对主机位借位的方式,将前16位作为新IP的网段(网络号),通过这种方式,我们可以从之前的网段中分出140.0.0.0/16到140.255.0.0/16等256个新网段,这些网段就是上一个网段的子网段,通过这种形式,我们就可以对之前的网络进行重新划分,如下:
140.0.0.0/16 北京
140.1.0.0/16 上海
140.2.0.0/16 广州
140.3.0.0/16 深圳
......
以上,我们就可以将之前的网段进行一个更好的划分,满足了不同的地区对于网络的需求
那现在,北京地区已经拿到了属于自己的IP网段140.0.0.0/16,其中可用主机数为65534,那么北京地区的网络应该如何规划呢?这里我们可以继续使用VLSM对北京的网段进一步子网划分
140.0.0.0/24 朝阳区
140.0.1.0/24 海淀区
140.0.2.0/24 西城区
140.0.3.0/24 东城区
······
可以看出来,这里我们再次对主机位借了8位用作网络位,把北京的网段也划分为了256个子网,实现了北京不同城区的网络需求。
这里我们通过两次的主机借位,实现了一个A类网段的子网划分,这样的划分方式,不仅满足了不同地区对网络的需求,还可以让我们的子网划分具有很好的层次性。
理想条件下,如果全世界的IP地址按照VLSM进行重新划分,在国际层次上,可以极大的提高国际带宽。例如一个上面的规划,中国使用通过划分,很好的利用好140.0.0.0/16网段,别的国家也如此,相互之间的路由规则就会简单的多。但是由于ipv4的发布时间过早,全世界的网络分配相对杂乱,导致核心路由书写时非常的复杂。
接下来我们再进一步要求,当朝阳区拿到自己的网段后,朝阳区也需要分配IP地址给自己城区的不同街道或者社区,我们看看上面的网段140.0.0.0/24,前面的三个位置成网络位了,接下来怎么借位呢?
这里我们不能将思维局限在IP地址的十进制表示方式上,实际IP地址为一个32位的二进制数
| IP | 01001100.00000000.00000000.00000000 |
| 子网掩码 | 11111111.11111111.11111111.00000000 |
所以这里朝阳区的IP网段地址实际是这样:
01001100.00000000.00000000.0000000
(红色-->网络位 蓝色-->主机位)
前面我们一直用十进制表示IP,每借一次就借用了八个二进制位,所以到了这里我们若还要进行子网划分的话,就需要将这个网段拆分为二进制来进行借位划分。
但需要注意的是,当以十进制表示IP地址时,我们借一个数字位相当于借了8个二进制位,可划分出的子网段数为2^8=256个,但是当我们换成二进制数表达的时候,我们借一个二进制位只能划分出两个子网段。
如此一来,朝阳区的IP中还有最后8个位置属于主机位,接着我们再借4个位来进行子网划分:
A社区:01001100.00000000.00000000.0000 0000 /11111111.11111111.11111111.1111 0000
B社区:01001100.00000000.00000000.0001 0000 /11111111.11111111.11111111.1111 0000
C社区:01001100.00000000.00000000.0010 0000 /11111111.11111111.11111111.1111 0000
D社区:01001100.00000000.00000000.0011 0000 /11111111.11111111.11111111.1111 0000
·······
转为十进制表示:
A社区:140.0.0.0/28
B社区:140.0.0.16/28
C社区:140.0.0.32/28
D社区:140.0.0.48/28
这样一来就可以进一步对朝阳区的网段进行子网划分。但是需要注意的是,划分以后每个社区的网段只有4位主机位,所以每个社区的可用主机数量为:2^4-2=14台
可以看出,每次对网段的子网划分,划分出的子网中有两个地址是无法使用的(网段地址和广播地址),所以使用子网划分的话,会减少一个网段中的可用主机数量。
这里对上面内容总结一下:
- 在进行子网划分时候,我们只能动主机位
- 对十进制的子网进行划分时,每借一个数字位就等于借了8个二进制位
- 每个子网中需要注意,网段地址和广播地址是不可用的地址
- 一个网段的可划分子网段数:2^n(n=划分时借的主机位数)
- 子网可用主机数的计算方式:2^n-2(n=子网主机位数)
开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个网分成多个子网时有更大的灵活性。如果没有VLSM,一个子网掩码只能提供给一个网络。这样就限制了要求的子网数上的主机数。
一个子网划分习题
问:将20.1.1.0/24划分为四个子网,每个子网网段,广播地址、可用ip数量
这里为了简写,我们将前24位以十进制位形式书写
20.1.1.00 000000
20.1.1.00 111111
子网网段:20.1.1.0/26 广播地址:20.1.1.63/26
20.1.1. 01 000000
20.1.1. 01 111111 //64-127
网段:20.1.1.64/26 广播地址:20.1.1.127/26
20.1.1. 10 000000
20.1.1. 10 111111 //128-191
网段:20.1.1.128/26 广播地址:20.1.1.191/26
20.1.1. 11 000000
20.1.1. 11 111111 //192-255
网段:20.1.1.192/26 广播地址:20.1.1.255/26
每个子网可用的ip数量都为62(2^6 - 2)
/*主机位全置0为网段,主机位全置1为广播地址,除了网段和广播地址,其他皆为可用IP地址*/
网络学习day04_VLSM、子网划分的更多相关文章
- python全栈学习笔记(二)网络基础之子网划分
阅读目录 一.ip地址基本知识 1.1 ip地址的结构和分类 1.2 特殊ip地址 1.3 子网掩码 1.4 ip地址申请 二.子网划分 2.1 子网划分概念 2.2 c类子网划分初探 2.3 子网划 ...
- 【网络】IP子网划分详解
1.IP地址组成 IP地址组成示意图 IP地址由32位二进制组成,32位二进制分成了4字节,每字节8位,字节之间用符.(点)分隔,为了方便 ...
- 网络基础-- 之 子网划分 and 一些基础解释
子网划分的核心思想就是------ 借主机为为网络位 最近几天--看了一下今天就分享一波. 首先我们先来理解一下 ----- one. 进制的转换 ----- two. IP地址 -- ...
- 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105138313 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 如何对IP地址进行子网划分?
在网络行业,子网划分是必须掌握的的基础知识点,下图是IP地址分类: 子网划分主要掌握的是划分思路,接下来我以192.168.1.72/27的IP划分做为例子: CIDR:无类域间路由. 可以看出192 ...
- CCNA第三章子网划分,变长子网掩码(VLSM)和TCP/IP排错考试要点学习笔记
1. 子网划分的好处 缩减网络流量; 优化网络性能; 简化管理; 可以更为灵活地形成大覆盖范围的网络. 2. 如何创建子网的步骤 首先,确认所需要的网络ID数; 其次,确认每个子网中所 ...
- 网络基础之IP地址与子网划分
IP地址 Ipv4地址格式:点分十进制 IP地址的分类 A类 B类 C类: D类:组播 E类: 公共IP地址 私有IP地址 特殊地址 保留地址 子网掩码 什么是子网掩码 CIDR表示法 子网划分 为啥 ...
- IP2——IP地址和子网划分学习笔记之《子网掩码详解》
2018-05-04 16:21:21 在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...
- IP地址和子网划分学习笔记之《IP地址详解》
2018-05-03 18:47:37 在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...
随机推荐
- windows做代理服务器让内部linux上网
fiddler代理上网 1 下载安装:http://www.telerik.com/fiddl er 2 设置代理,如下图 3 代理服务器信息 代理服务器的IP : 10.1.44.11 代理服务器的 ...
- android H5支付 网络环境未能通过安全验证,请稍后再试
android做混合开发微信H5支付时碰到的一个问题. 解决办法:把所使用的WebView中重新如下方法即可 webView.setWebViewClient(new WebViewClient() ...
- Kafka 详解(三)------Producer生产者
在第一篇博客我们了解到一个kafka系统,通常是生产者Producer 将消息发送到 Broker,然后消费者 Consumer 去 Broker 获取,那么本篇博客我们来介绍什么是生产者Produc ...
- debug和release版本的区别
Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试. Debug模式下生成两个文件,除了 ...
- Scrapy命令行详解
官方文档:https://doc.scrapy.org/en/latest/ Global commands: startproject genspider settings runspider sh ...
- JS 优化条件语句的5个技巧
前言 在使用 JavaScript 的时候,有时我们会处理大量条件语句,这里有5个技巧帮助我们编写更简洁的条件语句. 一.对多个条件使用 Array.includes 例子: function con ...
- 2019微信公开课 同行With Us 听课笔记及演讲全文
[2019WeChat 微信公开课] 产品理念: 微信启动页 一个小人站在地球前面,每个人都有自己的理解和解读 所谓异类,表示与别人与众不同,即优秀的代名词. 微信的与众不同体现在尊重用户对产品的感受 ...
- IDEA设置本地maven仓库
IDEA设置本地maven仓库 1.下载apache-maven-3.3.9,解压 2.在系统”环境变量“,”系统变量“设置MVN_HOME,如图: 3.在PATH设置,如: %M2_HOME%\bi ...
- 进程初识和multiprocessing模块之Process
一.什么是进程 进程就是运行中的程序 进程是操作系统中最小的资源分配单位 进程与进程之间的关系 : 数据隔离的 进程的id:Process id = pid pid是一个全系统唯一的对某个进程的标识, ...
- Git冲突:You have not concluded your merge
You have not concluded your merge. (MERGE_HEAD exists) Git本地有修改如何强制更新 我尝试过用git pull -f,总是提示 You have ...