路由汇总实例

5.2.2.2 路由汇总策略

之前提到过,在网络管理员计划好子网选择并进行预期地路由汇总时,手动路由汇总工作能取得最佳效果。例如,之前的例子设定好了一个考虑周全的计划,管理员只使用远离Yosemite路由器并以10.2开头的子网。这个规定允许为所有地址以10.2开头的子网建立一条汇总路由,Yosemite通告该路由,描述为子网10.2.0.0,掩码255.255.0.0 。

虽然一些路由经过汇总能成为一条路由,但不一定就是“最佳”的汇总路由。当使用选择的汇总路由来配置时,“最佳”的意思是指,汇总不仅应该包含问题指定的全部子网,还要更可能少地包含其他地址。例如,在上面的例子中,Yosemite汇总4个子网(10.2.1.0、10.2.2.0、10.2.3.0和10.2.4.0,子网掩码全为255.255.255.0)到路由10.2.0.0/16。然而,该汇总路由包含了大量不在这4个子网中的IP 地址。路由汇总达到了网络设计的目标吗?当然是达到了。然而,定义的这条汇总路由包含了大量不在网络中的地址,而管理员想要配置最紧密、更简明、最概括的汇总路由,即汇总路由应包含所有子网和尽可能少的额外子网(这些子网还未分配)。本小节介绍用以找到这种简明的最佳汇总路由的策略。

以下列出了概括的双循环过程,用以为一组子网找到最佳汇总路由。

步骤1 用二进制列出所有需要汇总的子网号。

步骤2 从左向右观察子网号,找出子网号中相同的前N位。(目的是考虑相同的前半部分。)

步骤3 为了找到汇总路由器的子网号,应先写下步骤2 中相同的位,子网号的其余位用二进制的0补齐,然后将其转换为10进制,每8位一组,直至完成。

步骤4 为了找到汇总路由的子网掩码,写下N个二进制的1,N是步骤2中相同位的个数,掩码的其余位用二进制的0补齐,然后将其转换为10进制,每8位一组。

步骤5 通过计算新汇总路由暗含的可用IP地址范围,并比较汇总子网的范围,来检查你的设计。新的汇总路由应该包含汇总子网中所有的IP地址。

通过观察二进制的子网号,你能很容易地发现所有子网号中相同的位。通过使用最长个数的相同位,就可找到最佳汇总路由。下面用两个例子显示了使用这些步骤来寻找图5-1所示的最佳、更简明、最概括的路由的过程。

1.最好的汇总实例:Seville
Seville的子网有10.3.4.0、10.3.5.0、10.3.6.0和10.3.7.0,掩码均为255.255.255.0。首先用二进制记下全部子网号,如下所示。
 
步骤2要求你从全部子网号的开头处起,找到相同的位。甚至在观察子网号前,你就可能猜到这4个子网号的头两个字节是相同的。所以,快速浏览这4个子网号的前16位,确认是相同的,这就意味着相同的部分(步骤2)至少有16位。进一步观察,发现第3个字节中前6位也是相同的,但是第7位的值随着子网的不同而发生变化。所以这4个子网号的前22位是相同的。

步骤3使用子网号中相同的位,其余位用二进制的0补齐,就可为汇总路由创建一个子网号,如下所示。
 
步骤4将子网号中相同的位用二进制的1表示,即本例中的前22位,其余位用二进制的0表示,如下所示。
 

至此,最佳的汇总路由是10.3.4.0,掩码255.255.252.0。

步骤5介绍了一种检查方法。该汇总路由应当包含需汇总的路由中所有的IP地址。在此例中,汇总路由的地址范围从10.3.4.0开始。起始的有效地址为10.3.4.1,末尾的有效地址为10.3.7.254,广播地址为10.3.7.255。这样,该汇总路由包含了所汇总的4条路由中所有的IP地址,而不包含在这之外的IP地址。

2.最好的汇总实例:Yosemite
Yosemite的4个子网不能像Seville的子网那样进行有效的汇总。对Seville而言,汇总路由本身覆盖了4个子网的IP地址,但没有其他的地址。如你所见,Yosemite的最佳汇总路由包含的地址数量是原有的4个子网包含地址数量的两倍。
Yosemite的子网有10.2.1.0、10.2.2.0、10.2.3.0和10.2.4.0,掩码均为55.255.255.0。在步骤1中记下全部子网号,如下所示。
 
 

在步骤2,你可以发现4个子网号的前两个字节是相同的,再加上第3个字节的前5位,所以前21位是相同的。
步骤3使用子网号中相同的位,其余位用二进制的0补齐,就可为汇总路由创建一个子网号,如下所示。
 
 

步骤4将子网号中相同的位用二进制的1表示,即本例中的前21位,其余位用二进制的0表示,如下所示。
 
至此,最佳的汇总路由是10.2.0.0,掩码255.255.248.0。










本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/1186346,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《操作系统》OS学习(五):连续内存分配 内存碎片、动态分配、碎片整理、伙伴系统

内存碎片 在没有其他方式辅助的情况下,我们分配给一个进程的内存是连续的。在分配时候我们需要有动态分配与碎片处理。如何理解呢?就是每个进程需要一块内存,我们要选取合适的位置的内存分配给它。当有的进程先结束了内存还给操作系统&#…

世界之窗浏览器删除文本框信息_文本框——Excel里的便利贴

工作表里面的单元格应该是足够我们来记录数据和信息了。但是文本框这个功能在工作表中还是存在,可以理解为便利贴功能。插入文本框1.点击“插入”选项卡。2.然后点击“文本框”。3.在下拉菜单里面,有两种可供选择:横排文本框和垂直文本框。在…

RHEL 5服务篇—常用网络配置命令

常用网络配置命令 在“Linux系统管理”的文章中,大家已经学习了Linux系统的基本管理命令和技巧,为了进一步学习Linux网络服务打下了良好的基础。所以我作者以后将陆续推出Linux网络服务的相关文章。希望大家能给与我大大的支持。 今天我们就来学习一下…

清华大学《操作系统》(六):非连续内存分配 段式、页式、段页式存储管理

背景 连续内存分配给内存分配带来了很多不便,可能所有空闲片区大小都无法满足需求大小,这个分配就会失败。基于这种现状,就有了非连续内存分配的需求。非连续分配成功的几率更高,但也面对更多的问题,比如分配时是不是…

C语言第三次博客作业---单层循环结构

一、PTA实验作业。 题目1 1.实验代码 int n,i; double height1,height2;//1为输入身高&#xff0c;2为输出身高。 char sex; //1<height1<3; //N<1; scanf("%d",&n); while(n--){getchar();scanf("%c%lf",&sex,&height1);switch(sex)…

清华大学《操作系统》(七):虚拟存储、覆盖、交换

接下来几节都是对虚拟存储的讲解。虚拟存储是非连续存储管理的扩展。通过将内存中的数据暂存到外存的方式&#xff0c;为进程提供更大的内存空间。虚拟存储出现的主要原因是因为程序规模的增长速度远远大于存储器容量的增长速度&#xff0c;导致内存空间不够用。其实针对内存空…

遵义大数据中心项目工程概况_市委书记张新文到曹州云都大数据中心等项目现场调研建设情况...

4月25日&#xff0c;市委书记张新文到曹县调研重点项目建设情况&#xff0c;研究推进措施。市委常委、秘书长任仲义参加活动。张新文首先来到曹州云都大数据中心项目建设现场&#xff0c;查看项目推进情况。曹州云都大数据中心&#xff0c;是涵盖云计算区、研发办公区、公寓生活…

linux 可执行文件的分析(gcc GUN BUILEIN)

1、GCC The History of GCC 1984年&#xff0c;Richard Stallman发起了自由软件运动&#xff0c;GNU (Gnus Not Unix)项目应运而生&#xff0c;3年后&#xff0c;最初版的GCC横空出世&#xff0c;成为第一款可移植、可优化、支持ANSI C的开源C编译器。GCC最初的全名是GNU C Com…

Cassandra 的数据存储结构——本质是SortedMapRowKey, SortedMapColumnKey, ColumnValue

Cassandra 的数据存储结构 Cassandra 的数据模型是基于列族&#xff08;Column Family&#xff09;的四维或五维模型。它借鉴了 Amazon 的 Dynamo 和 Googles BigTable 的数据结构和功能特点&#xff0c;采用 Memtable 和 SSTable 的方式进行存储。在 Cassandra 写入数据之前&a…

清华大学《操作系统》(八):置换算法

功能&#xff1a;置换算法是指当出现缺页异常时&#xff0c;需要调入新页面而内存已满时&#xff0c;置换算法选择被置换的物理页面。 设计目标&#xff1a; 尽可能减少页面的调入调出次数&#xff1b;把未来不再访问或短期内不访问的页面调出。 页面锁定&#xff1a; 了解具…

烂泥:通过vsphere给esxi添加本地硬盘

公司ESXi服务器的硬盘空间不够使用&#xff0c;现在新加了一块硬盘在ESxi服务器上。在服务器上添加完硬盘后&#xff0c;在Vsphere上是看不到新加硬盘的。 下面我们来通过虚拟机模拟该情况&#xff0c;先添加一块硬盘。如下图&#xff1a; 在Esxi添加完硬盘后&#xff0c;现在通…

清华大学《操作系统》(九):进程和线程

进程 定义&#xff1a; 进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行的过程。 组成&#xff1a; 代码数据状态寄存器&#xff08;正在运行的一个程序的所有状态信息&#xff09;&#xff1a;CPU状态CP0、指令指针IP通用寄存器&#xff1a;AX、BX、CX…

开始Flask项目

1.新建Flask项目。2.设置调试模式。3.理解Flask项目主程序。4.使用装饰器&#xff0c;设置路径与函数之间的关系。5.使用Flask中render_template&#xff0c;用不同的路径&#xff0c;返回首页、登录员、注册页。6.用视图函数反转得到URL&#xff0c;{{url_for(‘login’)}}&am…

烂泥:mysql数据库使用的基本命令

1、连接数据库的格式 mysql -h IP -u用户名 -p密码; 1.1连接远程数据库 mysql -h 192.168.1.214 -uroot -p123456 也可写成&#xff1a; mysql -h 192.168.1.214 -u root -p 123456 1.2连接本地数据库 mysql -uroot -p123456 也可写成&#xff1a; mysql -u root -p 123456 2、…

《操作系统》OS学习(十):进程控制

进程切换&#xff08;上下文切换&#xff09;&#xff1a; 定义&#xff1a;暂停当前运行进程&#xff0c;从运行状态变成其他状态&#xff0c;调度另一个进程从就绪状态变成运行状态要求&#xff1a;切换前&#xff0c;保存进程上下文&#xff1b;切换后&#xff0c;恢复进程…

GCC 命令选项使用详解

GCC 命令行详解[转帖] 1、gcc包含的c/c编译器 gcc、cc、c、g gcc和cc是一样的&#xff0c;c和g是一样的&#xff0c;一般c程序就用gcc编译&#xff0c;c程序就用g编译 2、gcc的基本用法 gcc test.c这样将编译出一个名为a.out的程序 gcc test.c -o test这样将编译出一个名为t…

mvn 打包_Spark源码打包编译的过程

前言上篇文章介绍了下 安装sbt环境 启动scala项目安装SBT环境运行Scala项目为什么要弄这个 因为我本来是想对spark源码编译部署spark是用scala语言编译的spark源码https://gitee.com/pingfanrenbiji/sparkspark提供的编译方式编译的前提是将所有的依赖包都下载下来而资源包管理…

清华大学《操作系统》(十一):处理机调度

一、处理机调度概念 进程切换&#xff08;上下文切换&#xff09;&#xff1a;切换CPU的当前任务&#xff0c;从一个进程/线程到另一个&#xff0c;保存当前在PCB/TCB中的执行上下文&#xff0c;读取下一个的上下文 CPU调度&#xff1a;从就绪队列中挑选一个进程/线程作为CPU…

对称加密与非对称加密

&#xff08;一&#xff09;对称加密&#xff08;Symmetric Cryptography&#xff09; 对称加密是最快速、最简单的一种加密方式&#xff0c;加密&#xff08;encryption&#xff09;与解密&#xff08;decryption&#xff09;用的是同样的密钥&#xff08;secret key&#xff…

清华大学《操作系统》(十二):临界区与锁

多进程并发运行&#xff0c;导致多个进程间有资源共享&#xff0c;比如CPU、内存&#xff0c;因此存在不确定性和不可重现&#xff0c;可能导致多次运行结果不一致。因此操作系统需要利用同步机制在并发执行的同时&#xff0c;保证一些操作是原子操作。 互斥是指一个进程占用了…