一、引入

1.根据IP地址的类别进行IP地址分配的方法表现出越来越多的弊端

2.为了解决分类IP地址划分带来的地址浪费,就需要使用子网划分(Subnetting)的方法

3.VLSM和CIDR可以进一步提高地址利用效率,缓解地址数量不足的问题

二、子网划分的需求

1.早期的二级网络结构

2.大型机构的接入需求

3.分类IP地址的低效性

1)IP地址资源浪费严重

2)IP网络数量不敷使用

3)业务扩展缺乏灵活性

4)无法应对Internet的爆炸式增长

三、IP子网划分的基本知识

1.子网划分方法

1)子网划分前的两级IP地址

2)子网划分后的三级IP地址

2.ip地址与子网掩码

1)IP地址

2)子网掩码

3.默认掩码

A类地址默认掩码为255.0.0.0

B类地址默认掩码为255.255.0.0

C类地址默认掩码为255.255.255.0

4.示例:计算子网地址

子网掩码与IP地址进行逐位逻辑与运算获得网络地址

四、IP子网划分相关计算

1.计算子网内可用主机地址数

1)假设子网的主机号尾数为N,则可用地址数为2^n-2个

2)主机号全1位广播地址,主机号全0为网络地址

2.示例:计算子网内可用地址数

1)子网地址为192.168.3.192,子网掩码为255.255.255.224,计算该子网内的可用主机地址数量

3.根据主机地址数划分子网

4.示例:根据主机地址数划分子网

将B类网络168.195.0.0划分成若干子网,要求每个子网内可配备主机700台

5.根据子网掩码计算子网数

1)假设子网数位数为M,则子网数为2^M个

6.根据子网数划分子网

7.示例:根据子网数划分子网

将B类网络168.195.0.0划分为27个子网,每个子网包括尽可能多的主机

五、VLSM和CIDR

1.子网划分的局限性

1)无法实现把网络划分为不同大小的子网

2)常常会浪费许多主机地址

2.VLSM(Variable Length Subnet Mask,可变长子网掩码)

1)允许使用多个子网掩码划分子网

2)使组织的IP地址空间得到更有效的利用

3.internet面临的问题

1)随着Internet的成长,路由表迅速扩大

2)IPv4地址将很快耗尽

4.CIDR(Classless Inter-Domain Routing,无类域间路由)

1)消除了自然分类地址和子网划分的界限

2)将网络前缀相同的连接IP地址组成CIDR地址块

3)支持强化地址汇聚

5.无类域间路由斜线表示法

1)CIDR使用斜线表示法表示一个网络

斜线表示法采用IP地址后跟一个斜线“/”,斜线后是一个表示网络前缀长度的数值

六、总结

1.子网划分缓解了IP地址资源耗尽

2.进行子网规划时涉及多种计算

3.定长子网划分要求网络使用同一子网掩码

4.VLSM和CIDR可以更加有效地利用IP地址空间

第十六章 IP子网的划分的更多相关文章

  1. UNP学习笔记(第二十六章 线程)

    线程有时称为轻权进程(lightweight process) 同一进程内的所有线程共享相同的全局内存.这使得线程之间易于共享信息,然后这样也会带来同步的问题 同一进程内的所有线程处理共享全局变量外还 ...

  2. 《Linux命令行与shell脚本编程大全》 第十六章 学习笔记

    第十六章:创建函数 基本的脚本函数 创建函数 1.用function关键字,后面跟函数名 function name { commands } 2.函数名后面跟空圆括号,标明正在定义一个函数 name ...

  3. Gradle 1.12 翻译——第十六章. 使用文件

    有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...

  4. 第十六章——处理锁、阻塞和死锁(3)——使用SQLServer Profiler侦测死锁

    原文:第十六章--处理锁.阻塞和死锁(3)--使用SQLServer Profiler侦测死锁 前言: 作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用.此时,你需要尽快侦测 ...

  5. CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

    第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...

  6. Gradle 1.12用户指南翻译——第二十六章. War 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

  7. Gradle 1.12用户指南翻译——第三十六章. Sonar Runner 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  8. 《HTTP 权威指南》笔记:第十六章&第十七章 国际化、内容协商与转码

    <HTTP 权威指南>笔记:第十六章 国际化 客户端通过在请求报文中的 Accept-Language 首部和 Accept-Charset 首部来告知服务器:“我理解这些语言.”服务器通 ...

  9. “全栈2019”Java多线程第二十六章:同步方法生产者与消费者线程

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

随机推荐

  1. Java反序列漏洞

    序列化:WriteObject 反序列化:readObject() Jd-gui.exe 最简单的打开java文件方式 Intellij idea 编辑工具 演示案例: WebGoat_Javaweb ...

  2. threading之线程的开始,暂停和退出

    目录 背景 实现代码 背景 利用多线程实现一个开关功能,需要对产生的线程进行管理(例如:开启,暂停,关闭等操作). 实现代码 任务脚本: #!/usr/bin/python3 # _*_ coding ...

  3. hystrix熔断器之线程池

    隔离 Hystrix有两种隔离方式:信号量和线程池. 线程池隔离:对每个command创建一个自己的线程池,执行调用.通过线程池隔离来保证不同调用不会相互干扰和每一个调用的并发限制. 信号量隔热:对每 ...

  4. 虚拟机堆(Heap)的基础知识

    概述 一个进程对应一个JVM实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器.本地方法栈和虚拟机栈 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核 ...

  5. Redis中的订阅模式

    redis中的客户端可以订阅一个自定义的频道,接受来自该频道的消息 订阅 订阅指定频道-SUBSCRIBE SUBSCRIBE channel [channel2]... SUBSCRIBE 频道名 ...

  6. shiro 退出过滤器 logout ---退出清除HTTPSession数据

    重写LogouFilter类 import org.apache.shiro.web.filter.authc.LogoutFilter; public class ShiroLogoutFilter ...

  7. python一些小trick

    数据去重 lst = ['1','2','3','3'] lst = list(set(lst)) 不同根目录下引用另一个库 例如 |--a--a.py |--b--b.py 在b.py中调用库a.p ...

  8. python类中的__init__和__new__方法

    Python中类: Python中在创建类的过程中最先调用的不是__init__方法而是__new__方法,__new__方法是一个静态方法,在创建一个类对象时其实是通过__new__方法首先创建出一 ...

  9. vue下history模式刷新后404错误解决

    官方说明文档: https://router.vuejs.org/zh/g... 一. 实测 Linux 系统 Apache 配置: 更改站点配置文件即可,我这里在 Directory 标签后面添加了 ...

  10. 单元测试框架怎么搭?快来看看新版Junit5的这些神奇之处吧!

    为什么使用JUnit5 JUnit4被广泛使用,但是许多场景下使用起来语法较为繁琐,JUnit5中支持lambda表达式,语法简单且代码不冗余. JUnit5易扩展,包容性强,可以接入其他的测试引擎. ...