网络工程师
# 网络工程师笔记
# 1. 计算机硬件基础
# 1.1. 数据的表示
# 1.1.1. R进制(逢R进一)
二进制转10进制:
例:
位权展开:
# 1.1.2. 二进制,八进制,十六进制互转
二进制转八进制:从右往左起,每三位 二进制 转一位八进制。不足三位的在最左边加0补齐。
八转二:对每一位八进制数转换为三位二进制表示。
二进制转十六进制:从右往左起,每四位 二进制 转一位十六进制。不足四位的在最左边加0补齐。
十六转二:对每一位十六进制数转换为四位二进制表示。
例:
十进制0.25转二进制0.01,转十六进制,小数从左至右每四位一组,后面补00,为0.4。
# 1.1.3. 原码,反码,补码
原码:最高位为符号位,0表示正数,1表示复数。其中数值0有+0与-0之分。其数值范围
反码:正数的反码与原码相同;负数符号位不变,其余位取反。数值0有两种表示方式。数值范围
补码:正数的补码与原码相同;负数的补码在反码基础上加1。数值0只有一种表示法,即:0000 0000。数值范围
移码:在补码基础上符号位取反,数值0只有一种表示法,即:1000 0000。
# 1.2. 逻辑运算
与运算(&):参加运算的两个数据,按二进制位进行 “与” 运算。 运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1;
或运算(|):参加运算的两个对象,按二进制位进行 ”或“ 运算。运算规则: 0|0 = 0; 0|1 = 1; 1|0 = 1; 1|1 = 1;
非运算:():参加运算的两个对象,按二进制位进行 “非” 运算。运算规则: 0=1 “非'0 等于 1; 1 =0 “非“1 等于 0
异或运算(^):参加运算的两个数据,按二进制位进行 “异或“ 运算。同为0异为1;
# 1.3. 计算机结构
CPU由运算器、控制器和寄存器组成。
总线:包括数据总线,地址总线,控制总线。总线分别传递对应的信息。
运算器:完成算术运算、逻辑运算和移位操作。主要部件算术逻辑单元(ALU)、累加器、标志寄存器、寄存器组、多路转换器和数据总线。
累加寄存器AC:暂存中间的结果。
控制器:实现指令读入、寄存、译码和执行过程有序的发出控制信号。主要部件:程序计数器PC、指令寄存器、指令译码器、时序产生器和信号发生器组成。
程序计数器PC:保存指令所在的地址。
寄存器:暂存寻址和计算过程的信息。通常分为数据寄存器、地址寄存器、状态寄存器、控制寄存器。
# 1.4. 指令系统基础-寻址方式
指令由操作码和操作数(地址码)组成。指令长度分为固定长度和可变长度两种。
- 操作码:要做什么样的操作,加减乘除。
- 地址码:操作数的地址。
寻址方式:寻找操作数的方式。
立即寻址:指令的地址码字段给出的不是操作数的地址而是操作数本身。其特点是访问一次存储器就可同时取出指令和操作数。
直接寻址(寄存器寻址):指令的地址码字段给出操作数所在存储单元地址(寄存器号)。
变址寻址:操作数的地址由某个变址寄存器的内容和位移量相加。
间接寻址(寄存器间接寻址):操作数的地址是主存(寄存器)中的存储单元的内容。
相对寻址:操作数的地址由指令寄存器的内容与位移量相加。
# 1.5. CISC(复杂指令计算机)和RISC(简单指令计算机)
复杂指令计算机CISC:
指令采用可变长指令格式,指令系统丰富,使用频率差别大,处理特殊任务效率高。
支持更多的数据类型和寻址方式。
指令系统对应的控制信号复杂,大多采用微程序控制方式。
高级语言实现简单,效率高
简单指令计算机RISC
采取定长指令格式,精简指令数量,使用频率接近。
采用寄存器操作,寻址方式少。
大部分指令都采用硬联控制实现。
优化编译程序来支持高级程序语言,需要较大的存储空间
# 1.6. 流水线
将一个操作分为多个可独立处理的子操作(如取指令、译码、取操作数、执行),每个子操作在一个专门的硬件站上执行,这样一个操作需要流水线上多个站的处理才能完成。
流水线执行时间:
最后的
# 6.1.1. 流水线-技术指标
吞吐率:
为指令集数, 为流水线时间。理论最大吞吐率:
为流水线周期。加速比:
不使用流水线执行所需的时间。 为流水线时间。效率:工作部件/总工作部件,具体需要看时间。
# 1.7. 存储系统
根据存储器在计算机系统中所起的作用,可分为主存储器(内存), 辅助存储器(外存),高速缓冲存储器(Cache),控制存储器等。为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储结构,即使用高速缓冲存储器、主存储器和外存储器。
# 1.7.1. 存储器的储存方式
顺序存取(磁带)直接存取(硬盘)随机存取(内存)相关存取(Cache)
# 1.7.2. 主存储器
主存储器又称内存或主存,由一片或多片存储芯片配以控制电路组成的。
按照存取方式分类,可分为随机存储器RAM(断电数据丢失,如内存)、只读存储器ROM(断电数据不丢失) 主存储器(内存)采用随机存取方式,需要对每个存储单元进行编址。
存储器总容量:
W:储存单元(word)的数量。
B:每个 word 由多少位(bit)组成。
主存储器(内存)采用随机存取方式,需要对每个存储单元进行编址。通常以word为单位进行标识,即每一个字一个地址,通常采用16进制表示。
存储容量相关术语:
位:用 bit 表示。— 个二进制表示1个bit。 字节:用 B 表示。Byte。1B = 8bit。 字: 表示CPU—次处理的二进制位数,通常为字节的整数倍。对应的字节长有: 8/16/32/64bit。
# 1.7.3. 高速缓冲存储器(Cache)
高速存取指令和数据,存取速度快,但存储容量小。高速缓存是为了解决CPU 和主存速率不匹配,提高CPU 工作效率。
命中率:访问信息的概率。
例:假如执行过程中对Cache的访问次数为
平均存取时间:Cache的访问周期时间是T1、主存储器的访问周期时间是T2、命中率为H、则平均存取时间为:
Cache 映射机制:直接映射、全相联映射、组相联映射 Cache 淘汰算法:先进先出算法(FIFO)、最近最少使用算法、随机算法
# 1.7.4. 外存储器
外存/辅存,存放系统程序和大型数据文件及数据库,存储容量大,存取速度慢,单位成本低。
# 1.8. 磁盘阵列(RAID)
RAID 0:需要两块以上磁盘,每个磁盘划分不同的区块,数据采用交叉存取和井行传输。这种磁盘利用率高(100%),读写速度最快,但由于没有数据差错控制,因此很容易发生数据错误。
RAID 1:磁盘成对组成,每个工作磁盘均有对应的映射,上面保存着与工作盘完全相同的数据,具有最高的安全性,但磁盘利用率为50%。
RAID 3:把奇偶校验码(只能查错不能纠错) 存在—个独立的磁盘,如果— 个磁盘失效,其上的数据可以通过其他盘上数据进行异或运算得到,读盘速度快,但写入速度慢。适用于图像处理等要求高吞吐率的场合,磁盘利用率:
RAID 5:各块磁盘进行条带化分割,相同的条带进行分布式奇偶校验,检验数据平均分配在每—块硬盘上。磁盘利用率:
RAID 6:存在两组独立的分散在不同条带上的校验数据 允许两块数据盘故障,并可通过校验数据计算得到故障硬盘中的数据。磁盘利用率:
组合RAID 技术(RAID10):RAID1+0 以及 RAID 0+1, 是RAID 0 与 RAID 1 组合形式,它提供 RAID 1 的安全保障同时提供 RAID 0 近似的访问速度。RAID 1+0 拥有更高的数据安全性在企业中更常使用。磁盘利用率为50%。允许坏盘数量为n/2。
# 1.8.1. RAID2.0
传统RAID是基于一块块硬盘来做RAID,现在的硬盘存储空间多则10T,这要是坏了一块,重构10T的数据耗时不说,还影响同RAID组中其他硬盘的工作效率。这时RAID2.0诞生了。
RAID2.0不再以硬盘为单位做RAID,而是先将同RAID组中的所有硬盘切块,基于块来构建RAID组。
RAID2.0+底层是RAID2.0,但是上层(LUN层)又做了精细化分。原理如下:
大致可以看到,底层先对硬盘切条形成CK,把各个硬盘(必须是同一类型的硬盘)的条放在一起形成CKG。再对CKG横向切割(为了让数据分散到每一块硬盘中,纵向是相同硬盘,横向是不同硬盘)。再把切割完的数据块组成Extent,把多个Extent组成LUN,最后映射给主机使用。
同时可以看到热备盘也由原来的一块实体盘改成了由多个不同硬盘组成的块来充当热备盘。
RAID2.0优势:
- 自动负载均衡。降低存储系统整体故障率。
- 快速精简重构。降低了双盘失效率和数据丢失风险。
- 故障自检自愈。保障系统可靠性。
- 虚拟池化设计。降低存储规划管理难度。
# 1.9. 系统可靠性
串联系统:比如CPU无法正常工作了,那么内存也是无法正常工作,这个就叫做串联系统。
串联系统的可靠性:
其中
并行系统:有几条内存同时工作,这个就叫做并行系统。
并行系统的可靠性:
# 2. 操作系统概述
# 2.1. 程序设计语言
机器语言
汇编语言
高级语言
编译语言
翻译语言
4GL语言
# 2.2. 进程管理-进程的状态
# 2.3. 进程管理-死锁问题
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一个可能发生的事,那进程就死锁了。
而如果一个或多个进程产生死锁,就会造成系统死锁。
# 2.3.1. 产生死锁的必要条件
- 互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。
- 请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。
- 不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。
- 环路等待条件:在发生死锁时,必然存在一个进程–资源的环形链。(你等我我等你)
# 2.3.2. 死锁预防
- 资源一次性分配:一次性分配所有资源,这样就不会再有请求了:(破坏请求条件)
- 只要有一个资源得不到分配,也不给这个进程分配其他的资源:(破坏请保持条件)
- 可剥夺资源:即当某进程获得了部分资源,但得不到其它资源,则释放已占有的资源(破坏不可剥夺条件)
- 资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件)
# 2.4. 进程管理-银行家算法
银行家算法:分配资源的原则
- 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
- 进程可以分期请求资源,但请求的总数不能超过最大需求量。
- 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
# 2.5. 进程管理-进程的互斥与同步
# 2.6. 进程管理-PV操作
临界区:每个进程中访问临界资源的那段代码称为临界区。
信号量:是一种特殊的变量。
互斥信号量
同步信号量
PV操作:解决互斥和同步的问题。
PV操作是分开来看的:
P操作:使
V操作:使
# 2.7. 存储管理
# 2.7.1. 页式存储
基本原理: 将各进程的虚拟空间划分为若干个长度相等的页, 把内存空间与页相等的大小划分为大小相等的片或页面, 采用请求调页或预调页技术实现内外存的统—管理。 优点: 利用率高, 产生内存碎片小, 内存空间分配及管理简单。
缺点:要有相应的硬件支持, 增加了系统开销; 若请求调页的算法选择不当, 则可能产生”抖动“ 现象。
页表:分成了页号和页内地址两块。页面大小为:4KB
# 2.7.2. 页面置换算法
在进程运行的过程中,若其访问的页面不存在内存中,则会产生缺页中断。如果此时内存中没有空闲的页面,操作系统就需要在内存中选择一个页面将其移出,从而可以将需要访问的页面调入内存中。而用来选择淘汰哪一页的算法就叫做页面置换算法。
# OPT(最佳置换算法)
最佳置换算法:每次选择淘汰的页面将是以后永不使用或者最长时间内不在被访问的页面。这样可以保证最低的缺页率。
例如:假如操作系统给进程分配了3个内存块,并且该进程接下来会依次访问7,5,2,3,6,2,7,1,6,7,2,3,7,2,7。
如图所示,在第4步中,需要把3号页面调入内存,此时内存已经满了,所以需要从7,5,2中选择一个页面进行淘汰。按照最佳置换算法规则,往后寻找,此时2和7会被先后访问,所以把5号页面淘汰,即最长时间内不在被访问的页面。
# FIFO(先进先出算法)
FIFO算法是最简单的页面置换算法。顾名思义,FIFO每次淘汰的页面是最早进入内存的页面。FIFO的实现方法是把调入内存的页面按先后顺序放入队列中,当需要置换页面时,选择队头的页面即可。
例如:假如操作系统给进程分配了3个内存块,并且该进程接下来会依次访问7,5,2,3,6,2,7,1,6,7,2,3,7,2,7。页面在内存中的表现如下所示:
# LRU(最近最久未使用算法)
LRU(Least Recently Used),每次淘汰的页面是最近最久未使用的页面。所以需要去记录该页面上次被访问以来所经历的时间t。当需要淘汰页面时,选择内存中现有页面中t最大的,即最近最久未使用的页面。
如:假如操作系统给进程分配了3个内存块,并且该进程接下来会依次访问7,5,2,3,6,2,7,1,6,7,2,3,7,2,7。页面在内存中的表现如下所示:
# LFU(最近最少使用算法)
LFU(最近最少使用算法),它是基于"如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小“的思路。注意LFU和LRU算法的不同之处,LRU的淘汰规则是基于访问时间,而LFU是基于访问次数的。
如:假如操作系统给进程分配了3个内存块,并且该进程接下来会依次访问5,4,5,3,3、2、5、1、4。页面在内存中的表现如下所示:
如图所示,在第八步中需要把1号页面调入内存,而此时内存已满,需要从5、2、3中选择一个页面进行淘汰。按照LFU规则,2号页面最近一段时间内使用次数为1,它是最小的。所以把2号页面淘汰出去。
# 2.7.3. 文件管理
# 树形目录结构
树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。
绝对路径:完整的描述文件位置的路径就是绝对路径。
相对路径: 所谓相对路径,顾名思义就是自己相对目标的位置,不论将这些文件放到哪里,只要他们的相对关系没变, 就不会出错。
# 2.7.4. 设备管理
# 数据传输控制方式
按照 I/O 控制功能的强弱,以及和CPU之间联系方式的不同,可把I/O 设备的数据传输方式分为4种:
- 程序直接控制方式( 查询控制方式)
- 中断控制方式
- DMA方式
- 通道方式
程序控制方式:在程序的主动控制下,通过读取状态寄存器了解接口的清况,完成相应的程序操作。为了及时了解接口的状态,需要时间密集的查询操作。CPU 效率低。
中断控制方式:当接口出现需要程序干预的事件,通过中断通知CPU , CPU 再读取状态寄存器,确定事件的种类,以便执行不同的代码处理。CPU 效率高而且及时。
DMA(Direct Memory Access)控制方式:CPU与接口的数据传送采用DMA 传送,即传送的具体过程由硬件( DMA控制器)完成,传送速度比通过CPU 快,尤其是在批量传送时效率很高。
# 3. 系统开发与项目管理基础
# 3.1. 软件生命周期
软件产品从计划到软件交付使用, 直到最终退出为止的过程。包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试及维护阶段。
# 3.2. 软件开发模型
分为 瀑布模型、螺旋模型、喷泉模型、原型化模型、演化模型
瀑布模型:严格遵循软件生命周期各阶段的固定顺序, —个阶段完成再进入另一阶段, 适用于结构化开发方法。 瀑布模型分为以下几个阶段: 软件计划、需求分析、软件设计、程序编码、软件测试、运行维护 瀑布模型的优点:
- 为项目提供按阶段划分的检查点。
- 当前阶段完成后, 只需关注后续阶段
- 可在迭代模型中应用瀑布模型
- 适用于大规模系统项目
瀑布模型的缺点:
各阶段划分完全固定, 阶段之间产生大量文档, 增加了工作量。
用户直到工程末期才能见到开发成果, 增加了开发风险。
不适应用户需求变化。
原型化模型:开发人员对用户提出问题进行总结, 就主要需求达成—致意见, 开发—个原型并运行, 然后对原型进行反复修改, 使之完善。衡量原型化模型开发人员能力标准是快速获取需求能力。
优点: 用户需求清楚, 降低开发风险与成本用户参与决策, 减少项目管理, 要求完整的生命周期 缺点: 不适用大型系统, 系统难于维护。
演化模型:根据用户需求, 快速分析构造该软件的—个初始版本, 称之为原型, 根据用户在使用原型过程中提出的建议改进原型, 获得原型的新版本, 重复这一过程, 使用户最终获得满意的软件产品。
螺旋模型:将瀑布模型和原型模型结合, 强调了其它模型所忽略的风险分析, 适合大型复杂系统。 优点: 支持用户需求的动态变化, 降低风险。 缺点: 增加开发成本
喷泉模型:主要用于描述面向对象的开发过程, 核心的特点是迭代。所有开发活动没有明显边界, 允许各种开发活动交叉进行。
# 3.3. 软件测试
别名 | 测试阶段 | 测试对象 | 测试人员 | 测试依据 | 测试方法 | |
---|---|---|---|---|---|---|
单元测试(UT) | 组件测试/模块测试 | 在编码之后进行,检验代码的正确性 | 模块、类、函数和对象也可能是更小的单元(如:一行代码,一个单词) | 白盒测试工程师或开发人员 | 依据代码、详细设计文档来进行测试 | 白盒测试 |
集成测试(IT) | 组装测试/联合测试 | 单元测试之后,检验模块间接口的正确性 | 模块间的接口 | 白盒测试工程师或开发人员 | 单元测试的文档、概要设计文档 | 黑盒测试+白盒测试 |
系统测试(ST) | 集成测试之后 | 整个系统(软件、硬件) | 黑盒测试工程师 | 需求规格说明书 | 黑盒测试 | |
验收测试 | 交付测试 | 系统测试通过后 | 整个系统(软件、硬件) | 最终用户或需求方 | 用户需求、验收标准 | 黑盒测试 |
白盒测试:需要了解程序内部结构,测试用例是根据程序内部逻辑来设计。白盒测试用于软件的单元测试。
黑盒测试:对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试不关心内部逻辑结构,只根据程序的功能说明来设计测试用例。黑盒测试用于软件的功能测试。
灰盒测试:关注输出对于输入的正确性,同时也关注内部表现,但不像白盒那样详细完整。
测试的步骤:单元测试、集成测试、系统测试、验收测试
# 3.4. 项目管理
项目管理可分为九大类,分别是:范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,风险管理,采购管理,整体管理。
# 3.4.1. 时间管理
甘特图:用水平线段表示任务的工作阶段;线段的起点和终点对应任务的开始和完成;线段的长度表示完成任务所需时间。
相关计算:
松弛时间:关键路径所需时间 - 从节点开始到项目完成时间或该节点最晚开始时间- 最早开始时间
最晚开始时间:关键路径用时 - 该节点到项目完成用时。
最早开始时间:项目开始到该节点需要的最长时间。
关键路径:所有路径所需时间最长的路径为关键路径,也可以理解为松弛时间为 0 的任务构成了完成整个工程的关键路径。
甘特图优点: 清晰的描述每个任务从何时开始到何时结束以及各任务之间的井行性。 甘特图缺点:不能反映任务之间的依赖关系,难以确定任务关键所在,也不能反映任务中有潜力部分。
# 4. 知识产权
知识产权( intellectual property ) , 也称知识所属权, 是指权利人对其智力劳动所创作的成果和经营活动中的标记、信誉所依法享有的专有权利。 知识产权是一种无形财产, 具有专有性、时间性和地域性的特点, 且大部分知识产权的获得需要法定的程序。知识产权有两类: 著作权和工业产权。
# 4.1. 知识产权涉及的内容
知识产权的分类:著作权和工业产权及其所包含的权力种类。 所涉及的法律法规: 《中华人民共和国著作权法》《计算机软件保护条例》《中华人民共和国商标法》《中华人民共和国专利法》《中华人民共和国反不正当竞争法》 往年考试设涉及考点: 保护期限、知识产权人确定、侵权判断
客体类型 | 权力类型 | 保护期限 |
---|---|---|
公民作品 | 署名权、修改权、保护作品完整权 | 没有限制 |
发表权、使用权、获得报酬权 | 作者终身机器死亡后的五十年。 | |
单位作品 | 发表权、使用权、获得报酬权 | 首次发表后五十年, 若期间未发表, 不保护。 |
公民软件作品 | 署名权、修改权 | 没有限制 |
发表权、复制权、发行权、出租权、信息网络传播权 | 作者终身机器死亡后的五十年, 合作开发, 以最后死亡作者为准。 | |
翻译权、使用许可权、获得报酬权、转让权 | ||
单位软件作品 | 发表权、复制权、发行权、出租权、信息网络传播权 | 首次发表后五十年, 若期间未发表, 不保护。 |
注册商标 | 有效期十年( 注册人死亡或倒闭一年后可注销, 期满6个月内必须续注) | |
发明专利权 | 保护期二十年( 自申请之日起) | |
实用新型和外观设计专利权 | 保护期十年( 自申请之日起) | |
商业秘密 | 不确定, 公开后公众可用 |
# 4.2. 著作权
作者对其创作的作品享有的人身权和财产权自软件开发完成之日起保护期为50 年期满后,除人身权外其他权利终止。分为著作人格权与著作财产权。 人格权包括: 署名权、发表权、修改权和保护作品完整权 财产权包括: 发行权、出租权、展览权、表演权和信息网络传播权 合理使用是指可不经著作权人许可, 也无需支付报酬, 使用其作品。 公民作品保护期限为作者终身及死后50 年, 合作的作品, 以最后—名作者死亡为准。
著作权归属:
- 职务开发软件著作权归单位。包括: 本职工作明确的开发目标或从事本职工作活动的结果。
- 利用单位资金、专用设备、未公开的信息等物质技术条件, 并由单位承担责任的软件, 著作权归单位。
- 合作开发软件著作权—般为共同所有, 如果有软件著作权协议, 按协议确定著作权归属。
- 委托开发的软件, 著作权归属由委托人和受托人通过合同约定, 如果未明确, 著作权归属受托人。
- 接受任务开发的软件, 著作权归属在合同中明确约定的—方, 未明确的, 属于软件开发单位。
- 只进行组织、提供咨询意见、物质条件或其他辅助工作不享有著作权。
侵权判定:
- 中国公民、法人和组织的作品, 不论发表是否发表均享有著作权。
- 开发软件所用思想、处理过程、操作方法及数学概念不受保护。
- 法规、决定、命令、立法文件、官方译文、新闻和通用数表不受保护。
以下属于合理使用:
- 个人学习、研究或欣赏, 适当引用不构成侵权。
- 为介绍、评论某—作品或说明某—问题, 在作品中适当引用他人已发表的作品。
- 公开演讲内容、免费表演他人作品、不够成侵权。
- 用户教学或科学研究不构成侵权。
- 将汉语译成少数民族语言作品或盲文出版不构成侵权。
# 4.3. 专利权
由国务院相关部门授予的, 对发明创造者在规定的时间内享有的独占使用权。 发明专利的保护时限为自申请日起 20 年, 实用新型专利和外观设计专利为自申请日起 10 年。 两个以上申请人分别对同样的发明创造申请专利, 专利权授予最先申请的人。同时申请专利,在收到国务院专利行政部门通知后, 自行协商确定申请人,协商不成的均予以驳回。同样的发明创造,只能授予—项专利。
强制实施许可: 法律规定不经专利权人许可而实施专利权人之专利的不构成侵权。
下列情况专利权归属单位:
- 履行本单位交付的本职工作外的任务所作出的发明。
- 离职、退休或调动工作1年后与原单位相关的发明。
- 职务发明创造。
- 利用本单位的物质技术条件完成发明创造,其专利权依据合同约定。
# 5. 数据通信基础
# 5.1. 数据通信系统的模型
# 5.1.1. 通信术语
模拟信号:是在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。
数字信号:是信息用若干个明确定义的离散值表示的时间离散信号。
码元:单位时间内信号波形的变换次数。
# 5.1.2. 数据通信系统的模型
奈奎斯特定理(在无噪声干扰的信道上传输) 数据速率:
极限数据速率
香农定理(在有噪声干扰的信道上传输) 数据速率:
使用香农定理时,由于
分贝与信噪比的关系:
例如,当
# 5.2. 调制技术-模拟信道传送数字数据
调制技术 | 说明 | 码元种类 | 比特位 | 特点 |
---|---|---|---|---|
ASK(幅移键控) | 用恒定的载波振幅值表示一个数,(通常是1),无载波表示另一个数。 | 2 | 1 | 实现简单,但抗干扰性差,效率低(典型数据率为1200bps) |
FSK(频移键控) | 由载波频率( | 2 | 1 | 抗干扰性较ASK更强,但占用带宽较大,(典型数据率为1200bps) |
PSK(相移键控) | 用载波的相位偏移来表示数据值 | 2 | 2 | 抗干扰性最好,而且相位的变化可以作为定时信息来同步时钟。 |
4DPSK | 四差分相移键控 | 4 | 2 | 每90 °表示一种状态。 |
QPSK | 正交相移键控 | 4 | 2 | 每90 °表示一种状态。 |
MQAM | 正交幅度调制 | 相位和幅度联合键控的调制方式。 |
# 5.3. 调制技术-数字信道传送模拟数据
PCM脉冲编码调制技术:采样,量化和编码。
采样:每隔一定的时间间隔,取模拟信号的当前值作为样本。(奈奎斯特采样定律:采样频率大于模拟信号的最高频率的2倍)
量化:用多少位的二进制值来表示这个样本。
编码:把各个样本串接起来,用编码。
# 5.4. 数字编码与编码效率-基本编码
单极性码:只有一个极性,正电平为0,零电平为1 ;
极性码:两个极性,正电平为0,负电平为1 ;
双极性码:零电平为0,正负电平交替翻转表示1,这种编码不能定时,需要引入时钟。
归零码:码元中间信号回归到零电平,正电平到零电平转换边为0,负电平到零电平的转换边为1 。这种码元自定时。
不归零码:码元中间信号不归零,1 表示电平翻转,0 不翻转。
双相码:低到高表示0,高到底表示1。这种编码抗干扰性好,实现自同步。
曼彻斯特码:低到高表示0,高到低表示1。相反亦可。码元中间电平转换既表示数据,又做定时信号。用于以太网编码,常用于10M以太网,编码效率为50%。
差分曼彻斯特码:比较始末电平。下一个起始电平与上一个终止电平一样表示1,反之表示0。编码效率为50%。
# 5.5. 数字编码与编码效率
编码方案 | 说明 | 效率 | 典型应用 |
---|---|---|---|
4B/5B | 每次对4位数据进行编码,将其转化为5位符号 | 1.25波特/位,即80% | 百兆以太网,如100Base-FX,100Base-TX,FDDI |
8B/10B | 每次对8位数据进行编码,将其转化为10位符号 | 1.25波特/位,即80% | 千兆以太网 |
8B/6T | 8bit映射为6个三进制位 | 0.75波特/位 | 100Base-T4 |
# 5.6. 复用技术
多路复用技术是把多个低速信道组合成一个高速信道的技术。它可以有效地提高数据链路的利用率,从而使得一条高速的主干链路同时为多条低速的接入链路提供服务,也就是使得网络干线可以同时运载大量的语音和数据传输。
空分复用(SDM):让同一个频段在不同的空间内得到重复利用,称之为空分复用,比如在卫星通信中就使用该技术。
频分多路复用(FDM):在同一物理连接上使用多个不同频率的模拟载波信号进行多路传输。
时分多路复用(TDM):在同—物理连接的不同时段来传输不同的信号。
波分多路复用(WDM): 在同—根光纤中同时传输两个或众多不同波长光信号的技术。
码分多路复用(CDM):依靠不同的编码来区分各路原始信号的一种复用方式。
# 5.6.1. 常见复用标准
名称 | 原理与组成 | 应用场景 |
---|---|---|
E1载波 | 采用同步时分复用技术将30个话音信道(64K)和两个控制信道CHO,CH16(64K)复合在一条2.048Mbps的高速信道上 | 欧洲发起,除美,日外多用 |
E2 | 8.488Mbps | 相当于 4E1 |
E3 | 34.368Mbps | 相当于 4E2 |
E4 | 139.264Mbps | 相当于 4E3 |
T1载波 | 采用同步时分复用技术将24个话音通路复合在一条1.544Mbps的高速信道上 | 美国和日本 |
T2(DS2) | 由4个T1时分复用构成,达到6.312Mbps | 美国 |
T3(DS3B) | 由7个T2时分复用构成,达到44.736Mbps | 美国 |
T4(DS4B) | 由6个T2时分复用构成,达到274.176Mbps | 美国 |
# 5.7. 通信方式
# 5.8. 差错控制
检错:检查出错误,不知道错误在哪。
纠错:检查出错误,知道错误是哪一位并加以纠正。
码距:一种编码两个码字间变化的二进制数字为码距。
最小码距: 一种编码中任意两个码字之间最少变化的二进制位数。
在一个码组内为了检测e个误码,要求最小码距应满足 d>=e+1
在一个码组内为了纠正e个误码,要求最小码距应满足 d>=2t+1
# 5.8.1. 奇偶校验
检错码 = 信息字段 + 校验字段
添加 1 位校验码,使码字中 1
的个数为奇数,则为奇校验。
添加 1 位校验码,使码字中 1
的个数为偶数,则为偶校验。
设要传送比特信息为 C1C2C3C4C5
,其中校验字段 C6
取值 “0”或“1”,经过编码以后变成六比特编码码字,其中校验位 C6
应满足下列关系:
算式中的加法使模二加,上式的右边等于零称为偶校验,此时代表等式的左边含偶数个1;
上式的右边等于一称为奇校验,此时代表等式的左边含奇数个1;
# 5.8.2. 海明校验
海明码校验位为
原始信息为 101101 ,确定海明码校验位长为:
推导过程忽略。
# 5.8.3. CRC校验
要计算CRC校验码,需根据CRC生成多项式进行。
例如:原始报文为 11001010101,其生成多项式为
最后将0011填写到原始报文的后面。
步骤:
- 原始信息后填 "0",根据CRC生成多项式最高幂次填写,生成多项式为
,所以在原始信息后填4个0。 - 把生成多项式转换为二进制数表示形式,存在 x 幂次方则为1,不存在则为0。如 11011 就是根据
与 x 幂次方进行计算。 - 利用模2除法进行计算。实际上就是二进制的异或运算。余数不足则在前面添加足够位数的 0 来补全。
网络协议 | CRC位 | 应用点 |
---|---|---|
HDLC | CRC16/CRC32 | 除帧标志位外的全帧 |
FR(帧中继) | CRC16 | 除帧标志位外的全帧 |
ATM | CRC8 | 帧头校验 |
以太网(802.3) | CRC32 | 帧头(不含前导和帧起始符) |
令牌总线(802.4) | CRC32 | 帧头(不含前导和帧起始符) |
令牌环(802.5) | CRC32 | 帧头(从帧控制字段到LLC) |
FDDI | CRC32 | 帧头(从帧控制字段到INFO) |
# 6. 网络体系结构
# 6.1. 计算机网络的概念
定义:以能够相互共享资源的方式连接起来的独立的计算机系统的集合,其组成可分为软件、硬件及协议。
主要表现:
- 目的是实现计算机资源的共享。
- 分布在不同地理位置的多台独立的“ 自治计算机” 。
- 通信必须遵循共同的网络协议。
# 6.2. 网络的性能
速率(单位:b/s):单位时间内发送二进制数据( bit ) 流的多少。
带宽(单位:b/s):表示信道能够承受最大的数据传输速率。
吞吐率(单位:b/s):实际通过网络的通信量。
时延:又称延时,有如下种类:发送时延(传输时延)、传播时延、处理时延、排队时延等…
发送时延=数据帧长度/信道带宽 传播时延=信道长度(距离)/电磁波在信道上的传播速率
对于传播时延:
电缆介质为200km/ms=200m/us,具体延时时间与两地距离有关系。卫星信号的传播延迟为270ms。
# 6.3. 网络协议
定义:为网络数据交换而制定的规则、约定与标准称之为网络协议。计算机网络各节点之间必须遵守事先预定好的规则交换数据和控制信息,这些规则精确定义了所交换数据的格式和时序。
三要素:语法、语义、时序
语法规定了数据包的格式,语义定义数据如何处理。时序定义数据处理的顺序。 注: 通信双方对等层次上所对应的网络协议必须一致。
# 6.4. OSI模型层次结构
物理层: 为数据通信提供物理通路、透明的二进制数据流( 比特流) 传输、定义机械、电气特性和接口。
数据链路层: 数据链路的链接及释放, 流量控制、构成链路数据单元, 差错检测与恢复。点对点传送以数据帧为单位的信息。
网络层: 实现路由路径选择和网络连接的激活及终止, 网络连接的多路复用, 检错、排序、流量控制、服务选择
传输层: 提供端与端之间可靠透明的数据传输, 传输连接的建立及释放, 多路复用与分割, 差错控制及恢复, 分段、重组、排序, 流量控制。
会话层: 会话链接到传输链接的映射、会话链接的恢复与释放, 对会话参数进行协商、服务选择、活动管理、令牌管理。
表示层: 通信系统之间数据的表示方式, 如ASCII 码。数据语法转换、数据加密与压缩、连接管理。
应用层: 提供用户应用程序所需的应用接口和需要的协议及功能。
目前, OSI 模型只作为理论进行研究,实际使用的为 TCP/IP 模型。
# 6.5. 数据封装与解封装
# 6.6. OSI模型-服务访问点
# 6.7. TCP/IP体系结构
# 7. 局域网技术
# 7.1. 局域网概念
局域网( LAN ) 是指有限区域内( 例如办公室或楼层) 的多台计算机通过传输介质互联, 所组成的封闭网络以实现数据通信及资源共享的目的。 常用的介质: 双绞线、同轴电缆、光纤、无线等。 典型特点: 覆盖的地理范围小( 几米到几公里),具有较高的数据传输速率和较低的时延。
# 7.1.1. 局域网拓扑结构
总线型: 以广播形式发送数据, 所有站点都能收到数据。所有站点同时发送数据时会发生冲突,主要传输介质为同轴电缆。
星形: 所有站点均连接在中心节点(HUB ) 上, 所有的数据交互均要通过中心节点, —个中心节点容易产生单点故障, 所以通常星形拓扑中的中心节点会有—个备份。
环形: 由一系列首尾相连的中继器组成, 每个中继器连接一个站点。需要有某种访问逻辑来控制各个站点的发送顺序, 最常用传输介质为双绞线。轻负载时效率低, 重负载时利用率高。
树形: 将多级中心节点(HUB ) 连接起来以扩大网络的规模, 数据可以延链路传输至链路上的任何一个站点。
# 7.2. IEEE 802标准
局域网标准 | 描述 |
---|---|
IEEE 802.1A | 局域网体系结构,并定义接口原语 |
IEEE 802.1B | 寻址、网间互连和网络管理 |
IEEE 802.1d | 生成树协议(Spanning Tree Protocol,STP) |
IEEE 802.1q | 虚拟局域网(Virtual Local Area Network, VLAN) |
IEEE 802.1s | 多生成树协议(Multiple Spanning Tree Protocol,MSTP) |
IEEE 802.1w | 快速生成树协议(Rapid Spanning Tree Protocol, RSTP) |
IEEE 802.2 | 描述逻辑链路控制( LLC )协议,提供OSI数据链路层的上部子层功能,以及介质接入控制( MAC )子层与LLC子层协议间的一致接口 |
IEEE 802.3 | 描述CSMA/CD介质接入控制方法和物理层技术规范 |
IEEE 802.3u | 快速以太网(Fast Ethernet) |
IEEE 802.3z | 千兆以太网(Gigabit Ethernet) |
IEEE 802.3ae | 万兆以太网(10 Gigabit Ethernet) |
IEEE 802.4 | 描述令牌总线网标准 |
IEEE 802.5 | 描述令牌环网标准 |
IEEE 802.6 | 描述城域网DQDB标准 |
IEEE 802.7 | 描述宽带局域网技术 |
IEEE 802.8 | 描述光纤局域网技术 |
IEEE 802.9 | 描述综合话音/数据局域网( IVD LAN )标准 |
IEEE 802.10 | 描述可互操作局域网安全标准( SILS),定义提供局域网互连的安全机制 |
IEEE 802.11 | 描述无线局域网标准 |
IEEE 802.12 | 描述交换式局域网标准,定义100Mb/s高速以太网按需优先的介质接入控制协议100VG-ANYLAN |
IEEE 802.14 | 描述交互式电视网(包括Cable Modem ) |
IEEE 802.15 | 无线个人局域网(Personal Area Network,PAN),如蓝牙 |
IEEE 802.16 | 宽带无线接入(Boardband Wireless Access,BWA) |
# 7.3. 以太网技术-CSMA/CD协议
载波监听多路访问/冲突检测:发送数据前先监听信道是否空闲,若空闲,则立即发送数据。在发送数据时,边发送边继续监听。若监听到冲突,则立即停止发送数据,等待一段随机时间再重新尝试。
CSMA/CD 协议避免冲突的过程:
- 数据发送前监听
- 数据发送时边发边监听
- 发现冲突立即停发数据
- 数据重发
监听算法:
- 非坚持型监听算法:信道空闲立刻发送,信道繁忙时,等待随机时间
后再发送。特点:信道利用率更高,由于随机时间后发送,减少了冲突的概率。可能会出现增加发送时延的问题。 - 1-坚持型监听算法:信道空闲立刻发送,信道繁忙时持续监听,直到信道空闲后再发送。特点:有利于抢占信道。可能会导致多次冲突从而降低性能。
- P-坚持型监听算法:信道空闲时,以概率P去发送数据,以**(1-P)的概率去推迟发送数据**。特点:P概率取值比较困难。
冲突检测:
以太网的端到端往返时延
最短帧长计算公式:
发生冲突后,立刻停止发送,并对信息进行重传。
数据重发:
随机延时重发----截断二进制指数退避算法:
- 确定基本退避时间;
- 从离散的整数集合
中随机取出一个数,记为 。重传应推后的时间为 倍的争用期。参数 按照 计算。重 传 次 数 - 当重传次数到达16次仍不能成功时,就丢弃该帧,并向高层报告。
# 7.4. 以太网技术-MAC地址
MAC地址是由48位(6个字节)组成,对于前8位的最后一位,如果为0,则为单播地址,如果为1,则为组播地址。
MAC地址通常表示为12个16进制数,组合起来刚好为48位。
# 7.5. 以太网技术-以太网V2帧格式
MTU长度:46~1500字节。
前同步码:7个字节,用户使接收端进入同步状态。
帧开始定界符:1个字节,标识信息帧开始。
目的地址,源地址:目的和源的MAC地址。占用6个字节。
类型:表示上层协议,OX0800表示上层协议为IP协议; OX8137表示上层协议为IPX协议。占用两个字节。
数据:IP数据报,占用46~1500字节。
FCS帧校验字段:采用CRC校验。占用4字节。
MAC帧(以太网帧) 最小帧长为64 字节, 最大帧长1518字节。
# 7.6. 以太网技术-网络传输介质
双绞线分为非屏蔽双绞线UTP,屏蔽双绞线STP 。屏蔽双绞线抗电磁干扰能力更强,但传输距离更短。
T568A:白绿绿白橙蓝白蓝橙白棕棕
T568B:白橙橙白绿蓝白蓝绿白棕棕
区别为 1和3,2和6做了调换。
目前网络设备均能自动适应这两种标准,并能自动转换成合适的线序,所以一般只采用T568B的接线方式。
项目 | 距离 | 速度 | 直径 | 端接 | 造价 | 光源 |
---|---|---|---|---|---|---|
单模光纤 | 长 | 快 | 小 | 较难 | 高 | 激光 |
多模光纤 | 短 | 慢 | 大 | 较易 | 低 | 发光二极管 |
# 7.7. 以太网技术-以太网命名规则
以太网命名规则:
N:以兆为单位数据传输速率。如10,100,1000Mb/s
信号:基带还是宽带。
- Base:基带(数字信道)
- Board:宽带(模拟信道)
传输介质:标识介质的种类。
- T:非屏蔽双绞线 UTP。
- F:光纤(可以是单模或者是多模)。
- C:屏蔽双绞线 STP。
- 数字:为同轴电缆及电缆长度(10base5,10base2)。
- LX:长距离光模块(一般指单模光纤)。
- SX:短距离光模块(一般指多模光纤)。
- CX:双绞线。
- LH:一般指超长距离光模块。
# 7.8. 以太网技术-快速以太网-802.3u
技术特点
- 100Mbps
- 相同的帧格式
- 半双工/全双工
- 100Base-T
传输介质标准
- 100Base-TX:使用2对5类UTP , 一对用于接收, 一对用于发送。传输距离100m。
- 100Base-FX:使用光纤,两芯单模或者多模光纤。多模光纤传输距离2km。单模光纤传输距离40km。
- 100Base-T4:使用3对4类UTP , 其中一对用于碰撞检测。传输距离100m。
- 100Base-T2:由100Base-T4升级而来。传输距离100m。
# 7.9. 以太网技术-千兆以太网-802.3z
技术特点
- 1000Mbps
- 相同的帧格式
- 半双工/全双工
传输介质标准
- 1000Base-T:使用4对5类UTP , 最大段长100米( IEEE802.3ab )
- 1000Base-CX:使用2对STP , 传输长度25米( IEEE802.3z)
- 1000Base-LX:使用多模光纤传输距离550m, 使用单模光纤传输距离为5km( I EEE802.3z )
- 1000Base-SX:使用多模光纤传输距离550m(IEEE802 . 3z )
# 7.10. 以太网技术-万兆以太网-802.3ae
技术特点
- 10000Mbps
- 相同的帧格式
- 全双工
传输介质标准
- 10GBase-S:50um多模光纤,传输距离300m。62.5um多模光纤,传输距离65m。
- 10GBase-L:单模光纤。传输距离10km。
- 10GBase-E:单模光纤。传输距离40km。
- 10GBase-LX4:单模光纤。传输距离10km。50um多模光纤,传输距离300m。62.5um多模光纤,传输距离300m。
# 7.11. 以太网技术-冲突域和广播域
冲突域: 连接在同一传输介质上的所有工作站的集合。发送消息是有冲突。
广播域: 指接收同样广播消息的节点的集合。
分割冲突域 | 分割广播域 | |
---|---|---|
集线器 | ✗ | ✗ |
交换机 | ✓ | ✗ |
路由器 | ✓ | ✓ |
# 7.12. 以太网技术-交换式以太网
交换式以太网是以交换式集线器或者交换机为中心构建的星形拓扑结构网络,利用“ 端口/MAC地址映射表” 进行数据交换。
减少冲突: 交换机将冲突隔绝在每—个端口(即每个端口都是—个冲突域),避免了冲突的扩散。
提升带宽:接入交换机的每个节点都可以使用全部的带宽,而不是各个节点共享带宽。
- 广播:如果目标地址在MAC地址表中没有,交换机就向除接收到该数据帧的端口外的其他所有端口广播该数据帧。
- 学习:MAC地址表是交换机通过学习接收的数据帧的源MAC地址来形成的。
- 转发:交换机根据MAC地址表单播转发数据帧。
- 更新:交换机MAC地址表的老化时间是300秒。
交换机如果发现一个帧的入端和MAC地址表中源MAC地址的所在端口不同,交换机将MAC地址重新学习到新的端口,
# 7.13. 以太网技术-堆叠和级联(未完成)
# 7.13.1. 级联
# 7.13.2. 堆叠
# 7.14. VLAN
VLAN 技术解决了局域网互联时无法限制广播的问题, 每个VLAN一个广播域,不同VLAN之间不能通信, 如果需要通信,需要增加三层设备。
# 7.15. IEEE 802.1Q
其中,VLANID占了12位,
VLAN划分方法:
- 基于端口的划分:静态VLAN
- 基于MAC地址的划分:动态VLAN
- 基于网络层协议的划分:动态VLAN
- 基于子网的划分:动态VLAN
- 基于策略的划分:如基于MAC+端口进行划分VLAN。动态VLAN
以太网端口的类型:
- Access 端口:主要用于连接终端,特点是仅允许一个VLAN的帧通过。
- Trunk 端口:主要用于连接其它交换机端口,特点是允许多个VLAN通过,并且除了缺省VLAN外,其它VLAN都带标签通过Trunk端口。当VLAN为1(缺省VLAN)时,通过Trunk端口进行转发时,会把标签去除掉,另外一个交换机收到之后,会打上PVID(缺省VLAN),在交换机内部进行转发。
- Hybrid 端口:即可以用于连接终端,又可以连接其它交换机、路由器设备,特点是允许一个或多个VLAN的帧通过,并且可以选择是带标签还是不带标签。
# 7.16. VLAN注册协议-GVRP协议
手工配置的VLAN称为静态VLAN,通过GVRP协议创建的VLAN称为动态VLAN。GVRP有三种注册模式,不同的模式对静态VLAN和动态VLAN的处理方式也不同。GVRP 的三种注册模式分别为:
- Normal 模式:允许动态VLAN在端口上注册。同时发送动态和静态VLAN的声明信息。
- Fixed 模式:不允许动态VLAN在端口上注册。只发送静态VLAN的声明信息。
- Forbidden 模式:不允许动态VLAN在端口上注册。只发送VLAN1的声明信息。
# 7.17. 生成树协议-STP
广播风暴(broadcast storm)简单的讲是指当广播数据充斥网络无法处理,并占用大量网络带宽,导致正常业务不能运行,甚至彻底瘫痪,这就发生了“广播风暴”。一个数据帧或包被传输到本地网段 (由广播域定义)上的每个节点就是广播;由于网络拓扑的设计和连接问题,或其他原因导致广播在网段内大量复制,传播数据帧,导致网络性能下降,甚至网络瘫痪,这就是广播风暴。
生成树协议(Spanning Tree Protocol) :
- 在逻辑上断开环路,防止广播风暴的产生。
- 当线路出现故障,断开的接口被激活,恢复通信,起到线路备份的作用。
# 7.17.1. 生成树协议算法
生成树协议将环形网络生成无环拓扑的步骤:
# 选举根网桥
网桥ID是唯一的,交换机之间选择**桥ID(BID)**值最小的交换机为网络中的根网桥。
网桥ID组成:网桥优先级(2字节)+网桥的MAC地址(6字节)
网桥优先级取值范围:0~65535,默认值为32768,如果需要调整,必须为4096的倍数。
优先级值越小优先级越高, 优先级高的的为根桥。如果优先级相同,选取MAC地址最小的为根网桥。
# 选举根端口
在非根网桥上选取一个到根网桥最近的端口。选择步骤:
本端口到根网桥的路径开销最低。带宽越大,路径开销越低。
路径成本相同,选择直连的网桥ID最小的端口。
网桥ID最小的端口相同,选择直连的端口ID最小的端口。
端口ID =(端口优先级+端口编号)
端口优先级:默认为128,如果需要调整,必须为16的倍数。越小优先级越高。
端口编号:端口实际的编号。
# 选举指定端口
根网桥所有端口都是指定端口。非根网桥上选择步骤:
- 本端口所在网桥到根网桥路径开销最小。
- 本端口所在的网桥的ID较小。
- 本端口ID值较小。
端口开销规定:10G端口开销为2,1000M端口开销为4,100M端口开销为19,10M端口开销为100
# 阻塞非根端口,非指定端口
端口选举完毕之后,候补端口阻塞(非根端口,非指定端口),并形成逻辑上无环路的树形拓扑结构 ,就消除了网络环路。
# 生成树协议端口状态
收敛时间为50s
禁用:端口不参与生成树协议,不监听也不发送BPDU,也不转发数据帧。
阻塞(Blocking):仅监听BPDU, 不转发数据帧,也不学习接受帧的MAC地址,延时20s,防止启动交换机过程中产生交换环路。
监听(Listening):相互学习BPDU的信息,以便交换机可以学习网络中其他交换机的信息,延时15s。此时不学习MAC帧的地址不转发数据帧。
学习(Learning):处理学习到的BPDU信息,开始计算生成树协议。 学习MAC地址,建立地址表,但不转发数据帧,该状态维持15s。
转发(Forwarding):可以发送或监听BPDU( 用桥协议数据单元来传递交换机之间的生成树协议的信息),可以转发数据帧。
# 7.18. 快速生成树协议-RSTP
快速生成树协议RTSP ( Rapid Spanning Tree Protocol ) IEEE802.1w:由IEEE802.1d发展而来。是优化版的STP ,大大缩短了端口进入转发状态的延时,从而缩短了网络最终达到拓扑稳定所需要的时间。
- 端口状态只有三个:丢弃(将STP中的禁用,监听,阻塞合并而来),学习,转发。
- 端口角色变为四个:根端口,指定端口,Alternate端口(根端口的替代),Backup端口(指定端口的替代)。
RSTP提出了快速收敛机制:
- 边缘端口机制:不参与生成树协议计算的端口。一般是与终端相连。一般情况下需要网络管理员手动指定。
- 根端口快速切换机制
- 指定端口快速切换机制
# 7.19. 多生成树协议-MSTP(需要补充)
多生成树MTSP(Multiple Spanning Tree Protocol):基于实例计算出多颗生成树,实例间实现负载均衡。
先划分实例,之后再映射VLAN,在实例中去找根网桥,根端口,指定端口实现的负载均衡。
不同实例间使用的是不同的根网桥,根端口。
# 7.20. 以太网通道|链路聚合|端口聚合|ETH-Trunk
将多条物理链路捆绑成一条逻辑链路,实现负载均衡、提高带宽容错(当一条链路失效时,使用其他链路进行通信)。
以太网通道最多可以捆绑8条物理链路,其中物理链路可以是双绞线,也可以是光纤连接。
以太网通道捆绑规则:
- 参加捆绑的端口属于同一个VLAN。
- 如果端口配置的是中继模式,那么应该在链路两端将通道中的所有端口配置成相同的中继模式。
- 所有参与捆绑的端口的物理参数设置必须相同。应该有同样的速度和半双工或者全双工配置。
协议:
PAGP(端口聚合协议):Cisco私有协议
LACP(链路聚合控制协议):IEEE802.3ad
# 7.21. 无线局域网
无线数据网络种类:无线个人网、无线局域网、无线城域网和无线广域网
种类 | 标准 | 典型应用 | 覆盖范围 |
---|---|---|---|
无线个人网 | IEEE 802.15 | 蓝牙 | <=10m |
无线局域网 | IEEE 802.11 | 无线企业网 | <=100m |
无线城域网 | IEEE 802.16 | 主要用于Internet访问 | 2~10KM |
无线广域网 | IEEE 802.20&3蜂窝移动通信 | 主要用于Internet访问 |
无线局域网的优点:
- 灵活性和移动性
- 安装便捷
- 易于进行网络规划和调整
- 故障定位容易
- 易于扩展
无线局域网的两种拓扑结构:
- Infrastructure结构(基础设置网络):所有无线终端通过AP访问骨干网络。类似传统有线星型拓扑方案。
- Ad Hoc结构(特殊网络):该方式是点对点的网络,以无线网卡连接的终端设备可以互相通信。
WLAN标准:
标准 | 运行频段 | 主要技术 | 数据速率 | 非重叠信道 |
---|---|---|---|---|
802.11 | 2.4Ghz | 扩频通信技术 | 1Mbps和2Mbps | 3 |
802.11b | 2.4Ghz | HR-DSSS 技术 | 11Mbps | 3 |
802.11a | 5Ghz | OFDM 调制技术 | 54Mbps | 5 |
802.11g | 2.4Ghz | OFDM 调制技术 | 54Mbps | 3 |
802.11n | 2.4Ghz和5Ghz | MINO和OFDM | 600Mbps | 3+5 |
802.11ac | 5Ghz | MINO和OFDM | 1Gbps | 5 |
802.11ax | 2.4Ghz和5Ghz | MINO和OFDM | 11Gbps | 8 |
扩频通信技术是将要发送的信息扩展到一个很宽的频带上,以很宽的信道传送信息,抗干扰能力,抗衰落能力较强,抗阻塞能力也强。包括跳频扩频(FHSS)和直接序列扩频(DSSS)。
隐蔽站问题:
其中B 在C的无线电波范围内,但A不在C的无线电波范围内。 此时C 正在向B传送数据,而A也试图向B传送数据。此时,A不能够监听到B 正在忙(因为A在监听信道的时候什么也听不到,所以它会错误的认为此时可以向B传送数据了)。如果A向B传送数据,则将导致冲突。这就是隐蔽站问题。其中C是A的隐蔽站。
暴露站问题:
其中C在B的无线电波范围内,但D不在B的无线电波范围内。此时B正在传送数据(向A进行传送),而C希望给D发送数据,但是错误地认为该传送过程将会失败,因为C会监听到—次传输,所以它会错误地认为此时不能向D发送数据,这就是暴露站问题。
# 7.21.1. IEEE802.11 MAC 层协议(CSMA/CA)
因为存在隐蔽站和暴露站问题,无线局域网不适用CSMA/CD协议,只能使用改进CSMA协议。
CSMA/CA 基本操作过程如下:
- 如果有一个站点要发送数据并且监听到信道忙,则产生一个随机数设置自己的后退计时器并且继续监听。
- 监听到信道空闲后等待 IFS 时间,然后开始计数。 最先计数完成的站点开始发送数据。
- 其他站点监听到有新的站点开始发送数据后暂停计数,在新的站点数据发送完成后在等待一个IFS 时间继续计数,知道计数完成开始发送数据。
MAC子层:
DCF子层在每—个结点使用CSMA机制的分布式接入算法,让每个站通过争用信道来获取发送权。
PCF子层使用集中控制的接入算法将发送数据权轮流交给每个站点从而避免了碰撞的产生。(可选)
# 7.21.2. WLAN安全性
提升WLAN安全性的手段:
- 更改默认设置
- 更新AP的Firmware
- 屏蔽SSID广播
- 加密和认证
- MAC 地址过滤
# 7.21.3. 无线局域网组网
胖AP(FAT):一般指无线路由器,多用于家庭、酒店办公场所等小型网络,功能较全,自带操作系统,设置简单,能实现接入、认证、路由、VPN、地址翻译甚至防火墙功能。
瘦AP(FIT):去掉路由、DNS、DHCP 服务器等诸多额外的功能, 仅保留无线接入的部分。不能独立工作,设置需要通过专用AC(AP控制器)来完成。
# 8. 广域网与接入网技术
# 8.1. 广域网交换方式
电路交换:通信开始之前,主呼叫和被呼叫之间建立连接,之后建立通信,期间独占整个链路,结束通信时释放链路。电路交换是面向连接的。
报文交换:结点把要发送的信息组织成一个报文(数据包),该报文中含有目标结点的地址,每一个节点接收整个报文并检查目标地址,然后根据网络情况,在适当的时刻向下一个节点转发。
分组交换:分为数据报和虚电路。目前虚电路已经被淘汰。
虚电路:在网络的源主机和目标主机建立一条逻辑通道,所有报文沿着逻辑电路传输数据。传输完毕后,需要释放虚电路。
数据报:数据包服务类似于邮政系统的信件投递,每个分组都携带完整的源和目的节点的地址信息,独立进行传输,每当经过一个中间节点时,都要根据目标地址和网络的状态,去选择一条最佳的输出路径。
对比 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信由网络保障 | 可靠通信由用户主机保障 |
连接的建立 | 必须有 | 不需要 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有重点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组独立选择路由进行转发 |
当节点出现故障时 | 所有通过出故障节点的虚电路都不能工作 | 出故障的节点可能丢失分组,一些路由发生变化 |
分组的顺序 | 总是按发送顺序到达终点 | 不一定按发送顺序到达终点 |
端到端的差错处理和流量控制 | 可以由网络负责,可以由用户主机负责 | 用户主机负责 |
常见广域网协议:
- X.25是一个使用电话或者ISDN设备作为网络硬件设备来架构广域网的ITU-T网络协议。它的物理层,数据链路层和网络层都是按照OSI体系模型来架构的。通过建立虚电路,实现可靠交付。
- 帧中继(Frame Relay)在第二层建立虚拟电路,用帧方式承载数据业务,第三层被简化。并且帧中继只做检错,不重传, 没有滑动窗口式的流控机制,只有拥塞控制,把复杂的检错交给高层处理,因此适合突发性业务。在虚连接中,用数据链路连接标识(DLCI)来表示该网络中的虚电路。
- ATM异步传输网络,采用面向连接的传输方式,将数据分割成固定长度的信元(53B) ,通过异步时分复用技术,在虚连接上实现快速交换的技术。ATIM的典型数据速率为155Mbps。
# 8.2. 流量与差错控制
没有出错的状况:
停等协议: 发送站发送—帧,然后等待应答信号后再发送下—帧。接收站每收到—帧都要回—个应答信号ACK , 表示愿意接受下—帧,如果接受站不发送信号则发送站必须等待。
滑动窗口协议:如果接收端维持能容纳W个帧的缓冲区( 即窗口大小为W ) ,那么发送端可以连续发送W个帧而不必等待应答信号,但是在接到接收端的应答信号之前,滑动窗口不滑动。接收端收到一个帧时,就发送一个应答信号,并把滑动窗口滑动到
的位置,表明 之前的已正确接收,期待接收后续W个帧。
出错的状况,需要进行差错控制:
停等ARQ协议:发送站发送一帧必须等待应答信号ACK,收到信号后才能发送下一帧;如果收到否定应答信号NAK后重发该帧;如果在一定时间内未收到应答信号必须重发。
选择重发ARQ:只重发出错的帧,后面的帧被缓存。这种协议窗口大小的最大值应为帧编号数的一半
W_发=W_收<=2^{k-1}
后退N帧ARQ:哪一帧出错,这一帧之前的发过的帧都要进行重发。窗口大小为
# 8.3. HDLC
HDLC是一种面向比特的同步数据链路控制协议。
HDLC也是思科路由器上默认的wan口封装协议,是思科私有协议。
HDLC帧格式:
在HDLC的帧结构中,若在两个标志字段之间的比特串中,碰巧出现了和标志字段F(01111110)一样的比特组合,那么就会误认为是帧的边界。为了避免出现这种情况,HDLC采用零比特填充法使一帧中两个F字段之间不会出现6个连续1。
每当发现5个连续1时,就将这5个连续1后的一个0删除,以还原成原来的比特流。这样就保证了在所传送的比特流中,不管出现什么样的比特组合,也不至于引起帧边界的判断错误。
HDLC定义了三种帧:信息帧(I帧)、管理帧(S帧)、无编号帧(U帧),其中控制字段第一位或者前两位用于区别三种不同的帧
- 信息帧(I帧):第一位为0,用于承载数据控制。
- 监控帧(S帧):前两位为10,监控帧用于差错控制和流量控制。
- 无编号帧(U帧):前两位为11,U帧用于提供对链路的建立、拆除以及多种控制功能,但是当要求提供不可靠的无连接服务时,它有时也可以承载数据。
管理帧(S帧)不包含信息字段,它的第三、四位为管理帧(S帧)类型编码,共有四种不同的编码:
- 00-接受就绪(RR)
- 01-拒绝(REJ)
- 10-接受未就绪(RNR)
- 11-选择拒绝(SREJ)
# 8.4. PPP
点对点协议(Point to Point Protocol): 缩写为PPP。面向字符,是TCP/IP 网络协议包的—个成员。通过在点对点的串行链路上封装数据包,并将HDLC(高级数据链路协议) 作为封装数据包的基础的点对点协议。他提供了—整套协议框架来解决链路建立、维护、拆除、上层协议协商和认证等问题。最常见应用为 PPPOE。
认证协议分为两种:
PAP ( 密码认证协议) : PAP 在网络上传送未加密的ASCII密码, 因此被认为是不安全的。
CHAP ( 挑战式握手认证协议):通过三次握手周期性的校验对端的身份,在初始链路建立时完成,由主验证方先发送验证的请求。可以在链路建立之后的任何时间重复进行。三次握手的过程:
- 主验证方向被验证方发送主机名+随机报文。
- 被验证方将密码,用户名,随机报文做一个MD5运算。得到128位摘要值。被验证方发送主机名+加密后报文给被验证方。
- 主验证方验证,如果匹配则认证正常。
# 8.5. 常见接入网技术-SONET/SDH
SONET信号 | 比特率/Mbps | SDH信号 |
---|---|---|
STS-1和OC-1 | 51.840 | |
STS-3和OC-3 | 155.520 | STM-1 |
STS-12和OC-12 | 622.080 | STM-4 |
STS-48和OC-48 | 2448.320 | STM-16 |
STS-192和OC-192 | 9953.280 | STM-64 |
STS-768和OC-768 | 39813120 | STM-256 |
# 8.6. 常见接入网技术-ISDN和xDSL
ISDN 综合业务数字网:是一个数字电话网络国际标准,—种典型的电路交换网络体统,采用时分多路复用技术。通过普通的铜缆及更高的速率和质量传输语音和数据, 俗称“—线通” 。
ISDN 分为窄带和宽带两种:
窄带ISDN:有基本速率(2B+D,144kbps)和一次群速率(30B+D,2Mbps)两种。
宽带ISDN:未普及,忽略。
xDSL:各种DSL 数字用户总线的总称,基于普通电话线采用频分复用技术的宽带接入技术,X 表示字符或字符串,根据采用的调制方式不同,获得不同的信号传输速率、传输距离、上行下行信道的不同对称性。
XDSL | 对称性 | 下行带宽 | 上行带宽 |
---|---|---|---|
ADSL | 非对称 | 8Mbps | 640kbps~1Mbps |
HDSL | 对称 | 1.544Mbps,2.048Mbps | 1.544Mbps,2.048Mbps |
SDSL | 对称 | 2.3Mbps | 2.3Mbps |
VDSL | 非对称 | 55Mbps | 19.2Mbps |
RADSL | 非对称 | 8Mbps | 640kbps~1Mbps |
# 8.7. 常见接入网技术-HFC
HFC(混合的光纤同轴电缆),综合运用了模拟和数字传输技术、同轴和光纤技术的宽带接入网络, 它由光纤干线网和同轴分配网组成。
在原有CATV网络基础上进行双向改造:
- 干线部分:光传输系统代替CATV中的同轴电缆
- 用户分配网:仍保留同轴电缆网络结构,但放大器改成双向的
可提供业务:
- 保留原有CATV单向电视广播业务
- 利用剩余频带提供宽带数据业务
# 8.8. 常见接入网技术-光纤接入网
有源接入:典型的设备主要是基于SDH的多业务传送平台、基于以太网或ATM的多业务接入平台等。这种技术作为有源设备仍然无法完全摆脱电磁干扰和雷电影响,以及有源设备固有的维护问题。
无源光网络(PON):
PON由光线路终端(OLT)、光分配网络(ODN)、光网络单元(ONU)组成。
根据ONU的位置,又分为几种:
- FTTC : ( Fiber To The Curb ) 光纤到路边
- FTTZ : ( Fiber To The Zone ) 光纤到小区。
- FTTB ( Fiber To The Building ):光纤到大楼。
- FTTH ( Fiber To The Home ):光纤到用户, 需要光电转换器。
采用点到多点模式,其下行采用广播方式、上行采用TDMA时分多址方式,可以灵活地组成树型、星型、总线型等拓朴结构(典型结构为树型),主要特征是ODN全部采用无源光器件组成,避免了有源设备的电磁干扰和雷电影响,减少了线路和外部设备的故障率,搞高了系统可靠性。
- APON:最高速率为622Mbps,二层采用的是ATM封装,目前已弃用。
- EPON:可以支持上下行1.25Gbps对称速率,采用 8B/10B 线路编码。
- GPON:其技术特色是二层采用ITU-T定义的GFP(通用成帧规程)对Ethernet、TDM、 ATM等多种业务进行封装映射,能提供1.25Gbps、2.5Gbps 下行速率和所有标准的上行速率。
- 10G GPON(也可以称为XGPON):上下行非对称(上行2.5Gbps,下行10Gbps)。10G GPON最大传输距离可达到40KM。
- 10G EPON:实际速率是10.3125 Gbit/s,分对称(10 Gbps的上下行速率)与不对称(10Gbps下行和1 Gbps上行)两种类型。
# 9. 因特网与网络互联技术
# 9.1. IP地址
网络地址:主机位全为0的地址。
广播地址:主机位全为1的地址。
# 9.1.1. IP地址表示方法
IP地址分类:有分类地址、 无分类地址 (CIDR)
有分类IP地址分为A、B、C、D、E 五大类,根据网络位及主机位的长度不同来划分。
其中,A,B,C类地址为单播地址,D类地址为组播地址。
# 9.1.2. 特殊IP地址
公有地址:公有地址(Public address)由Inter NIC(Internet Network Information Center)因特网信息中心负责,这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。
私有地址:属于非注册地址,专门为组织机构内部使用。
类别 | IP地址范围 | 网络号 | 网络数 |
---|---|---|---|
A | 10.0.0.0~10.255.255.255 | 10 | |
B | 172.16.0.0~172.31.255.255 | 172.16~172.31 | |
C | 192.168.0.0~192.168.255.255 | 192.168.0~192.168.255 |
单播地址:1v1 组播地址:1v一组 广播地址:1v所有
组播地址只能用于目的地址,不能用于源地址。
网络号 | 主机号 | 源地址使用 | 目的地址使用 | 代表含义 |
---|---|---|---|---|
0 | 0 | 可以 | 不可以 | 在本网络上的本主机 |
全1 | 全1 | 不可以 | 可以 | 在本网络上进行广播 |
Net-ID | 全1 | 不可以 | 可以 | 对Net-ID上的所有主机进行广播 |
127 | 非全0或全1的数 | 可以 | 可以 | 用作本地软件环回测试使用 |
169.254 | 非全0或全1的数 | 可以 | 可以 | Windows主机DHCP服务器故障分配 |
0.0.0.0:严格讲这不是—个IP地址, 是在本网络上的本主机。可做源地址。
255.255.255.255:限制广播地址。同—广播域的所有主机, 这个地址不被路由转发。可以做目的地。
127.0.0.1:本机地址, 用于测试TCP/IP协议能否正常工作。
169.254.X.X(自动专有地址):当DHCP 服务器出现故障或者响应时间太长而超出系统规定时间,Windows 会分配—个这样的地址。
224.0.0.0 是一个组播地址。224.0.0.1 指所有主机; 224.0.0.2 指所有路由器; 224.0.0.5 指所有运行OSPF的路由器。224.0.0.6 指DR和BDR的组播接收地址。224.0.0.9 指RIPv2的组播更新地址。224.0.0.18 指VRRP的组播地址。
# 9.1.3. 子网掩码-子网划分
子网掩码:子网掩码与IP地址成对出现, 子网掩码中为1的部分表示网络位,为0的部分表示主机位。子网掩码网络位为全1,主机位为全0。
可变长度子网掩码( VLSM ) : 解决了IP地址空间的利用率很低,两级IP地址不够灵活的问题。
在有类的IP地址的基础上,从它们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数用于子网划分。
A 类默认子网掩码为:255.0.0.0 B 类默认子网掩码为:255.255.0.0 C 类默认子网掩码为:255.255.255.0
# 9.1.4. 无分类编址CIDR
CIDR是把几个标准网络合并成—个大网络的技术,通过缩短子网掩码长度达到将小网络合并为大的超网。
汇聚思路:将给出的IP地址不相同的位置开始将十进制数转换为二进制表示,找相同部分划为网络位,不同的位划分至主机位,从而实现将多个网段汇聚成—个新的超网网段。
例: 177.7.97.0/24,177.7.99.0/24,177.7.104.0/24,177.7.112.0/24 汇聚后的地址为?
共同部分为
网络地址:主机位全为0,所以CIDR汇聚后的地址是 177.7.01100000.0/255.255.11100000.0 即 177.7.96.0/19
# 9.1.5. 路由汇聚
最佳路由匹配原则:使用路由汇聚时,路由表中的每个项目由“网络前缀”和“下一条地址”组成。查找路由表时不止一个匹配结果。应当从路由匹配结果中选择最长网络位的路由,即子网掩码最长的作为路由。
# 9.2. IP数据报
IP 协议有以下特点:
- 不可靠
- 非面向连接
- 当IP包中生存周期(TTL)为0时丢弃数据包
IP 数据报格式:
版本:IP 协议版本。IPV4:0100 IPV6:0110
首部长度:占4位,可表示的最大数值为15个单位(一个单位为4字节),因此首部长度最大值为60字节。最小值为20字节。
服务类型: 对IP 数据流业务进行区分,对不同的服务进行服务质量保证。
总长度:首部和数据之和的长度。以字节为单位,16bit最大值
标识,标志,片位移跟分片相关。
以太网中MTU=1500,所以3820字节的数据无法一次性发送,需要进行分片。
标识:对属于同—个数据报的各个分片进行标识。标识相同的分片属于同一个数据报片。
标志:最高位保留,中间位DF(Don't Fragment),最后一位MF(More Fragment)。
- DF=0:数据报可以进行分片。
- DF=1:数据报不可以进行分片。
- MF=0:分片是最后一个分片。
- MF=1:后面 “还有分片”。
片偏移:分片在原分组中的相对位置。其数值等于每个分片第—个数据字节编号/8。
如图所示,第一片数据偏移是来自第一部分的,所以偏移为
第二片数据前是有1480的偏移量,所以偏移为
第二片数据前是有2960的偏移量,所以偏移为
生存周期TTL:每经过—个路由器TTL值减1,TTL值为0时路由器丢弃数据报。
协议号:指出数据报携带的数据使用何种协议。6 表示TCP,17表示UDP。
首部校验和:采用CRC-16循环冗余校验码。
# 9.3. ARP协议
如果主机A向主机B发送数据,主机A向自己的ARP缓存表中寻找主机B对应的MAC地址,如果有,直接发送;
如果没有,主机A向网络中发送广播,主机B收到广播后,就会将主机A的MAC写入ARP缓存表并以单播方式发送ARP应答,(内容包括主机B的IP地址、MAC地址、主机A的IP地址、MAC地址,)主机A收到应答后会更新其ARP缓存表,并发送数据。
ARP分组封装在物理网络的帧中进行传输。
arp -a # 查看ARP缓存表
arp -d # 清除ARP缓存
arp -s ip-address mac-address # ARP静态绑定
2
3
静态绑定优先级更高。
# 9.4. ICMP协议
ICMP(Internet Control Message Protocol) 就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况,也能确保连线的准确性。ICMP 报文控制协议属于网络层协议(看起来好像是高层协议,但其实不是。因为ICMP报文封装在IP数据报中,作为其中的数据部分)。
ICMP报文分为两种,ICMP差错报告报文和ICMP询问报文。
ICMP差错报告报文:
- 目标不可达(类型3):如果路由器判断出不能把E 数据报送达目标主机,则向源主机返回这种报文。
- 超时(类型11):路由器发现IP 数据报的生存期已超时(TTL=0)。
- 参数出错(类型12):如果路由器或主机判断出IP 头中的字段或语义出错,则返回这种报文。
- 源抑制(类型4):如果路由器或目标主机缓冲资源耗尽而必须丢弃数据报,则每丢弃一个数据报就向源主机发回一个源抑制报文,这时源主机必须减小发送速度。
- 路由重定向(类型5):路由器向直接相连的主机发出这种报文,告诉主机一个更短的路径。
ICMP询问报文:
- 回送请求和回答报文:使用 ping。
- 时间戳请求和回答报文:使用 tracert/traceroute。
不再发送差错报告报文的情况:
- 对ICMP差错报告报文不在发送差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
- 对具有多播地址的数据报不发送ICMP差错报告报文。
- 对特殊地址(127.0.0.0,0.0.0.0)的数据报不发送ICMP差错报告报文。
常用命令为:ping,tracert,traceroute。
tracert/traceroute:实际上利用了IP数据报中的TTL字段和ICMP时间超过差错报告报文来实现源点到终点的路径追踪。(发送一连串TTL值不一样的数据报进行追踪。TTL=1,TTL=2 ......)
# 9.5. IPv6协议
IPv6优点:
- 更快的传输速度:更大的地址空间;扩展地址层次结构;灵活的首部格式。
- 更安全的传输方式:改进的选项;允许协议继续扩充。
- 支持即插即用(自动配置): 支持资源预分配;对移动端更加友好。
IPv6报文格式:
IPv6数据报有一个40字节的基本首部,其后允许有0个或多个扩展首部,然后是数据部分,扩展首部和数据部分统称为有效载荷。
# 9.5.1. IPv6地址表示
- IPv6地址采用128位地址长度,采用冒号间隔十六进制表示。
- 某些 IPV6 地址中有—长串 0,此时可将连续的 0 压缩为一个 0。也可以将连续多个 0000 用双冒号(::)替换。(0压缩只能使用一次,使用多次使地址不确定)。
- 可以在任何十六进制数字组中删除一个或多个前导零;通常对全部或全部前导零进行操作。如:0042缩写为42。
# 9.5.2. IPv6地址分级概念(单播)
IPv6扩展了地址分级概念,使用以下三个等级:
- 全球路由选择前缀,48位。前三位固定为001。
- 子网标识符,16位。
- 接口标识符,64位。按MAC地址生成64位。
# 9.5.3. IPv6地址类型
单播地址(Unicast):点对点通信。又分为:可聚合全球单播地址、 链路本地单播地址和站点本地单播地址。
- 可聚合全球单播地址:相当于IPv4的公网地址,这类地址由供应商提供,地址的前3 位格式固定为 001,用于区分其他地址类型。
- 链路本地单播地址:是单网络链路上给的主机编号,作用是进行链路上主机的通信。 当你配置一个单播IPv6地址的时候,接口上会自动配置一个链路本地单播地址。通常为FE80开头,(前10位为1111111010)。网络中路由器对具有链路本地单播地址的包是不进行处理的。IPv6的 “邻居发现” 机制会用到链路本地单播地址(“邻居发现” 是IPv6中和IPv4中ARP对应的寻址机制)
- 站点本地单播地址:类似于IPv4中的私有地址,不能与站点外地址通信,也不能直接连接到全球Internet。
组播地址(Multicast):一点对多点通信。
任播地址(Anycast):这是IPv6增加的一种类型,任播的目的站是一组计算机,但是数据报交付时只交付其中一个,通常是距离最近的一个。
地址类型 | 地址前缀 | IPv6前缀标识 | |
单播地址 | 未指定地址 | 000......0(128bit) | ::/128 |
环回地址 | 000......1(128bit) | ::1/128 | |
链路本地单播地址 | 1111111010 | FE80::/10 | |
站点本地单播地址 | 1111111011 | FEC0::/10 | |
可聚合全球单播地址 | 全球路由选择前缀(48bit),前三位固定为001 | ||
组播地址 | 11111111 | FF00::/8 | |
任播地址 | 从单播地址空间中进行分配,使用单播地址的格式 |
# 9.5.4. IPv6特殊地址
w.x.y.z 为IPv4地址的十六进制表示方法。
- 与IPv4兼容的地址:0:0:0:0:0:0:w.x.y.z 或 ::w.x.y.z
- IPv4映射地址:0:0:0:0:0:FFFF:w.x.y.z 或 ::FFFF:w.x.y.z
- 6 to 4 地址:用于IPv4的网络上传输IPv6的包。完整的 6 to 4主机地址由 6 to 4地址的48位格式前缀(2002:w.x.y.z::/48)和其后面的子网标识符ID以及64位接口ID组成。
- ISATAP地址:ISATAP地址的接口ID必须如下:0000:5EFE:w.x.y.z
# 9.5.5. IPv4与IPv6协议过度
- 双协议栈:同—个主机同时运行IPv4和IPv6两套协议栈,具有IPv4/IPv6双协议栈的结点称为双栈节点,这些结点既可以收发IPv4报文也可以收发IPv6报文。双栈节点同时包含IPv4和IPv6的网络层,但传输层协议(如 TCP 和 UDP)的使用仍然是单一的。
- 隧道技术:隧道技术指将另外一个协议数据包的报头直接封装在原数据包报头前,从而可以实现在不同协议的网络上直接进行传输,这种机制用来在IPv4网络之上连接IPv6的站点,站点可以是—台主机,也可以是多个主机。 隧道技术将IPv6的分组封装到IPv4的分组中 ,或者把IPv4的分组封装到IPv6的分组中,封装后的IPv4分组将通过IPv4的路由体系传输或者IPv6的分组进行传输。
- 网络地址转换技术(NAT-PT ): NAT-PT 技术附带协议转换器的网络地址转换器。 是—种纯IPv6节点和IPv4节点间的互通方式,所有包括地址、协议在内的转换工作都由网络设备来完成。 NAT-PT包括静态和动态两种 ,两者都提供—对—的IPv6地址和IPv4地址的映射 ,只不过动态 NAT-PT 需要—个IPv4的地址池进行动态的地址转换。
# 9.6. QOS
QOS ( Quality of Service,服务质量):是用来解决网络延迟和阻塞等问题的一种技术。主要是区分流量,保证重要流量及时被转发。
QOS提供以下三种服务模型 :
- Best-Effort service ( 尽力而为服务模型 )
- 先进先出的转发,通过先进先出队列来实现。
- Integrated service (综合服务模型 , 简称 lnt-Serv)
- 提前申请网络资源,各个节点预留资源。
- 保证服务:为某一种应用预留资源。
- 负载控制服务:网络拥塞的条件下,保证应用体验一致。
- 资源预留协议(RSVP):接收方----->中间路由器,要求中间的设备预留网络资源。
- Differentiated service(区分服务模型 ,简称 Diff-Serv)
- 不预留资源,通过多种方法指定报文的QOS
# 9.7. 传输层概述
传输层 ( Transport Layer ) 是OSI协议的第四层协议,实现端到端的数据传输。该层是两台计算机经过网络进行数据通信时,第—个端到端的层次,具有缓冲作用。
当网络层服务质量不能满足要求时,它将服务加以提高,以满足高层的要求; 当网络层服务质量较好时,它只用很少的工作。传输层还可进行复用,即在—个网络连接上创建多个逻辑连接。
传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制。一些协议是面向链接的。这就意味着传输层能保持对分段的跟踪,并且重传那些失败的分段。
# 9.8. UDP协议
UDP协议特点:
- 无连接
- 尽最大努力交付
- 面向报文
- 支持一对一,一对多,多对一和多对多
- 首部开销小
UDP协议报文格式:
# 9.9. TCP协议
TCP协议特点:
- 面向连接的传输层协议
- 每一条TCP连接只有两个端点(称之为套接字 socket 或者插口),套接字 =(IP地址:端口号)
- 可靠交付
- 全双工通信
- 面向字节流
面向字节流的概念:虽然应用程序交给TCP的是一个数据块,但是TCP只是把它理解为一串没有结构的字节流。
# 9.9.1. TCP的连接
- TCP连接是虚连接而不是真实存在的物理连接。
- TCP对应用进程一次性把多长的报文发送到TCP的缓存中是不关心的。
- TCP根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文应该包含多少字节(UDP发送的是应用进程给出的)。
- TCP可以把太长的数据块划分短一些再发送。TCP也可以积累足够多的字节之后再构成报文段发送。
# 9.9.2. TCP报文格式
序列号(Sequence Number):TCP连接中传送的数据流中的每一个字节都进行编号,序号字段的值是本报文所发送数据的第一个字节的序号。
确认号(Acknowledgement Number):期望收到对方的下一个报文段的第一个字节的序号。
数据偏移/首部长度(Header Length):数据偏移的单位是32位(以4字节作为计算单位)。
保留长度:目前未使用。通常设置为0。
紧急 URG:URG=1 时,表示此报文段中有紧急数据,应该尽快传送(高优先级数据)。
确认 ACK:与 确认号(Acknowledgement Number) 配套使用。ACK=1 时,确认号字段才生效。ACK=0 时不生效。
推送 PSH(Push):PSH=1 时,尽快交付应用进程,而不是等到整个缓存满了再交付。
复位 RST(Reset):RST=1 时,表明TCP出现严重差错,需要释放连接,然后重新建立连接。
同步 SYN:SYN=1 时,表示这个是一个连接请求或连接接受报文。一般用于创建连接时使用。
终止 FIN(Finish):用来释放连接。FIN=1 时表明发送端的数据都已经发送完毕,需要释放连接。
窗口字段:用来让对方设置发送窗口的数据。这个值是期望下一次接收的字节数。
检验和:对整个TCP报文段进行校验,接收端进行验证。
紧急指针:与 URG 配套使用。指出本报文段中紧急数据有多少个字节。
选项字段:长度可变。可能包含时间戳,窗口扩大因子。
填充:可能需要填充0来保证首部长度是4字节的整数倍。
# 9.9.3. TCP三次握手
- A 的 TCP 向 B 发送连接请求报文段,首部中 SYN = 1,序号 seq = x,表明传送数据第一个数据字节序号是x。
- B 的 TCP 收到连接请求报文段后,同意发送确认报文,在确认报文中,使 SYN = 1,ACK = 1,确认号 ack = x + 1,自己的序号 seq = y。
- A 收到此报文段后向 B 发送确认报文,ACK = 1,确认号 ack = y + 1,并通知上层应用,连接已经建立。
# 9.9.4. TCP四次挥手
数据传输结束后,双方都需要释放连接。
A 的应用进程先向其 TCP 发送连接释放报文段,并停止再发送数据,主动关闭TCP连接。
A 把连接释放报文首部 FIN = 1,序号seq = u,等待 B 确认。
B 发出确认,确认号 ack = u + 1,而这个报文段的序号 seq = v。
这时从 A 到 B 的连接就释放了,TCP 连接处于半关闭状态。B 发送数据,A 还是在接收。
- 如果 B 数据都已经发送完毕,应用进程就通知 TCP 释放连接。
- A 收到连接释放报文后,也必须发出确认。
TCP 连接必须经过时间 2MSL 后才真正释放。MSL(Maximum Segment Lifetime)最长报文寿命
- 为了保证 A 发送的最后一个 ACK 报文能到达 B。
- 经过 2MSL 时间后,就能使本连接内产生的所有报文段都消失。
# 9.9.5. TCP流量控制
TCP进行流量控制的方法是采用可变大小的滑动窗口协议。
# 9.9.6. TCP拥塞控制
控制方法四种:
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
在发送方接收到确认之前逐步扩大窗口大小,以1、2、4、8、16...等按指数规律翻倍, 当出现超时, 窗口降回到1,并设置门限阈值为目前拥塞窗口的—半大小, 再以1、2、4、8...等指数规律增长, 当达到设定的门限阈值时, 每次的增长值变成1,即每次窗口大小只增加1。
# 9.10. 传输层端口
保留端口号1~1023,固定的分给—些应用协议使用。常用如下:
端口号 | 传输层协议 | 用途 | 端口号 | 传输层协议 | 用途 |
---|---|---|---|---|---|
20 | TCP | FTP 数据 | 69 | UDP | 简单文件传输协议 TFTP |
21 | TCP | FTP 控制 | 80 | TCP | HTTP |
23 | TCP | Telnet 远程 | 110 | TCP | POP3服务器 |
25 | TCP | Smtp | 143 | TCP | IMAP服务器 |
53 | TCP/UDP | DNS | 161 | UDP | SNMP 轮询(被管理端|代理端) |
67 | UDP | DHCP 服务端 | 162 | UDP | SNMP 陷阱(管理端) |
68 | UDP | DHCP 客户端 | 443 | TCP | HTTPS |
注册端口号 1024~49151,给非著名服务用的端口。
动态端口号 49152~65535,客户机短暂使用的端口号。
# 9.11. 域名系统DNS
域名系统DNS:实现将域名和IP地址进行映射,并提供解析的分布式数据库服务,使人们更加方便的访问互联网。使用TCP和UDP的53端口。
# 9.11.1. 名称解析方法
Hosts 表: 是—个没有扩展名的文本文件。其中存放—些常用的主机域名和其对应的IP地址映射, 文件中每—行对应一个条目。
DNS 系统: 规定域名中的标号由英文字母和数字组合而成, 每个标号不能超过63个字符,为方便记忆—般不超过12个字符。
# 9.11.2. 域名空间
# 9.11.3. 域名服务器
根据域名服务器所起的作用,可以把域名服务器划分为四种不同的类型:
- 根服务器:根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有顶级域名服务器的域名和ip。如果本地域名服务器没有缓存相应记录,首先会向根域名服务器发起请求。
- 顶级域名服务器:顶级域名服务器管理在该顶级域名服务器注册的所有二级域名,但受到DNS查询就会有相应应答。(可能是给出最后的结果或下一步一应当找的域名服务器ip)
- 权威域名服务器:权威域名服务器是负责查询域名的解析设置,一般由域名解析服务商提供,权威域名服务器是直接对域名进行解析过程的。
- 本地域名服务器:每一个因特网服务提供ISP(电信联通移动)都可以拥有一个本地域名服务器。这种服务器有时也被称为默认域名服务器。本地域名服务器一般离用户较近,一般不超过几个路由的距离。如果要查询的IP同属一个本地ISP时即可直接返回结果地址ip。
# 9.11.4. DNS查询过程
**本地解析:**客户机平时查询得到的DNS记录均保存在本地DNS缓存中,当有进程提出DNS查询时,DNS客户端先使用本地缓存的信息来解析,如果可以解析则直接应答查询而不必向DNS服务器查询。本地解析有两个来源:Hosts表和DNS缓存。
**直接解析:**如果本地解析不能找到DNS信息,则客户端向其所设定的DNS服务器发出查询请求,服务器收到请求后先检查本地配置区域中是否有所需查询信息,如果有则作出应答,如果没有,服务器则检查能否通过其缓存的查询信息来解析,如果有则作出应答。
**递归解析:**如果DNS服务器不能解析该查询信息,则服务器一层一层向上级DNS服务器查询,直到查询到该信息为止。
迭代解析:如果DNS服务器不能解析该查询信息,服务器不会向上级DNS服务器查询该信息,而是将上级DNS服务器地址告诉给客户端,由客户端向上级DNS服务器查询该信息。
# 9.11.5. 对象类型与资源记录
资源记录 | 说明 |
---|---|
SOA(起始授权机构) | 定义了该区域中哪个名称服务器是权威名称服务器 |
NS(域名服务器) | 表示该区域的域名服务器(包含SOA中指定的该区域的主服务器和辅助服务器) |
A(IPv4主机) | 区域中域名到IPv4地址的映射 |
AAAA(IPv6主机) | 区域中域名到IPv6地址的映射 |
PTR(指针) | PTR记录把IP地址映射到域名 |
MX | 邮件交换器记录 |
CNAME(别名记录) | 基于A或者AAAA的主机,作出一个别名。 |
# 9.12. 远程登录服务(telnet)
用户在本地使用虚拟终端(NVT)通过TCP连接可以登录到远程的主机或服务器,像使用本地主机一样使用远程资源。C/S架构。
# 9.13. 文件传输服务(FTP)
文件传输服务: Internet 的入网用户可以利用文件传输服务(FTP)进行计算机之间的文件传输, 使用FTP几乎可以传送任何类型的多媒体文件, 如图像、声音、数据压缩文件等。FTP 服务是由TCP/IP 的文件传输协议支持的, 是一种实时的联机服务。
FTP服务器使用20和21两个网络端口与FTP客户端进行通信,
FTP服务器的21端口用于传输FTP的控制命令,20端口用于传输文件数据。
对于FTP会建立两条连接,先建立控制连接,再打开数据连接。
FTP分为两种模式:主动模式和被动模式。
主动模式:
- 客户端大于1024的随机高位端口与FTP服务器的控制端口发出建立连接的请求,客户端会告知服务器,开启的数据端口号是多少(一般为客户端的随机端口+1)。
- 服务器同意建立连接,则会发送确认。
- 服务器通过20端口主动向客户端的数据端口发出建立连接的请求。
- 建立成功连接,访问数据。
被动模式:
- 客户端大于1024的随机高位端口与FTP服务器的控制端口发出建立连接的请求,客户端会告知服务器,开启的数据端口号是多少(一般为客户端的随机端口+1)。
- 服务器同意建立连接,则会发送确认。同时会告知客户端,服务端会开启一个大于1024的随机高位端口作为数据端口,与客户端的数据端口进行通信。
- 客户端通过数据端口主动向服务端的数据端口发出建立连接的请求。
- 建立成功连接,访问数据。
# 9.14. 动态主机配置协议(DHCP)
动态主机配置协议(Dynamic Host Configuration Protocol):简称DHCP , 是一个应用于局域网的网络协议,该协议允许服务器向客户端动态分配IP地址和配置信息。
该协议位于OSI模型的应用层,使用UDP协议工作。
- 客户端向网络中广播DHCPdiscover数据包,附加来源地址0.0.0.0,目的地址255.255.255.255。
- 服务器收到DHCPdiscover数据包,通过广播DHCPoffer数据包作出响应,包含IP,mac,租约期等。
- 客户端选择第一个收到的DHCPoffer包作出响应,发送DHCPrequest广播包,告诉所有DHCP,它将采用哪个服务器的IP地址。
- 服务器收到DHCPrequest数据包,发送DHCPack数据包进行确认。或者发送DHCPnack数据包进行地址失效处理。
DHCPdecline:客户端还发送ARP数据报,查询网络中是否有该IP地址,如果该IP被占用将会发出DHCPdecline数据报给服务器,拒绝其DHCPoffer,并重新发送DHCPdiscover获取动态IP地址。
当租约期过一半时**(50%)重新向服务器发送DHCPrequest数据包**,以便继续租用原来IP。
如果租约成功,更新租约,否则继续使用原来IP。
当租约过一半没有租约成功,则在剩下的租约期限再过一半**(87.5%)时,发出DHCPrequest广播包**,向其它服务器获取新的租约。
# 9.15. 电子邮件服务
电子邮件服务有以下几种协议: SMTP、POP3 、IMAP
SMTP ( Simple Mail Transfer Protocol ) : 即简单邮件传输协议 : 是一组用于由源地址到目的地址传送邮件的规则, 由它来控制信件的中转方式。 POP3 (Post Office Protocol 3): 即邮局协议的第3个版本: 它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。 IMAP(Internet Mail Access Protocol) 交互式邮件存取协议:IMAP是斯坦福大学在 1986 年开发的研发的—种邮件获取协议。
IMAP和POP3的区别是:POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的。而IMAP客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
MIME即多用途互联网邮件扩展,是目前互联网电子邮件普遍遵循的邮件技术规范。在MIME的支持下,图像、声音、动画等二进制文件都可方便的通过电子邮件来进行传递,极大地丰富了电子邮件的功能。目前互联网上使用的基本都是遵循MIME规范的电子邮件。
# 9.16. HTTP协议(可能需要补充)
后续可能需要补充。
# 10. 网络管理技术
# 10.1. Windows基本管理
# 10.1.1. 网络配置命令
ipconfig:
ipconfig /all #显示所有适配器完整TCP配置信息
ipconfig /renew #手动更新DHCP配置信息
ipconfig /release #DHCP客户端手动释放IP
ipconfig /flushdns #清除并重设DNS缓存信息
ipconfig /registerdns #手动注册DNS
ipconfig /displaydns #显示本地DNS内容
2
3
4
5
6
ping:
ping -t #连续发送请求信息到目的地,按ctrl+C终止。
ping -a #对目的地IP进行反向名称解析
ping -n count #指定发送请求信息的次数,默认为4
ping -l size #发送消息中数据字段的长度
2
3
4
tracert:
tracert -d #防止将路由器的IP解析成名称
tracert -h max-hops #搜索目标路径中指定跃点的最大数
2
netstat:
netstat -a #显示所有活动TCP连接以及侦听的TCP和UDP端口
netstat -e #显示以太网统计信息,包括收发字节数,常与-s结合使用
netstat -s #按协议显示统计信息
netstat -r #显示本机路由,与route print等价
netstat -p #protocol显示指定的协议连接,与-s可以联合使用,可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6
netstat -n #显示活动的TCP连接,但以数字形式表现地址和端口
2
3
4
5
6
arp:
arp –s IPaddress #在arp表中添加静态表项
arp –d IPaddress #删除指定一个表项
arp –a ipaddress #显示指定IP地址的arp表项,不带参数则显示所有表项
2
3
route:
route -f #删除路由表中的网络路由
route add #添加路由
route change #修改已有路由
route delete #删除路由
route print #显示本机路由,与netstat -r命令相同
2
3
4
5
# 10.2. Linux基本管理(略)
# 10.3. 网络管理协议(SNMP)
**配置管理:负责检测和控制网络的配置状态。**对网络拓扑结构、资源配备、操作日志、使用状态等配置信息进行定义、检测和修改。
**性能管理:**保证有效的运营管理和提供约定的服务质量,并在保持各种业务服务质量的同时,提高网络资源的利用率。
**故障管理:**发现和纠正网络故障,动态的维护网络有效性。故障管理的功能:报警、故障定位、测试、业务恢复和维护故障日志。
**安全管理:**提供信息的保密、认证和完整性保护机制,使网络中的服务、数据和系统免受侵扰和破坏。主要功能包括:风险分析、安全服务、告警、日志和报告。
**计费管理:**正确的计算和收取用户网络服务费用,进行网络资源利用率的统计和成本效益核算。
网管系统构成:
主要包括:网络管理协议、网络管理工作站(manager)、被管理组件(agent)、管理信息库MIB。
MIB管理信息库:
管理信息库MIB存在于被管网络设备,它指明了网络元素能够被管理进度查询和设置的信息,MIB是被管网络设备中标准变量定义的集合。
MIB文件中的变量使用的名字取自于ISO和ITU管理的对象标识符(object identifier)名字空间,它是一种分级树的结构。
被管理对象可以用从树的根节点开始的一条路径来无二义性的进行识别,因此MIB又称为对象命名树。
网络管理协议SNMP:
SNMP是在TCP/IP协议基础上定义并依赖于UDP数据报的应用层协议,采用UDP协议不会增加网络负载,但UDP协议不可靠,所以SNMP报文容易丢失,为此,SNMP的每个管理信息单独发送,报文限制在484字节。
版本 | 特色 | 增强 |
---|---|---|
SNMPv1 | 简单,易于实现,广泛应用 | |
SNMPv2 | 支持完全集中和分布式两种网络管理 | 扩充了管理信息结构,增强管理站间的通信能力,添加了新的协议操作 |
SNMPv3 | 达到商业级安全要求 | 提供了数据源标识,报文完整性认证,防止重放,报文机密性,授权和访问控制,远程配置和高层管理 |
SNMPv1和SNMPv2使用团体名进行认证,但SNMPv1共同体名使用明文传送,而SNMPv2可以进行鉴别和加密;SNMPv3定义了基于用户的安全模型,可以使用预先共享密钥进行报文认证。
管理进程(Manager)使用162端口;运行在被管设备上。进行get或者set操作。get读取指令,set设置指令。
代理进程(Agent)使用161端口,进行trap操作。
# SNMP5种报文
SNMP5种报文,针对SNMPv1版本有以下5种:
- Get-Request:从代理处提取一个或多个变量。
- Get-NextRequest:从代理处提取紧跟当前参数的下一个变量值。
- Set-Request:设置代理进程一个或多个变量。
- Get-Response:返回参数值,该操作由代理进程发出,是前3种操作的响应。
- Trap:代理进程主动发出的报文,通知管理进程某些事件。出故障
SNMPv2协议增加了GetbulkRequest报文、Inform-Request报文。
- GetBulkRequest:管理站一次读取代理处MIB中大量成块数据, 高效率地从代理处获取大量管理对象数据。该消息在检索大量管理信息时使所需要的协议交换数目大大减少。
- InformRequest:消息实现管理进程之间互相通信,也就是由管理站发起,向另一个管理站报告状态或数据。
# 10.4. 网络存储(可能需要补充)
**直连式存储DAS:**在服务器上外挂大容量磁盘,存储设备与服务器主机之间采用SCSI通道连接。这种方式难以扩展存储容量,不支持数据容错,当服务器出错时,造成数据丢失。
**网络附加存储NAS:**将存储设备连接到现有网络上,来提供数据存储和文件访问服务。采用raid方式管理,能有效保护数据。
**存储区域网络FC-SAN:**是一种连接存储设备和存储管理子系统的专用设备,专门提供数据存储与管理功能。SAN是一种专用高速网络,采用光纤通道实现网络互联,SAN不仅提供大容量的数据存储,而且地域上可以分散部署。
# 11. 网络安全技术
# 11.1. 网络安全概述
网络安全五大基本要素: 机密性、完整性、可用性、可控性、可审查性。
网络攻击手段:
被动攻击:流量分析、截获。由于被动攻击不会对被攻击的信息做任何修改,因而非常难以检测,所以对抗被动攻击的重点在于预防,被动攻击不易被发现,因而常常是主动攻击的前奏。
主动攻击:拒绝服务、中断、篡改、伪造。对抗主动攻击的重点在于检测。常用的有:数据完整性检测、身份认证等...
其他攻击方式:物理临近攻击、内部人员攻击(恶意及非恶意) 和分发攻击。
拒绝服务攻击(DOS 攻击):攻击者大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 造成的危害:
- 消耗系统资源( 带宽、内存、队列、CPU ) 。
- 导致目标主机宕机。
- 阻止授权用户正常访问服务( 慢、不能连接、没有响应) 。
分布式拒绝服务攻击(DDOS 攻击):基于DOS 攻击, 借助于客户端/服务器技术, 将多个计算机联合起来作为攻击平台, 对—个或多个目标发动DDOS 攻击, 从而成倍地提高拒绝服务攻击的威力。 其他常见的DOS 攻击还有: SYN Flood、Ping of Death、Teardrop 攻击、Land 攻击、Smurf 攻击、winnuke 攻击等...
SQL 注入攻击:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串, 最终达到欺骗服务器执行恶意的SQL 命令, 获取攻击者想要取得的数据。具体来说, 它是利用现有应用程序, 将( 恶意的) SQL 命令注入到后台数据库引擎执行的能力。SQL 注入攻击属于数据库安全攻击手段之一, 可以通过数据库安全防护技术实现有效防护, 数据库安全防护技术包括: 数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。SQL 注入攻击会导致的数据库安全风险包括: 刷库、拖库、撞库。
# 11.2. 计算机病毒
计算机病毒命名规则:<病毒前缀>.<病毒名>.<病毒后缀>
常见的病毒前缀: Trojan(木马病毒)、Worm(蠕虫病毒)、Hack(黑客病毒)、Macro(宏病毒)、Script(脚本病毒)以及系统病毒(Win32、PE、Win95、W32、W95、WM97 等.. )
病毒类型 | 关键字 | 特征 | 代表 |
---|---|---|---|
系统病毒 | 前缀为win32, win95, PE,W32,W95等 | 感染windows系统的exe或dlI文件, 并通过这些文件进行传播 | CIH病毒 |
蠕虫病毒 | 前缀为worm | 通过网络或者系统漏洞进行传播,可以向外发送带毒邮件或阻塞网络 | 冲击波(阻塞网络)、 小邮差病毒(发送带毒邮件) |
木马病毒和黑客病毒 | 木马前缀为Trojan、黑客病毒前缀为Hack | 通过网络或漏洞进入系统并隐藏起来,木马负责入侵用户计算机,黑客通过木马进行远程控制。 | 游戏木马Trojan.Lmir.PSW60 |
脚本病毒 | 前缀是Script | 使用脚本语言编写,通过网页进行传播 | 欢乐时光病毒VBS.Happtime 红色代码Script.Redlof |
宏病毒 | 前缀是Macro | 特殊脚本病毒,感染word和excel | Macro.Word97 |
后门病毒 | 前缀为Backdoor | 通过网络传播,给系统开后门,给用户计算机带来安全隐患 | 入侵后添加隐藏账号 |
破坏性程序病毒 | 前缀为Harm | 本身具有好看的图标来诱惑用户点击,当用户点击,对计算机产生破环。 | 熊猫烧香 |
捆绑机病毒 | 前缀为Binder | 将特定程序捆绑下载 | 下载大礼包或某些软件捆绑病毒 |
ARP欺骗攻击:
计算机病毒防治:
- 安装杀毒软件及网络防火墙(或断开网络),定时更新病毒库。
- 及时安装操作系统补丁。
- 不访问安全性无法保证的网站。
- 下载文件后及时杀毒。
- 关闭多余端口, 做到使电脑在合理的使用范围之内。
- 不使用修改版的软件, 如果一定要用, 在使用之前查杀病毒&木马,以确保安全。
# 11.3. 加密技术
# 11.3.1. 基本概念
明文: 加密前的原始数据。
密文: 经加密处理后的明文信息。
加密: 将明文转变为密文的过程。
解密: 加密的反操作。
加密算法: 加密时使用的变换规则, 主要分为置换、异位和一次性填充。
- 置换: 改变明文内容的表现形式,但内容元素的相对位置不变。
- 异位: 改变明文内容相对位置,但表现形式不变。
# 11.3.2. 加密技术的分类
加密技术分为两类: 对称加密( 私人密钥加密) 和非对称加密( 公开密钥加密)。对称加密以数据加密标准(DES , Data Encryption Standard)算法为典型代表, 非对称加密通常以RSA(Rivest,Shamir,Adleman)算法为代表。
对称加密:
对称加密采用了对称密码编码技术, 它的特点是文件加密和解密使用相同的密钥, 即加密密钥也可以用作解密密钥,或者从—个可以导出另一个,拥有加密能力就拥有解密能力。
常用算法:DES、3DES、IDEA、TDEA、AES、RC2、RC4、RC5。
DES : 属于对称密码体制,将分组为64位的明文加密为64位密文。其密钥长度为56位,附加8位奇偶校验。加密过程执行16个加密循环。 3DES(三重DES) : 使用两个密钥, 执行三次DES算法, 在第—和第三层使用相同的密钥,其主密钥长度为112位。 IDEA : 属于对称密码体制,将分组为64位的明文加密成64位密文。使用128位密钥, 加密过程执行17个加密循环。
AES(高级加密标准): 支持128、192和256位三种密钥长度。
对称加密特点: 使用简单快捷,开放性差,需要可靠的密钥传递渠道。
非对称加密:
又称公开密钥加密, 分为公开密钥(public key)和私有密钥(private key),公开密钥与私有密钥是—对, 如果用公开密钥对数据进行加密, 只有用对应的私有密钥才能解密; 如果用私有密钥对数据进行加密, 那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥, 所以这种算法叫作非对称加密算法。
常用算法:RSA、Elgamal、背包算法、Rabin、Diffie-Hellman 、ECC(椭圆曲线加密算法)、使用最广泛的是RSA算法,Elgamal是另—种常用的非对称加密算法。
RSA 算法: RSA密钥至少为500位长, —般推荐使用1024位。加密的计算量很大。
非对称加密特点:加密速度慢、开销大、不适用于长明文加密、常与对称密码体制相结合使用。
# 11.4. 数字签名
私钥加密,公钥解密。
数字签名基于非对称加密体制, 主要功能有: 确保信息传输的完整性、发送者的身份认证、不可否认。
数字签名是个加密的过程, 数字签名验证是个解密的过程。其中认证又可分为实体认证和消息认证,主要是解决网络通信过程中通信双方身份认可。
- 实体认证: 识别对方身份防止假冒, 可采用数字签名。
- 消息认证: 验证消息在传送或存储过程中有没有被篡改, 可采用报文摘要。报文摘要可以为指定的数据产生一个不可仿造的特征。 三种认证技术: 基于共享密钥的认证, need ham -schroeder 认证协议, 基于公钥认证
数字签名与加密结合:
# 11.5. 哈希算法与报文鉴别
报文摘要是指单向哈希函数算法将任意长度的输入报文经计算得出固定的输出称为报文摘要。所谓单向是指该算法是不可逆的。传输的报文( 数据) 一旦被修改那么计算出的摘要就不同, 只要对比两次摘要就可确定报文( 数据) 是否被修改过。
报文摘要主要的方法有: MD5、SHA
MD5 算法: 以任意长的报文作为输入,先把报文按512位分组,输出产生—个128位报文。
SHA(安全散列算法):该算法建立在MD5基础上,先把报文按512位分组,产生160位的报文摘要。
# 11.6. 对称密钥的分配(不会,后续补充)
Kerberos属于对称密钥(DES算法),在不安全的网络环境中为用户对远程服务器的访问提供自动鉴别**、**数据完整性和安全性服务、以及密钥管理。
Kerberos系统的目标有三方面的:认证、授权和记帐审计
Kerberos认证系统的认证过程:
- 用户向认证服务器AS申请初始票据。
- 认证服务器AS向用户发放票据授予票据(TGT)。
- 用户向票据授权服务器TGS请求会话票据。
- 票据授权服务器TGS验证用户身份后发放给用户会话票据Kav。
- 用户向应用服务器请求登录。
- 应用服务器向用户验证时间戳。为了防止中途报文被截获再重发,通信双方提供时间戳,
KerberosV4系统中使用时间戳防止重发。
KerberosV5系统使用seq序列号来防止重发,目前主流是V5。
# 11.7. 数字证书
数字证书:一个经证书签证机关CA数字签名的包含公开密钥拥有者信息和公开密钥的文件。用户使用自己的私钥进行解密和签名,使用公钥进行加密和验证。
X.509证书标准包括:版本号、序列号、签名算法、发行者、有效期、主题名、公钥、发行者ID、主体ID、扩充域和认证机构的签名。
# 11.7.1. 安全套接层SSL(需要补充)
SSL介于HTTP协议和TCP协议之间的可选层。当发出访问请求时,SSL层借助下层协议的信道安全协商出一份加密密钥,并用此密钥加密Http请求;在TCP层与服务端口建立连接,传输SSL层处理后的数据,接受端与此过程相反。
# 11.7.2. 安全电子交易SET
SET使用电子认证技术为保密电子交易安全进行的基础,认证过程使用RSA和DES算法,SET协议要求三方都有证书。
提供的3种服务:
- 在交易的双方之间提供安全信道
- 使用X.509证书实现安全电子交易
- 保证信息的机密性
# 11.8. PGP(可能需要补充)
PGP工作过程:用一个随机生成的密钥(每次均不同)使用IDEA(128位密钥)对明文进行数据加密,使用MD5进行数据完整性认证,然后用RSA对该密钥进行加密。既有RSA的保密性,又有IDEA的快捷性。
主要特征:
- 使用PGP对邮件加密,防止非法阅读。
- 给邮件加数字签名,使得收件人能够确认发件人。
- 能够机密文件。
# 11.9. 数据加密方式
- **链路加密:**数据在信道中是密文,在节点中呈现明文。
- **节点到节点加密:**解决了节点中数据是明文的缺点。在中间节点中装有加密与解密保护装置,由其来完成密钥的变换。
- 端到端加密:数据在没有到达最终节点前不被解密,对于中继节点,数据是密文。通常使用对称密钥。
# 11.10. 网闸
网闸,又称安全隔离与信息交换系统(GAP),是新一代高安全度的企业级信息安全防护设备,它依托安全隔离技术为信息网络提供了更高层次的安全防护能力,不仅使得信息网络的抗攻击能力大大增强,而且有效地防范了信息外泄事件的发生。
网闸是使用带有多种控制功能的固态开关读写介质,连接两个独立主机系统的信息安全设备。
由于两个独立的主机系统通过网闸进行隔离,使系统间不存在通信的物理连接、逻辑连接及信息传输协议,不存在依据协议进行的信息交换,而只有以数据文件形式进行的无协议摆渡。因此,网闸从物理上隔离、阻断了对内网具有潜在攻击可能的一切网络连接,使外部攻击者无法直接入侵、攻击或破坏内网,保障了内部主机的安全。
# 11.11. 防火墙
防火墙指的是—个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。 在网络中,所谓防火墙,是指—种将内部网和公众访问网(如Internet)分开的方法,它实际上是—种隔离技术。 华为的防火墙可将网络划分为三个区域:
- 连接外部网络的不信任(Untrust)区域。
- 连接内部用户主机的信任(Trust)区域。
- 连接需要对外提供应用服务的DMZ(Demilitarized Zone)区域。
路由防火墙模式:防火墙充当路由器的功能。
透明防火墙模式: 特点就是对用户是透明的(Transparent),即用户意识不到防火墙的存在。
防火墙根据工作在OSI模型不同层次可以划分为: 包过滤防火墙、代理型防火墙、状态检测防火墙。
- 包过滤防火墙:包过滤是—种内置于Linux内核路由功能之上的防火墙类型,其工作在网络层。防火墙用—个软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包。数据包过滤是通过对数据包的IP头和TCP头或UDP头的检查来实现的。
- 代理型防火墙:其工作在应用层。当代理服务器收到—个客户的连接请求时,先核实该请求,然后将处理后的请求转发给真实服务器,在接受真实服务器应答并做进—步处理后,再将回复交给发出请求的客户。代理服务器在外部网络和内部网络之间,发挥了中间转接的作用。所以,代理服务器有时也称作应用层网关。缺点是速度较慢。
- 状态检测防火墙:状态检测防火墙采用了状态检测包过滤的技术,是传统包过滤上的功能扩展。其工作在网络层。状态检测防火墙在网络层有一个检查引擎(动态生成的连接状态表{Connection State Table) )截获数据包并抽取出与应用层状态有关的信息,并以此为依据决定对该连接是接受还是拒绝。这种技术提供了高度安全的解决方案,同时具有较好的适应性和扩展性。
# 11.12. 入侵检测技术:IDS和IPS
# 11.12.1. IDS 入侵检测系统
入侵检测系统(Intrusion Detection System, IDS) :是防火墙之后的第二道安全屏障。
美国国防部高级研究计划局( DARPA) 提出的公共入侵检测框架( Common Intrusion Detection Framework, CIDF) 由4 个模块组成:
- 事件产生器(Event generators, E-boxes):负责数据的采集。
- 事件分析器( Event Analyzers, A-boxes):模式匹配(跟已知的数据库比较),统计分析(根据已有的特征值进行匹配),数据完整性分析(分析文件或者系统)。
- 事件数据库(Event DataBases, D-boxes):存放事件的结果和数据。
- 响应单元( Response units, R-boxes):根据报警信息做出各种反应。
# IDS部署位置
- 服务器区域的交换机上
- Internet接入路由器之后的第一台交换机上
- 重点保护网段的局域网交换机上
# IDS系统分类
- 按信息来源区分:基于主机的IDS(HIDS)、基于网络的IDS、分布式IDS(NIDS)
- 按响应方式区分:实时监测和非实时检测
- 按数据分析技术和处理方式区分:异常检测、误用检测、混合检测
- 异常检测:建立并不断更新和维护系统正常行为的轮廓,定义报警阈值,超过阈值则报警。能够检测从未出现的攻击,但是误报率高。
- 误用检测:通过对已知的入侵行为进行特征提取,形成入侵模式库,匹配则报警。对已知的入侵检测准确率高,未知检测准确率低。高度依赖特征库。
- 混合检测:对以上两种检测方法进行综合,取长补短的一种检测方法。
- 专家系统和模式匹配。
# 11.12.2. IPS 入侵防御系统
入侵防御系统(Intrusion Prevention System, IPS ):是一种抢先的网络安全检测和防御系统,能检测攻击并积极响应。
- IPS不仅具有入侵检测系统检测攻击行为的能力,而且具有拦截攻击并阻断攻击的功能。
- IPS不是IDS和防火墙功能的简单组合,IPS在攻击响应上采取的是主动的全面深层次的防御。
IPS 一般是作为一种网络设备串接在网络中的,而IDS 一般是采用旁路挂接的方式,连接在网络中。
# 12. 网络规划与设计
# 12.1. 综合布线技术
结构化综合布线系统(Structured Cabling System , SCS):是基于现代计算机技术的通信物理平台,集成了语音、数据、图像、多媒体的传输功能,消除了原有通信线路在传输介质上的差别。 结构化综合布线系统包括:建筑物综合布线系统(PDS)、智能大厦布线系统(IBS)、工业布线系统(IDS)
综合布线技术分为六大子系统: 工作区子系统: 终端到信息插座的整个区域。包括信息插座、跳线、适配器。 要求:
- 信息插座与电源插座保持在30~150cm的距离。
- 信息插座距地面一般在30cm , 面积为9
。 - UTP/STP布线距离为10m 。
水平子系统: 各个楼层的接线间配线架到工作区信息插座之间的电缆构成。在结构化布线中,水平子系统起支线作用,它将用户端通过线缆连接至配线架上。UTP/STP布线距离为90m 。
管理子系统: 对布线电缆进行端接和配线管理的子系统,通常设置在楼层的配线间内。由交联设备(双绞线配线架、光纤配线架) 集线器和交换机等交换设备组成。
干线子系统(垂直子系统): 连接管理间和设备间的子系统。—般由多对数的光缆和双绞线组成。 设备间子系统:用于安放网络关键设备。 要求:
- 湿度要求在20%-80°,温度20-30℃。
- 综合考虑配电、安全接地和消防等因素。
建筑群子系统: 由连接楼群之间的通信传输介质和各种支持设备组成。布线距离光纤一般2000米,STP为800 米,UTP为700米。 综合布线测试参数:
- 双绞线: 最大衰减值、回波耗损限值、近端串扰衰减值、开路、短路、是否错对。
- 光纤: 最大衰减值、回波耗损限值、波长窗口参数、时延、长度。
# 12.2. 网络系统建设
根据五阶段迭代周期模型, 网络系统建设可以被划分为以下五个阶段:
- 需求分析。需求分析产生一份需求规范说明书,需要管理者与设计者签字,这是规避网络建设风险的关键。
- 现有网络体系分析,即通信规范分析。该阶段给出一份通信规范说明书,作为下一阶段的输入。
- 确定网络逻辑结构,即逻辑网络设计。
- 确定网络物理结构,即物理网络设计。
- 安装与维护。
# 12.3. 网络结构设计
层次化网络设计经典的三层模型,是将网络分为核心、汇聚和接入层。
- 核心层:提供不同区域或者下层的高速连接和最优传输路径,主要设备是高端路由器或者交换机。 设计原则:核心层由于其重要性应采用冗余组件设计,使其具备高可靠性,能快速适应变化。核心层拥有高可靠性、高带宽和高吞吐率。尽量避免数据包过滤和策略路由等降低数据包转发处理的机制, 以实现数据包的高速转发。
- 汇聚层:将网络业务连接到接入层,并且实施安全、流量负载和路由相关策略。主要设备是实现策略的路由器或者交换机。汇聚层主要完成协议转换、策略路由、流量控制等。 设计原则:汇聚层时核心层与接入层的分界点,尽量将出于安全原因对资源的访问控制及出于性能原因对核心层的流量控制都在汇聚层实施。
- 接入层:为终端用户访问网络提供接入。主要设备是低端交换机。 设计原则:接入层主要解决相邻用户之间的互访,为这些互访提供丰富的接口类型及足够的带宽。同时还负责—些用户管理功能( 如地址认证、用户认证、计费管理) 和用户信息收集(IP 与MAC 绑定、访问日志)工作。 除此之外网络设计还应包括以下内容: 物理层技术设计、局域网技术选择及应用、广域网技术选择及应用、地址设计和命名模型、路由协议选择、网络管理、网络安全、逻辑网络设计文档。
# 13. Windows服务器配置(暂时略过,笔记需补充)
# 13.1. DNS服务器配置
# 13.2. DHCP服务器配置
# 14. Linux服务器配置
# 14.1. DHCP服务器配置
安装:yum -y install dhcp-server
或者 yum -y install dhcp
,根据系统版本选择。
DHCP服务器的配置文件为:/etc/dhcp/dhcpd.conf
dhcpd服务程序配置文件中常见参数及作用:
标准参数类语句:
ddns-update-style none; # 定义DNS服务动态更新的类型,包括 none(不支持动态更新)、interim(互动更新模式)、ad-hoc(特殊更新模式)
[allow | ignore] client-updates; # 允许/忽略客户端更新DNS记录
default-lease-time [21600]; # 默认租约时间,单位为秒(windows中为天)
max-lease-time [43200]; # 最大租约时间
range; # 定义用于分配的IP地址池
hardware ethernet 08:00:07:26:c0:a5; # 指明物理硬件接口类型和硬件地址。一般常与Fixed-address 语句一起使用实现IP地址的静态绑定。
server-name "toccata.example.com"; # 告知客户端所连接服务器的名字。
fixed-address fantasia.example.com; # 指定一个或多个IP地址给一个DHCP客户,只能出现在host声明里。
2
3
4
5
6
7
8
选项类语句:
option subnet-mask mask; # 子网掩码选项,服务开启后可用于所有客户端。
option broadcast-address IP地址; # 广播地址选项,服务开启后可用于所有客户端。
option routers IP地址; # 网关(路由)地址选项,可设多个。
option domain-name-servers IP地址; # DNS服务器IP地址,可用于所有客户端,可配置多个。
option domain-name "dns.example.com"; # dns服务器域名,可用于所有客户端。
option host-name string; # 给客户指定主机名。
2
3
4
5
6
/etc/dhcp/dhcpd.conf
配置的声明与选项:
ddns-update-style none;
subnet 192.168.1.0 netmask 255.255.255.0 { # 指定DHCP服务器的作用域,作用在哪一个网段(子网网段声明)
option routers 192.168.1.254; # 定义客户端的网关地址
option subnet-mask 255.255.255.0; # 定义客户端的子网掩码
option domain-name "dns.example.com"; # dns服务器域名
option domain-name-servers 192.168.1.1; # dns服务器IP地址
range 192.168.1.10 192.168.1.100; # 地址池分配范围
}
# 为特定的客户端分配IP地址
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; # 指定物理接口和MAC地址
fixed-address 192.168.1.20; # 固定分配的IP地址
}
2
3
4
5
6
7
8
9
10
11
12
13
dhcpd.leases 是DHCP客户租约的数据库文件,默认目录在 /var/lib/dhcpd
,文件包含租约声明,每—次—个租约被获取、更新或释放, 它的新值就会被记录在文件的末端。
lease 192.168.1.10 {
starts 1 2022/10/24 06:42:10; # 租约起始时间
ends 1 2022/10/24 18:42:10; # 租约过期时间
cltt 1 2022/10/24 06:42:10;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:e2:b9:d4; # 获得租约的MAC地址
uid "\001\000\014)\342\271\324"; # ID信息
client-hostname "dhcp-client"; # 获得租约的主机名称
}
2
3
4
5
6
7
8
9
10
11
启动和停止DHCP服务:
service dhcpd [start|stop|restart]
# 14.2. DNS配置
# 14.2.1. DNS客户端配置
/etc/resolv.conf
配置的声明与选项:
# Generated by NetworkManager
search dns.example.com # 当提供了一个不包含完全域名的主机名时,如server,在该主机名后添加dns.example.com的后缀
nameserver 192.168.1.3 # DNS服务器IP地址
order host,bind # DNS解析顺序:本机缓存、host文件、本地DNS服务器
2
3
4
# 14.2.2. DNS服务器配置
安装:yum -y install bind
DNS服务器的配置文件为:/etc/named.conf
//单行注释类型
/*
多行注释
*/
acl acl-name { address_match_list;}; # 定义IP地址列表,用于访问控制或者其他用途
options
{
directory "/var/named"; # 指定服务器的工作目录
listen-on port 53 { any; }; # 监听IPv4的53端口,any表示任意客户端都可以访问
listen-on-v6 port 53 { any;}; # 监听IPv6的53端口,any表示任意客户端都可以访问
allow-query { any; }; # 面向所有源IP提供解析服务
};
view view-name { # 根据客户端的IP地址不同,有区别地返回对域名的查询结果,如内网访问 www.xx.com,如果IP地址段为 192.168.1.0/24,则返回ip地址为 192.168.3.120,如果外网访问www.xx.com,则返回ip地址为 47.94.195.139
match-clients { localhost; }; # 匹配的客户端,根据上文ACL去控制,any表示所有
zone "." IN { # "." 代表根区域
type hint; # hint 代表根域名服务器
file "/var/named/named.ca"; # 对应的区域文件
};
zone "xiaoliutalk.cn" IN { # 正向查找区域,实现域名到IP地址的映射
type master; # master 为主域名(权威)服务器,type设置成slave,表示此服务器为辅助域名服务器,type设置成forward,表示此服务器为转发域名服务器。
file "/var/named/xiaoliutalk.cn.zone";# 对应的区域文件
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN { # 这个IP需要反着写(192.168.1.100):1.168.192
type master;
file "/var/named/192.168.1.loopback";
allow-update { none; };
};
};
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
根服务器文件named.ca:/var/named/named.ca
是—个非常重要的文件,该文件包含了 Internet 的根域名服务器名称和对应的IP地址, Bind接到客户端主机查询请求时, 如果在Cache 中找不到相应的数据, 就会通过根服务器进行逐级查询。
如果文件内容有误, 客户端将在向自身缓存无法完成IP地址的解析。named.ca 文件可以通过 Internet 进行下载。
正向查找配置:
区(zone)文件配置:
在指定的目录下创建zone文件名称 xiaoliutalk.cn.zone
内容如下。
// 域名记录的默认TTL值
$TTL 86400
// SOA 代表权威域名服务器,可以指出权威域名服务器地址,以及管理员邮件地址,邮件格式为manager@xiaoliutalk.cn,但是这样写会报错,所以把@修改成 .
@ IN SOA dns.xiaoliutalk.cn. manager.xiaoliutalk.cn. (
1 ;Serial
3h ;Refresh after 3 hours
1h ;Retry after 1 hour
1w ;Expire after 1 week
1h) ;Negative caching TTL of 1 hour
;
// 添加域名服务器记录:域名服务器又称为NS记录,在区域文件中用千设置当前区域的DNS服务器名称,“@”符号在区域文件中代表默认的域( 当前域)
@ IN NS dns.xiaoliutalk.cn.
;
;server domain
;
// A记录
dns 3600 IN A 192.168.1.3
www 300 IN A 192.168.1.3
// CNAME记录
a 20 IN CNAME www
mail 300 IN A 192.168.1.3
;
;mail server
;
// 添加邮件交换记录:邮件交换记录又称MX记录,用于设置在当前区域中提供邮件服务的服务器名称。
@ 3600 IN MX 10 mail
;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
反向查找配置:
在指定的目录下创建文件名称 192.168.1.loopback
内容如下。
$TTL 86400
// SOA 代表权威域名服务器,可以指出权威域名服务器地址,以及管理员邮件地址,邮件格式为manager@xiaoliutalk.cn,但是这样写会报错,所以把@修改成 .
@ IN SOA dns.xiaoliutalk.cn. manager.xiaoliutalk.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
// 当前区域的DNS服务器名称
NS dns.xiaoliutalk.cn.
// PTR记录为IP地址到域名的映射关系,只用写IP地址最后一段(即第四段)
100 PTR ftp1.xiaoliutalk.cn.
101 PTR ftp2.xiaoliutalk.cn.
102 PTR ftp3.xiaoliutalk.cn.
2
3
4
5
6
7
8
9
10
11
12
13
14
配置DNS均衡负载功能:
在企业网中需要使用三台内容相同的FTP 服务器共同承担客户对网站的访问, 他们的IP地址分别对应192.168.1.21 、192.168.1.22和192.168.1.23。现只要在DNS 服务器的区域文件中加入以下三条A记录,就可以实现三台FTP服务器的网络负载均衡功能。
ftp IN A 192.168.1.21
ftp IN A 192.168.1.22
ftp IN A 192.168.1.23
2
3
启动和停止DNS服务:
service named [start|stop|restart]
# 14.3. Samba服务器配置
Smbd : 提供对服务器中文件、打印资源的共享访问。 Nmbd :提供基于NetBIOS的主机名解析, 通过NetBIOS协议, 利用共享的端口号实现文件信息的传输及共享。例: 445端口 注: Samba 可以提供跨系统的文件、打印共享服务,不同系统之间可通过Samba服务器对文件、打印机的相互访问。
安装:yum -y install samba
Samba服务器的配置文件为:/etc/samba/smb.conf
smb.conf
文件有三个重要部分:
- 全局参数字段(global):主机共享时的整体设置, 例如允许哪些主机访问共享资源或哪些主机可以进行资源共享。
- 目录共享字段(homes):该部分为用户目录共享设置, 设置对应 samba 用户宿主目录的默认共享,即当前用户访问服务器中域自己用户名相同的共享文件夹时, 会默认映射到自己的宿主目录。
- 打印机共享字段(printers):打印机的配置和共享。例如允许哪些主机使用打印机等。
[global]
# 共享级别(模式):
# user:需要用户名和密码,账号密码由本机验证。
# Share:共享不需要用户名和密码,所有主机可访问。
# server:服务器需要用户名和密码,账号密码由另一台服务器验证。
# domain:服务器需要用户名和密码,账号密码由域服务器验证。
# 安全级别: domain > server > user > Share
security = [user|share|server|domain]
netbios name = MYSERVER # 主机名称
workgroup = MYGROUP # 可自行设定工作组,WORKGROUP组
server string = Samba Server Version %v # 主机描述信息
hosts allow = 127. 192.168.12. 192.168.13. # 允许访问服务器的主机IP地址范围,如只允许一台主机,写IP地址即可。
[homes]
comment = Home Directories # 共享目录信息描述
browseable = No # 是否可以被浏览
read only = No # 是否只读
create mask = 0755 # 与Linux权限相同,新创建文件默认权限值
directory mask = 0755 # 与Linux权限相同,新创建目录默认权限值
[printers]
comment = All Printers # 打印机描述,All Printers指网络中所有打印机
path = /var/tmp
valid users = jack,@root # 指定用户可使用打印机,目前为管理员和JACK
browseable = No # 是否可以被浏览
guest ok = Yes # 访客是否允许使用打印机,等同于 public = Yes
writable = Yes # 打印机资源是否允许被写入,等同于 read only = No
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Samba用户管理:
useradd smb_user1 # 添加用户信息
password smb_user1 # 添加对应用户密码
smbpasswd -a smb_user1 # 将用户与密码与Samba服务器关联
more /etc/samba/smbpasswd # 查看smbpasswd 文件中用户信息
2
3
4
启动和停止Samba服务:
service smb [start|stop|restart]
# 14.4. FTP服务器配置
安装:yum -y install vsftpd
FTP服务器的配置文件为:/etc/vsftpd/vsftpd.conf
listen=NO # 是否以独立模式(standalone)运行监听FTP服务
listen_address=192.168.1.3 # 设置被监听的IP地址
listen_port=21 # 设置监听FTP服务的端口号
write_enable=YES # 是否启用写入权限
download_enable=YES # 是否允许下载文件
userlist_enable=YES # 是否启用user_list列表文件
userlist_deny=YES # 是否禁用user_list中的用户
max_clients=0 # 限制客户端并发连接数
max_per_ip=0 # 限制同一IP地址的并发连接数
anonymous_enable=YES # 是否启用匿名访问
local_enable=YES # 是否启用本地用户
2
3
4
5
6
7
8
9
10
11
user_list 文件:user_list 文件具有对 vsftpd 服务器很灵活的用户访问控制,绝对路径是 /etc/vsftpd/user_list
,使用 user_list 需要在主配置文件中配置。
# 设置禁止user_list文件中的用户登录(黑名单)
userlist_enable=YES
userlist_deny=YES
# 设置只允许user_list文件中的用户登录(白名单)
userlist_enable=YES
userlist_deny=NO
2
3
4
5
6
启动和停止Samba服务:
service vsftpd [start|stop|restart]
# 14.5. Apache服务器配置
安装:yum -y install httpd
Apache服务器的配置文件为:/etc/httpd/conf/httpd.conf
httpd.conf 中的全局配置:
ServerRoot "/etc/httpd" # 设置Apache服务器的根(Root) 目录
ServerAdmin root@localhost # 设置Apache服务器管理员的email地址
ServerName localhost # 设置Apache服务器的主机名
DocumentRoot "/var/www/html" # 设置Apache服务器网页存放目录
Listen 80 # 设置Apache服务器监听的网络端口号
ErrorLog "logs/error_log" # 设置Apache服务器中错误日志文件的路径和文件名
CustomLog "logs/access_log" combined# 设置Apache服务器中访问日志文件的路径和格式类型
Timeout # 设置Apache服务器与浏览器之间网络连接的超时时间。单位:秒,默认120
KeepAlive # 设置为Off时服务器不使用保待连功能,传输的效率比较低,设置为On(默认)时,可以提高服务器传输文件的效率,建议设置保持连接功能有效
MaxKeep Alive Requests # 当KeepAlive为on时,设置客户端每次连接允许请求响应的最大文件数,默认设置为100个文件
2
3
4
5
6
7
8
9
10
虚拟Web主机:即在同—台服务器中运行多个Web站点的应用,其中每—个站点并不独立占用—台真正的计算机。
Apache支持的虚拟主机类型:
- 基于域名的虚拟主机
- 基于IP地址的虚拟主机
- 基于端口的虚拟主机
基于域名的虚拟主机:
NameVirtualHost 173.17.17.11
<VirtualHost 173.17.17.11>
DocumentRoot "/tmp/111"
ServerName www.111.com
</VirtualHost>
<VirtualHost 173.17.17.11>
DocumentRoot "/tmp/222"
ServerName www.222.com
</VirtualHost>
2
3
4
5
6
7
8
9
10
基于IP地址的虚拟主机:
<VirtualHost 173.17.17.11>
DocumentRoot "/tmp/111"
ServerName www.111.com
</VirtualHost>
<VirtualHost 173.17.17.12>
DocumentRoot "/tmp/222"
ServerName www.222.com
</VirtualHost>
2
3
4
5
6
7
8
9
基于端口号的虚拟主机:
Listen 173.17.17.11:80
Listen 173.17.17.11:8080
<VirtualHost 173.17.17.11:80>
DocumentRoot "/tmp/111"
ServerName www.111.com
</VirtualHost>
<VirtualHost 173.17.17.11:8080>
DocumentRoot "/tmp/222"
ServerName www.222.com
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
启动和停止Apache服务:
service httpd [start|stop|restart]
# 15. 网络设备配置
# 15.1. 网络设备基本配置
网络设备的操作系统:
- 华为设备:VRP (Versatile Routing Platform,通用路由平台),常用的有两个版本VRP5和VRP8。
- 思科设备:IOS(internetwork operating system)
常见的三种设备配置方式:
- console方式:适合没有IP地址的网络设备, 通过console线缆与PC的com口相连,通过超级终端软件登录设备, 以命令行的方式实现配置。最常见的方式,使用console方式配置时,COM口的属性要与网络设备的属性向匹配。COM口的数据速率为9600b/s 。
- telnet方式:适合有IP地址的网络设备,并确保PC与网络设备的连通性。
- Web方式:适合有IP地址的网络设备,并内置有WEB页面。
COM口设置:
内存:
- ROM (只读存储器,Read-Only Memory ): 用于存放启动程序。操作系统的引导程序。
- Flash (快闪存储器,Flash Memory ):用于存放操作系统。
- RAM(随机存储器,Random Access Memory): 可读可写的随机存储器,掉电数据消失,存放设备运行过程中产生的数据。
- NVRAM(非易失性随机存储器,Non-Volatile Random Access Memory):断电后仍能保持数据的一种RAM。用于存放启动配置文件( saved-configuration )。
指示灯提示判断:
- 灯灭:代表对应功能未启用。
- 绿色常亮:代表对应功能正常运行。
- 红色常亮:代表报警或出现故障。
常见指示灯:
PWR电源灯:绿色常亮代表正常。
SYS系统运行状态灯:
灭:系统未运行。
常绿:正常运行(慢闪);升级(快闪)。
红色:不正常(常亮);出错(闪烁)。
ETH以太网接口灯:
灭:接口无连接。
常亮(绿):有连接。
闪烁(绿):传输数据。
STCK(stack模式状态灯):
- 灭:未选择stack模式。
- 常亮(绿):指示stack信息。
配置文件:
运行配置文件: 当前配置文件,已保存或尚未保存的文件。
current-configuration (华为)
running-config (思科)
2
启动配置文件: 执行保存命令后的启动配置文件。
saved-configuration (华为)
startup-config (思科)
2
保存当前配置到启动配置命令:
save (华为)
write (思科)
2
# 15.2. 网络设备基本配置命令(华为)
视图 | 功能 | 提示符 | 进入命令 | 退出命令 |
---|---|---|---|---|
用户视图 | 查看交换机的简单运行状态和统计信息 | 默认视图 | quit | |
系统视图 | 配置系统参数 | [Huawei] | system-view | quit或者return返回用户视图 |
以太网端口视图 | 配置以太网端口参数 | [Huawei-Ethernet0/0/1] | 在系统视图下输入 interface Ethernet0/0/1 | quit或者return返回用户视图 |
Vlan视图 | 配置Vlan参数 | [Huawei-vlan1] | 在系统视图下输入 vlan 1 | quit或者return返回用户视图 |
Vlan接口视图 | 配置Vlan接口参数 | [Huawei-Vlanif10] | 在系统视图下输入 interface Vlanif 10 | quit或者return返回用户视图 |
Vty用户界面视图 | 配置单个或多个vty用户界面参数 | [Huawei-ui-vty1][Huawei-ui-vty1-3] | 在系统视图下输入 user-interface vty 1或者 user-interface vty 1 3 | quit或者return返回用户视图 |
console用户界面视图 | 配置console用户界面视图 | [Huawei-ui-console0] | 在系统视图下输入 user-interface console 0 | quit或者return返回用户视图 |
RIP/ospf协议视图 | 配置RIP/ospf路由协议参数 | [Huawei-rip-1][Huawei-ospf-1] | 在系统视图下输入 rip/ospf | quit或者return返回用户视图 |
基本/高级ACL视图 | 配置ACL协议控制列表 | [Huawei-acl-basic-2100][Huawei-acl-adv-3000] | 在系统视图下输入 acl 2100|acl 3000 | quit或者return返回用户视图 |
华为设备的用户级别:
用户级别 | 命令级别 | 说明 |
---|---|---|
0(参观级) | 0 | 网络诊断类命令(ping、tracert),从本设备访问其他设备命令(telnet)等。 |
1(监控级) | 0、1 | 系统维护命令,比如display命令。 |
2(配置级) | 0、1、2、 | 业务配置命令 |
3~15(管理级)在不改变命令级别的前提下,可以理解为3-15用户权限相同 | 0、1、2、3 | 涉及系统基本运行的命令,故障诊断命令debugging命令,还有部分display命令 current-configuration 和 saved-configuration |
常见display命令汇总:
display current-configuration # 系统当前配置信息
display saved-configuration # 系统保存的配置信息
display arp # 查看ARP表
display clock # 时间信息
display logbuffer # 用户日志信息
display memory-usage # 内存使用信息
display cpu-usage # CPU使用情况
display trapbuffer # 查看告警信息
display version # 版本信息
display device # 设备信息
display interfaces # 查看接口信息
display interface brief # 查看接口状态和配置的简要信息
display users # 查看所有通过用户界面登录过的用户
display interface eth-trunk # 查看eth-trunk子接口状态
display vlan # 查看vlan
display stp # 查看stp的状态和统计信息
display time-range all # 查看当前时间段的配置和状态
display gvrp statistics # 查看各trunk端口的gvrp统计信息
display acl all # 查看所有ACL的配置
display ip routing-table # 查看路由表
display bfd session all # 查看所有的BFD会话
display rip # 查看所有或指定的RIP进程
display rip route # 查看RIP路由
display rip neighbor # 查看RIP的邻居
display ospf lsdb # 查看OSPF的链路状态数据库信息
display ospf peer # 查看各OSPF的邻居
display ospf routing # 查看各OSPF路由
display bgp peer # 查看BGP对等体
display bgp routing table # 查看bgp路由表
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 15.2.1. 配置端口IP
二层口是无法直接配置IP的,可以把它加入某个vlan,给这个vlanif口配置IP。三层物理口才能直接配置IP。
CLI粘贴:
system-view
sysname R1
vlan batch 100
interface Vlanif 100
ip address 192.168.1.1 255.255.255.0
quit
interface GigabitEthernet0/0/1
port link-type access
port default vlan 100
return
save
system-view
interface GigabitEthernet0/0/1
ip address 192.168.1.24 255.255.255.0
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
实际操作:
# 15.2.2. 启用telnet并配置vty线路登录
实际操作:
<Huawei>system-view # 进入系统视图
Enter system view, return user view with Ctrl+Z.
[Huawei]telnet server enable # 使能(开启)telnet服务功能
Info: The Telnet server has been enabled.
[Huawei]user-interface vty 0 4 # 开启vty线路模式,同时允许5个用户登录(0~4)
[Huawei-ui-vty0-4]protocol inbound telnet # 配置vty入方向开启telnet协议
[Huawei-ui-vty0-4]authentication-mode aaa # 设置认证模式,有 aaa,password,none三种模式,aaa组合认证,password密码认证,none不需要认证
[Huawei-ui-vty0-4]quit
[Huawei]aaa # 进入aaa视图
[Huawei-aaa]local-user user1 password cipher Huawei12#$ # 设置用户名为user1,密码为Huawei12#$,ensp可能缺少命令,所以
Info: Add a new user.
[Huawei-aaa]local-user user1 privilege level 3 # 设置账号的权限为3
[Huawei-aaa]return
<Huawei>save # 进入用户视图,保存
2
3
4
5
6
7
8
9
10
11
12
13
14
CLI粘贴:
system-view
telnet server enable
user-interface vty 0 4
protocol inbound telnet
authentication-mode aaa
quit
aaa
local-user user1 password cipher Huawei12#$
local-user user1 privilege level 3
return
save
2
3
4
5
6
7
8
9
10
11
# 15.2.3. 配置console用户验证
实际操作:
<Huawei>system-view # 进入系统视图
Enter system view, return user view with Ctrl+Z.
[Huawei]user-interface console 0 # 进入console配置
[Huawei-ui-console0]authentication-mode password # 设置认证方式为password
[Huawei-ui-console0]set authentication password cipher Huawei12#$ # 设置密码为Huawei12#$,cipher方式密码以密文存储,simple方式密码以明文存储
[Huawei-ui-console0]return
<Huawei>save
2
3
4
5
6
7
CLI粘贴:
system-view
user-interface console 0
authentication-mode password
set authentication password cipher Huawei12#$
return
save
2
3
4
5
6
# 15.3. 华为交换机设备配置
# 15.3.1. 配置端口隔离功能
可实现本台交换机的两个接口之间的二层数据的隔离,而三层数据互通。
实际操作:
[Huawei]port-isolate mode l2 # 配置全局端口隔离模式为二级隔离
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port-isolate enable group 1 # 使能端口隔离模式,并将端口加入group 1
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port-isolate enable group 1
[Huawei-GigabitEthernet0/0/2]return
<Huawei>save
2
3
4
5
6
7
8
CLI粘贴:
port-isolate mode l2
interface GigabitEthernet 0/0/1
port-isolate enable group 1
quit
interface GigabitEthernet 0/0/2
port-isolate enable group 1
return
save
2
3
4
5
6
7
8
# 15.3.2. VLAN配置
常见vlan命令汇总:
创建VLAN
[undo] vlan vlan-id # 删除/创建vlan-id
vlan batch [vlan-id1 to vlan-id2] # 批量创建VLAN
port link-type [access|trunk|hybrid] # 配置端口类型
port default vlan vlan-id # 把端口加入到一个指定VLAN
port trunk allow-pass vlan [vlan-id1 to vlan-id2|all] # 配置trunk中允许通过的VLAN
port hybrid [tagged|untagged] vlan vlan-id # 指定hybrid端口以tagged/untagged方式加入VLAN
# 配置管理IP地址和子网掩码
interface vlanif 1
ip address 192.168.0.1 255.255.255.0
2
3
4
5
6
7
8
9
10
实例说明(基于端口划分VLAN):
- PC1 和PC3 同属于—个VLAN 2且能相互通信。
- PC2 和PC4 同属于另—个VLAN 3且能相互通信。
- PC 端用户端口类型为access,交换机之间的端口采用带标签的 hybrid 类型或 trunk 类型两个方案。
# 方案1
- 配置交换机所连接的PC端口所属VLAN
交换机 SWITCH1 实际操作:
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname switch1
[switch1]vlan batch 2 3
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch1]interface GigabitEthernet 0/0/1
[switch1-GigabitEthernet0/0/1]port link-type access
[switch1-GigabitEthernet0/0/1]port default vlan 2
[switch1-GigabitEthernet0/0/1]quit
[switch1]interface GigabitEthernet 0/0/2
[switch1-GigabitEthernet0/0/2]port link-type access
[switch1-GigabitEthernet0/0/2]port default vlan 3
[switch1-GigabitEthernet0/0/2]quit
2
3
4
5
6
7
8
9
10
11
12
13
CLI粘贴:
system-view
sysname switch1
vlan batch 2 3
interface GigabitEthernet 0/0/1
port link-type access
port default vlan 2
quit
interface GigabitEthernet 0/0/2
port link-type access
port default vlan 3
quit
2
3
4
5
6
7
8
9
10
11
交换机 SWITCH2 实际操作同 SWITCH1 类似。
- 配置交换机SW1和SW2连接的端口类型为Hybrid, 井以tagged带标签方式加入VLAN2和VLAN3。
交换机 SWITCH1 实际操作:
[switch1]interface GigabitEthernet 0/0/24
[switch1-GigabitEthernet0/0/24]port link-type hybrid # 更改端口类型为hybrid
[switch1-GigabitEthernet0/0/24]port hybrid tagged vlan 2 to 3 # 允许vlan2和3通过此端口
[switch1-GigabitEthernet0/0/24]quit
2
3
4
CLI粘贴:
system-view
interface GigabitEthernet 0/0/24
port link-type hybrid
port hybrid tagged vlan 2 to 3
quit
2
3
4
5
交换机 SWITCH2 实际操作同 SWITCH1 相同。
# 方案2
- 交换机配置同方案1。
- 配置交换机SW1和SW2连接的端口类型为trunk,同时允许所有vlan通过。
交换机 SWITCH1 实际操作:
CLI粘贴:
system-view
interface GigabitEthernet 0/0/24
port link-type trunk
port trunk allow-pass vlan all
quit
2
3
4
5
# 补充:基于 MAC 地址划分 VLAN 的实现
实际操作:
[switch1]vlan 3
[switch1-vlan3]mac-vlan mac-address 5489-9897-3A2C # 需要注意格式,如MAC地址为54-89-98-97-3A-2C,需要改写成5489-9897-3A2C
[switch1-vlan3]quit
[switch1]interface GigabitEthernet 0/0/1
[switch1-GigabitEthernet0/0/1]mac-vlan enable # 接口视图下使能mac地址划分vlan功能
[switch1-GigabitEthernet0/0/1]quit
2
3
4
5
6
CLI粘贴:
system-view
vlan 3
mac-vlan mac-address 5489-9897-3A2C
quit
interface GigabitEthernet 0/0/1
mac-vlan enable
quit
2
3
4
5
6
7
# 15.3.3. GVRP配置
GARP(Generic Attribute Registration Protocol)是—种通用属性注册协议,包括 GVRP 和 GMRP 两种应用,其中 GVRP 就类似于思科的 VTP 协议。
注册模式:
- Normal 模式:允许动态VLAN在端口上注册。同时发送动态和静态VLAN的声明信息。
- Fixed 模式:不允许动态VLAN在端口上注册。只发送静态VLAN的声明信息。
- Forbidden 模式:不允许动态VLAN在端口上注册。只发送VLAN 1的声明信息。
GVRP 配置案例:实现在交换机SW1和SW2之间通过GVRP功能实现VLAN的动态注册,并达到互通的目的。
交换机 SWITCH1 实际操作:
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname switch1
[switch1]vlan batch 2 3
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch1]gvrp # 全局开启gvrp
[switch1]interface GigabitEthernet 0/0/1
[switch1-GigabitEthernet0/0/1]port link-type trunk
[switch1-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[switch1-GigabitEthernet0/0/1]gvrp # 使能端口的gvrp功能
[switch1-GigabitEthernet0/0/1]gvrp registration normal # gvrp注册模式注册成normal
[switch1-GigabitEthernet0/0/1]quit
[switch1-GigabitEthernet0/0/1]display gvrp statistics # 查看gvrp的统计信息
2
3
4
5
6
7
8
9
10
11
12
13
CLI粘贴:
system-view
sysname switch1
vlan batch 2 3
gvrp
interface GigabitEthernet 0/0/1
port link-type trunk
port trunk allow-pass vlan all
gvrp
gvrp registration normal
quit
2
3
4
5
6
7
8
9
10
交换机 SWITCH2 实际操作同 SWITCH1 类似,配置 SWITCH2 端口gvrp功能即可。
# 15.3.4. STP配置(需要补充)
STP配置案例:网络中的交换机 A/B/C/D 均运行生成树协议,来消除网络中的环路。
# 15.3.5. RSTP配置(需要补充)
# 15.3.6. MSTP配置(需要补充)
# 15.3.5. 链路聚合
将多条物理链路捆绑成一条逻辑链路,实现负载均衡、提高带宽容错(当一条链路失效时,使用其他链路进行通信)。
以太网通道最多可以捆绑8条物理链路,其中物理链路可以是双绞线,也可以是光纤连接。
以太网通道捆绑规则:
- 参加捆绑的端口属于同一个VLAN。
- 如果端口配置的是中继模式,那么应该在链路两端将通道中的所有端口配置成相同的中继模式。
- 所有参与捆绑的端口的物理参数设置必须相同。应该有同样的速度和半双工或者全双工配置。
链路聚合配置案例:
# 步骤一:在 SWITCH1 和 SWITCH2 上创建Eth-Trunk接口井加入成员接口
交换机 SWITCH1 实际操作:
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname switch1
[switch1]interface Eth-Trunk 1 # 创建 Eth-Trunk 链路
[switch1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/3 # 把端口加入 Eth-Trunk 链路
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch1-Eth-Trunk1]quit
Oct 26 2022 15:59:05-08:00 switch1 %%01IFNET/4/IF_STATE(l)[0]:Interface Eth-Trun
k1 has turned into UP state.
2
3
4
5
6
7
8
9
CLI粘贴:
system-view
sysname switch1
interface Eth-Trunk 1
trunkport GigabitEthernet 0/0/1 to 0/0/3
quit
2
3
4
5
交换机 SWITCH2 实际操作同 SWITCH1 类似。
# 步骤二:创建VLAN井将接口加入VLAN
创建 vlan10 和 vlan20 并分别加入接口:
交换机 SWITCH1 实际操作:
[switch1]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[switch1]interface GigabitEthernet 0/0/4
[switch1-GigabitEthernet0/0/4]port link-type access
[switch1-GigabitEthernet0/0/4]port trunk allow-pass vlan 10
[switch1-GigabitEthernet0/0/4]quit
[switch1]interface GigabitEthernet 0/0/5
[switch1-GigabitEthernet0/0/5]port link-type access
[switch1-GigabitEthernet0/0/5]port trunk allow-pass vlan 20
[switch1-GigabitEthernet0/0/5]quit
2
3
4
5
6
7
8
9
10
CLI粘贴:
vlan batch 10 20
interface GigabitEthernet 0/0/4
port link-type access
port trunk allow-pass vlan 10
quit
interface GigabitEthernet 0/0/5
port link-type access
port trunk allow-pass vlan 20
quit
2
3
4
5
6
7
8
9
交换机 SWITCH2 实际操作同 SWITCH1 相同。
配置 Eth-Trunk1 接口允许vlan10 和 vlan20 通过:
交换机 SWITCH1 实际操作:
[switch1]interface Eth-Trunk 1
[switch1-Eth-Trunk1]port link-type trunk
[switch1-Eth-Trunk1]port trunk allow-pass vlan 10 20
[switch1-Eth-Trunk1]quit
2
3
4
CLI粘贴:
interface Eth-Trunk 1
port link-type trunk
port trunk allow-pass vlan 10 20
quit
2
3
4
交换机 SWITCH2 实际操作同 SWITCH1 相同。
# 步骤三:配置 Eth-Trunk1 的负载分担方式
交换机 SWITCH1 实际操作:
[switch1]interface Eth-Trunk 1
[switch1-Eth-Trunk1]load-balance src-dst-mac # 负载方式为 源地址-目的地址-mac地址
[switch1-Eth-Trunk1]quit
2
3
CLI粘贴:
interface Eth-Trunk 1
load-balance src-dst-mac
quit
2
3
交换机 SWITCH2 实际操作同 SWITCH1 相同。
# 步骤四:验证配置结果
在任意视图下执行 display Eth-Trunk 1
命令, 检查 Eth-Trunk 是否创建成功,及成员接口是否正确加入。
# 16. 网络设备配置(路由器配置)
# 16.1. DHCP服务器配置
DHCP服务器配置案例:基于全局地址池进行配置。
路由器实际操作:
[Huawei]dhcp enable # 全局使能路由器的DHCP功能
Info: The operation may take a few seconds. Please wait for a moment.done.
[Huawei]
[Huawei]ip pool pool1 # 创建全局地址池pool1
Info: It's successful to create an IP address pool.
[Huawei-ip-pool-pool1]
[Huawei-ip-pool-pool1]network 192.168.3.0 mask 255.255.255.0 # 配置全局地址池中可的IP地址范围
[Huawei-ip-pool-pool1]
[Huawei-ip-pool-pool1]dns-list 114.114.114.114 # 配置自动分配给DHCP客户端的DNS服务器地址
[Huawei-ip-pool-pool1]
[Huawei-ip-pool-pool1]gateway-list 192.168.3.254 # 配置自动分配给DHCP客户端的网关IP
[Huawei-ip-pool-pool1]
[Huawei-ip-pool-pool1]lease day 1 hour 10 # 配置租约时间
[Huawei-ip-pool-pool1]
[Huawei-ip-pool-pool1]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]
[Huawei-GigabitEthernet0/0/1]dhcp select global # 使能接口采用全局地址池的DHCP服务器功能
[Huawei-GigabitEthernet0/0/1]
[Huawei-GigabitEthernet0/0/1]ip address 192.168.3.254 255.255.255.0 # 设置端口地址为192.168.3.254
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CLI粘贴:
dhcp enable
ip pool pool1
network 192.168.3.0 mask 255.255.255.0
dns-list 114.114.114.114
gateway-list 192.168.3.254
lease day 1 hour 10
interface GigabitEthernet 0/0/1
dhcp select global
ip address 192.168.3.254 255.255.255.0
2
3
4
5
6
7
8
9
PC客户端改为DHCP,发现此时已经获得了地址。
DHCP中继配置:
[Huawei-GigabitEthernet0/0/1]dhcp relay 192.168.3.254 255.255.255.0
# 16.2. 静态路由
路由表(RoutingTable)供路由选择时使用,路由表为路由器进行数据转发提供信息和依据。 路由表可以分为静态路由表和动态路由表。
由系统管理员设置的固定的路由表,称为静态路由表。
配置静态路由:
[Huawei]ip route-static ip-address subnet-mask gateway # 指定到达目的网络的地址,子网掩码,下一条地址
[Huawei]undo ip route-static ip-address subnet-mask gateway # 删除这一条静态路由
2
静态路由配置案例:
路由器要分别配置配置网口的IP地址:
# 路由器RA配置
sysname RA
interface GigabitEthernet 0/0/0
ip address 10.0.0.1 255.255.255.0
undo shutdown
quit
# 路由器RB配置
sysname RB
interface GigabitEthernet 0/0/0
ip address 10.0.0.2 255.255.255.0
undo shutdown
return
system-view
interface GigabitEthernet 0/0/1
ip address 129.1.1.1 255.255.0.0
undo shutdown
quit
# 路由器RC配置
sysname RC
interface GigabitEthernet 0/0/1
ip address 129.1.1.2 255.255.0.0
undo shutdown
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
目前两个网段是无法互相访问的,需配置静态路由。
静态路由配置中下一跳的地址是对端直连路由器的接口地址。
静态路由配置中下一跳的接口是当前路由器的接口。
路由器RA配置:(三条命令任选其一,意义相同)
ip route-static 129.1.1.0 255.255.0.0 10.0.0.2 # 添加路由,去往129.1.1.0/16的下一跳地址是10.0.0.2
ip route-static 129.1.1.0 16 10.0.0.2 # 子网掩码简写
ip route-static 129.1.1.0 16 GigabitEthernet 0/0/0 # 添加路由,去往129.1.1.0/16的下一跳接口是GigabitEthernet 0/0/0
2
3
路由器RB配置:(三条命令任选其一,意义相同)
ip route-static 129.1.1.0 255.255.0.0 129.1.1.2 # 添加路由,去往129.1.1.0/16的下一跳地址是129.1.1.2
ip route-static 129.1.1.0 16 129.1.1.2 # 子网掩码简写
ip route-static 129.1.1.0 16 GigabitEthernet 0/0/1 # 添加路由,去往129.1.1.0/16的下一跳接口是GigabitEthernet 0/0/1
2
3
路由器RC配置:(三条命令任选其一,意义相同)
ip route-static 10.0.0.0 255.255.255.0 129.1.1.1 # 添加路由,去往10.0.0.0/24的下一跳地址是129.1.1.1
ip route-static 10.0.0.0 24 129.1.1.1 # 子网掩码简写
ip route-static 10.0.0.0 24 GigabitEthernet 0/0/1 # 添加路由,去往10.0.0.0/24的下一跳接口是GigabitEthernet 0/0/1
2
3
缺省路由:ip route-static 0.0.0.0 0.0.0.0 gateway
,指到达所有网络均通过这个gateway地址进行转发。
查看路由表:display ip routing-table
# 16.3. 动态路由
动态路由是路由器根据网络系统的运行情况自动调整的路由。路由器根据路由选择协议(Routing Protocol)提供的功能自动学习和记忆网络运行情况,在需要时自动计算数据传输的报佳路径。
# 16.3.1. 路由协议基本概念和分类
- AS(自治系统):是指使用同一个内部路由协议的一组网络。互联网被分割成多个不通的AS。
- 内部网关协议(Interior Gateway Protocol, IGP):在同一个自治系统内交换路由信息。IGP的主要目的是发现和计算自治域内的路由信息。IGP使用的路由协议有RlP、OSPF等。
- 外部网关协议(Exterior Gateway Protocol, EGP):是一种连接不同自治系统的相邻路由器之间交换路由信息的协议。EGP使用的路由协议有BGP。
路由选择协议分类:
- 距离矢量路由协议(RIP,IGRP):距离矢量路由算法是动态路由算法。它的工作流程是: 每个路由器维护一张矢量表(路由表), 表中列出当前已知的到每个目标的最佳距离以及所使用的线路。通过在邻居之间相互交换信息,路由器不断更新其内部的表。适合于小网络。
- 链路状态路由协议(OSPF,IS-IS):链路状态路由协议基于最短路径优先(SPF)算法。该路由协议提供了整网的拓扑视图,根据 拓扑图计算到达每个目标的最优路径;当网络变化时触发更新,发送周期性更新链路状态通告,不是相互交换各自的整张路由表。适合于大网络。
- 平衡混合路由协议(BGP):结合以上两个路由协议的优点。
# 16.3.2. 路由选择基本概念
邻居关系:在邻居之间相互交换信息。
优先级:给不同的路由协议赋予不同的路由优先级,数值小的优先级高。
华为路由协议的优先级:
路由协议 | 优先级 |
---|---|
直连路由 | 0 |
OSPF | 10 |
IS-IS | 15 |
静态路由 | 60 |
RIP | 100 |
BGP | 255 |
- 度量值:就是路由协议根据自己的路由算法计算出来的一条路径的优先级。度量值最小的路径是最佳路径,应该进入路由表。
# 16.3.3. 距离矢量路由协议-RIP
# RIP协议的特点
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由所知道的全部信息。
- 按固定时间间隔交换路由信息,默认30秒。
# RIP协议的工作原理(需要补充)
# RIP协议的收敛过程
表格分别对应的为:目的网络,接口,距离
- 每个路由器仅和相邻路由器周期性交换路由表,更新路由信息。
- 若干时间后,每个路由器都知道本AS内得最短距离和目的网络,称为RIP协议的收敛。
# RIP协议问题
距离矢量协议容易形成路由循环、传递好悄息快、传递坏消息慢等问题。解决这些问题可以采取以下措施:
- 最大度量值:RIP协议的最大跳数为15跳, 16跳表示不可达。设置最大度量值在RIP协议收敛的过程中,最终路由条目会达到16不可达的情况,从而消除路由循环的作用。
- 水平分割:路由器某一个接口学习到的路由信息,不再反方向传回。
- 路由中毒:当发现不可达网络时,不会从路由表中删除该路由信息,而是将路由信息度量值设置为16,该中毒路由会被发送给邻居路由器以通知这条路径失效。
- 反向中毒:路由器从一个接口学习到一个度量值为无穷大的路由信息,则应该向同一个接口返回一条路由不可达的信息。与路由中毒同时使用。
- 抑制定时器(保持时间):一条路由信息失效后,一段时间都不接收其目的地址的路由更新。
- 触发更新:当路由表发生变化时,则应立即更新报文并广播到邻居路由器。
# RIP计时器
- 路由更新计时 30s:RIP路由的更新周期为30秒。
- 路由无效计时 180s:如果路由器180秒没有回应,则说明路由不可达。
- 保持计时器 180s:如果路由器180秒没有回应,这个网段的路由表不会被更新。
- 路由清理时间 240s:如果路由器240秒没有回应,则删除路由表信息。
# 16.3.4. RIP配置
华为命令 | 说明 |
---|---|
rip [process-id] | 使用RIP协议,并进入rip视图(进程号用于区分路由协议,只在本地起作用) |
version {1|2} | 指定RIP协议版本 |
network network-addr | 指定与该路由器直接相连的网络 |
undo summary | 取消路由聚合功能 |
peer ip-address | 说明邻接路由器,以使它们能够自动更新路由 |
display ip routing-table | 查看路由表信息 |
display rip route | 查看RIP协议的路由信息 |
RIP配置案例:
四台PC分别配置 .254 的静态IP地址。
路由器要分别配置配置网口的IP地址:
# 路由器R1配置
sysname R1
interface GigabitEthernet 0/0/2
ip address 192.168.1.1 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/1
ip address 192.168.10.1 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/0
ip address 192.168.12.1 255.255.255.0
undo shutdown
quit
# 路由器R2配置
sysname R2
interface GigabitEthernet 0/0/2
ip address 192.168.2.1 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/1
ip address 192.168.10.2 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/0
ip address 192.168.13.1 255.255.255.0
undo shutdown
quit
# 路由器R3配置
sysname R3
interface GigabitEthernet 0/0/2
ip address 192.168.3.1 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/1
ip address 192.168.11.1 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/0
ip address 192.168.12.2 255.255.255.0
undo shutdown
quit
# 路由器R4配置
sysname R4
interface GigabitEthernet 0/0/2
ip address 192.168.4.1 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/1
ip address 192.168.11.2 255.255.255.0
undo shutdown
quit
interface GigabitEthernet 0/0/0
ip address 192.168.13.2 255.255.255.0
undo shutdown
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
配置RIP协议,这里以R1路由器为例进行操作:
[R1]rip # 进入RIP视图,默认开启进程1
[R1-rip-1]undo summary # 取消路由聚合功能
[R1-rip-1]network 192.168.1.0 # 宣告直连网络 192.168.1.0,RIP只能宣告直连网络的主类网络号
[R1-rip-1]network 192.168.10.0 # 宣告直连网络 192.168.10.0
[R1-rip-1]network 192.168.12.0 # 宣告直连网络 192.168.12.0
[R1-rip-1]version 2 # 配置RIP版本为2
[R1-rip-1]quit
2
3
4
5
6
7
CLI粘贴:
system-view
rip
undo summary
network 192.168.1.0
network 192.168.10.0
network 192.168.12.0
version 2
quit
2
3
4
5
6
7
8
其他路由器配置类似。
配置完毕后,我们查看路由表:
发现所有路由均已经打通。实验完成。
# RIP与BFD联动
BFD:双向转发检测,可以提供链路信息故障的快速检测机制。并及时通知上层应用。BFD可以与多种路由协议联动,实现路由的快速收敛,从而减少拓扑变化导致的流量丢失。
BFD的配置:
[R1]bfd # 全局使能BFD,并进入BFD视图
[R1-bfd]rip 1 #
[R1-rip-1]bfd all-interfaces enable # 所有接口启用BFD
[R1-rip-1]bfd all-interfaces min-tx-interval 100 min-rx-interval 100 detect-multiplier 10 # 配置BFD最小发送,接收BFD报文间隔和检测倍数
2
3
4
# RIP版本
- RIPv1:只支持有类别路由;自动汇总路由信息;广播方式通告路由信息。
- RIPv2:支持可变长子网掩码和CIDR,支持无类别路由;可关闭自动汇总功能;以组播地址224.0.0.9通告路由信息。
- RIPng:IPv6版本的RIP协议。
# 16.3.5. 开放式最短路径优先协议-OSPF
# OSPF协议相关基本概念
- 邻居关系:两台直连的路由器在通过Hello报文发现彼此并确认双向通讯后,这两者便形成了邻居关系。点对点网络的邻居路由器也会建立邻居关系。
- 邻接关系:当两者的LSDB同步完成后,两台路由器形成了对网络拓扑的一致认知,并开始独立计算路由。这两者便形成了邻接关系。
- DR(指定路由器):这个指定路由器能够使多接入网络需要的邻接的数量减少,进而减少路由协议通信的数量和拓扑数据库的大小。
- BDR(备份指定路由器):BDR会监控DR的状态,并在DR发生故障时接替其角色。
- ABR(区域边界路由器):位于一个或多个OSPF区域边界上,将这些区域连接到主干网络的路由器。
- ASBR(自治系统边界路由器):ASBR可以运行OSPF和另一路由选择协议(如RIP),把OSPF上的路由发布到其他路由协议上。ASBR必须处于非存根OSPF区域中。
- LSA(Link State Advertisement,链路状态通告):是链接状态协议使用的一个分组,LSA描述了路由器的所有链路、接口、路由器的邻居及链路状态信息。LSA每30分组重传一次。
- LSDB(Link State DataBase,链路状态数据库):存储链路状态通告的数据库。
# OSPF协议的五种报文
- Hello:建立和维护邻居关系。设备之间第一次交互学习对端的 router-id,在建立稳定的邻接关系后,维护设备的邻接。
- 数据库描述(DD或者DBD):交换每个LSA的摘要版本,一般出现在初始拓扑交换中。
- 链路状态请求(LSR):请求LSA。
- 链路状态更新(LSU):包含LSA的详细信息,一般用来响应LSR。
- 链路状态应答(LSAck):用来确认已经收到LSU消息。
# OSPF协议的工作流程
1. 寻找邻居:
周期性发送Hello报文,发现有效邻居。同时指定路由器的 router-id(OSPF区域内唯一标识路由器的IP地址)。
OSPF协议选举 router-id 的规则:
- 手动指定的 router-id 为首选。
- 选取路由器loopback接口上数值最高的IP地址。
- 如果没有loopback接口,选取物理接口中最大的IP地址作为 router-id 。
2. 建立邻接关系:
在同一个广播域的接口中选举DR和BDR ,网络内所有路由器只与DR和BDR建立邻接关系。
OSPF协议选举DR和BDR的规则:
- 先比较优先级(0~255),再比较 router-id。优先级最高的为DR,次优的为BDR。
- 优先级为0不参与选举。如果DR和BDR已经存在,而又有新的路由器加入,不会影响当前的DR/BDR的角色。
- 如果DR失效,则BDR接管DR,并重新激活一个BDR选举过程。
3. 链路状态信息传递:
触发更新或每隔 30 分钟更新一次。
增量更新机制:只发邻居需要的LSA信息。收敛以后区域内所有路由器具有相同的LSDB。
4. 计算路由
每台路由器根据自己的LSDB独立计算路由。
计算路由过程:
- 由 LSDB 得到的带权有向图。
- 每台路由器分别以自己为根节点计算最短路径树(SPF)。最短路径是基于接口指定的代价(cost)计算的。
度量值:
接口类型 | 代价( |
---|---|
Fast Ethernet | 1 |
Ethernet | 10 |
56k | 1785 |
# OSPF协议的区域
OSPF是分层路由协议,将网络分割成一个由“主干”连接的一组相互独立的部分。每个独立的部分叫区域,主干为主干区域。区域的OSPF路由器只保存该区域的链路状态。每个路由器的链路状态数据可以保持合理大小,计算路由时间、报文数量就不会过大。
- 标准区域(Standard Area):可以接收链路更新信息和路由汇总。
- 主干区域(Backbone Area):连接各区域中心实体。主干区域就是 Area0,OSPF其他区域必须连接 Area0。不能连接Area0的区域需要通过虚链路,通过中间区域连接。
- 存根区域(Stub Area):又称末节区域,不接受外部AS的路由信息。需要发送到区域外的报文采用默认路由0.0.0.0。
- 完全存根区域(Totally Stttbby Area):它不接受外部AS的路由以及AS内其他区域的路由汇总。
- 不完全存根区域(Not So Stubby Area, NSSA):与存根区域类似,但允许接收以LSA7发送的外部路由信息,并且要把LSA7转换成LSA5。
# 16.3.6. OSPF配置
命令 | 说明 |
---|---|
ospf [process id] | 启动OSF协议进程,并进入ospf视图。其中OSPF进程号只在本路由器中起作用,不同路由器可以不同 |
area area-id | 创建并进入OSPF区域视图 |
Network 网络地址 反掩码 | 在区域视图中指定与该路由器直连的网络,并采用反掩码 |
display ospf routing | 查看OSPF路由信息 |
display ospf [process-id] peer | 列出与本路由器是 “邻居”关系(也就是进行路由信息交换的)的路由器 |
ospf cost cost | 手动设置接口cost值,接口视图下做配置 |
OSPF配置案例:
四台PC分别配置 .254
的静态IP地址。路由器要分别配置配置网口的IP地址,具体配置参考RIP配置章节进行配置即可。
配置各路由器的区域:
# 路由器R1配置
ospf
area 0
network 192.168.1.0 0.0.0.255
network 192.168.10.0 0.0.0.255
quit
area 1
network 192.168.12.0 0.0.0.255
quit
# 路由器R2配置
ospf
area 0
network 192.168.2.0 0.0.0.255
network 192.168.10.0 0.0.0.255
quit
area 2
network 192.168.13.0 0.0.0.255
quit
# 路由器R3配置
ospf
area 1
network 192.168.3.0 0.0.0.255
network 192.168.12.0 0.0.0.255
quit
area 2
network 192.168.11.0 0.0.0.255
quit
# 路由器R4配置
ospf
area 1
network 192.168.11.0 0.0.0.255
quit
area 2
network 192.168.4.0 0.0.0.255
network 192.168.13.0 0.0.0.255
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 16.3.7. 中间系统到中间系统-IS-IS
中间系统到中间系统 (Intermediate System to Intermediate System, IS-IS)属于内部网关协议(lnterior Gateway Protocol,IGP),用于自治系统内部。
为了支持大规模的路由网络,IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。
一般来说,将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。
# IS-IS的特点
- 链路状态路由协议。
- 与邻接关系的路由设备,互相更新链路状态数据库。
- 全网拥有相同的链路状态数据库。
- 并运用SPF算法计算IS-IS路由。
- 适用于大规模的路由网络。
# 16.3.8. IS-IS的配置(暂时略过)
命令 | 说明 |
---|---|
isis [process-id] | 创建ISIS进程,并进入IS-IS视图 |
isis circuit level [level-1|level-1-2|level-2] | 设置接口的level级别,默认为level -1 2 |
network entity | 设置路由器的System ID,如xx.xxxx.xxxx.xxxx.00 |
isis enable [process-id] | 在接口上使能isis,并指定关联的ISIS进程号 |
display isis route | 查看ISIS路由信息 |
# 16.3.9. 路由重发布(需要补充)
在大型的企业中,可能在同一网内使用到多种路由协议,为了实现多种路由协议的协同工作,路由器可以使用路由重分发(route redistribution)将其学习到的一种路由协议的路由通过另一种路由协议广播出去,这样网络的所有部分都可以连通了。
# 16.3.10. 边界网关路由协议-BGP
# BGP协议的特点
对等体(peer):在BGP中,两个路由器之间的相邻连接称为对等体连接,两个路由器互为对等体。
- 是一种实现AS和AS之间的路由协议。
- 距离矢量路由协议。
- 只在启动BGP时交换一次完整信息,后续的路由更新报文只通告网络变化的信息。
- BGP路由同时携带通路向量,即经过的AS列表 (AS-Path)。
- 周期性发送Keepalive报文,保持与对等体的连接。
- 有EBGP和IBGP之分。
- EBGP连接了互联网上一个个相对独立的AS。
- IBGP应用在AS内部。
# BGP协议的四种报文
- OPEN:建立邻居关系。
- UPDATE:发送新的路由信息。
- KEEPALIVE:保持活动状态,周期性确认邻居关系,对OPEN报文回应。
- NOTlFICATION:报告检测到的错误。
# BGP协议的工作流程
- BGP路由器直接进行TCP三次握手,建立TCP会话连接。
- 交换OPEN信息,确定版本等参数,建立邻居关系。
- 路由器交换所有BGP路由直到平衡,之后只交换变化了的路由信息。
- 路由更新由UPDATE完成。
- 通过KEEPALIVE验证路由器是否可用。
- 出现问题,发送NOTIFICATION消息通知错误。
# 16.3.11. BGP配置
命令 | 说明 |
---|---|
bgp as-nurmber-plain | 启动BGP,并指定本地AS编号,进入BGP视图 |
router-id ipv4-address | 配置BGP设备的Router ID |
peer ipv4-address as-number as-number-plain | 创建BGP对等体,并指定对等体的IP及所属AS号 |
ipv4-family {unicast|multicast} | 进入IPv4{单播|组播}地址族视图 |
import-route direct | 配置BGP引入直连路由 |
import-route protocol [ process-id ] [ med med |route-policy route-policy-name ] | 引入其他路由协议和路由类型的路由信息 |
BGP引入路由时支持Import和Network两种方式:
- Import方式是按协议类型,将RIP路由、OSPF路由、ISIS路由等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。
- Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确。
BGP配置案例:
PC1配置 .254
的静态IP地址。路由器要分别配置配置网口的IP地址:
# 路由器R1配置
sysname R1
interface GigabitEthernet 0/0/2
ip address 10.1.0.1 255.255.0.0
quit
interface GigabitEthernet 0/0/0
ip address 59.74.112.2 255.255.255.0
quit
# 路由器R2配置
sysname R2
interface GigabitEthernet 0/0/0
ip address 59.74.112.1 255.255.255.0
quit
interface GigabitEthernet 0/0/1
ip address 172.16.30.1 255.255.255.0
quit
interface GigabitEthernet 0/0/2
ip address 172.16.10.1 255.255.255.0
quit
# 路由器R3配置
sysname R3
interface GigabitEthernet 0/0/2
ip address 172.16.20.1 255.255.255.0
quit
interface GigabitEthernet 0/0/1
ip address 172.16.30.2 255.255.255.0
quit
# 路由器R4配置
sysname R4
interface GigabitEthernet 0/0/2
ip address 172.16.20.2 255.255.255.0
quit
interface GigabitEthernet 0/0/1
ip address 172.16.10.2 255.255.255.0
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
配置IBGP:
# 路由器R2配置
bgp 65009 # 启动BGP及AS号
router-id 2.2.2.2 # 配置BGP的router-id
peer 172.16.30.2 as-number 65009 # 配置IBGP的对等实体
peer 172.16.10.2 as-number 65009
quit
# 路由器R3配置
bgp 65009 # 启动BGP及AS号
router-id 3.3.3.3 # 配置BGP的router-id
peer 172.16.30.1 as-number 65009 # 配置IBGP的对等实体
peer 172.16.20.2 as-number 65009
quit
# 路由器R4配置
bgp 65009 # 启动BGP及AS号
router-id 4.4.4.4 # 配置BGP的router-id
peer 172.16.20.1 as-number 65009 # 配置IBGP的对等实体
peer 172.16.10.1 as-number 65009
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
配置EBGP:
# 路由器R1配置
bgp 65008 # 启动BGP及AS号
router-id 1.1.1.1 # 配置BGP的router-id
peer 59.74.112.1 as-number 65009 # 配置EBGP的对等实体
quit
# 路由器R2配置
bgp 65009 # 启动BGP及AS号
peer 59.74.112.2 as-number 65008 # 配置EBGP的对等实体
quit
2
3
4
5
6
7
8
9
在R2查看BGP对等实体的连接状态:
配置R1的发布路由10.1.0.0/16:
# 路由器R1配置
bgp 65008
ipv4-family unicast
network 10.1.0.0 255.255.0.0
quit
2
3
4
5
从路由表可以看出,R3/R4学到了AS65008中的10.1.0.0的路由。
配置R2引入直连路由:
bgp 65009
ipv4-family unicast
import-route direct
quit
2
3
4
配置完成。
# 16.3.12. 虚拟路由冗余协议-VRRP
https://zhuanlan.zhihu.com/p/308114531
VRRP能够在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关的备份。
# VRRP协议的基本概念
- 虚拟路由器(Virtual Router):由一个Master设备和多个Backup设备组成,被当作一个共享局域网内主机的缺省网关。
- Master路由器(Virtual Router Master):承担转发报文任务的VRRP设备。
- Backup路由器(Virtual Router Backup):当Master设备出现故障时,它们将通过竞选成为新的Master设备。
- 优先级(Priority):路由器在备份组中的优先级,取值范围是0~255。 0表示设备停止参与VRRP备份组,用来使备份设备尽快成为Master设备,而不必等到计时器超时;255则保留给IP地址拥有者,无法手工配置;设备缺省优先级值是100。优先级越大越高。
- vrid:虚拟路由器的标识,可以理解为VRRP的组,加入组则说明配置为虚拟路由器的一员。
# 16.3.13. VRRP配置
VRRP配置案例:
步骤一:在 SWITCH1 和 SWITCH2 上创建对应vlan并允许对应vlan通过。PC连接设置access,路由器设置trunk,配置对应的vlan接口地址为虚拟路由器地址:
# switch1配置
sysname switch1
vlan batch 2
interface GigabitEthernet 0/0/24
port link-type access
port default vlan 2
quit
interface GigabitEthernet 0/0/1
port link-type trunk
port trunk allow-pass vlan all
quit
interface Vlanif 2
ip address 192.168.1.254 24
quit
interface GigabitEthernet 0/0/2
port link-type trunk
port trunk allow-pass vlan all
quit
# switch2配置同switch1
sysname switch2
vlan batch 3
interface GigabitEthernet 0/0/24
port link-type access
port default vlan 3
quit
interface GigabitEthernet 0/0/1
port link-type trunk
port trunk allow-pass vlan all
quit
interface Vlanif 3
ip address 192.168.2.254 24
quit
interface GigabitEthernet 0/0/2
port link-type trunk
port trunk allow-pass vlan all
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
步骤二:路由器端口IP地址配置:
# 路由器R1配置
sysname R1
interface GigabitEthernet 0/0/1
ip address 192.168.1.1 24
quit
interface GigabitEthernet 0/0/2
ip address 192.168.2.2 24
quit
# 路由器R2配置
sysname R2
interface GigabitEthernet 0/0/1
ip address 192.168.1.2 24
quit
interface GigabitEthernet 0/0/2
ip address 192.168.2.1 24
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
步骤三:配置VRRP,要求R1成为Vlan2的主网关,R2成为Vlan3的主网关;R1和R2互为备份的关系。设置优先级和延迟抢占方式为10s。
# 路由器R1配置
interface GigabitEthernet 0/0/1
vrrp vrid 2 virtual-ip 192.168.1.254
vrrp vrid 2 priority 200
vrrp vrid 2 preempt-mode timer delay 10
quit
interface GigabitEthernet 0/0/2
vrrp vrid 3 virtual-ip 192.168.2.254
vrrp vrid 3 priority 150
vrrp vrid 3 preempt-mode timer delay 10
quit
# 路由器R2配置
interface GigabitEthernet 0/0/1
vrrp vrid 2 virtual-ip 192.168.1.254
vrrp vrid 2 priority 150
vrrp vrid 2 preempt-mode timer delay 10
quit
interface GigabitEthernet 0/0/2
vrrp vrid 3 virtual-ip 192.168.2.254
vrrp vrid 3 priority 200
vrrp vrid 3 preempt-mode timer delay 10
quit
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
步骤四:R1和R2对上行接口进行监视,如上行接口故障,会触发VRRP角色切换。
正常情况下,设备接口故障不会触发VRRP角色切换,所以需要配置上行接口监视,接口故障后,自动降低本设备VRRP优先级来触发VRRP 角色切换。150降低60等于90,触发切换机制。
# 路由器R1配置
interface GigabitEthernet 0/0/1
vrrp vrid 2 track interface GigabitEthernet 0/0/2 reduced 60
# 路由器R2配置
interface GigabitEthernet 0/0/2
vrrp vrid 3 track interface GigabitEthernet 0/0/1 reduced 60
2
3
4
5
6
步骤五:配置RIP,使得PC1能访问PC2。(有问题)
# 路由器R1、R2配置
rip
undo summary
network 192.168.1.0
network 192.168.2.0
version 2
quit
2
3
4
5
6
7
# 16.4. 访问控制列表-ACL
# 16.4.1. ACL的基本概念
访问控制列表(Access Control List, ACL):是路由器接口的指令列表,用来控制端口进出的数据包。访问控制列表可以分为标准访问控制列表和扩展访问控制列表。ACL的默认执行顺序是自上而下。
# 16.4.2. ACL的匹配方式
- 配置顺序:配置顺序根据ACL规则的ID进行排序,ID小的规则排在前面。
- 自动顺序(深度优先匹配):ACL规则的ID由系统自动分配,规则中指定数据包范围小的排在前面,优先进行匹配。当找到第一条匹配条件的规则时,查找结束。
# 16.4.3. ACL的配置
分类 | 规则描述 | 编号范围 |
---|---|---|
基本ACL | 仅使用报文中的源IP地址、分片信息和生效时间段信息来定义规则 | 2000~2999 |
高级ACL | 可作用源IP地址、 目的IP地址、协议类型、TCP/UDP源端口号,目的端口号来定义规则 | 3000~3999 |
二层ACL | 根据IP报文中的以太网帧头来定义,如源/目的MAC,以太网帧协议类型等 | 4000~4999 |
用户自定义ACL | 实现更复杂,更特殊的定义 | 5000~5999 |
ACL在系统视图下管理,井且需要被应用才能生效。
# 基本ACL配置
命令 | 说明 |
---|---|
acl [number] acl-number (2000~2999) [match-order] {auto | config} | 使用编号创建一个基本ACL |
acl name acl-name {basic | acl-number} [match-order] {auto | config} | 使用名称创建一个基本ACL |
rule [rule-id] permit | deny source 源IP地址 反掩码 | 配置ACL规则,允许|拒绝 源IP访问 |
- match-order:可选参数,说明匹配顺序。auto表示自动排序,config表示按照配置顺序排序(默认按照配置顺序排序)。
- rule:匹配规则,rule-id 可选参数,指定规则的编号。
- permit | deny :匹配操作,允许|拒绝。
ACL默认步长为5(第一条规则和第二条r规则相隔的rule-id为5)。如 5,10,15...。可以通过 step step 进行调整。
基本ACL配置案例:
实现允许源IP为172.16.10.3的主机报文通过,拒绝源IP为172.16.10.0/24网段的其他报文通过,并配置描述信息为
permit only 172.16.10.3 through
。[Huawei]acl 2002 [Huawei-acl-basic-2002]rule permit source 172.16.10.3 0.0.0.0 [Huawei-acl-basic-2002]rule deny source 172.16.10.0 0.0.0.255 [Huawei-acl-basic-2002]description permit only 172.16.10.3 through
1
2
3
4配置基于时间的ACL规则,创建时间段 working-time(周一至周五,每天8点到18点),在这个时间段内拒绝源IP是172.16.10.0/24的地址报文通过。
[Huawei]time-range working-time 8:00 to 18:00 working-day # 时间段配置参数: # Mon Monday # Tue Tuesday # Wed Wednesday # Thu Thursday # Fri Friday # Sat Saturday # Sun Sunday # daily Every day of the week # working-day Monday to Friday # off-day Saturday and Sunday [Huawei]acl name work-acl basic [Huawei-acl-basic-work-acl]rule deny source 172.16.10.0 0.0.0.255 time-range working-time
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 高级ACL配置
命令 | 说明 |
---|---|
acl [number] acl-number (3000~3999) [match-order] {auto | config} | 使用编号创建一个高级ACL |
acl name acl-name {advance | acl-number} [match-order] {auto | config} | 使用名称创建一个高级ACL |
rule [rule-id] permit | deny {protocol} source 源IP地址 反掩码 destination 目的IP地址 反掩码 destination-port eq 端口号 | 配置ACL规则,允许|拒绝 源IP访问,可以设置协议,目的端口,源端口 |
- protocol:指定对应的协议,如tcp,udp,ospf,ip,icmp等等。
- destination-port:目的端口,如果源端口则为 source-port。
- eq:等于;gt:大于;lt:小于;neg:不等于;range:指定范围。
- 端口号:可以直接写端口号或者协议对应的关键字,如 telnet,www,dns。
高级ACL配置案例:
配置 允许 源IP是172.16.10.3到目的IP172.16.20.0/24网段的ICMP报文通过。
[Huawei]acl 3000 [Huawei-acl-adv-3000]rule permit icmp source 172.16.10.3 0.0.0.0 destination 172.16.20.0 0.0.0.255
1
2配置名称为no-web的高级ACL规则:禁止172.16.10.3和172.16.10.4两台主机访问web页面。
[Huawei]acl name no-web advance [Huawei-acl-adv-no-web]rule deny tcp source 172.16.10.3 0.0.0.0 destination-port eq 80 [Huawei-acl-adv-no-web]rule deny tcp source 172.16.10.4 0.0.0.0 destination-port eq 80
1
2
3
# 基于ACL的报文过滤
配置基于ACL的报文过滤 (opens new window)
通过配置基于ACL的报文过滤,对匹配ACL规则报文进行过滤动作,进而实现对网络流量的控制。
命令 | 说明 |
---|---|
traffic-filter { inbound |outbound } acl { acl-number | name acl-name } [ rule rule-id ] | 对匹配单个ACL规则的入方向|出方向的报文进行过滤 |
traffic-secure { inbound |outbound } acl { acl-number | name acl-name }[ rule rule-id ] | 对匹配单个ACL规则的入方向|出方向的报文进行过滤 |
在全局或VLAN上配置报文过滤:全局过滤,禁止192.168.2.0/24访问。
acl 3000
rule deny source 192.168.2.0 0.0.0.255
quit
traffic-secure inbound acl 3000
2
3
4
在接口上配置报文过滤:在 GE0/0/1 接口出方向上配置,如果源IP地址段是192.168.2.0/24的话,就会把报文丢弃。
acl 3000
rule deny source 192.168.2.0 0.0.0.255
quit
interface GigabitEthernet 0/0/1
traffic-filter outbound acl 3000
2
3
4
5
# ACL的简化流策略
基于ACL的简化流策略是指通过将报文信息与ACL规则进行匹配,为符合相同ACL规则的报文提供相同的QoS服务,实现对不同类型业务的差分服务。
基于ACL的流分类:把某一类ACL进行归类,用名称来代替这些流量。
[Huawei]traffic classifier test # 创建流分类名称为test [Huawei-classifier-test]if-match acl 3000 # 与ACL 3000 绑定。
1
2基于ACL的流行为:配置ACL流的行为,配置有拒绝|允许。
[Huawei]traffic behavior test # 创建流行为名称为test [Huawei-behavior-test]deny # 拒绝报文通过 [Huawei-behavior-test]redirect ip-nexthop 192.168.1.1 # 指定下一跳IP地址为192.168.1.1,报文重定向
1
2
3基于ACL的流策略:把流分类和流行为进行关联。
[Huawei]traffic policy test # 创建流策略 [Huawei-trafficpolicy-test]classifier test behavior test# 把流行为test和流策略test进行绑定
1
2应用流策略:在接口上配置对应的流策略,实现访问控制,入方向|出方向(inbound|outbound)。
[Huawei]interface GigabitEthernet 0/0/1 # 进入接口视图 [Huawei-GigabitEthernet0/0/1]traffic-policy test inbound# 指定入方向使用名称为test的流策略
1
2
# 防火墙上应用ACL
华为的防火墙可将网络划分为四个区域:优先级越高受信任程度越高。
连接设备本身的本地(Local)区域。优先级最高,为100。
连接内部用户主机的信任(Trust)区域。优先级85。
连接需要对外提供应用服务的DMZ(Demilitarized Zone)区域。优先级50。
连接外部网络的不信任(Untrust)区域。优先级5。
安全域间的数据流动具有方向性,包括入方向和出方向。
- 入方向(inbound):数据由低优先级的安全区向高优先级的安全区域传输。
- 出方向(outbound):数据由高优先级的安全区向低优先级的安全区域传输。
创建安全区域test,将优先级设置为10,并把端口GE0/0/1加入安全区域:
[SRG]firewall zone name test
[SRG-zone-test]set priority 10
[SRG-zone-test]add interface GigabitEthernet 0/0/1
2
3
要求在安全区域到非安全区域的方向上,拒绝源地址为:192.168.0.100的主机报文,允许源网段为192.168.0.0/24到目的网段172.16.0.0/24的报文通过:
[SRG]acl 3000
[SRG-acl-adv-3000]rule deny ip source 192.168.0.100 0
[SRG-acl-adv-3000]rule permit ip source 192.168.0.0 0.0.0.255 destination 172.16.0.0 0.0.0.255
[SRG]firewall interzone trust untrust
[SRG-interzone-trust-untrust]packet-filter 3000 outbound # 从安全区域到非安全区域,出方向采用acl编号为3000的规则
2
3
4
5
# 16.5. 地址转换技术-NAT
NAT: 网络地址翻译,解决IP短缺,路由器内部和外部地址进行转换。
# 16.5.1. NAT分类
- 静态NAT:指定固定的一对一IP地址映射。用于web 服务器,ftp服务器等固定IP的主机服务器。
- Basic NAT:用于内部局域网较多用户访问外部网络。外部需要地址池(pool)。
- NAPT:多对—,使用外部—个IP,多个端口号对应内部IP。
- 源NAT:从专用网到公网的转换。
- 目的NAT:从公网到专网的转换。
# 16.5.2. NAT配置
# 静态NAT配置
配置案例:
配置命令:
# 路由器R1配置
sysname R1
interface GigabitEthernet 0/0/0
ip address 192.168.1.254 255.255.255.0
quit
interface GigabitEthernet 0/0/1
ip address 10.0.0.1 255.255.255.0
quit
ip route-static 0.0.0.0 0.0.0.0 10.0.0.2
nat static global 10.0.0.3 inside 192.168.1.1 # 把内部IP192.168.1.1转换为10.0.0.3
# 路由器R2配置
sysname R2
interface GigabitEthernet 0/0/1
ip address 10.0.0.2 255.255.255.0
quit
ip route-static 192.168.1.0 255.255.255.0 10.0.0.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
PC配置好IP地址进行测试即可。
# 动态NAT配置
配置案例:
配置命令:
# 路由器R1配置
sysname R1
interface GigabitEthernet 0/0/0
ip address 192.168.1.254 255.255.255.0
quit
interface GigabitEthernet 0/0/1
ip address 10.0.0.1 255.255.255.0
quit
ip route-static 0.0.0.0 0.0.0.0 10.0.0.2
acl 2000
rule permit source 192.168.1.0 0.0.0.255 # 配置ACL允许访问
quit
nat address-group 1 10.0.0.3 10.0.0.5 # 定义地址转换池
interface GigabitEthernet 0/0/1
nat outbound 2000 address-group 1 # 最后加上no-pat实现的是Basic NAT,不加则是NAPT。
# 路由器R2配置
sysname R2
interface GigabitEthernet 0/0/1
ip address 10.0.0.2 255.255.255.0
quit
ip route-static 192.168.1.0 255.255.255.0 10.0.0.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
PC配置好IP地址进行测试即可。
执行 display nat outbound
和 display nat address-group 1
进行查看是否配置成功。
# 16.6. VPN技术
VPN(虚拟私人网络,Virtual Private Network):是一种常用于连接中大型企业或团体与团体间的私人网络的通讯方法。它利用隧道协议( Tunneling Protocol ) 来达到保密、发送端认证、消息准确性等私人消息安全效果。
# 16.6.1. VPN的分类
- PPTP VPN:工作在OSI模型的第二层;采用PPP协议进行连接。
- L2TP VPN:工作在OSI模型的第二层;国际标准。
- MPLS VPN:工作在OSI模型的第二层或第三层;多协议标记交换技术。
- IPsec VPN:工作在OSI模型的第三层;
- GRE VPN:工作在OSI模型的第三层;封装协议,会封装出一条隧道。
- SSL VPN:工作在OSI模型的第七层;
# 16.6.2. IPsec VPN
IPsec ( Internet Protocol Security):Internet 协议安全性,是IETF为保证在Internet上传送数据的安全保密性而制定的框架协议。
- 应用在网络层,保护和认证IP数据包。
- 是开放的框架式协议,各算法之间相互独立。
- 提供了信息的机密性、数据的完整性、用户的验证和防重放保护。
- 隧道技术、加密技术、认证技术、密钥管理技术与一体。
- 支持隧道模式和传输模式。
IPsec 安全协议分类:
- 认证头(AH):提供完整性认证和数据源认证功能,不提供机密性保护。MD5,SHA。
- 封装安全负荷(ESP):数据加密功能。DES,3DES,AES。
- Internet密钥交换协议(IKE):用于生成和分发在ESP和AH中使用的密钥。
IPsec 两种模式:
- 传输模式: 不改变原有的IP包头,常用于主机与主机之间通信。
- 隧道模式: 增加新的IP首部,常用于私网与私网之间通过公网进行通信。