OSPF经典问题解答

2015-12-08 05:28:51郝强
计算机与网络 2015年23期
关键词:排样路由器报文

■郝强

东莞职业技术学院计算机工程系王石

OSPF经典问题解答

■郝强

1 在OSPF中。为什么第三类LSA传播超过一个区域,路由信息就会被修改呢?他不是使用SPF算法么?如果这样那么他跟RIP的V-D算法有啥区别?

答:因为ospf传播超过一个区域之后,路由信息就会改变。而路由信息在OSPF中,包括防环等作用。这也是RIP与OSPF本质的区别。在RIP中。由于采用V-D(距离-矢量)算法,当报文传递过后,会改变路由信息,因此也就存在环路。而在OSPF中。第三类LSA也是这样。由此RFC规定。所有区域必须要与骨干区域相连接。但在我们实际组网中。经常碰到非骨干区域与骨干区域不能相互连接。由此RFC定义了虚连接。

2 说到虚连接。哪虚连接为什么能保证第三类LSA的路由信息不被修改呢?

答:从狭义的角度来说。一条虚连接是属于区域零的一条虚拟链路。因此他也就能保证第三类LSA的路由信息不被修改。

3 虚连接是怎样使用SPF算法的?准确的说。虚连接是怎么确定他报文的目的地址的?

答:每个虚连接都要生成两棵最短路径树(第一棵为本地区域的最短路径树。第二棵为虚连接邻居的最短路径树)计算虚连接最短路径树之后。本地路由器会通过查找对端最短路径树,并通过对端的Router-id来标识。那么虚连接到达本地路由器的始发端口的IP地址即为本地路由器发给对端虚连接邻居的协议报文的目的IP地址。

4 为什么ospf在默认情况下引入外部路由生成的是第二类LSA而不是第一类?

答:在外部第一类LSA中,第一类LSA比第二类的可信度要高,并与ospf使能的路由有可比性。而第二类LSA呢,可靠性比较低,与ospf自动使能的路由也没啥可比性。这里举个例子。第一类就相当于ospf自己的孩子。而第二类呢。就相当于从外面进来的客人。并且在选路原则中,一类要永远要比二类优先即使是前者COST要高。

5 为什么在ospf中不能引入静态的缺省?

答:RFC定义了缺省发布的条件。比如NSSA,stub,他们都会自动生成一条缺省。

6 第三类LSA和第五类LSA link state id字段都是描述目的网段的地址。哪他们之间有什么区别?

答:对三类和第五类的LINK-STATE ID是一样的,都是描述目的网段的地址。但即使他们所有的字段都是一样,但是他们所实现的功能是不能相提并论的。最关键的是在LSA报文头中的类型字段有明显的区别。这两类LSA的作用定位不同,三类是描述另一个区域的路由。而五类描述的是外部路由。

7 为什么ospf中四种网络类型所定义的hello time和生存时间都不一样?

答:OSPF一共定义了四种网络类型,而这四种网络类型,大部分都是针对链路,(点到多点需要手动修改),这也是OSPF的特点之一,能适应更多不同类型的的网络结构中,并且,不同的网络类型,邻居生存时间和hello time也随之改变,(并且还可以手动修改),这无不证明此协议的人性化。

8 ospf如果不同进程不同区域使能。邻居能正常建立起来么(广播网络环境下)?

答:不能正常建立。因为ospf路由器在接受OSPF报文的时候会验证一些报文是否合法其检查的内容有版本号、区域ID,验证方法和验证信息。

9 不同进程同区域,邻居能正常建立起来吗?

答:能。因为在ospf的报文中并不需要对进程ID进行检查,所以邻居能正常建立起来。

10 邻居和邻接有哪些区别?什么情况下才会出现邻居?什么情况下才会出现邻接?

答:OSPF一共有八个状态机,其中down 2-way FULL是稳定状态机其他的都是中转状态。所谓邻居关系是指只要与对端邻居关系建立到2-WAY就可以了,并且用到的报文只有HELLO。如果建立邻接就需要进步一交互报文,需要用到的报文有dd,Lsr lsu ls ack他们两之间的区别是邻居只需要收到对端的HELLO报文,并且自己在对端的邻居列表里面就可以了。所有网络环境都可以建立邻居关系。而邻接是在建立邻居关系之上交互路由信息的。Drother之间只需要建立邻居关系。

11 ospf本身能过滤掉自身产生的LSA吗?

答:ospf本身并没有过滤LSA的机制。(原因很简单如果能限制的话SPF算法肯定要出错)有也只是限定一些范围的,比如LSDB的超载机制。

12 ospf一共有多少种LSA报文类型?

答:OSPF一共有十一种LSA报文类型。他们的作用分别如下:第一类描述了区域内部与路由器直连的链路信息;第二类计入了广播或NBMA网络网段上所有路由器的router-id(打包一类LSA);第三类将所连接区域内部的链路信息以子网的形式传播到相邻区域;第四类描述的目标网络是一个ASBR的route-id;第五类描述到外部AS路由信息;第七类NSSA区域专属LSA描述外部AS的路由信息。以上这几类是我们常用的。

第六类在组播ospf协议中使用的组播LSA;第八类在ospf域内传播BGP属性时使用的外部属性LSA;第九类本地链路范围的opaque;第十类本地区域范围内的opaque LSA;第十一:本自治系统范围的opaque LSA。

13 ospf中option的作用有哪些?

答:Option这个字段是ospf的可选功能,描述路由器所支持所选的功能。一共有五位,格式分别如下:E位——该位描述是否洪泛AS-external-LSA;MC位——该位描述是否多播扩展OSPF转发IP多播包;N/P位——该位描述了处理类型7 LSA;EA位——该位描述了是否按OSPF外部属性inprogress的说明忽略还是接收并转发External-Attributes-

LSA;DC位——该位描述了按扩展OSPF和支持需求电路的说明处理按需链路。

14 OSPF进程重启,为什么邻居能快速的建立起来。而不是像创建进程需要等待那么长时间?

答:ospf的邻居存活时间是40秒,在路由器之前成功建立邻居正常的情况下,一边重启进程,而另一边邻居还正常的存活在邻居表中,但是当这边重启好了,发送HELLO的时候,对端也即转到INIT状态,并且所有的状态,只需要交互一个报文就行了,所以,重启进程,比普通建立的更快,也就是说,等对端的四十秒过后,再重启进程,那么他们又得重新互发HELLO,又得经过七个状态机才能建立邻接状态。

15 ospf一直提示LSA disabled,为什么会产生这种情况?

答:导致这种情况的原因是:当LSA的老化时间结束时,LSA他会在LSDB表里面移除掉,或者此LS的始发者发送消息flooding掉。正常的情况下,当邻居正常建立来并且建立到邻接状态时,他会自动更新LSA的信息,并用LS Age和LS系列号,来区分那条LSA更新,同时在LSDB表中更新最新的LSA。既然LSA出现down的情况,那么首先得把问题定位在邻居是否正常建立起来,并且能正常交互报文(LSU LS ACK)。

16为什么OSPF与BGP在重分布的时候,OSPF路由的下一跳不确定,导致选路错误。

答:这是由BGP的环路引起的。在双出口的BGP中,如果BGP里面宣告或学习到的路由都一样,建议修改preferred-value值,把环路取消然后再做重分布。

17 OSPF跟STP结合组网,一般会遇到哪些问题?

答:一个协议的所有功能都包含在报文中,报文中的某个字段置位,也就是这个协议的功能开启,不管OSPF与那个协议结合组网,只要不影响OSPF的报文收和发就可以了。需要注意STP在收敛的时候,会导致端口阻塞,正常的流量是没有办法通过,那么这样就会造成OSPF的报文没有办法正常交互,并且会出现一些莫名其妙的现象(比如邻居频繁的UP, DOWN、UP DOWN)。还有在交互报文的时候,会莫名其妙的卡在一些状态机上。这些,只有等STP收敛好,让OSPF正常交互报文才能一一排除。

18 OSPF与BGP组网会遇到哪些问题。

答:大家都知道,BGP和OSPF都是第四层的协议,但是BGP对TCP有依赖性,而OSPF对IP也有一定的依赖性,(这里解释一下阿,大家对ospf于IP的依赖性不是很清楚, ospf使能一个网段后,如果这个网段存在,那么就以组播地址224.0.0.5(广播环境下),针对这个网段发送HELLO报文,那么如果这个网段不存在呢?那么HELLO是不可能发送的。那这跟依赖有啥关系呢?大家想想,如果IP正常的话,肯定无条件使能这个网段,但是IP地址是DOWN的情况下,OSPF还继续发HELLO包么?)我之前说过,ospf在正常的情况下,不管与什么协议结合一起组网,只要满足他基本的条件,那么邻居和邻接,肯定能正常建立,但BGP对TCP有依赖性,换句话说,只有OSPF正常建立邻接关系,BGP才能正常交互OPEN相关的一些报文。所以,如果ospf与BGP一起组网,首先得检查OSPF相关的设置于错误,然后再检查BGP。

19 ospf区域怎样划分才合理?

答:ospf详细划分区域是很有必要的,现在的路由器的性能越来越强大,但区域该怎么划分才合理,才能把OSPF最大最优呢?这无疑是跟着路由器的性能和拓扑环境走,ospf虽然只会将最优的路由安装在路由表中,但是,在OSPF数据库里面,所有的LSA都会存在,如果网络的直径大起来,最无疑是对OSPF一个挑战。一个区域最好不超过50台路由器但那是在90年代标准,哪时候的路由跟现在的性能已经不在是相同的一个档次了。现在的路由器性能肯定不是在50内。

20两台路由器通过直连链路,建立OSPF邻居,那么在一边使用P2P,而一边使用P2MP的情况下,能正常建立到邻接状态么?

答:肯定是不能的,因为这两个网络类型的hellointerval不一样,而在OSPF进程检查一个hello报文是否合法,其hellointerval在检查范围内。因此两台路由上的hellointerval是不一样的,当其中一台路由器接受到另一台的包时,将会丢弃此HELLO包,因此邻居就不可能正常建立起来。

21在什么情况下。OSPF bad versio数值会增加?

答:ospf的版本出错或者ospf版本字段损坏。解决办法,检查下OSPF版本是否配置正确。然后重启下OSPF进程就可以了。

云制造切割排样系统研究及应用

东莞职业技术学院计算机工程系王石

原材料的生产预算、科学利用与耗用管理等问题普遍存在于家具、钣金、建筑、机械、电子、服装、皮革、包装等诸多行业中,其直接影响到库存和生产成本。CAN(Computer Aided Nesting,计算机辅助排样)通过计算机进行优化组合和图形布局计算,求解切割下料的优化方案,可达到有效节约资源、提高生产效率的目的。最优切割排样布局问题属于NP完全问题,其计算量巨大,相应的排样软件价格昂贵。目前,国外有ShapeShifter、Nester、ToPs300、AutoForm等排样系统,而国内多停留在优化算法研究,大面积应用的排样软件较少,国内王石研发了AutoCUT开料专家系列通用切割排样软件,已应用到家具、建筑、五金、汽车等行业企业。

近年来,随着云计算、物联网等技术的快速发展,促进了网络化制造新模式“云制造”的诞生,互联网制造作为“中国制造2025”的重要支持方向之一,其通过将各类制造资源和能力进行虚拟化、服务化和统一管理,对外提供敏捷、快速、优质、低价等特点的制造全生命周期服务。

从生产环节来看,CAN属于CAPP的一部分,其上端要与ERP/CAD连接接收数据,下端连接CAM控制设备,由于各类排样软件相当独立而没有统一的CAN的服务接口,增加了计算机集成制造的难度。因此,受软件和应用模式的限制,国内的CAN应用还停留在较低层次。基于SOA(Service Oriented Architecture,面向服务的架构)构建云制造切割系统,可将优化切割排样抽象为云计算服务,任何制造企业都可通过互联网远程调用排样云服务,而无需自行购买和安装昂贵的排样软件。可将排样算法和软件封装成云端制造排样服务,企业再根据自身的特点进行服务接入和租用。

云制造切割排样系统以下特点:

系统可充分利用云计算系统的的并行计算资源,将可企业排样任务分解为多个排样问题,进行分布式快速求解,将优秀的排样算法进行虚拟化和服务租用;

企业用户通过网络浏览器或使用云排样客户端,可像在本地使用排样软件一样使用切割排样的SaaS服务;

嵌入式数字终端设备借助物联网技术接入云制造排样系统,可通过SOA接口直接调用排样服务,实现企业制造系统的无缝集成,提高生产效率和快速反应能力;

为企业ERP以及第三方软件开发商提供优化排样PaaS开发接口,此时系统被虚拟为一个提供排样服务的网络黑匣子,对用户透明。

1 系统框架

云制造切割排样系统以优化云的形式提供原材料下料排样服务,其不局限于解决某一行业或某一工序的排样优化问题,而是提供解决制造企业切割与装填问题(Cutting& Packing)的通用优化系统,系统通过在INTERNET上发布一系列远程调用函数接口,为制造企业提供切割排样计算服务。系统的服务可分为一维的线型材分切规划服务、二维的板材开料排样服务和三维的集装箱物流装载优化服务。

Google、Amazon等典型的云计算平台基于分布式计算框架开发和部署,如Hadoop框架。该框架包括分布式数据库和文件系统、并行编程、远程调用方案等,其优点在于开发者不需要考虑多台计算机的并行计算与大用户量的并发处理。但由于排样算法的复杂性,以及目前已有的成熟排样软件,如果采用Hadoop框架的MapReduce并行编程语言重写排样算法,将增加开发难度,系统的兼容性将无法保证。排样系统的核心问题是密集的计算求解,对数据存储的要求不高,而用户并发量远没有搜索引擎那样高。因此,本系统基于现有的Windows环境,采用一种共享的中心数据库,运用多线程技术实现多核计算,各求解服务器与WEB服务器之间以Socket消息通信实现的分布式调度。

云制造排样系统的服务架构如下图所示,该架构由SOA服务WEB接口、分布式多核调度模块和多个弹性的优化求解模块组成,面向制造企业提供优化排样求解服务。WEB接口将SOA服务发布给互联网上的远端客户访问,云计算调度模块将客户请求数据进行分解和排队,由可并行处理的优化求解模块进行多核计算,得到最优的切割排样方案,通过SOA接口返回给客户。

2 分布式调度算法

排样问题求解是针对给定条件和目标的一系列复杂计算过程。对制造企业而言,一个批次的产品制造过程中往往存在多个下料排样问题(P),如建筑工程中一批门窗订单包括一维铝型材和二维玻璃的切割规划、家具企业生产一种家具需要不同厚度以及每种厚度需不同尺寸的木板毛坯若干等等。因此,用户提交的一个排样需求(T)可分解为一个或多个排样问题,每个排样需求都包含切割的已知条件(原材料供应)和求解目标(毛坯需求),即根据零件需求、库存数量、设备参数等已知条件,对原材料面积、重量、价格等进行多目标优化求解。本排样算法模块输入的是一个排样问题,输出的是该排样问题的解(切割方案),切割方案由若干个下料切割布局图组成。由于其NP复杂性,算法运行需要占用CPU时间,即计算资源。云制造排样系统将多个用户的排样需求分解成单个相对独立的排样问题,形成排样问题队列,由多个计算机CPU核心并发进行求解。同一时间一个CPU核可求解一个排样问题。该云服务的基本单位是独立排样问题,资源的基本单位是CPU核。下图是分布式调度算法的求解过程(T代表样任务,P代表排样问题,C代表求解计算机,U代表CPU计算核心)。

其中,T1被分解为排样问题P1和P2,T2被分解为排样问题P3;Ti被分解为k个排样问题Pj~Pj+k,P1、P2、P3…Pj+k构成排样服务请求队列;云排样系统根据现有计算资源对排样请求队列提供计算求解服务。云平台上多台服务器组成的计算集群被虚拟为一个计算资源池,若系统中部署有s台计算服务器,每台服务器有n个CPU计算核心,则该问题可描述为一个s★n个服务台、一个队列构成的随机聚散服务系统。该系统处理随机到达的用户排样服务请求,排样问题的求解时间由排样算法的性能决定(通常在1~5分钟内完成),当排样算法的单个实例在单个CPU核心上运行时,则整个排样系统的容量为m=s★n;

分布式排样系统的排队模型可描述为:M/M/1/p/∞/FCFS;多台计算服务器间的资源的调度可通过共享的排样请求队列,结合Socket(网络套接字)消息通知实现。具体可将系统划分为计算调度模块、优化求解模块和数据存储模块。计算调度模块位于WEB服务接口之后,接受来自用户的排样服务请求;优化求解模块被安装在若干台独立的多核服务器计算机上;数据存储模块包含一个存储排样数据队列的队列表和一个记录优化求解模块位置的地址表,排样任务的分布式求解过程如下:

用户通过INTERNET提交排样任务Ti;

计算调度模块将用户排样任务Ti分解为k个排样问题Pj+k,并将排样问题数据入队列表;

计算调度模块查询地址表,通过Socket向各优化求解模块发送数据到达消息;

空闲的优化求解模块将响应数据到达消息,随后访问队列表,根据当前空闲的CPU-Core数量提取相应数量的排样问题P进行优化求解;

如果优化求解模块完成一个排样问题求解,则再次查询队列表,获取下一待求解的排样问题;如果队列表中存在待求解的排样问题且该优化求解模块存在空闲的CPU-Core,则继续提取下一排样问题进行求解。

3 系统服务框架流程

云排样系统服务的发布和调用是以合适的服务粒度,设计一组远程过程调用API(应用程序接口)函数,其将分布式计算系统的功能发布给企业客户。它基于HTTP通信协议和采用XML格式描述排样计算资源,具备平台无关、语言无关的优点,可与企业系统构成松散耦合的系统架构。

在互联网上,云排样系统可被抽象成一个能提供制造排样服务的SOA组件,通过URL进行调用,用户无需部署该系统,即可调用切割排样的服务,云排样系统将在进行身份注册与验证后提供排样计算服务,云服务系统框架如上图所示。

4 系统典型实现

云排样系统的主要包括电子商务网站和分布式排样系统,各个模块共享一个中心数据库。具体软件模块为:

电子商务网站:运用WEB2.0技术开发一个电子商务网站,包括排样系统的宣传展示和用户注册、后台管理等模块。

云排样客户端:云排样客户端是与终端用户的图形交互UI,其包括轻量级的Windows应用程序和基于WEB的富客户端两种形式。应用程序客户端只能运行在PC机上,但用户可以像操作本地排样软件一样使用它,对二三维排样图形能够获得很好的操作体验。WEB客户端采用JavaScript框架,可以直接运行在WEB浏览器中,用户无需安装即可使用。

云排样服务端:云排样服务端是一组WEB服务程序集合,其通过HTTP协议响应客户端的服务请求,并以XML格式返回数据。

多线程排样优化器:排样算法的软件实现,它以多线程方式运行,可根据CPU的核心数量,一次启动多个线程进行同步计算,一个计算线程对应一个CPU-Core。

分布式计算服务监控与管理:实时的反馈和记录Web-Server和?Solver的分布与工作状态,并提供一个管理员界面,以便进行系统监控和人工调整。

MES制造执行客户端:可直接与切割制造设备通讯的客户端软件,该软件可以运行在PC上位机或设备的嵌入式系统中,并直接通过网络与云端通讯,将下载的排样结果转换成控制指令,驱动设备进行相应的切割操作。

我们基于已有的AutoCUT/AutoSAW软件的排样算法,实现了上述面向服务架构的云制造切割排样系统,建设了一个云排样平台。该平台在“曙光”服务器集群上分布式部署和测试,其中WEB服务、数据库、排样管理各使用一台服务器,多线程排样优化器部署在由10台32核服务器组成的计算集群上,系统根据服务请求可弹性的启用1~10台计算服务器,最多可以同步求解320个排样问题。该云排样平台的服务网站已对外开放注册功能,可为家具、钣金、建筑、机械、电子等制造企业提供云端排样SaaS服务。

本文从PaaS的理念出发,综合运用排样算法、多核服务器调度、SOA相关技术,提出了一套云制造切割排样架构方案,并成功开发和实施了相应的云排样系统。企业可以通过注册用户来远程租用切割排样服务。企业信息系统可通过平台接口直接调用来整合排样功能,实现信息系统和制造切割设备的有效衔接,最终通过云制造服务较好的解决企业集成制造问题。

项目资助编号:国家863计划重点项目“中小企业云制造服务平台关键技术研究”(2011A0405)、广东省科技项目(2013B010134006、2013B090600131)院级重点基金项目(2014A07)

猜你喜欢
排样路由器报文
基于J1939 协议多包报文的时序研究及应用
汽车电器(2022年9期)2022-11-07 02:16:24
买千兆路由器看接口参数
科教新报(2022年24期)2022-07-08 02:54:21
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
中国外汇(2019年11期)2019-08-27 02:06:30
基于压缩因子粒子群的组合排样的研究
ATS与列车通信报文分析
U形电器支架的多工位模具的排样及模具设计
重型机械(2016年1期)2016-03-01 03:42:09
你所不知道的WIFI路由器使用方法?
人工智能技术在排样技术上的发展现状
薄板冲模排样设计及防跳废料解决方案