WINS是Windows Internet Name Service,即Windows网络名称服务。它提供一个分布式数据库,能在路由网络的环境中动态地对IP地址和NETBios名的映射进行注册与查询。 WINS用来登记NetBIOS计算机名,并在需要时将它解析成为IP地址。WINS数据库是动态更新的。 WINS提供一个分布式数据库,它的作用是在路由网络的环境中对IP地址和NetBIOS名的映射进行注册与查询。 这可能是解决NetBIOS名与IP地址之间转换的比较合适的一种方法,对于比较复杂的网络如互联网更是如此。 LMHOSTS文件在广播式系统中有一点缺点,它是基于广播的,所以对网络的通信量是一个沉重的负担,这个问题并未得到解决。有人设计了通过路由协议进行单播式的动作对NetBIOS名字进行注册和解析。如果采用这个协议,那就可以解决了广播的问题,也就没有必要使用LMHOSTS文件了,使动态配置的灵活性与方便性得到重新体现,使得这个系统可以和DHCP协议无缝连接。我们可以想象,当DHCP给一台计算机分配了一个地址后,这个更新可以直接在WINS数据库中体现。用户和管理员都不需要进行任何额外的工作,十分方便。WINS协议可以和NBNS一起工作,但是因为WINS数据库备份的问题没有解决,因为它不能和别的NetBIOS名字服务器一起工作,数据不能在WINS服务器和非WINS服务器间进行复制。 WINS是基于客户服务器模型的,它有两个重要的部分,WINS服务器和WINS客户。我们首先看一下服务器,它主要负责处理由客户发来名字和IP地址的注册和解除注册信息。如果WINS客户进行查询时,服务器会返回当前查询名下的IP地址。服务器还负责对数据库进行备份。而客户主要在加入或离开网络时向WIN服务器注册自己的名字或解除注册。当然了,在进行通信的时候它也向服务器进行查询,以确定远程计算机的地址。 我们使用WINS的好处在什么地方呢?WINS就是以集中的方式进行IP地址和计算机名称的映射,这种方式可以简化网络的管理,减少网络内的通信量,但是这种集中式的管理方式可以和星型结构相比,我们有理由怀疑它可以会成为网络的瓶颈。在本地的域控制器不在路由器管理网段的另一段时,客户仍然可以游览远程域,在集中处理的时候,数据都会集中于这个服务器中,一定要注意不要让这个节点失败。 WINS的另外一个重要特点是可以和DNS进行集成。这使得非WINS客户通过DNS服务器解析获得NetBIOS名。这对于网络管理提供了方便,也为异种网的连接提供了另一种手段。我们可以看到,使用集中管理可以使管理工作大大简化,但是却使网络拓朴结构出现了中心结点,这是一个隐性的瓶颈,而如果采用分布式的管理方式,却有个一致性的问题,也就是如果一个服务器知道了这个改变,而另一个不知道,那数据就不一致了,这时候要有一些复杂的算法来解决这一问题,两台服务器要想知道对方的情况,不可能不进行通信,也就无形中加重了网络负担。网络就是这样,集中起来就加大了单机的处理压力,而分布了就增加了网络传输量,天下没有十全十美的事情。
路由表是指路由器中保存着的各种传输路径的相关数据,供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路由表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。 由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。 在动态路由中,管理员不再需要与静态路由一样,手工对路由器上的路由表进行维护,而是在每台路由器上运行一个路由协议。这个路由协议会根据路由器上的接口的配置(如IP地址的配置)及所连接的链路的状态,生成路由表中的路由表项。 动态路由协议通过路由信息的交换生成并维护转发引擎所需的路由表,当网络拓扑结构改变时动态路由协议可以自动更新路由表,并负责决定数据传输最佳路径。常见的动态路由协议有RIP、OSPF、IS-IS、BGP等 [1] 。 路由表中通常包含以下信息: Dest:目的逻辑网络或子网地址。 Mask:目的逻辑网络或子网的掩码。 Gw:与之相邻的路由器的端口地址,即该路由的下一跳IP地址。 Interface:学习到该路由条目的接口,也是数据包离开路由器去往目的地将经过的接口。 Owner:路由来源,表示该路由信息是怎样学习到的。 Pri:路由的管理距离,即优先级,决定了来自不同路由来源的路由信息的优先权。 Metric:度量值,表示每条可能路由的代价,度量值最小的路由就是最佳路由。Metric只有当同一种动态路由协议,发现多条到达同一目的网段路由的时候,才有比较性。不同路由协议的Metric不具有可比性。 路由来源(Owner)有三类,分别是直连路由(direct)、静态路由(static)、动态路由。 动态路由Owner信息为RIP、OSPF、IS-IS、BGP等,由动态路由协议生成,能够根据网络的拓扑变化调整相应的路由信息,适应大规模和复杂的网络。 对于动态路由表,当你去掉一条连线时,它会自动去掉其路由。路由器的每一个接口对应不同网络,而一条连接两个路由器连线的两个端点IP应该属于同一网络。 设置的IP地址时,如果路由器的其它端口已有这个网络了,则提示已有这个网络,并显示对应的端口。 特点: 1、节点增删时工作量少。 2、网络拓扑变化,协议自动调整。 3、配置不易出错。 4、对网络扩容性好。 5、需要占用路由器资源。
常见路由协议介绍 常见的路由协议有RIP、IGRP(Cisco私有协议)、EIGRP(Cisco私有协议)、OSPF、IS-IS、BGP等。 RIP、IGRP、EIGRP、OSPF、IS-IS是内部网关协议(IGP),适用于单个ISP的统一路由协议的运行,一般由一个ISP运营的网络位于一个AS(自治系统)内,有统一的AS number(自治系统号)。BGP是自治系统间的路由协议,是一种外部网关协议,多用于不同ISP之间交换路由信息,以及大型企业、政府等具有较大规模的私有网络。 RIP RIP“路由信息协议(Route Information Protocol)”的简写,主要传递路由信息,通过每隔30秒广播一次路由表,维护相邻路由器的位置关系,同时根据收到的路由表信息计算自己的路由表信 息。RIP是一个距离矢量路由协议,最大跳数为16跳,16跳以及超过16跳的网络则认为目标网络不可达。此协议通常用在网络架构较为简单的小型网络环境.现在分为RIPv1和RIPv2两个版本,后者支持VLSM技术以及一系列技术上的改进。RIP的收敛速度较慢。 PS:路由收敛指网络的拓扑结构发生变化后,路由表重新建立到发送再到学习直至稳定,并通告网络中所有相关路由器都得知该变化的过程。也就是网络拓扑变化引起的通过重新计算路由而发现替代路由的行为。 OSPF OSPF协议是“开放式最短路径优先(Open Shortest Path First)”的缩写,属于链路状态路由协议。OSPF提出了“区域(area)”的概念,每个区域中所有路由器维护着一个相同的链路状态数据库 (LSDB)。区域又分为骨干区域(骨干区域的编号必须为0)和非骨干区域(非0编号区域),如果一个运行OSPF的网络只存在单一区域,则该区域可以是 骨干区域或者非骨干区域。如果该网络存在多个区域,那么必须存在骨干区域,并且所有非骨干区域必须和骨干区域直接相连。OSPF利用所维护的链路状态数据 库,通过最短生成树算法(SPF算法)计算得到路由表。OSPF的收敛速度较快。由于其特有的开放性以及良好的扩展性,目前OSPF协议在各种网络中广泛部署。 IS-IS IS-IS协议是Intermediate system to intermediate system(中间系统到中间系统)的缩写,属于链路状态路由协议。标准IS-IS协议是由国际标准化组织制定的ISO/IEC 10589:2002 所定义的,标准IS-IS不适合用于IP网络,因此IETF制 定了适用于IP网络的集成化IS-IS协议(Integrated IS-IS)。和OSPF相同,IS-IS也使用了“区域”的概念,同样也维护着一份链路状态数据库,通过最短生成树算法(SPF)计算出最佳路径。 IS-IS的收敛速度较快。集成化IS-IS协议是ISP骨干网上最常用的IGP协议。 IGRP IGRP协议是“内部网关路由协议(Interior Gateway Routing Protool)”的缩写,由Cisco于 二十世纪八十年代独立开发,属于Cisco私有协议。IGRP和RIP一样,同属距离矢量路由协议,因此在诸多方面有着相似点,如IGRP也是周期性的广 播路由表,也存在最大跳数(默认为100跳,达到或超过100跳则认为目标网络不可达)。IGRP最大的特点是使用了混合度量值,同时考虑了链路的带宽、 延迟、负载、MTU、可靠性5个方面来计算路由的度量值,而不像其他IGP协议单纯的考虑某一个方面来计算度量值。目前IGRP已经被Cisco独立开发的EIGRP协议所取代,版本号为12.3及其以上的Cisco IOS(Internetwork Operating System)已经不支持该协议,现在已经罕有运行IGRP协议的网络。EIGRP 由于IGRP协议的种种缺陷以及不足,Cisco开发了EIGRP协议(增强型内部网关路由协议)来取代IGRP协议。EIGRP属于高级距离矢量 路由协议(又称混合型路由协议),继承了IGRP的混合度量值,最大特点在于引入了非等价负载均衡技术,并拥有极快的收敛速度。EIGRP协议在 Cisco设备网络环境中广泛部署。 BGP 为了维护各个ISP的独立利益,标准化组织制定了ISP间的路由协议BGP。 BGP是“边界网关协议(Border Gateway Protocol)”的缩写,处理各ISP之间的路由传递。但是BGP运行在相对核心的地位,需要用户对网络的结构有相当的了解,否则可能会造成较大损失。 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。 路由选择部分的核心是路由处理机,路由处理机可以根据选定的路由协议构造出路由表,同时经常或定期和相邻路由器交换路由信息来更新和维护自身的路由表。 分组转发部分包括一组输入端口、交换结构和一组输出端口。交换结构又称交换组织,它的作用就是根据转发表把收到的IP数据报从路由器合适的端口转发出去。交换结构可看成一个在路由器中的网络 WMN的动态性,多跳性使得传统的路由协议不能够很好的处理无线网状网中拓扑结构和链路状态的快速变化。 WMN由Ad hoc网络发展而来,Ad hoc网络重点在移动,而WMN重点在无线。目前主流的WMN路由协议也是从Ad hoc网络路由协议发展而来。主要包括三种类型的路由协议:先验式路由协议、反应式路由协议、混合式路由协议。 在先验式路由协议中,无论是否有通信需求,每个节点采用周期性的路由分组广播维护一张包含到达其他节点的路由信息的路由表,当检测到网络拓扑结构变化的时候,节点在网络中交换并更新路由表。源节点一旦要送分组,可以立即获得指向目的节点的路由。 这类的路由协议通常是通过修改现有的有线路由协议来适应 Ad Hoc无线网络要求,如通过修改路由信息协议(RIP)得到的目的节点序列距离矢量协议(DSDV)。 因此这种路由协议的时延较小,但是协议需要大量的路由控制报文路由,协议的开销较大。 常用的先验式路由协议有 DSDV,HSR,GSR,WRP等。 DSDV协议 DSDV协议的基本原理是:每一个节点维持一个到其它节点的路由表,表的内容为路由的“下一跳”节点。DSDV创新之处是为每一条路由设置一个序列号,序列号大的路由为优选路由,序列号相同时,跳数少的路由为优选路由。正常情况下,节点广播的序列号是单调递增的偶数,当节点B发现到节点D的路由(路由序列号为s)中断后,节点B就广播一个路由信息,告知该路由的序列号变为s+l,并把跳数设置为无穷大,这样,任何一个通过B发送信息的节点A的路由表中就包括一个无穷大的距离,这一过程直到A收到一个到达D的有效路由(路由序列号为s+1-1)为止。 使用分层次的路由选择方法,可将因特网的路由协议划分为: 内部网关协议IGPI(nterior Gateway Protocol):具体的协议有多种,如:RIP和OSPF等。 外部网关协议EGP(External Gateway Protocol):目前使用的协议就是BGP 下面我们分别介绍: 路由信息协议RIP(RoutingInformation Protocol) RIP采用距离向量算法,最大优点是简单。在实际使用中已经较少适用。RIP协议允许一条路径最多只能包含15个路由器。因此,“距离”等于16时即相当于不可达。可见RIP只适用于小型互联网。对于规模较大的网络应当使用OSPF协议。RIP不能在两个网络之间同时使用多条路由。RIP选择一条具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和响应分组。 RIP协议的特点是: 仅和相邻路由器交换信息 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表 按照固定的时间间隔交换路由信息 RIP协议存在的一个问题是:当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。 开放最短路径优先OSPF(OpenShortest Path First) OSPF原理简单,实现复杂,使用了Dijkstra提出的最短路径算法SPF。 OSPF最主要特征是使用分布式链路状态协议,而不是像RIP那样的距离向量协议。和RIP协议相比,OSPF的三个要点和RIP都不一样。 1、 向本自治系统中所有路由器发送信息。这里使用的方法是洪泛法(Flooding) 洪泛法(Flooding) 在OSPF协议中,当链路状态发生变化时要用Flooding向所有路由器发送信息。 例如,源节点希望发送一段数据给目标节点。源节点首先通过网络将数据副本传送给它的每个邻居节点,每个邻居节点再将数据传送给各自的除发送数据来的节点之外的其他。如此继续下去,直到数据传送目标节点或者数据设定的生存期限为0为止。 2、 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息,“链路状态”包括本路由器和哪些路由器相邻,以及链路的一些度量信息。而RIP协议发送的是到所有路由器的距离和下一跳路由器。 3、 只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此信息。 由于各路由器之间频繁的交换路由信息,因此所有路由器最终都能建立一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图。RIP协议中的每一个路由器虽然知道所有网络的距离以及下一跳路由器,但却不知道全网的拓扑结构(只有到了下一跳路由器,才能知道再下一跳应当怎样走)。 OSPF的更新过程收敛的快是其重要优点。(“收敛”就是在自治系统中所有的节点都得到正确的路由选择信息的过程) OSPF不用UDP而是直接用IP数据报传送(其IP数据报首部的协议字段值为89) OSPF共有以下5种分组类型: 1、问候(Hello)分组,用来发现和维持邻站的可达性。 2、数据库描述(Database Description)分组,向邻站发出自己链路状态数据库中所有链路状态项目的摘要信息。 3、链路状态请求(Link State Request)分组,像对方请求发送某些链路状态项目的详细信息。 4、链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。 5、链路状态确认(Link State Acknowledgment)分组,对链路更新分组的确认。 为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫做区域。下图表示一个自治系统划分为4个区域。每个区域都有一个32位的区域标志符(用点分十进制表示) 当然,一个区域也不能太大,一个区域内的路由器最好不超过200个。 划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信量。 外部网关协议BGP BGP是不同AS(Area System)的路由器之间交换路由信息的协议。 边界网关协议BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。BGP采用了路径向量路由选择协议。 一般说来,两个BGP发言人都是通过一个共享网络连接起来的。一个BGP发言人要与其他自治系统的BGP发言人交换路由信息,就要先建立TCP连接(端口号为179),然后在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息。 在RFC4271中规定了BGP-4的4种报文: 1、OPEN(打开)报文,用来与相邻的另一个BGP发言人建立关系,使通信初始化。 2、UPDATE(更新)报文,用来通告某一路由的信息,以及列出要撤销的多条路由。 3、KEEPALIVE(保活报文),用来周期性的证实邻站的连通性。 4、NOTIFICATION(通知)报文,用来发送检测到的差错。 在RFC2918中增加了ROUTER—REQUEST报文,用来请求对等端重新通告。 反应式路由协议 反应式路由协议又称为随选型路由协议或者按需路由协议。是专门针对移动自组织网络工作组MANET(Mobile Ad-hoc NETworks)环境提出来的。与表驱动路由协议相反,该类协议并不事先生成路由,而是仅在源节点需要时才这样做。因此,路由表信息是按需建立的,它可能仅仅是整个拓扑结构信息的一部分。 节点并不保存整个网络的及时准确的路由信息。当源节点要向目的节点发送报文时,源节点在网络中发起路由查找过程,找到相应的路由后,才开始发送报文。为了提高效率,节点可以将找到的路由保存在缓存中供后续发送使用。反应式路由协议按需路由的特点可以较好地适应节点移动较为频繁的无线网络环境,节点发生移动后,只需要更新需要发送数据的相关路径的路由信息即可。 混合式路由协议 混合式路由是将先验式路由协议和反应式路由协议两种路由方式的组合,在局部范围内使用先验式路由协议,维护准确的路由信息,并可以缩小路由控制消息传播的范围。当目标节点较远时,则使用反应式路由协议查找发现路由。ZRP协议就是混合式路由协议的代表。 ZRP协议是一种专为多变的通信环境(如可重构无线网络,RwN)设计的平铺式路由协议。在每个节点定义一个区域,此区域包含一些节点,这些节点的距离(也就是跳数)在一个限定的范围之内。这个距离被成为区域半径rzone。每一个节点只需要知道它的路由区域内的拓扑结构,而且其路由信息随着区域内的拓扑更新而更新。这样,尽管网络很大,但更新仅仅在局部区域进行。由于距离大于1,这样区域就有大量重叠。
路由器提供了异构网互联的机制,实现将一个网络的数据包发送到另一个网络,路由就是指导IP数据包发送的路径信息。路由协议是在路由指导IP数据包发送过程中事先约定好的规定和标准。
RIP(Routing information Protocol,路由信息协议)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,IGP),适用于小型同类网络的一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法(Distance Vector Algorithms,DVA)的。它使用“跳数”,即metric来衡量到达目标地址的路由距离。文档见RFC1058、RFC1723。它是一个用于路由器和主机间交换路由信息的距离向量协议,目前最新的版本为v4,也就是RIPv4。 至于上面所说到的“内部网关协议”,我们可以这样理解。由于历史的原因,当前的 INTERNET 网被组成一系列的自治系统,各自治系统通过一个核心路由器连到主干网上。而一个自治系统往往对应一个组织实体(比如一个公司或大学)内部的网络与路由器集合。每个自治系统都有自己的路由技术,对不同的自治系统路由技术是不相同的。用于自治系统间接口上的路由协议称为“外部网关协议”,简称EGP (Exterior Gateway Protocol);而用于自治系统内部的路由协议称为“内部网关协议”,简称 IGP。内部网关与外部网关协议不同,外部路由协议只有一个,而内部路由器协议则是一族。各内部路由器协议的区别在于距离制式(distance metric, 即距离度量标准)不同,和路由刷新算法不同。RIP协议是最广泛使用的IGP类协议之一,著名的路径刷新程序Routed便是根据RIP实现的。RIP协议被设计用于使用同种技术的中型网络,因此适应于大多数的校园网和使用速率变化不是很大的连续线的地区性网络。对于更复杂的环境,一般不使用RIP协议。