一、引入

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. CentOS 7安装SeaweedFS

    1.从GitHub下载编译好的SeaweedFS 地址:https://github.com/chrislusf/seaweedfs/releases 选择linux_amd64.tar.gz的压缩包 ...

  2. 再见了SpringMVC!这个框架有点厉害,甚至干掉了Servlet!

    # 前言 对 Java 开发者来说, Spring 发布 5.0 正式版,而新版 Spring 的一大特色,就是 Reactive Web 方案 Web Flux,这是用来替代 Spring Web ...

  3. Kubernetes K8S之Ingress详解与示例

    K8S之Ingress概述与说明,并详解Ingress常用示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...

  4. Flutter集成环信IM,发送图片之后渲染conversation.loadMoreMsgFromDB报path为空

    这时会报错,结果如下: 只需在em_message_body下修改如图path为空即可

  5. 深入理解TypeScript——第一章:上手篇

    怎么定义TypeScript呢? TypeScript是一个工具 是一个编译器 编译代码 TypeScript,通过它的能力,默认使用tsc命令,可以根据.ts为后缀名的文件生成一个新的js文件 2. ...

  6. Oracle 中 Start With 关键字

    Start With (树查询) 基本语法如下: SELECT ... FROM + 表名 WHERE + 条件3 START WITH + 条件1 CONNECT BY PRIOR + 条件2 -- ...

  7. 基础Web漏洞-SQL注入入门(手工注入篇)

    一.什么是SQL注入  SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...

  8. Oracle 11gR2

    OracleOraDb11g_home1TNSListener #其它客服端连接需要开启服务,如不开启,本机连接可以直接使用sqlplus OracleServiceORCL #实例SID服务  sq ...

  9. @DependsOn注解的使用

    如果Bean A 在创建前需要先创建BeanB此时就可以使用DependsOn注解 @Configuration public class MyConfig { @Bean @DependsOn(&q ...

  10. Python练习题 040:Project Euler 012:有超过500个因子的三角形数

    本题来自 Project Euler 第12题:https://projecteuler.net/problem=12 # Project Euler: Problem 12: Highly divi ...