第一篇:华为常见问题总结
面试要点:积极主动,给自己多争取机会
群面
1.自我介绍+兴趣爱好+优缺点,注意会让某位同学说说其他任一位同学都有哪些兴趣爱好或者优点,在介绍时做详细记录。2.小组讨论,排序
3.小组辩论,随便神侃呗,说话保证流畅,逻辑清晰。对方对我的表述进行攻击时,有时候会不冷静的对你的逻辑能力进行质疑,人身攻击等等。记住,不予理睬(他攻击我表示他已经输了),还击的话可以交给队友。起冲突一定要避免,这个很损伤在团队内的威信。
4.提问环节,你觉得你们这一组中你认为表现最好和表现最差的同学是哪两位?如果那位所谓最差的同学不同意你的观点并且说的有理有据,那么最后挂掉的就是你。
Ps:主要是考验团队意识,时间意识,表现积极但不要太爱出风头,一定要在规定时间内讨论出结果,不能起内讧。1.话不能说太多,言多必失。2.千万不能不说话,如果没有侃侃而谈的能力,还是回家吧。。言,必精!3.要提出能引导讨论方向的意见,这个十分重要,这个就是teamwork ablility。当然既然提出了,就必须被大家接受,不能被否决,这个一定要果断,因为方向一般只能定一次。4.想办法弄到陈述人的角色,如果很好的做到了1和2,那自荐一般不会被人否决。5.必须一直提醒自己,什么是面试官要的,而哪些是不重要的。(ps:提醒大家时间,协调内部矛盾,这两个小行为很加分哦~)如果被问到谁表现最差,想想怎么说
技术面
常见问题:
【项目】
1.你说说这个软件是怎么在不同机器上实现通信的?你用到的是什么协议? 2.你是通过什么平台发布的? 3.你是怎么发布这个软件的? 4.介绍一下你自己的项目? 【java】
1.那你说说什么叫重载,什么叫继承、多态.....? 【数据库】
1.说说查询,删除是什么语句?update有什么用?那写一个语句出来看看吧 【通讯】
1.3G、4G的带宽是多少? 2.光纤有哪些、放大器的原理 【职位理解】
1.你对技术服务是怎么理解的? 【计算机网络】
1.osi七层协议?TCP/IP的五层结构图?每层都有哪些协议?高频 2.TCP/IP传输协议中的IP报文包含哪些内容? 3.说说正反馈和负反馈。。? 【C/C++】
1.内存溢出怎么理解,可以举个例子吗? 2.怎么避免头文件被多次包含编译?
3.你学习C/C++多长时间,strcpy函数的用法? 4.你简历上的MFC你是用于嵌入式开发还是应用软件开发? 5.自己有没有用MFC开发过什么软件? Ps:坦诚一点,不会的就是不会,把面试官往自己擅长的方向去引导。要有自己核心知识面,这方面我应该好好地把项目相关的东西和涉及的知识总结一下。诚恳,不懂就不懂,别装。如果感觉很差的话,博得怜悯也是一种方法,当然这个比较有难度,掌握不好尺度就会2的不行
Boss面
1.说说昨天的面试自己收获了什么,这个问题谈完又问有什么要补充的没? 2.补充自我介绍,简历上写的不用说,补充完又问我们还有没有要补充的? 3.自己谈下项目经历?
4.能保研为什么不读,读研不好吗? 5.谈谈自己姓名的蕴意; 6.各自谈谈家庭情况;
7.又问了是否有女朋友,开了下玩笑; 8.还有什么刚才没说的要补充的; 9.还有什么问题要问的? a.“技术服务的发展前景、职业发展路线是怎样?”他说这去问你们师兄师姐,我补充道“我有认识一些华为的师兄师姐不过都刚毕业不久,我想了解在华为工作好几年的那些师兄师姐的情况”,他立即回了一句“在学校肯定是有在华为工作的师兄师姐的,你连这点都没做好,你不适合做市场,好吧你这个问题到此为止”。我一时语塞,感觉自己挖了一个坑跳了进去,另外两位都表示没什么问题要问的。
b.b.我就问您怎么评价我或对我有什么建议(注:这不是我自己觉我面试的不错,让面试官评价我,我以前看过一篇别人的帖子也是这么问的,自己莫名其妙的学来了),这里就给我自己下了套,boss也没评价我,直接让我用三分钟介绍自己的优缺点,考,三分钟啊,其实上面聊天过程中就已经说过了,现在又让我说,回答的就很纠结。之后我也不提问题了就结束了,让我回来等待通知。
10.说说你的项目,项目是什么、项目组几个人、你在项目中什么角色具体做了什么、项目过程中遇到了什么困难,项目中有什么启发感悟?
11.说是班长,那么班长干什么,组织哪些具体活动,最大型的是什么? 12.说完之后就是简历上面的东西。
13.大学期间觉得最成功的事。最难熬的事。
Ps:1.自己少说话(在一个boss面前,一些自以为很有远见的想法,很独特的视角,很可能都会被boss一顿乱训。。),2.让boss多说,如何让?提问呗。当然所提的问题一定要有准备,要非常有质量,这样boss说的也会很high。3.说说自己对华为公司的了解,当然是好的方面。。(这不是拍马屁,不是拍马屁,是拍马屁,拍马屁,马屁,屁。。)
英语机试
1.对着机器朗读五个句子,难度递增; 2.四级水平的听力选择题10道;
3.两个英语topic,系统随机抽取,每个给20秒时间思考,然后用2分钟用英语讲。
a.where do you like to swim?how often?why? b.Do you think the traffic will be better or worse in the future?why? c.concert hall D.对小孩玩网络的看法
性格测试
总结建议
1.网申的时候一定要重视自己写的每一个项目,每一句话,千万别太大意,因为最后放在面试官面前的就是你网申时候写的那些东西。
2.一面有不会的就说不会,引导面试官尽量往自己会的方向去说,想好针对简历项目面试官都会问些什么牛角尖问题。
3.二面随机应变,不在说的多,而在说的有理有据,让别人印象深刻,平时可以上网找找相关的群面题目,与同学进行探讨。
4.性格测试不要用太多时间思考推敲,凭直觉做就行了,即使觉得有可能前后矛盾也果断选上去吧,听说这部分同时也是在测谎。
5.终面问的问题都很随机,每组进去被问到的都不太一样。可以适当多说,但也要避免话多必失;当然不管是否被刁难都表现得镇定一点,不必急躁、争的面红耳赤。6.面试环节提问部分一定要看面试官的档次,对于普通的HR提一些无关紧要的问题没关系,但是对于boss级的提问一定要提的有深度点,提问前最好已经有了自己的见解或者解决方案,因为他一般都不会直接回答你的问题。
7.英语topic机试,不要盯着电脑屏幕看时间一秒秒的过去,这样只能更紧张,专心组织好语言,不要停顿太长时间,尽量说到时间结束,当然这玩意儿还是要靠平时多读一读,培养语感才是王道,面外企是必须的。
8.华为的面试不会太看中硬实力(如成绩,获奖什么的),更为看重的是表达、逻辑、抗压能力,主动性和团队意识等,当然硬实力好也是没错的。
9.面试前,要有最基本的准备:穿着要正式点,自我介绍、自己的优缺点举几个、对公司文化的了解、对你面试职位的理解,以及具体的面试流程是什么; 10.一定要注意时间,提前到面试地点; 11.做到积极主动,尽量给自己争取机会
12.最后有什么问题问,不要问面试官怎么评价自己,面试很避讳这个。
13.感觉技术服务岗和技术岗在技术面时重点不一样,技术服务偏通信基础知识,没什么技术含量,而且填技术服务岗的本科生比较多。
华为可以用六个月的时间通过魔鬼训练把一个法学院的学生训练成网络高手
第二篇:常见问题总结
如何降低Noise
方法一:普通亮度下,牺牲帧率
方法:在pline_table中修改,降低shutter,Gain值略做减小。
方法二:低亮度下,牺牲图片亮度
方法:在Pline table中修改,shutter值不变,gain值降低
方法三:调整对应的EE和ANR参数
方法四:降低当前图片的饱和度
降低PCA或CCR
照片ISO小暗环境才400左右这个问题有两个原因导致:
1.Mini ISO 低
2.capture AE Pline table最大的gain 为6倍。
基于上面两个原因,暗处计算出来的ISO 就低。
因为修改AE pline table 会影响capture 的noise表现。我这边建议修改Mini ISO(这个值反应sensor的敏感度,但目前只是用来计算ISO 值)。建议修改到100.修改文件: camera_tuning_para_xxx.cpp
56-->100, // u4MiniISOGain, ISOxx
使用82 CCT做CCM时只生成一组参数
贵司的操作 是 Muti CCM。也就是说,贵司的操作 CCM 生效的在 camera_tuning_para_ov8858raw.cpp文件中的 CAMERA_ISP_DEFAULT_VALUE 里面的ISPCcmPoly22 这个结构体。
而 camera_isp_regs_ov8858raw.cpp 中的 CCM 部分 是 Dynamic CCM。
如果需要使用 Dynamic CCM 的参数。因为 82 的 cct tools 并没有把 gen Dynamic CCM 的功能打开。
可以使用 92 的 cct tools,在 CCM 页面 按照相同的操作,在每次 add new poly data 之前 使用 右上角的 矩阵下拉菜单 保存到对应的色温下。
如何开启 Dynamic CCM 的功能,请参考 isp_tuning_customer.cpp 档案中的is_to_invoke_dynamic_ccm 函数
返回值是 MTRUE 表示 使用Muti CCM。
返回值是MFALSE 表示使用Dynamic CCM。
默认使用的是 Muti CCM。
因此贵司反馈 camera_isp_regs_ov8858raw.cpp文件中只产生D65一组参数,CWF,TL84,A对应的参数都是0.电话:+86 755 2663 0099 分机:85016
Camera 快速入门MediatekSupportCamera Support
Camera器件选2择
Camera概述Camera HW介绍
Camera软件架4构
Camera DriverDriver的配置Porting Guide
常见问题及7Debug
Camera TuningTuning Tool及设备介绍Tuning Guide常见问题及Debug
Camera 应用Camera 应用简介Camera 应用常见问题
Camera Feature
Feature介绍/常见问 题Feature开关/常用配 13
置Feature API调用
Camera进阶实作
添加三方feature/算 法添加External ISPPerformance问题分析16
学习天地学习资料链接ApplicationNote
MediaTek support
1,Camera HW Design
平台通用的注意事项请参考DCC文件:
MediaTek DCC > External Document > HW > Common Design Notes > Camera > Common
各平台的注意事项请参考各平台Design Notes的camera 章节
2,申请驱动代码:
需要使用的sensor请到Camera器件查找对应平台是否已经上DRL,表格里面没有的器件,请找HW CPM商讨对策。表格里support的器件release的代码包里会有,如果没有或者不确定是否为最新版本,请提EService申请并在拿到驱动代码后验证
3,申请调试:
确认驱动ok后,如需我司调试,请提对应的Eservice过来,格式请参考
[FAQ03734]如何提交Camera调试效果需求
4,遇到问题
上搜索是否有答案,可以查到对应问题的文档,请先在FAQ,Ecource等,如果搜索的内容不佳,可以对搜索内容加上英文双引号""会更加精准,如果没有解决,请提EService给我司,并请按照以下规范
5,提E_service的规范:
Camera Function性质问题(例如死机,花屏,黑屏,卡屏等)a)标题中需要注明是哪颗image sensor,提交时需正确填写复现概率,复现步骤,以及现象描述。并提供复现问题时的mobile log和驱动代码 Camera图像效果方面的问题(例如shading,饱和度,噪点,清晰度等)a)请注意在note中注明该项目是否有人调试过并说明调试人员,如果是我司调试过的项目,请同时提供eservice ID
b)请提交问题时提供对应的问题图片和对比机图片,同时将Tuning参数发过来
其他Camera问题
a)其他camera问题,需注意描述正确,提交mobile log,不好描述时请提供视频
Camera器件选择
1,查看Mediatek support的Image Sensor型号
在MOL上QVL/DRL ListCamera部分可以查看目前我们各个平台支持的Camera的型号(一般四周更新一次)
Excel表格Name:MTK_Camera_Sensor_DRL_W****.xlsx(W***表示是哪一周更新的表格)
第三篇:华为面试总结
Oracle面试:
数据仓库都了解多少? 数据库建模懂不懂?
以前项目中是怎么样设计数据库的? Oracle笔试:
同第一次的面试一样的题。
JAVA面试题:
使用三层框架开发时的开发流程,数据是怎么传送的? 介绍最近的一个项目。JSP内置对象? 加班有没有问题?
第四篇:华为HCDA总结
一:OSI 7层参考模型
物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP/IP 协议栈
网络接口层 网络层 传输层 应用层 二:IP地址: 32BIT 采用点分十进制
分类:A 1-126 网络位 8位 B 128-191 网络位 16位 C 192-223 网络位 24位 D 224-239 组播地址 E 240-255 科研
特殊IP 127.0.0.1 本地回环地址
1.所有网络
255.255.255.255 广播IP 主机位全为0 代表本网段
主机位全为1 本网段广播
IP技术 VLSM 变长子网掩码 掩码比主类大 172.16.1.0/24 CIDR 无类域间路由 掩码比主类小 192.168.0.0/16 路由聚合 用一条条目代表若干条 作用:减少路由表大小 节约流量 传输层:TCP UDP TCP :面向连接 可靠传输 :3次握手机制 重传机制 UDP:非面向连接 不可靠传输 三:路由分类
范围:同个AS: IGP---RIP OSPF ISIS 不同AS: EGP—BGP 算法:DV---RIP BGP LS:OSPF ISIS 路由来源:1.直连 2.静态 3.动态
静态路由:可以是出接口 也可以是下一条IP 默认路由 0.0.0.0 0.0.0.0 作为出口 网关上
动态路由:RIP---DV 30S 周期更新 触发更新 最大跳数:15 RIPV1---广播更新 255.255.255.255 不支持VLSM 认证 手动汇总 有类路由协议
RIPV2—组播更新 224.0.0.9 支持VLSM 认证 手动汇总 无类路由 RIP报文:1.request 请求包 2.response 应答包(路由表)OSPF----LS 组播更新 224.0.0.5 224.0.0.6 OSPF 报文:
1.HELLO 建立 维持邻居 2.DD 数据库描述
3.LSR 链路状态请求(请求明细路由)4.LSU 链路状态更新(所请求的路由)5.LSACK 确认
OSPF 三张表 :1.邻居表 2.LSDB 3.路由表 四:端口聚合 :增加带宽 加大转发效率
把多条线路(最大8条)逻辑捆绑成1条线路(带宽为总和)
端口镜像:监控 监控某一设备/端口/数据流
VLAN技术 :隔离广播域(不同VLAN 在L2 交换机不能互访)TRUNK技术:一条线路由传递所有VLAN流量。(接口模式:1.ACCESS 用于连接终端
2.TRUNK交换机之间 交换机-路由器 3.hybrid 默认端口
VLAN间路由:通过3层设备 使得不同VLAN间能够互访。
可以是路由器(单臂路由)L3 交换机(VLANIF)STP: 在做冗余的同时,避免环路。
根桥:桥ID –1.优先级 32768 2.MAC地址 比小 交换机端口角色:1.根端口 2.指定端口 3.阻塞端口 端口状态:1.LISTENING 15S 2.LERNING 15S 3.FORWARDING 4.BLOCKING VRRP: 多网关冗余协议 避免单链路故障 虚IP 虚MAC 选举MASTER : 1.优先级100 2.IP 默认一个组里只有MASTER 转发PC流量 负载:启用多组 组号:0-255 五:广域网连接方式:1.点到点专线 2.电路交换 3.分组交换 广域网接口封装协议:1.HDLC 2.PPP 3.FR PPP:对比HDLC : PPP支持多协议 支持 认证 PPP组件:LCP : 链路建立 测试 认证 NCP :协商上层协议 PPP报文:
1.CONFIG-REQUEST---被认证方发送相关参数 2.CONFIG-ACK----------认证方认证通过 3.CONFIG-NAK----------参数不匹配 4.CONFIG-REJECT-----不能识别 FR帧中继 模拟专线 虚电路 DTE 客户 DCE 运营商
LMI 类型: ANSI Q933A 帧中继映射:1.动态映射 in-ARP 2.静态映射 FR MAP IP X.X.X.X DLCI 帧中继水平分割问题:解决方案:使用子接口 六:防火墙:硬件+软件+控制策略
防火墙类型:1.包过滤防火墙 2.代理防火墙 3.状态检测防火墙 防火墙工作模式:1.路由模式 2.透明模式 3.混合模式 防火墙区域:共16区域 1.预定义区域 5个 2.自定义 11个 预定义区域:
1.LOCAL 100 2.TRUST 85 3.DMZ 50 4.UNTRUST 5.VZONE 0 流量方向:OUTBOUND 高往低优先级 INBOUND 低往高优先级 ACL:过滤DATE 或路由
基本ACL 2000-2999 控制源IP 高级ACL 3000-3999 控制源IP 目的IP 源端口 目的端口 协议号 NAT: SERVER NAT 一对一转换 外网访问内网(SERVER)NAPT(复用):多对一转换 内网访问外网
NAT:高级功能 端口映射(一个公有IP 提供多个内网IP访问
第五篇:华为OSPF总结
华为OSPF总结 OSPF基本概念
1.1 拓扑和路由器类型
OSPF整体拓扑
OSPF把自治系统划分成逻辑意义上的一个或多个区域,所有其他区域必须与区域0相连。路由器类型
区域内路由器(Internal Router):该类设备的所有接口都属于同一个OSPF区域。
区域边界路由器ABR(Area Border Router):该类路由器可以同时属于两个以上的区域,但其中一个接口必须在骨干区域。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
骨干路由器(Backbone Router):该类路由器至少有一个接口属于骨干区域。所有的ABR和位于Area0的内部路由器都是骨干路由器。 自治系统边界路由器ASBR(AS Boundary Router):与其他AS交换路由信息的路由器称为ASBR。ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。
拓扑所体现的IS-IS与OSPF不同点
在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域; 在IS-IS中,单个区域没有骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;
在IS-IS中,Level-1和Level-2级别的路由都采用SPF算法,分别生成最短路径树SPT而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由发布还是距离矢量算法,区域之间的路由需要通过骨干区域来转发。
1.2 OSPF网络类型,DR,BDR介绍
OSPF支持的网络类型
点到点P2P类型:当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。 点到多点P2MP 类型(Point-to-Multipoint):没有一种链路层协议会被缺省的认为是Point-to-Multipoint 类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。在该类型的网络中以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。 NBMA类型(Non-broadcast multiple access):当链路层协议是ATM时,缺省情况下,OSPF认为网络类型是NBMA。在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。 广播类型(Broadcast):当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。在该类型的网络中,通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF路由器的预留IP组播地址;224.0.0.6的组播地址为OSPF DR的预留IP组播地址。以单播形式发送DD报文和LSR报文。
在至少含有两个路由器的广播型网络和NBMA网络都有一个指定路由器(DR)和一个备份指定路由器(BDR)DR/BDR的作用 减少邻居关系的数量,从而减少链路状态信息和路由信息的次数。Drother只与DR/BDR建立完全邻接关系。DR与BDR之间建立完全邻接关系。 DR产生网络LSA来描述NBMA网段或者广播网段信息。DR/BDR选举规则
DR/BDR由OSPF的Hello协议选举,选举是根据端口的路由器优先级(Router Priority)进行的。
如果Router Priority被设置为0,那么该路由器将不允许被选举成DR或者BDR。
Router Priority越大越优先。如果相同,Router ID大者优先。
DR/BDR不能抢占。
如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR故障,则DR不变,重新选举BDR。ISIS DIS与OSPF DR/BDR的不同点
在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR 的选举。
在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。此更改会引起一组新的LSP 泛洪。而在OSPF中,当一台新路由器加入后,即使它的DR 优先级值最大,也不会立即成为该网段中的DR。
在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器。
1.3 OSPF报文类型
Hello报文:用于建立和维持邻居关系
DD报文:描述本地LSDB的摘要信息,用于两台路由器进行数据库同步
LSR报文:用于向对方请求所需的LSA路由器只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文
LSU报文:用于向对方发送其所需要的LSA LSAck报文:用来对收到的LSA进行确认 OSPF报文概述
OSPF报文直接运行于IP之上,IP协议字段号为89。OSPF有五种报文类型,但是OSPF报文头部格式都是相同的。
除Hello报文外,其它的OSPF报文都携带LSA信息。1.3.1 OSPF报文头部信息
所有的OSPF报文使用相同的OSPF报文头部 Version :OSPF协议号,应当被设置成2。Type:OSPF报文类型,OSPF共有五种报文。
Packet length:OSPF报文总长度,包括报文头部。单位是字节。Router ID:生成此报文的路由器的Router ID。Area ID:此报文需要被通告到的区域。
Checksum:是指一个对整个数据包(包括包头)的标准IP校验和。AuType:验证此报文所应当使用的验证方法。
Authentication:验证此报文时所需要的密码等信息。
1.3.2 Hello报文格式
Network Mask:发送Hello报文的接口的网络掩码。HelloInterval:发送Hello报文的时间间隔。单位为秒。
Options:标识发送此报文的OSPF路由器所支持的可选功能。
Router Priority:发送Hello报文的接口的Router Priority,用于选举DR和BDR。
RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。
Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。
Active Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。
1.3.3 DD报文格式
接口MTU:是指在数据包不分段的情况下,始发路由器接口可以发送的最大IP数据包大小。当在虚连接时,该在段为0x0000。 Option:同hello报文。
I位:当发送的是一系列DD报文中的第一个数据包时,该为置位为1。后续的DD报文将该位置位0。
M位:当发送的数据包还不是一个系列DD报文中的最后一个数据包时,该值置为1。如果是最后一个DD报文,则将该为置为0。
MS位:在数据库同步中,主要用来确认协商过程中的序列号。 DD Sequence Number:DD的序列号报文,4byte LSA头部信息。
1.3.4 LSR报文格式
Link State Type:用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA。
Link State ID:不同类型LSA该字段意义不同。
Advertising Router:始发LSA通告的路由器的路由器ID。
1.3.5 LSU报文格式
Number of LSA:指出这个数据包中包含的LSA的数量。 LSA:明细LSA信息
1.3.6 LSAck报文格式
Header of LSA:LSA头部信息。
1.3.7 LSA头部信息
除Hello报文外,其它的OSPF报文都携带LSA信息。
LS age:此字段表示LSA已经生存的时间,单位是秒。
Option:该字段指出了部分OSPF域中LSA能够支持的可选性能
LS type:此字段标识了LSA的格式和功能。常用的LSA类型有五种。 Link State ID:根据LSA的不用而不同。
Advertising Router:始发LSA的路由器的ID。
Sequence Number:当LSA每次新的实例产生时,这个序列号就会增加。这个更新可以帮助其他路由器识别最新的LSA实例。
Checksum:关于LSA的全部信息的校验和。因为Age字段,所以校验和会随着老化时间的增大而每次都需要重新进行计算。 Length:是一个包含LSA头部在内的LSA的长度。
1.4 LSA类型和区域内路由计算与描述
Router-LSA(Type1)
路由器产生,描述了路由器的链路状态和开销,本区域内传播
Network-LSA(Type2)
DR产生,描述本网段的链路状态,本区域内传播
Network-summary-LSA(Type3)
ABR产生,描述区域内某个网段的路由,区域间传播(除特殊区域)
ASBR-summary-LSA(Type4)
ABR产生,描述到ASBR的路由,OSPF域内传播(除特殊区域)
AS-external-LSA(Type5)
ASBR产生,描述到AS外部的路由,OSPF域内传播(除特殊区域)
NSSA LSA(Type7)
由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
区域内路由的计算只涉及到router-lsa和network-lsa 也只有router-lsa和network-lsa参与ospf路由计算
1.4.1 描述拓扑结构
1.4.2 Router-LSA Router-LSA必须描述始发路由器所有接口或链路。区域内路由计算用到router-lsa [Q5]display ospf lsdb router self-originate
OSPF Process 1 with Router ID 5.5.5.5 Area: 0.0.0.1 Link State Database Type : Router Ls id : 5.5.5.5 Adv rtr : 5.5.5.5 Ls age : 194 Len : 48 Options : ASBR E seq# : 80000007 chksum : 0xacb8 Link count: 2 * Link ID: 4.4.4.4 Data : 45.0.0.5 Link Type: P-2-P Metric : 1562 * Link ID: 45.0.0.0 Data : 255.255.255.0 Link Type: StubNet Metric : 1562 Priority : Low
Link State ID:是指始发路由器的路由器ID。
V:设置为1时,说明始发路由器是一条或者多条具有完全邻接关系的虚链路的一个端点。
E:当始发路由器是一个ASBR路由器时,该为置为1。 B:当始发路由器是一个ABR路由器时,该为置为1。 Link count:表明一个LSA所描述的路由器链路数量。
Link Type:置为1表示点到点连接一台设备;置为2表示连接一个transit网络,可以理解为广播网络;置为3表示连接subnet网络,一般该地址为环回口地址;置为4表示虚链路。
Link ID:Link Type置为1表示邻居路由器的路由器ID;Link Type置为2表示DR路由器的接口的IP地址;Link Type置为3表示IP网络或子网地址;Link Type置为4邻居路由器的路由器ID。
Link Data:Link Type置为1表示和网络相连的始发路由器接口的IP地址;Link Type置为2表示和网络相连的始发路由器接口的IP地址;Link Type置为3网络的IP地址或子网掩码。 P2P链路:描述到邻居连接 Transit链路:描述到DR的连接
Stub链路:描述子网,没有邻居(loopback或者只有一个以太网链路) V-link链路:描述虚链路点到点链路 ToS,暂不支持。
Metric:是指一条链路或接口的代价。
1.4.3 Network-LSA
DR产生,BDR不会产生Network-LSA [Q2]display ospf lsdb network self-originate
OSPF Process 1 with Router ID 2.2.2.2 Area: 0.0.0.0 Link State Database Type : Network Ls id : 10.0.0.2 Adv rtr : 2.2.2.2 Ls age : 393 Len : 36 Options : E seq# : 80000006 chksum : 0x9088 Net mask : 255.255.255.0 Priority : Low Attached Router 2.2.2.2 Attached Router 3.3.3.3 Attached Router 4.4.4.4
Link State ID:是指DR路由器接口上的地址。
Network Mask:指定这个网络上使用的地址或者子网的掩码。
Attached router:列出该多路访问网络上与DR形成完全邻接关系且包括DR本身的所有路由器的路由器ID。
1.4.4 Network-summary-LSA(ABR产生)
[Q4]display ospf lsdb summary Type : Sum-Net Ls id : 45.0.0.0 Adv rtr : 4.4.4.4 Ls age : 425 Len : 28 Options : E seq# : 80000003 chksum : 0xde1f Net mask : 255.255.255.0 Tos 0 metric: 1562
Priority : Low
Link State ID:对于3类LSA来说,表示所通告的网络或子网的IP地址。对于4类LSA来说表示所通告的ASBR路由器的路由器ID。
Network Mask:对于3类LSA来说,表示所通告的网络的子网掩码或者地址。对于4类LSA来说,该字段没有实际意义,一般置为0.0.0.0。 Metric:直到目的地址的路由的代价。
Network-summary-LSA 在区域间传递,区域间路由是矢量的,那么矢量的路由需要防止环路
防止环路方法如下:(1)ABR不能从非骨干区域接收类型3LSA(2)Downbit防环
1.4.5ASBR-summary-LSA(ABR产生)1.4.6 AS-external-LSA(ASBR产生)
[Q4]display ospf lsdb ase OSPF Process 1 with Router ID 4.4.4.4 Link State Database Type : External Ls id : 55.55.55.0 Adv rtr : 5.5.5.5 Ls age : 2341 Len : 36 Options : E seq# : 80000002 chksum : 0xa273 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 0.0.0.0 Tag : 1 Priority : Low
Link State ID:目的地的IP地址。
Network Mask:指所通告的目的地的子网掩码或地址。
E type:用来指定这条路由使用的外部度量的类型。如果该E bit设置为1,那么度量类型就是E2;如果该E bit设置为0,那么度量类型就是E1。 Metric:指路由的代价。由ASBR设定。 Forwarding Address:是指到达所通告的目的地的数据包应该被转发到的地址。如果转发地址是0.0.0.0,那么数据包将被转发到始发ASBR上。 External Route Tag:标记外部路由。1.4.7 NSSA LSA(ASBR产生)
[Q5]display ospf lsdb nssa self-originate
Type : NSSA Ls id : 55.55.55.0 //目的网段的网络地址 Adv rtr : 55.55.55.55 Ls age : 66 Len : 36 Options : NP seq# : 80000001 chksum : 0x8390 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 45.0.0.5 Tag : 1 Priority : Low
Forwarding Address:如果网络一台NSSA ASBR路由器和邻接的自治系统之间是作为一条内部路由通告的,那么这个FA就是这个网络的下一跳地址。如果网络不是作为一个条内部路由通告的,那么这个FA地址将是NSSA ASBR路由器的路由器ID。
1.4.8 区域内路由计算SPF过程
1.5
Option字段
Option可选字段出现在每一个Hello数据包、DD和每个LSA中的。 Option字段允许路由器和其他路由器进行一些可选性能的通信。
Option字段解释:
DN:用来避免在MPLS VPN中出现环路。当3类、5类和7类LSA中设置了DN位之后,接收路由器就不恩能够在它的OSPF路由计算中使用该LSA。 O:该字段指出始发路由器支持Opaque LSA(类型
9、类型10和类型11)。 DC位:当始发路由器支持按需链路上的OSPF的能力时,该位将被设置。 EA:当始发路由器具有接收和转发外部属性LSA的能力时,该位被置位。 N位:只在Hello数据包中。N=1表明路由器支持7类LSA。N=0表明该路由器将不接收和发送NSSA LSA。
P位:只用在NSSA LSA。该位将告诉一个非纯末节区域中的ABR路由器将7类LSA转换为5类LSA。 MC位:支持MOSPF。
E位:当始发路由器具有接收OSPF域外部LSA的能力时,该位置位。在所有5类LSA和始发于骨干区域以及非末节区域的LSA中,该位置为1。而始发与末节区域的LSA中,该位置为0。如果Hello报文中该位表明一个接口具有接收和发送5类LSA的能力。 MT位:表示始发路由器支持多拓扑OSPF。OSPF邻居和邻接关系
2.1 邻居关系建立
邻居状态建立:
Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。 2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。如果网络为广播网络或者NBMA网络则选举DR/BDR。
在形成邻居关系过程中,需要对Hello报文携带的参数进行协商: 如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段; 所接收的Hello报文中的Hello和Dead字段必须和接收端口的配置保持一
致;
所接收的Hello报文中的认证字段需要一致;
所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。 所接收的Hello报文中的区域字段必须一致。
2.2 邻接关系建立
邻接状态建立:
邻居状态机变为ExStart以后,R1向R2发送第一个DD报文,在这个报文中,DD序列号被设置为552A(假设),Initial比特为1表示这是第一个DD报文,More比特为1表示后续还有DD报文要发送,Master比特为1表示R1宣告自己为主路由器。
邻居状态机变为ExStart以后,R2向R1发送第一个DD报文,在这个报文中,DD序列号被设置为5528(假设)。由于R2的Router ID比R1的大,所以R2应当为主路由器,Router ID的比较结束后,R1会产生一个NegotiationDone的事件,所以R1将状态机从ExStart改变为Exchange。 邻居状态机变为Exchange以后,R1发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为R2在第二步里使用的序列号,More比特为0表示不需要另外的DD报文描述LSDB,Master比特为0表示R1宣告自己为从路由器。收到这样一个报文以后,R2会产生一个NegotiationDone的事件,因此R2将邻居状态改变为Exchange。
邻居状态变为Exchange以后,R2发送一个新的DD报文,该报文中包含
LSDB的描述信息,DD序列号设为5529(上次使用的序列号加1)。
即使R1不需要新的DD报文描述自己的LSDB,但是做为从路由器,R1需要对主路由器R2发送的每一个DD报文进行确认。所以,R1向R2发送一个新的DD报文,序列号为5529,该报文内容为空。
邻居状态变为Loading之后,R1开始向R2发送LS request报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
R2收到LS Request报文之后,向R1发送LS Update报文,在LS Update报文中,包含了那些被请求的链路状态的详细信息。R1收到LS Update报文之后,将邻居状态从Loading改变成Full。
R1向R2发送LS Ack报文,确保信息传输的可靠性。LS Ack报文用于泛洪对已接收LSA的确认。
2.3 邻居关系状态机
2.4 邻接关系状态机
2.5 总结OSPF邻接建立状态变换和用途
1.5.1 Init状态
当路由器收到邻居发送来的hello报文就将状态变换成init状态,Init状态也说明路由器是可以收到邻居的hello消息的,也说明路由器和邻居之间至少二层是互通的。1.5.2 TwoWay状态
a,检查如下参数是否一致, 在p2p与MA之间有什么不同 如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段; 所接收的Hello报文中的Hello和Dead字段必须和接收端口的配置保持一致;
所接收的Hello报文中的认证字段需要一致;
所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。 所接收的Hello报文中的区域字段必须一致。P2P不需要建立邻接,MA需要建立邻接
b,用途?
当路由器和邻居之间建立双向通信就变成TwoWay状态,或者说当路由器收到邻居发送过来的hello报文发现自己在对方的邻居列表中就变成TwoWay状态。
c,DR选举和抢占,wait计时器就是dead time计时器,在这个时间里面,如果路由器接收到的hello报文中有DR和BDR就不进行DR选举
1.5.3 Exstart状态
通过检查router-id,DBD主从选举,router-id大的成为主,小的成为从 1.5.4 Exchange状态
检查ls age和sequence,同步DBD 1.5.5 Loading状态
发送LSR请求 1.5.6 FULL状态
发出的LSR全部收到应答
检查DBD完全一样 已经同步了LSDB OSPF中DR,BDR选举 OSPF特殊区域和外部路由
Ospf特殊区域为stub和nssa 引入外部路由不建议引入直连的路由而采用network+silent方式引入直连路由。
4.1 Stub区域
OSPF可以将特定区域配置为Stub和Totally Stub区域。Stub区域是一些特定的区域,Stub区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。Stub区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常来说,Stub区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给Stub区域中的其他非ABR路由器。Stub区域 骨干区域不能配置成Stub区域。
如果要将一个区域配置成Stub区域,则该区域中的所有路由器都要配置Stub区域属性。
Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。 虚连接不能穿过Stub区域。
Stub区域不允许自治系统外部的路由(Type5 LSA)在区域内传播。 区域内的路由器必须通过ABR学到自治系统外部的路由。实现方法是ABR会自动产生一条缺省的Summary LSA(Type3 LSA)通告到整个Stub区域内。这样,到达自治系统的外部路由就可以通过ABR到达。Totally Stub区域
Totally Stub区域既不允许自治系统外部的路由(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)在区域内传播。
区域内的路由器必须通过ABR学到自治系统外部和其他区域的路由。 ABR会自动产生一条缺省的Summary LSA(Type3 LSA)通告到整个Stub区域内。
Stub区域的E-bit被置位
实例
Q1和Q2所在的area 2为stub或者是stub totally
4.2 NSSA区域
NSSA区域能够将外部路由引入并传播到整个OSPF自治域中,同时又不会学习来自OSPF网络其它区域的5类LSA 包括NSSA和Totally NSSA OSPF规定Stub区域是不能引入外部路由的,这样可以避免大量外部路由对Stub区域路由器带宽和存储资源的消耗。对于既需要引入外部路由又要避免外部路由带来的资源消耗的场景,Stub区域就不再满足需求了。因此Stub区域的变形——NSSA区域就产生了。7类LSA 7类LSA是为了支持NSSA区域而新增的一种LSA类型,用于描述引入的外部路由信息。
7类LSA由NSSA区域的自治域边界路由器(ASBR)产生,其扩散范围仅限于边界路由器所在的NSSA区域。
NSSA区域的区域边界路由器(ABR)收到7类LSA时,会有选择地将其转化为5类LSA,以便将外部路由信息通告到OSPF网络的其它区域。 缺省路由也可以通过7类LSA来表示,用于指导流量流向其它自治域。为了将NSSA区域引入的外部路由发布到其它区域,需要把Type-7 LSA转化为Type-5 LSA以便在整个OSPF网络中通告。
option字段P用于告知转化路由器该条7类LSA是否需要转化。 进行转化的是NSSA区域中Router ID最大的区域边界路由器(ABR)。 只有P置位并且Forwarding Address不为0的Type-7 LSA才能转化为Type-5 LSA。Forwarding Address用来表示发送的某个目的地址的报文将被转发到Forwarding Address所指定的地址。
满足以上条件的缺省7类LSA也可以被转化。
区域边界路由器ABR产生的7类LSA不会置位P-bit。注意事项
在NSSA区域中,可能同时存在多个边界路由器。为了防止路由环路产生,边界路由器之间不计算对方发布的缺省路由。
NSSA和Totally NSSA NSSA区域允许引入少量通过本区域的ASBR到达的外部路由,但不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播。即到达自治系统外部的路由只能通过本区域的ASBR到达。
Totally NSSA区域既不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)在区域内传播。实例
Area 1为nssa区域
引入外部路由55.55.55.0/24
[Q4] ospf 1 router-id 4.4.4.4 area 0.0.0.0 network 10.0.0.0 0.0.0.255 area 0.0.0.1 network 45.0.0.0 0.0.0.255 nssa default-route-advertise no-summary [Q4]display ospf lsdb Area: 0.0.0.1 Type LinkState ID AdvRouter Age Len Sequence Metric Router 4.4.4.4 4.4.4.4 25 48 80000004 1562 Router 55.55.55.55 55.55.55.55 2207 48 80000003 1562 Router 5.5.5.5 5.5.5.5 28 48 80000005 1562 Sum-Net 0.0.0.0 4.4.4.4 30 28 80000001 1 NSSA 0.0.0.0 4.4.4.4 27 36 80000003 1 NSSA 55.55.55.0 55.55.55.55 2228 36 80000001 1 NSSA 55.55.55.0 5.5.5.5 1209 36 80000001 1 NSSA 45.0.0.4 55.55.55.55 2228 36 80000001 1 NSSA 45.0.0.0 55.55.55.55 2228 36 80000002 1 //Q4为NSSA的ABR,向nssa区域通告一条3类lsa的默认路由和一条NSSA的默认路由,这是因为有参数default-route-advertise和 no-summary [Q5] ospf 1 router-id 5.5.5.5 import-route direct route-policy 1111 area 0.0.0.1 network 45.0.0.0 0.0.0.255 nssa
[Q5]display ospf lsdb Area: 0.0.0.1 Type LinkState ID AdvRouter Age Len Sequence Metric Router 4.4.4.4 4.4.4.4 229 48 80000004 1562 Router 55.55.55.55 55.55.55.55 2409 48 80000003 1562 Router 5.5.5.5 5.5.5.5 230 48 80000005 1562 Sum-Net 0.0.0.0 4.4.4.4 234 28 80000001 1 NSSA 55.55.55.0 5.5.5.5 1411 36 80000001 1 NSSA 0.0.0.0 4.4.4.4 231 36 80000003 1 NSSA 55.55.55.0 55.55.55.55 2430 36 80000001 1 NSSA 45.0.0.4 55.55.55.55 2430 36 80000001 1 NSSA 45.0.0.0 55.55.55.55 2430 36 80000002 1
[Q4]display ospf lsdb ase self-originate Type : External Ls id : 55.55.55.0 //Q4将NSSA lsa装换成external lsa发布 Adv rtr : 4.4.4.4 Ls age : 752 Len : 36 Options : E seq# : 80000001 chksum : 0xf9ee Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 45.0.0.5 Tag : 1 Priority : Low
4.3 外部路由和forwarding address Forwarding Address用来表示发送的某个目的地址的报文将被转发到Forwarding Address所指定的地址。
R1和R9连接在一起属于区域area 1,R8属于ospf外部路由器,R1上引入一条静态的路由,这条静态的路由指向R8连接的网段8.8.8.0/24,由于在R1上引入的外部路由会通告给AREA 1中的R9,那么也就是告诉R9去往网段8.8.8.0/24的路径要经过R1(图中蓝线的路径箭头),然而R9和R8之间是通过交换机直连的,R9直接通过交换机去8.8.8.0/24网段(图中红线的路径箭头)要比ospf通告的要优先一些,那么这时就造成了次优路径。
解决这种次优路径的方法就是引入forwarding address,直接告诉R9去往8.8.8.0/24网段的下一条是R8的接口g0/0/0。
开启forwarding address功能时要满足如下条件
(1)引入的外部路由,其对应的出接口开启了ospf(network命令)(2)引入的外部路由,其对应的出接口没有开启了silent-interface(3)引入的外部路由,其对应的出接口是网络类型broadcast或者nbma 如下为R1,R8,R9的配置和测试
R1上的配置:
[R1]interface GigabitEthernet0/0/1 ip address 19.0.0.1 255.255.255.0 # interface GigabitEthernet1/0/0 ip address 100.0.0.1 255.255.255.0 # ospf 1 router-id 10.0.1.1 import-route static area 0.0.0.0 authentication-mode simple plain huawei network 10.0.1.1 0.0.0.0 network 10.0.123.1 0.0.0.0 area 0.0.0.1 network 19.0.0.0 0.0.0.255 network 100.0.0.0 0.0.0.255 //要将出接口宣告进ospf # ip route-static 8.8.8.0 255.255.255.0 GigabitEthernet1/0/0 100.0.0.8
R9配置:
[R9]interface Ethernet0/0/1 ip address 100.0.0.9 255.255.255.0 # interface GigabitEthernet0/0/0 ip address 19.0.0.9 255.255.255.0 # ospf 1 router-id 9.9.9.9 area 0.0.0.1 network 19.0.0.0 0.0.0.255 network 100.0.0.0 0.0.0.255 //要将出接口宣告进ospf R8配置
[R8]interface GigabitEthernet0/0/0 ip address 100.0.0.8 255.255.255.0 # interface LoopBack0 ip address 8.8.8.8 255.255.255.0 # ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/0 100.0.0.1 #
R1上的外部路由通告
[R1]display ospf lsdb ase self-originate
OSPF Process 1 with Router ID 10.0.1.1 Link State Database Type : External Ls id : 8.8.8.0 Adv rtr : 10.0.1.1 Ls age : 1588 Len : 36 Options : E seq# : 80000001 chksum : 0x3709 Net mask : 255.255.255.0 TOS 0 Metric: 1 E type : 2 Forwarding Address : 100.0.0.8 //告诉其他的路由器的去往8.8.8.0/24的下一跳是100.0.0.8 Tag : 1 Priority : Low
R9上正好下一条是100.0.0.8 [R9]display ip routing-table Destination/Mask Proto Pre Cost Flags NextHop Interface
8.8.8.0/24 O_ASE 150 1 D 100.0.0.8 Ethernet0/0/1
4.4 NSSA和forwarding address NSSA中Forwarding Address的处理
对于NSSA区域中ASBR产生的7类LSA,如果需要转换为5类LSA发布到其他OSPF区域,那么FA必须要填写非零的IP地址
对于7类LSA中FA的填写分为两种情况:
1.如果发布该7类LSA的ASBR满足上文提到的非零FA填写规则,那么就按照该 规则填写。
2.如果发布该7类LSA的ASBR不满足上述条件,那么需要从该路由器上启用OSPF 协议的接口中选择一个进行填写。
对于情况2虽然RFC3101对FA的填写进行了要求,但是并未明确如何填写该FA。在某些组网环境中由于该FA地址的填写不当,有可能会产生次优路由。考虑如下组网:
Router A、Router B、Router C形成NSSA区域,Router A引入外部路由Route a,通过7类LSA通告给Router B和Router C,因为RFC并未明确要求这种情况下该7类LSA中的FA如何填写,Router A可能会选择Int 1的IP地址填写FA,那么对于Router C来讲,到达Int 1有两条路径,一条是通过RouterA到达路径 Cost为100,另一条是通过Router B到达路径Cost为80,因此Router C将选择通过Router B的路径,很明显它实际上选择了一条次优路径。
如果在填写FA时,使用Loopback接口地址进行填写,可以解决上述问题。
实例:
Q5引入外部路由之后由router-id最大的ABR将Type 7类型的lsa转换成外部路由Type 5,这本例中Q4的router-id比Q3大,所以由Q4将Type 7类型的lsa转换成外部路由Type 5。
Q5产生type 7外部路由forwarding address为5.5.5.5
4.5 外部路由选路规则和forwarding address OSPF如何维护LSDB 5.1 LSA的新旧比较
(1)当网络拓扑发生变化时,lsa的序列号会+1,比较序列号,序列号越大越优先
(2)序列号相同,比较老化时间,越小越优先 采取的措施是泛红,回馈,丢弃。
5.2 checksum校验和 5.3 计时器
60分钟刷新删除陈旧的LSA 30分钟泛红自己的LSA 5.4 更改lsa规则
自己更改自己,别人不能更改,否则lsa破坏风暴。6 OSPF选路规则
OSPF路由聚合
OSPF扩展特性
8.1 virtual-link详解
8.2 认证
认证分类
接口认证 区域认证
认证方式
Null Simple MD5 HMAC-MD5 当两种验证方式都存在时,优先使用接口验证方式。
8.3 Database Overflow 数据库超限
限制非缺省外部路由数量,避免数据库超限
通过设置路由器上非缺省外部路由数量的上限,来避免数据库超限。OSPF网络中所有路由器都必须配置相同的上限值。这样,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动超限状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出超限状态。OSPF Database Overflow过程
进入Overflow状态时,路由器删除所有自己产生的非缺省外部路由。 处于Overflow状态中,路由器不产生非缺省外部路由,丢弃新收到的非缺省外部路由且不回复确认报文,当超限状态定时器超时,检查外部路由数量是否仍然超过上限,如果超限则重启定时器,如果没有则退出超限状态。
退出Overflow状态时,删除超限状态定时器,产生非缺省外部路由,接收新收到的非缺省外部路由,回复确认报文,准备下一次进入超限状态。
8.4 Demand circuit(DC按需链路)缺省路由
普通区域
ASBR上手动配置产生缺省5类LSA,通告到整个OSPF自治域(特殊区域)
Stub区域
ABR自动产生一条缺省3类LSA,通告到整个Stub区域内
Totally Stub区域
ABR自动产生一条缺省3类LSA,通告到整个Stub区域内
NSSA区域
在ABR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内 在ASBR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内
Totally NSSA区域
ABR自动产生一条缺省3类LSA,通告到整个NSSA区域内
OSPF缺省路由通常应用于下面两种情况 由ABR发布缺省3类LSA,用来指导区域内路由器进行区域之间报文的转发。
由ASBR发布缺省5类LSA,或者缺省7类LSA,用来指导自治系统(AS)内路由器进行自治系统外报文的转发。注意事项
当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,3类缺省路由的优先级高于5和7类缺省路由。 如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。 外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。不同区域的缺省路由发布原则 普通区域
• 缺省情况下,普通OSPF区域内的OSPF路由器是不会产生缺省路由的,即使它有缺省路由。
NSSA区域
• 如果希望到达自治系统外部的路由通过该区域的ASBR到达,而其它外部路由通过其它区域出去。则必须在ABR上手动通过命令进行配置,使ABR产生一条缺省的7类LSA,通告到整个NSSA区域内。这样,除了某少部分路由通过NSSA的ASBR到达,其它路由都可以通过NSSA的ABR到达其它区域的ASBR出去。
• 如果希望所有的外部路由只通过本区域NSSA的ASBR到达。则必须在ASBR上手动通过命令进行配置,使ASBR产生一条缺省7类LSA,通告到整个NSSA区域内。这样,所有的外部路由就只能通过本区域NSSA的ASBR到达。
• 上面两种情况使用相同的命令在不同的视图下进行配置,区别是在ABR上无论路由表中是否存在路由0.0.0.0,都会产生7类LSA缺省路由,而在ASBR上只有当路由表中存在路由0.0.0.0时,才会产生7类LSA缺省路由。
• 7类LSA缺省路由不会在ABR上转换成Type5 LSA缺省路由泛洪到整个OSPF域。
Totally NSSA区域
• 区域内的路由器必须通过ABR学到其他区域的路由。
一、OSPF缺省路由通常应用于下面两种情况:
1.由区域边界路由器(ABR)发布(三类缺省SUMMARY LSA), 用来指导区域内路由器进行区域之间报文的转发。
2.由自治系统边界路由器(ASBR)发布(五类外部缺省ASE LSA,或者七类外部缺省NSSA LSA),用来指导OSPF路由域内路由器进行域外报文的转发。
当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,三类缺省路由的优先级要高于五/七类路由。
(注:不同的OSPF进程认为属于不同的OSPF路由域)
(注:VRP V3具体区分五/七类路由OSPF-ASE、OSPF-NSSA,VRP V5对五/七类LSA都生成OSPF-ASE路由)
二、OSPF缺省路由的几个基本原则:
1.如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由(即路由计算时不再计算其它路由器发布的相同类型缺省路由LSA)。
原因主要有以下两点:
a 本路由器自身已经具有对外的出口,所以不需要学习其它路由器发布的缺省路由。
b 如果学习其它路由器发布的缺省路由,就会形成缺省路由的下一条相互指向,造成路由环路。
2.OSPF路由器只有具有对外的出口时,才能够发布缺省路由LSA。
a 因此对于区域边界路由器(ABR),一旦失去跟骨干区域的连接(骨干区域没有FULL邻居),那么就要停止发布缺省路由。这主要用于解决当区域存在多个出口的ABR时,此时可以通过别的ABR出口继续转发报文。
b 因此对于自治系统边界路由器(ASBR),一旦失去对外的连接(例如依赖的外部路由消失),那么就要停止发布缺省路由。这主要用于解决当OSPF路由域存在多个出口的ASBR时,可以通过别的ASBR出口继续转发报文。
3.外部缺省路由的发布如果依赖于其它的路由,那么被依赖的路由不能是本OSPF路由域内的路由(即不是本进程OSPF学习到的路由)。
因为,外部缺省路由要用于指导报文的域外转发,而本OSPF路由域的路由下一条都指向了域内。
三、OSPF各种缺省路由情况具体分析
a外部缺省路由不能通过引入或者转换产生,是由命令指定产生的。
b路由器一旦发布外部缺省路由,就是ASBR路由器。
c只有区域边界路由器(ABR)才能发布三类缺省路由。
1. STUB AREA的TYPE3 缺省路由
ABR路由器发布,传播范围为本STUB区域。
根据基本原则1、2:
a 当存在骨干区域的FULL邻居时,需要发布缺省路由。同时不学习其它路由器发布的三类缺省路由LSA(此时,根据RFC2328路由计算使用骨干区域SUMMARY LSA,所以不会学习到其它路由器发布到STUB区域的三类缺省路由LSA)。
b当不存在骨干区域的邻居或者骨干区域邻居DOWN时,需要取消发布缺省路由。同时学习其它路由器发布的三类缺省路由LSA(此时,路由计算使用各个非骨干区域SUMMARY LSA)。
对于PE路由器,不需要判断骨干区域是否有FULL邻居。始终发布缺省路由,同时不学习其它PE路由器发布的缺省路由LSA(通过DN比特实现)。
(注:PE路由器,VRP V3会生成骨干区域,VRP V5不生成骨干区域)
2. NSSA AREA的TYPE3 缺省路由
ABR路由器配置NO-SUMMARY后发布,传播范围为本NSSA区域。
其它规格同STUB AREA的TYPE3 缺省路由。
3. DEFAULT-ROUTE-ADVERTISE SUMMARY的TYPE3 缺省路由
只有是PE路由器时才发布缺省路由。同时不学习其它路由器发布的缺省路由LSA(需要通过DN比特实现)。
(注:此命令只存在于VRP V5 OSPF。)
4. DEFAULT-ROUTE-ADVERTISE ALWAYS的TYPE5 缺省路由
始终发布缺省路由,同时不学习其它路由器发布的缺省路由LSA。
不能根据外部连接的变化动态调节缺省路由的发布和删除,实际应用不太灵活。
5. DEFAULT-ROUTE-ADVERTISE的TYPE5 缺省路由
只有路由表中存在活跃的缺省路由时(不是本OSPF进程学习到的路由),才会发布缺省路由LSA。
如果OSPF路由器已经发布了五类外部缺省路由LSA,那么不再学习其它路由器发布的五类外部缺省路由。(这点VRP V3也没有实现)
6. DEFAULT-ROUTE-ADVERTISE ROUTE-POLICY的TYPE5 缺省路由
只有ROUTE-POLICY匹配时,才会发布缺省路由LSA。
如果OSPF路由器已经发布了五类外部缺省路由LSA,那么不再学习其它路由器发布的五类外部缺省路由。
7. NSSA AREA DEFAULT-ROUTE-ADVERTISE的TYPE7 缺省路由
当是区域边界路由器(ABR)(且存在骨干区域的FULL邻居)时,发布七类外部缺省路由(P标志设0)。同时不学习其它路由器发布的七类外部缺省路由 LSA。这条缺省路由的作用是指导NSSA区域的报文通过骨干区域向外转发(由于NSSA区域不学习ASE LSA)。
当不是区域边界路由器 时,只有路由表中存在活跃的缺省路由时(不是本OSPF进程学习到的路由),才会发布缺省路由LSA(P标志设1)。同时不学习其它路由器发布的七类外部 缺省路由LSA。这条缺省路由的作用是指导NSSA区域的报文通过本ASBR路由器直接向外转发(这种情况在实际应用中并不多见)。