计算机网络第四章(4)——网络层《无分类编址CIDR、路由聚合》
一、为什么有这玩意?这是啥?
简单说人话就是:
IPV4哪怕划分了子网,依旧要不够用了,全世界人口越来越多.......;IVP6有还没有发明好;所以【CIDR】就是介于原始IPV4 ~ IVP6之间过渡的一个技术,能够让IPV4互联网接着增长
二、怎么表示
说白了,就是跟【子网掩码】差不多
只不过不再分什么A、B、C、D、E类网址,统一用一个N位【网络前缀】固定死前N位,后面的32-N是可变的【主机位】
表示形式也基本一模一样.......
区别
- 首先就是,不用看【第一个字节】来区分是哪一类网络;
- 第二就是,【网络前缀】可以变化!!!!!
- 前面我们学传统IPV4的【网络前缀】包括【网络号 + 子网号】,一旦定下N位,子网掩码【位数】就只能N位,不可以再变
- 但是这里,当这 N 位【网络前缀】起初【不包含子网】的时候不给动,当往剩下的主机号里再去拆分k位作为【子网号】 后,【网络前缀】又可变成 N + k 位
例题
三、定长子网划分、变长子网划分
1、定长子网
就是我们前面学的【子网划分】:在N位主机号固定【借k位】作为【子网号】,每个子网的子网号一样,内可划分的【主机数量一样:2^(N-k) 】
(实际可分配的是:2^(N-k) - 2,不包括主机号全0、全1网址)
那么就不够灵活,导致IP地址利用率低
(比如:A公司研发部需要1千万个电脑、市场部只用1个电脑,但是各个部门的子网主机号都是一样多......)
例题
2、变长子网
1)概念
字面意思:各个子网的子网号可以不一样长,谁需要的主机多,子网号就占的少;反之,则子网号占得多一点
2)如何分配变长子网
结合王道的一个例子解释
大致的规律就是:
- 1、初始ip地址【网络前缀】不包含【子网号】,剩下的位全都是【主机号位】
- 2、然后从这些【主机号位】开始 ”借位“ 划分【子网】:
- 每次划分借【1位】作为子网号,那么可以选【0】或【1】作为当前这个子网的子网号最后一位,越往下借子网号,则子网号占位越多
- 比如例子里,第一个子网只有1位,选择【0】作为子网号最后一位
- 第二个子网有2位,上一个子网选剩的【1】作为子网号第一位、自己选择【0】作为子网号最后一位
- 以此类推,直到分到最后,主机号最少只剩【2位】为止,此时的【0】和【1】各自可组成2个子网的子网号最后一位
- 3、这就类似一个数据结构的二叉树,只有 “叶子节点”(绿色的) 才是【子网】!!!!
- 但是注意【高度】不可以超过【子网数量 - 1】!!!(因为一个子网最少要有【2位主机号】,如果只有1位主机号,那主机号0和1都代表特殊ip地址,不可以给主机分配)
- 【高度】就是【子网数量 - 1】,也就是【最小的子网的 “子网号位数”】(因为被分得子网号最多,主机范围最小,在“二叉树最下层”)
这样分完的子网,可以发现:
- 每一个子网的【子网号】都不一样长,所以不同的子网的【网络前缀长度】都不一样
- 像图例,“狗剩”主机的ip地址是:“128.14.32.153”,最后一个字节是【10011001】(所有子网前面3个字节都是一样,那就只用看最后一字节)
- 第一个子网最后字节是【10000000】,28位网络前缀,那么最后字节的【前4位】和【10011001】不一样,不属于一个子网
- 第二个子网最后字节是【10010000】,29位网络前缀,那么最后字节的【前4位】和【10011001】不一样,不属于一个子网
- 第三个子网最后字节是【10011000】,30位网络前缀,那么最后字节的【前4位】和【10011001】一样,属于一个子网,可以转发
例题
四、路由聚合
1)概念
简单说:就是因为路由表记录太多网络ip地址,路由表要爆了,所以就把多个【部分前缀一样】的网络ip地址————>合成一个【地址快】(也叫【聚合地址快】、【超网】)
2)实际路由如何解析【地址快】
那么实际【路由聚合】是应用于更外层的网络的转发路由器
可以发现下图,“咸鱼典型电信路由器”的网络里的3个子网地址,相对在“县里的路由器”眼里都是从【G1接口】进出,那他又何必再一条一条地检查对比同一个接口地3个地址?
所以“县里地路由器”就可以把3个ip地址前缀相同的话,就合并成一个【(超网)地址块】,只要符合这个【超网】的网络前缀的都从【G1接口】发出
而“咸鱼电信”的这个路由表,因为3个子网地址对应3个不同接口,所以还是要把ip地址针对路由表的3个具体子网地址一一进行对比,网络前缀相同的就从各自接口发出
3)最长前缀匹配原则
如果一个目的ip地址和路由表里多个地址都可以匹配,那么路由转发优先选择【前缀最长的】接口转发出去,因为【前缀越长,网络地址更具体】
;
例子:
那么假设现在上面例子里的“咸鱼电信的网络里”,“铁柱网吧”这个子网想直接连接“县里的电信路由器”,那么此时“县里的电信路由器”就多一个接口G3用于接“铁柱网吧”。那由于接口不一样,“铁柱网吧”的ip地址必须单独记录在路由表(而不是和G1接口进行路由聚合)
那此时对比这个路由表,会发现“铁柱网吧”的IP地址其实和整个路由表3个地址都匹配,那怎么办?————选择前缀最长的,也就是“铁柱网吧”自己本身的子网id地址
3)例题
4)结合前面学的【无分类编址CIDR】和【路由聚合】知识点一起
其中图中说【聚合C类网的数量】,你可以理解为:一开始128.14.35.7/20的【网络前缀】是【20位】,现在要你改成C类标准的网,那不就是向后面借【4位】,【网络前缀】变成【32位】,然后用这【4位】作为【定长子网划分】能分出 “几个子网”