范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

域间路由协议的内容有哪些域间路由协议的内容介绍详解

  域间路由协议,域间路由协议的内容有哪些?
  当前Internet被划分为多个自治系统,自治系统是一个实体,一般是指隶属于一个管理机构的路由器集合。每个自治系统可以制定自己的路由策略。自治系统内部的路由器通过域内路由协议彼此交换路由信息,一般域内路由协议分为距离向量协议和链路状态协议,前者以RIP代表,后者常用的有OSPF、IS-IS协议;自治系统边界路由器通过域间路由协议交换路由信息,目前Internet上的域间路由协议事实标准是BGP-4协议。
  BGP-4协议软件的总体设计
  如图1所示,作者从功能上把协议软件分为Init,Event Generator,FSM,Message Parser,Routing Information Processor,Protocol Messager和I/O等7个模块,还有Config和RIB两个数据库.为了提高处理效率,减轻系统负担,整个软件设计为单进程结构,各个模块之间的交互采用函数调用和数据交换的方式.下面简单叙述各个模块的功能.
  图1 BGP-4协议实现总体结构图
  Init:对用户配置文件或控制台输入进行分析,从中读取BGP-4协议软件运行时所需的各项参数,同时进行语法和语义检查,把正确的参数写入Config数据库中,供其他模块在运行时检索引用;之后初始化全局数据结构(如事件队列、时钟链等),并为某些结构分配空间;最后向FSM发送Start事件,启动FSM模块,进而使整个协议软件开始运行.
  Event Generator:生成事件,从而驱动FSM模块.这些事件包括通过I/O模块收到BGP报文以及检测到TCP连接成功或失败,通过检查时钟链得到时钟超时事件.本模块还负责维护事件队列和时钟链,提供对这些数据结构进行操作的函数接口.
  FSM:接收模块Init和Event Generator送来的事件,作为有限状态机的输入,产生状态变迁及相应动作,控制Message Parser模块的运行.本模块还通过I/O模块负责TCP连接的建立,同时还通过Event Generator产生新的事件.
  Message Parser:对收到的4种BGP-4报文进行正确性检查和分析.如果是UPDATE报文,还要通过调用模块Routing Information Processor更新路由信息数据库RIB,调用模块Protocol Messager向相邻的内部BGP网关发送协议报文.本模块还在FSM的控制下,周期性地扫描路由器中的全局路由表,向相邻的外部BGP网关广播本地路由表的变化情况.
  Routing Information Processor:从Message Parser模块中得到要撤销的和声明为有效的路由,更新路由信息库RIB.为了减小RIB的规模,提高处理效率,这里还对RIB中的路由进行合并和压缩.另外,本模块还提供了对RIB中的数据结构进行操作的所有函数.
  Protocol Messager:对4种BGP报文进行格式化,并调用I/O模块将其发出.
  I/O:直接调用操作系统提供的TCP服务接口,完成TCP连接的建立和释放;接收相邻BGP网关送来的报文,提交给上层模块;接收上层模块发来的格式化为字节流的BGP报文,发送给相应的BGP网关.此外,对这些操作中产生的相应事件,本模块还通过Event Generator发送给FSM.
  Config:存放BGP协议软件运行时所需的各项配置参数.这些参数可能来自配置文件,也可以由用户通过控制台输入.
  RIB:存放所有协议软件所产生和要利用的路由信息的数据库.实际上分为3个相互独立的数据结构:Adj-RIBs-In存放从其他BGP网关收到的路由信息,Loc-RIB存放路由器中本地路由表的映射,Adj-RIBs-Out存放向相邻BGP网关广播过的路由信息.
  由于BGP-4协议是一个比较复杂的动态路由协议,因此在实现中遇到了许多难点.主要有:如何在连接数比较多的情况下保证系统的效率,如何保证路由信息的及时交换,如何支持可变长地址掩码和如何保证I/O的效率等.
  BGP-4协议软件的实现策略和优化
  (1) 单进程体系结构
  在高性能路由器中要同时运行多个路由协议软件并且要维护很大的路由表.如果BGP-4在设计时采用传统的多进程体系结构,那么当连接数比较多时,进程数会很多,势必影响整个路由器系统的效率.为了提高系统效率,BGP-4软件设计时没有采用多进程结构,而是采用了单进程结构.这样虽然提高了效率,但是也增加了实现的难度.为了在一个进程中实现本来需要多个进程完成的工作,我们把整个软件设计成事件驱动方式,所有的系统操作和收发帧都通过向软件发送事件来进行.而软件的FSM模块则不停的轮询事件队列,如果有事件则处理,如果没有事件,软件自动休眠2秒,这也是为了提高系统的效率.
  (2) 基于二叉树的支持可变长掩码的路由表
  为了便于路由的查找、更新及合并,同时支持可变长掩码,作者把BGP-4协议软件中的3种路由表(Adj_RIBs_In,bgpIGP,Adj_RIBs_Out)都设计为二叉数结构.这3种二叉数的结构和意义都大体相同.每个有效节点表示一条路由,从根到该节点的路径表示此路由可达的目的网络,其中左右子树表示“0”或“1”,路径长度表示子网掩码的长度.这样可以方便地表示变长掩码的网络,同时还可以大大加快路由表的查找速度,因为无论路由表的规模有多大,最多32次比较就可以找到某路由(通常情况下比较次数要少得多).此外,路由的插入、删除和合并操作也可以高效地实现.
  (3) 基于静态数组的时钟队列
  时钟链是一个按照超时顺序由近到远排序的时钟链表,各模块启动的时钟都按序插入到此表中.判断是否有时钟超时,只要从链表头节点(最先超时的时钟)开始,把当前时刻与此节点超时时刻比较,小于则说明此时钟已超时,发送超时事件.为了加快处理速度和减轻插入负担,作者把时钟链设计为静态链表的结构.如下所示:
  typedef struct_timerItem {
  bgpTime timeout_val;
  bgpPeer×peer;
  int ev;
  int next;   int last;
  } timerItem;
  typedef struct_bgpTimerChain {
  int av_head;
  timerItem timer[BGPMAXTIMER];
  } bgpTimerChain;
  每个时钟用一个timerItem结构表示,其中timeout_val记录超时时刻,peer记录此时钟对应哪个网关,ev是超时后要发送的事件,last和next分别指向链表中的前后节点.时钟链结构bgpTimerChain中av_head指向当前未分配时钟构成的空闲链表的头节点.初始时,所有未分配时钟构成一个大的空闲链表.启动时钟时只要把此节点摘下,插入时钟链的相应位置,并返回时钟号.因为时钟在数组timer中的位置不会变化,所以关闭时钟时可以通过时钟号把此节点直接摘下,放入到空闲链表中.
  (4) 基于单进程体系结构的I/O模块设计
  BGP-4协议建立在TCP层之上,利用TCP协议软件提供的服务接口完成建立连接和发送报文的工作.I/O模块便是协议软件中与TCP服务接口进行交互的部分.为了尽量减少系统开销,作者把整个BGP-4协议软件设计为单进程结构,这样就加大了I/O模块的设计难度.因为通常的设计思路是为每个BGP连接生成一个独立进程,TCP调用采用阻塞模式,调用后等待,直到成功或失败而返回,各进程之间互不影响;但是在单进程结构中,与所有相邻网关的交互都在同一进程内执行,如果仍用阻塞模式,就会由于一个连接的等待而使其他连接的交互挂起,从而使协议失败.因此,所有TCP调用必须立即返回,不管其运行状态如何.之后再定期轮询检查各个连接的当前运行状态,如有变化则通过Event Generator向FSM发送相应事件.这也是采用事件驱动机制的原因之一.
  为了在轮询时检查哪些连接在等待哪些状态,需要设立一些集合以记录等待某状态的连接.这里共有3种集合:
  A、 等待建连响应的集合.这里记录那些已经发出连接请求,正在等待对方响应的连接号.判断连接是否建立好实际上是通过检测此连接是否可写完成的;
  B、 等待主动连接的集合.这里记录已经bind成功,正在等待对方发起主动连接请求的连接号.因为利用TCP服务可以监听来自所有地址的连接请求,所以这个集合中实际上只有一个连接号,即bind调用成功后返回的连接号.判断是否有主动连接请求到来是通过检测此连接是否可读(readable)完成的;
  C、 等待数据到来的集合.这里记录连接已正常建立且进入Established状态,等待接收对方报文的连接号.判断是否有数据到来也是通过检测此连接是否可读完成的.
  为了在检查到状态变化时向某状态机发送事件,还需要设置一个连接号到bgpPeer结构指针的映射表.实际上,轮询检查和发送事件是在Event Generator模块中实现的.下面着重讲一下TCP连接建立和数据发送的实现.
  (5) TCP连接的建立
  这里采用了与BSD Socket兼容的一系列TCP调用来完成连接的建立.实际上,这里并不等待连接建立的完成,而只是在调用结束后把返回的连接号置入相应的集合中待以后轮询事件时检测.
  (6) 数据的发送
  由于数据发送也采用了无阻塞方式,而且没有设立等待发送完成的连接集合,因此,要在发送过程中累计实际发送的字节数,直到全部发送完为止.通常TCP协议软件在实现时,先把待发送数据拷入系统缓冲区中,然后再逐步发送给远端.因此,提供给用户的数据发送接口不会发生阻塞.这样,采用“全部发送完为止”的方式便不会影响协议软件对其他TCP连接的响应.另外,在发送数据的过程中也会检测到TCP连接失败或关闭等事件,这时要通过Event Generator发送给相应的FSM.

iphone密码忘了怎么办iphone密码忘了怎么办锁屏的密码对手机具有保密性,但总有一些人忘记密码,忘记密码后该怎么办呢,如何能重置密码呢,下面介绍两种方法。(切记忘记密码后不要多次重复输入,IPHONEiphone解锁密码忘记了怎么解决iphone是由苹果公司生产研发的智能手机,因为这款手机的来源是大国美国,而且这款手机的造型也可以被人接受,慢慢地苹果便成为了土豪的象征。既然是土豪的象征,那这些手机的价格是非常昂手机ip地址的设置方法手机ip地址的设置方法如果要上网的话,跟IP地址就有紧密的联系了,如果哪天不能上网了,第一个想到的就是设置IP地址。上网的时候总会发现一些网站有一些的规定,说什么同一个IP地址不能wifi接收器怎样制作自制铜丝wifi接收器的详细介绍图文随着科技的越来越发达,手机等无线电子产品的使用越来越普遍。现在出门在外wifi是非常重要的,可以节省手机流量,也可以打发一定的时间。但是无论如何都避免不了无线信号不好的问题,网卡网安卓手机飞快提速教程安卓手机飞快提速教程安卓手机现在是越来越流行,各种应用各种手机层出不穷,所以下载的也越来越多,手机里面负重也越来越严重,随着手机里面下载的软件APP的增多,手机会有速度变慢多任务处iPhone快捷方式iPhone如何一键去相册底部iPhone快捷方式iPhone如何一键去ldquo相册rdquo底部数据显示,每个iOS用户平均每月拍照182张,比安卓用户多65,很多人相册里照片数量必然也是多得惊人,翻看照片紫光L系列扫描仪怎么样紫光L系列特点详解在办公设备中,扫描仪是不可缺少的一种办公设备,哪种扫描仪是最受欢迎的呢?下面是为大家介绍的再创超炫酷平板新风时代的紫光L系列扫描仪,精彩不容错过,快来看看吧!紫光L系列扫描仪Uni扫描仪价钱三款精品推荐扫描仪这个设备可能很多人听起来很陌生,但其实在现代社会里扫描仪运用比较普遍。它是能够将已经排好的照片图像进行扫描,然后保存在电脑手机等无线客户端里面,也能够将纸上的文字扫描到电脑里手机摄影技巧手机摄影技巧1。了解摄影的基本元素mdashmdash光(顺光侧光顶光逆光黄金时段)光是摄影的生命。有了光,万物才有了可以被感知的形态和颜色。拍摄前,头脑中一定要有光的概念,注意拍手机拍摄应注意什么手机拍摄技巧详细解读手机拍摄应注意什么?国庆马上就要到了,想必很多人都准备出游,这么快乐的日子怎么少了记录呢?有数码相机或是单反的当然更好,但是如果只有一个智能手机也不用沮丧,手机一样也能拍出大片。下出个剪刀手也中招了?黑客用照片复制指纹吓人出个剪刀手也中招了?黑客用照片复制指纹吓人据venturebeat消息,欧洲最大的黑客联盟ChaosComputerClub近日称,他们可以通过一系列照片复制出人们的指纹。在第31
学科网怎么下载试题学科网下载试题步骤详解学科网怎么下载试题?学科网下载试题方法介绍。学科网一个学习教育平台,在学科网上你可找到很多实用的真题试卷来做,那么学科网怎么下载试题?让小编告诉大家学科网下载试题方法吧!1。进入学苹果流量怎么关苹果流量关闭方法及解决办法详解平时我们在使用苹果手机的时候,到了月底流量总是超支。那么苹果流量怎么关呢?苹果跑流量怎么办?iPhone苹果手机经常还没怎么用,流量已经用很多,电池也用得很快,下面小编教你怎么通过百度高考怎么估分百度高考估分方法详解百度高考怎么估分?百度高考估分方法介绍。高考已经结束,广大学子们将要面临着估分报考大学的问题,一款好的估分软件,让你精确估分,轻松读上好大学,百度高考有了估分的功能,那么百度高考怎笔记本电脑如何防潮保护笔记本防潮保护方法下面介绍的是笔记本电脑如何防潮小技巧分享。夜间关机状态下切勿将机器长期直接暴露于空气中,应把已关机的机器放置于内胆或电脑包中存放笔记本防潮千万注意以下几点1。尽量保持室内通风,干燥戴尔d800的评测及价格图文现在的社会无论是工作还是生活的速度都是特别的快,所以在这种时候笔记本电脑就起了比较重要的作用了。现在的笔记本电脑的作用不仅仅体现在工作上,更多的时候体现在娱乐上。现在很多孩子都有自同方u49f怎么样色彩缤纷的超极本超极本是比普通笔记本电脑同方u49f评测这款U49F硬件配置上搭载全新的Inteli53317U处理器4GBDDR3内存128GBSSD硬盘和IntelHD4000核芯显卡,整机性lenovothinkpad系列电脑推荐ThinkPad是联想的笔记本系列产品,它具有非常优秀的性能和配置,产品涉及办公轻级娱乐游戏影音等多个用途。且ThinkPad系列笔记本虽然性能优秀,但是价格却不像很多其他的电脑那高分屏和普通屏区别有哪些高分屏和普通屏区别图文在购买笔记本电脑的时候,我们经常能够听到各种各样的参数以及配置介绍。用户往往会被其中的各种参数弄得眼花缭乱,ldquo挑花了眼rdquo。在众多的参数之中,笔记本电脑的屏幕分为ld笔记本和投影仪连接方法介绍当我们参加了工作之后,经常会遇到需要做报告的时候,为了让自己的报告更加的清楚明了。我们会用PPT的形式来做报告。这个时候就需要使用到投影仪。让我们自己的笔记本电脑连接上投影仪,然后洗菜热水器如何保养洗菜热水器保养方法介绍详解人们每一天都会需要吃蔬菜补充营养。而每一个家庭在炒菜之前都会洗菜。在夏天的时候洗菜都是用冷水,而到了冬天,继续使用冷水就会很冷。所以有的人便会想安装洗菜热水器。那么接下来就让小编来空调维修项目有哪些空调维修项目介绍空调作为我们夏天必备的家电,可能会在使用过程中出现问题或者是误差这就要求我们定期对空调进行维护和维修,可是空调作为一个大的家电有特别多的部分和零件,如果我们不了解它的内容的话我们可