❶ 路由器原理和常用的路由协议及算法的介绍
近十年来,随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型的网络资源。而在目前的情况下,任何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以大网技术、FDDI技术,还是ATM技术,都离不开路由器,否则就无法正常运作和管理。
1、网络互连
把自己的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布自己的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥互连和路由器互连。
1.1 网桥互连的网络
网桥工作在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址来判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”地址,一般就是网卡所带的地址。
网桥的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到网桥的存在,设备之间的通信就如同在一个网上一样方便。由于网桥是在数据帧上进行转发的,因此只能连接相同或相似的网络(相同或相似结构的数据帧),如以太网之间、以太网与令牌环(tokenring)之间的互连,对于不同类型的网络(数据帧结构不同),如以太网与X.25之间,网桥就无能为力了。
网桥扩大了网络的规模,提高了网络的性能,给网络应用带来了方便,在以前的网络中,网桥的应用较为广泛。但网桥互连也带来了不少问题:一个是广播风暴,网桥不阻挡网络中广播消息,当网络的规模较大时(几个网桥,多个以太网段),有可能引起广播风暴(broadcastingstorm),导致整个网络全被广播信息充满,直至完全瘫痪。第二个问题是,当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方完全开放自己的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主要根源是网桥只是最大限度地把网络沟通,而不管传送的信息是什么。
1.2 路由器互连网络
路由器互连与网络的协议有关,我们讨论限于TCP/IP网络的情况。
路由器工作在OSI模型中的第三层,即网络层。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的数据茵先被送到路由器,再由路由器转发出去。
IP路由器只转发IP分组,把其余的部分挡在网内(包括广播),从而保持各个网络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是IP协议,通过路由器就可互连起来。
网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。
通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。
路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上。
2、路由原理
当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(defaultgateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。
路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。
目前TCP/IP网络,全部是通过路由器互连起来的,Internet就是成千上万个IP子网通过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络(routerbasednetwork),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和维护路由表。
路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。这就是路由选择协议(routingprotocol),例如路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。
转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routedprotocol)。
路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议,除非特别说明,都是指路由选择协议,这也是普遍的习惯。
3、路由协议
典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的'有RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP和BGP-4。下面分别进行简要介绍。
3.1 RIP路由协议
RIP协议最初是为Xerox网络系统的Xeroxparc通用协议而设计的,是Internet中常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
3.2 OSPF路由协议
80年代中期,RIP已不能适应大规模异构网络的互连,0SPF随之产生。它是网间工程任务组织(1ETF)的内部网关协议工作组为IP网络而开发的一种路由协议。
0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
3.3 BGP和BGP-4路由协议
BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性。
为了满足Internet日益扩大的需要,BGP还在不断地发展。在最新的BGp4中,还可以将相似路由合并为一条路由。
3.4 路由表项的优先问题
在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表的优先级来解决。通常静态路由具有默认的最高优先级,当其它路由表表项与它矛盾时,均按静态路由转发。
4、路由算法
路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标:
——(1)最优化:指路由算法选择最佳路径的能力。
——(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。
——(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的。
——(4)快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。
——(5)灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。
路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。前面几种的特点与字面意思基本一致,下面着重介绍链路状态和距离向量算法。
链路状态算法(也称最短路径算法)发送路由信息到互联网上所有的结点,然而对于每个路由器,仅发送它的路由表中描述了其自身链路状态的那一部分。距离向量算法(也称为Bellman-Ford算法)则要求每个路由器发送其路由表全部或部分信息,但仅发送到邻近结点上。从本质上来说,链路状态算法将少量更新信息发送至网络各处,而距离向量算法发送大量更新信息至邻接路由器。
由于链路状态算法收敛更快,因此它在一定程度上比距离向量算法更不易产生路由循环。但另一方面,链路状态算法要求比距离向量算法有更强的CPU能力和更多的内存空间,因此链路状态算法将会在实现时显得更昂贵一些。除了这些区别,两种算法在大多数环境下都能很好地运行。
最后需要指出的是,路由算法使用了许多种不同的度量标准去决定最佳路径。复杂的路由算法可能采用多种度量来选择路由,通过一定的加权运算,将它们合并为单个的复合度量、再填入路由表中,作为寻径的标准。通常所使用的度量有:路径长度、可靠性、时延、带宽、负载、通信成本等。
5、新一代路由器
由于多媒体等应用在网络中的发展,以及ATM、快速以太网等新技术的不断采用,网络的带宽与速率飞速提高,传统的路由器已不能满足人们对路由器的性能要求。因为传统路由器的分组转发的设计与实现均基于软件,在转发过程中对分组的处理要经过许多环节,转发过程复杂,使得分组转发的速率较慢。另外,由于路由器是网络互连的关键设备,是网络与其它网络进行通信的一个“关口”,对其安全性有很高的要求,因此路由器中各种附加的安全措施增加了CPU的负担,这样就使得路由器成为整个互联网上的“瓶颈”。
传统的路由器在转发每一个分组时,都要进行一系列的复杂操作,包括路由查找、访问控制表匹配、地址解析、优先级管理以及其它的附加操作。这一系列的操作大大影响了路由器的性能与效率,降低了分组转发速率和转发的吞吐量,增加了CPU的负担。而经过路由器的前后分组间的相关性很大,具有相同目的地址和源地址的分组往往连续到达,这为分组的快速转发提供了实现的可能与依据。新一代路由器,如IPSwitch、TagSwitch等,就是采用这一设计思想用硬件来实现快速转发,大大提高了路由器的性能与效率。
新一代路由器使用转发缓存来简化分组的转发操作。在快速转发过程中,只需对一组具有相同目的地址和源地址的分组的前几个分组进行传统的路由转发处理,并把成功转发的分组的目的地址、源地址和下一网关地址(下一路由器地址)放人转发缓存中。当其后的分组要进行转发时,茵先查看转发缓存,如果该分组的目的地址和源地址与转发缓存中的匹配,则直接根据转发缓存中的下一网关地址进行转发,而无须经过传统的复杂操作,大大减轻了路由器的负担,达到了提高路由器吞吐量的目标。
❷ 计算机网络-网络层-路由选择协议
互联网采用的 路由选择协议主要是自适应的(即动态的)、分布式路由选择协议 。由于以下两个原因,互联网采用分层次的路由选择协议:
把整个互联网划分为许多较小的 自治系统 (autonomous system),一般都记为AS。自治系统AS是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个AS对其他AS表现出的是 一个单一的和一致的路由选择策路 。
在目前的互联网中,一个大的ISP就是一个自治系统。这样,互联网就把路由选择协议划分为两大类,即:
(I) 内部网关协议IGP (Interior Gateway Protocol)即在一个自治系统内部使用的路由选择协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如RIP和OSPF协议。
(2) 外部网关协议EGP (External Gateway Protocol)若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议EGP。目前使用最多的外部网关协议是BGP的版本4(BGP4)。
自治系统之间的路由选择也叫做域间路由选择(interdomain routing),而在自治系统内部路由选择叫做域内路由选择(intradomain routing)。
图4-31是两个自治系统互连在一起的示意图。每个自治系统自己决定在本自治系统内部运行哪一个内部路由选择协议(例如,可以是RIP,也可以是OSP℉)。但每个自治系统都有一个或多个路由器(图中的路由器R1和R2)除运行本系统的内部路由选择协议外,还要运行自治系统间的路由选择协议(BGP4)。
❸ 计算机网络-4-6-互联网的路由选择协议
路由选择协议的核心是 路由算法 。即 需要一种算法来获取路表中的各项 ,一个比较好的路由选择算法应该有以下特点[BELL86]:
一个实际的路由选择算法,应该尽可能的接近于理想的算法,在不同的应用条件下,可以对上面提出的六个方面有不同的侧重。
倘若从路由算法能否随网络的通信量或拓扑自适应的进行调整变化来划分,则只有两大类: 静态路由选择策略 和 动态路由选择策略 。静态路由选择策略也叫做 非自适应路由选择 ,其特点是简单和开销较小,但不能即使适应网络状态的变化。对于很简单的小网络,完全可以采用静态路由选择,用人工配置每一条路由。动态路由选择也叫做 自适应路由选择 ,其特点是能够较好的适应网络状态的变化,但实现起来较为复杂,开销也比较大,因此动态路由选择适用于较复杂的大网络。
互联网采用的路由选择协议主要是自适应的(动态的),分布式路由选择协议。由于以下两种原因,互联网采用分层次的路由选择协议:
为此,可以把整个互联网划分为许多较小的 自治系统AS(autonomous system) ,自治系统AS是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量,一个AS对其他AS表现的出是 一个单一的和一致的路由选择策略 。
在目前的互联网中,一个大的ISP就是一个自治系统。这样,互联网就把路由选择协议划分为两大类:
自治系统之间的路由选择协议也叫做 域间路由选择(interdomain routing) ,而在自治系统内部的路由选择叫做 域内路由选择(intradomain routing) 。如图4-31
RIP(routing information protocol)是内部网关协议IGP中最先得到广泛使用的协议[RFC1058],也叫 路由信息协议 ,RIP是一种分布式的 基于距离向量的路由选择协议 。最大的优点就是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此这是一组距离,叫做距离向量),RIP将距离定义如下:
从一路由器到直接连接的网络的距离为1,从路由器到非之间的网络的距离定义为所经过的路由器数+1。
RIP协议的距离也称之为 跳数 ,但是一条跳数最多只能包含15个路由器,因此,当距离=16时,就相当于不可达。因此RIP只能适用于小型互联网。
注意的是,到直接连接的网络也定义为0(采用这种定义的理由是:路由器在和直接连接在该网络上的主机进行通信并不需要经过另外的路由器,既然经过每一个路由器都要将距离增加1,那么不经过路由器就不需要+1,就是0)。
RIP不能在两个网络之间同时使用多条路由。RIP选择一条具有最少路由器的路由(最短路由),哪怕还存在另一条高速低延时的但是路由器较多的路由。
路由器在刚开始工作的时候,其内部路由表是空的。然后路由器就可以和直接相连的几个网络的距离(这些距离为1),接着,每个路由器和与自己相连的路由器不断交换路由表信息,经过若干次更新后,所有的路由器最终就可以知道本自治系统中任何一个网络地址和最短下一跳路由器的地址。
路由器最主要的信息是:到某个网路的距离(最短距离),以及下一跳的地址,路由表更新的原则是找出到每个网络的 最短距离 ,这种算法又称之为 距离向量算法 。
对 每一个相邻的路由器 发送过来的RIP报文,进行以下步骤:
算法描述:其实就是求一个路由器到另一个路由器的最短距离。
例题:
已知路由器R6有表4-9(a)所表示的路由表,现在收到相邻路由器路由表R4发过来的路由更新信息,如图4-9(b)所示。试更新路由器R6的路由表。
解:首先把R4发过来的路由表中的距离都+1:
把这个表和R6的路由表进行比较:
RIP协议让每一个自治系统中的所有路由都和自己的相邻路由器定期交换路由表信息,并不断更新路由表,使得每从 每一个路由器到每一个目的网络的路由都是最短距离(也就是跳数最小)。
现在比较新的RIP协议报文格式是1998年提出的RIP2。
RIP协议使用运输层的用户数据报(UDP端口为520)进行传输。
RIP报文由首部和路由部分组成。
RIP首部占4个字节,其中的命令字段指出报文的意义。
RIP2报文中的路由部分有若干路由信息组成,每个路由信息需要用20字节。 地址标识符(又称地址列别) 字段用来标识所用的地址协议。如果采用IP地址就为2。 路由标记填入自治系统号ASN(Autonomous System Number) ,这是考虑使用RIP有可能收到本自治系统以外的路由选择信息,再后面指出某个 网络地址 , 下一跳路由器地址 以及 到此网络的距离 ,一个RIP报文最多可以包含25个路由,因而RIP报文的最大长度是4+20x25=504字节。如果超过,则必然再使用以恶搞RIP报文来传送。
RIP还具有简单的鉴别功能,若使用鉴别功能,则将原来写入第一个路由信息(20字节)的位置用作鉴别,这时应该将地址标识符置为全1(0xFFFF),而路由标记写入鉴别类别,剩下的16字节作为鉴别数据,在鉴别数据之后才能写入路由信息,但这时只能写入24个路由信息。
RIP存在的一个问题是 当网络出现故障的时候,要经过比较长的时间才能将信息传送到所有的路由器 ,RIP协议的这一特点是: 好消息传播的很快,而坏消息传播的很慢 ,网络出现故障的传播时间往往需要经过较长时间,这是RIP协议的一个主要缺点。
为了使坏消息传播的更快些,可以采用多种措施,例如,让路由器记录收到某特定路由信息的接口,而不是让同一个路由信息再通过此接口反方向传送。
总之,RIP协议最大的优点是 实现简单,开销较小 ,但RIP协议缺点也很明显,首先 限制了网络规模,因为路由器最大的跳数是15跳,一般中大型网络规模RIP协议就不适用了 。其次就是 路由器之间交换的路由信息是路由器中完整的路由表,因而随着网络规模变大,开销也就增加 。最后就是 好消息传播的很快,坏消息传播的很慢 。
❹ 路由协议是什么
路由协议又叫RIP协议。最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。
❺ 计算机网络试题:内部网关协议主要有 和 两种。
我估计这个标准答案应该是你们教材上的,中国脑残的出题者,就喜欢这么按部就班,这道题目的出题者,真是SB也!
1 内部网关协议有链路状态路由协议,距离矢量路由协议两种。这种回答一定也是正确的,但是和你们出题者的标准答案不一定一致啊,可能会导致错误的。
2 内部网关协议有OSPF与BGP两种。这种回答不能算完全正确,但是你们脑残出题者可能觉得正确啊,或者他觉得这个是目前应用较多的,RIP协议基本已经淘汰。OSPF,BGP,ISIS是目前现网中应用较多的。ISIS一般运用于大型网络,所以OSPF与BGP可能是你们要求的答案。
❻ 计算机网络方面OSPE是什么意思
计算机网络方面OSPE 是计算机网络里面的路由器的一个协议。OSPF英文全称Open Shortest Path First,开放式最短路径优先,是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。
❼ 在Internet中是怎样实现路由的采用哪些路由协议他们的作用是什么
1,路由协议大概分为2种,IGP 和 BGP
2.,IGP(interior Gateway Protocols)内部网关协议
内部网关协议(IGP)是一种专用于一个自治网络系统(比如:某个当地社区范围内的一个自治网络系统)中网关间交换数据流转通道信息的协议。网络IP协议或者其他的网络协议常常通过这些通道信息来决断怎样传送数据流。目前最常用的两种内部网关协议分别是:路由信息协议(RIP)和最短路径优先路由协议,目前的IGP有RIP、OSPF、IGRP、EIGRP、IS-IS等协议。(OSPF)。
3,BGP (Border Gateway Protocol,边界网关协议)是用来连接Internet上的独立系统的路由选择协议。它是Internet工程任务组制定的一个加强的、完善的、可伸缩的协议,其中有可以分有IBGP 和 EBGP
4,路由协议交换信息的过程简单的说,就是一个路由协议的度量 和 另外一个不同路由协议度量 一个换算的过程,通过重分发命令进行,打个比方,你用RIP,默认RIP按跳数计算路由,最大16条,现在,你要把RIP重新分配到OSPF中,OSPF的度量值是根据SPF算法计算COST值,那么本身OSPF 不理解RIP的跳数度量值,那么要需要通过手工的方法让RIP的度量跳数变成COST进入OSPF度量中
❽ 路由器内部工作使用哪几种路由协议
——典型的路由选择方式有两种:静态路由和动态路由。
——静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
——动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
——静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
——根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP和 BGP-4。下面分别进行简要介绍。
RIP路由协议
——RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
——RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
OSPF路由协议
——80年代中期,RIP已不能适应大规模异构网络的互连,0SPF随之产生。它是网间工程任务组织(1ETF)的内部网关协议工作组为IP网络而开发的一种路由协议。
——0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
——与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
BGP和BGP-4路由协议
——BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性。
——为了满足Internet日益扩大的需要,BGP还在不断地发展。在最新的BGp4中,还可以将相似路由合并为一条路由。
❾ 网络协议-- 底层网络知识详解(从二层到三层)
网线
Hub 采取的是广播的模式,如果每一台电脑发出的包,宿舍的每个电脑都能收到,那就麻烦了。这就需要解决几个问题:
这几个问题,都是第二层, 数据链路层 ,也即 MAC 层要解决的问题。 MAC 的全称是 Medium Access Control ,即媒体访问控制。控制什么呢?其实就是控制在往媒体上发数据的时候,谁先发、谁后发的问题。防止发生混乱。这解决的是第二个问题。这个问题中的规则,学名叫 多路访问 。
三种方式:
方式一:分多个车道。每个车一个车道,你走你的,我走我的。这在计算机网络里叫作 信道划分 ;
方式二:今天单号出行,明天双号出行,轮着来。这在计算机网络里叫作 轮流协议 ;
方式三:不管三七二十一,有事儿先出门,发现特堵,就回去。错过高峰再出。我们叫作 随机接入协议 。着名的以太网,用的就是这个方式。
接下来要解决第一个问题:发给谁,谁接收?这里用到一个物理地址,叫作 链路层地址 。但是因为第二层主要解决媒体接入控制的问题,所以它常被称为 MAC 地址 。
解决第一个问题就牵扯到第二层的网络包格式。
对于以太网,第二层的最后面是 CRC,也就是循环冗余检测。通过 XOR 异或的算法,来计算整个包是否在发送的过程中出现了错误,主要解决第三个问题。
这里还有一个没有解决的问题,当源机器知道目标机器的时候,可以将目标地址放入包里面,如果不知道呢?一个广播的网络里面接入了 N 台机器,我怎么知道每个 MAC 地址是谁呢?这就是 ARP 协议 ,也就是已知 IP 地址,求 MAC 地址的协议。
ARP 是通过吼的方式(广播)来寻找目标 MAC 地址的,吼完之后记住一段时间,这个叫作缓存。
谁能知道目标 MAC 地址是否就是连接某个口的电脑的 MAC 地址呢?这就需要一个能把 MAC 头拿下来,检查一下目标 MAC 地址,然后根据策略转发的设备,这个设备显然是个二层设备,我们称为 交换机 。
交换机是有 MAC 地址学习能力的,学完了它就知道谁在哪儿了,不用广播了。(刚开始不知道的时候,是需要广播的)
当交换机的数目越来越多的时候,会遭遇环路问题,让网络包迷路,这就需要使用 STP 协议,通过华山论剑比武的方式,将有环路的图变成没有环路的树,从而解决环路问题。
在数据结构中,有一个方法叫做 最小生成树 。有环的我们常称为图。将图中的环破了,就生成了树。在计算机网络中,生成树的算法叫作 STP ,全称 Spanning Tree Protocol 。
STP 协议比较复杂,一开始很难看懂,但是其实这是一场血雨腥风的武林比武或者华山论剑,最终决出五岳盟主的方式。
交换机数目多会面临隔离问题,可以通过 VLAN 形成 虚拟局域网 ,从而解决广播问题和安全问题。
对于支持 VLAN 的交换机,有一种口叫作 Trunk 口。它可以转发属于任何 VLAN 的口。交换机之间可以通过这种口相互连接。
ping 是基于 ICMP 协议工作的。
ICMP 全称 Internet Control Message Protocol ,就是 互联网控制报文协议 。
ICMP 报文是封装在 IP 包里面的。因为传输指令的时候,肯定需要源地址和目标地址。它本身非常简单。因为作为侦查兵,要轻装上阵,不能携带大量的包袱。
ICMP总结:
ICMP 相当于网络世界的侦察兵。我讲了两种类型的 ICMP 报文,一种是主动探查的查询报文,一种异常报告的差错报文;
ping 使用查询报文,Traceroute 使用差错报文。
在进行网卡配置的时候,除了 IP 地址,还需要配置一个Gateway 的东西,这个就是 网关 。
一旦配置了 IP 地址和网关,往往就能够指定目标地址进行访问了。由于在跨网关访问的时候,牵扯到 MAC 地址和 IP 地址的变化,这里有必要详细描述一下 MAC 头和 IP 头的细节。
路由器是一台设备,它有五个网口或者网卡,相当于有五只手,分别连着五个局域网。每只手的 IP 地址都和局域网的 IP 地址相同的网段,每只手都是它握住的那个局域网的网关。
对于 IP 头和 MAC 头哪些变、哪些不变的问题,可以分两种类型。我把它们称为“欧洲十国游”型和“玄奘西行”型。
之前我说过, MAC 地址是一个局域网内才有效的地址。因而,MAC 地址只要过网关,就必定会改变,因为已经换了局域网 。
两者主要的区别在于 IP 地址是否改变。不改变 IP 地址的网关,我们称为 转发网关 ;改变 IP 地址的网关,我们称为 NAT 网关 。
网关总结:
路由分静态路由和动态路由,静态路由可以配置复杂的策略路由,控制转发策略;
动态路由主流算法有两种, 距离矢量算法 和 链路状态算法 。
距离矢量路由(distance vector routing)。它是基于 Bellman-Ford 算法的。
这种算法的基本思路是,每个路由器都保存一个路由表,包含多行,每行对应网络中的一个路由器,每一行包含两部分信息,一个是要到目标路由器,从那条线出去,另一个是到目标路由器的距离。
由此可以看出,每个路由器都是知道全局信息的。那这个信息如何更新呢?每个路由器都知道自己和邻居之间的距离,每过几秒,每个路由器都将自己所知的到达所有的路由器的距离告知邻居,每个路由器也能从邻居那里得到相似的信息。
每个路由器根据新收集的信息,计算和其他路由器的距离,比如自己的一个邻居距离目标路由器的距离是 M,而自己距离邻居是 x,则自己距离目标路由器是 x+M。
这种算法存在的问题:
第一个问题:好消息传得快,坏消息传得慢。
第二个问题:每次发送的时候,要发送整个全局路由表。
所以上面的两个问题,限制了距离矢量路由的网络规模。
链路状态路由(link state routing),基于 Dijkstra 算法。
这种算法的基本思路是:当一个路由器启动的时候,首先是发现邻居,向邻居 say hello,邻居都回复。然后计算和邻居的距离,发送一个 echo,要求马上返回,除以二就是距离。然后将自己和邻居之间的链路状态包广播出去,发送到整个网络的每个路由器。这样每个路由器都能够收到它和邻居之间的关系的信息。因而,每个路由器都能在自己本地构建一个完整的图,然后针对这个图使用 Dijkstra 算法,找到两点之间的最短路径。
不像距离距离矢量路由协议那样,更新时发送整个路由表。链路状态路由协议只广播更新的或改变的网络拓扑,这使得更新信息更小,节省了带宽和 CPU 利用率。而且一旦一个路由器挂了,它的邻居都会广播这个消息,可以使得坏消息迅速收敛。
基于两种算法产生两种协议,BGP 协议和 OSPF 协议。
OSPF(Open Shortest Path First,开放式最短路径优先) 就是这样一个基于链路状态路由协议,广泛应用在数据中心中的协议。由于主要用在数据中心内部,用于路由决策,因而称为 内部网关协议(Interior Gateway Protocol,简称 IGP) 。
内部网关协议的重点就是找到最短的路径。在一个组织内部,路径最短往往最优。当然有时候 OSPF 可以发现多个最短的路径,可以在这多个路径中进行负载均衡,这常常被称为 等价路由 。
但是外网的路由协议,也即国家之间的,又有所不同。我们称为 外网路由协议(Border Gateway Protocol,简称 BGP) 。
在网络世界,这一个个国家成为自治系统 AS(Autonomous System)。自治系统分几种类型。
每个自治系统都有边界路由器,通过它和外面的世界建立联系。
BGP 又分为两类, eBGP 和 iBGP 。自治系统间,边界路由器之间使用 eBGP 广播路由。内部网络也需要访问其他的自治系统。边界路由器如何将 BGP 学习到的路由导入到内部网络呢?就是通过运行 iBGP,使得内部的路由器能够找到到达外网目的地的最好的边界路由器。
BGP 协议使用的算法是 路径矢量路由协议 (path-vector protocol)。它是距离矢量路由协议的升级版。
前面说了距离矢量路由协议的缺点。其中一个是收敛慢。在 BGP 里面,除了下一跳 hop 之外,还包括了自治系统 AS 的路径,从而可以避免坏消息传得慢的问题,也即上面所描述的,B 知道 C 原来能够到达 A,是因为通过自己,一旦自己都到达不了 A 了,就不用假设 C 还能到达 A 了。
另外,在路径中将一个自治系统看成一个整体,不区分自治系统内部的路由器,这样自治系统的数目是非常有限的。就像大家都能记住出去玩,从中国出发先到韩国然后到日本,只要不计算细到具体哪一站,就算是发送全局信息,也是没有问题的。
参考:
极客时间-趣谈网络协议
极客时间-趣谈网络协议
极客时间-趣谈网络协议
极客时间-趣谈网络协议-网关
❿ 计算机网络-网络层-内部网关协议RIP
RIP (Routing Information Protocol))是内部网关协议IGP中最先得到广泛使用的协议,它的中文名称叫做 路由信息协议 ,但很少被使用。RIP是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大优点就是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此,这是一组距离,即“距离向量”)。RIP协议将“ 距离 ”定义如下:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。“加1”是因为到达目的网络后就进行直接交付,而到直接连接的网络的距离已经定义为1。例如路由器R1到网1或网2的距离都是1(直接连接),而到网3的距离是2,到网4的距离是3。
RIP协议的“距离”也称为“跳数”(hop count)吧,因为每经过一个路由器,跳数就加1。RP认为好的路由就是它通过的路由器的数目少,即“距离短”, RIP允许一条路径最多只能包含15个路由器 。因此“距离”等于16时即相当于不可达,可见RIP只适用于小型互联网。
"需要注意的是,到直接连接的网络的距离也可定义为0(采用这种定义的理由是:路由器在和直接连接在该网络上的主机通信时,不需要经过另外的路由器。既然每经过一个路由器要将距高加1,那么不再经过路由器的距离就应当为0)。但两种不同的定义对实现RIP协议并无影响,因为重要的是要找出最短距离,将所有的距离都加1或都减1,对迭择最佳路由其实是一样的。"
RIP不能在两个网格之间同时使用多条路由 ,RIP选择一条具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时廷)但路由器较多的路由。
RIP协议和OSPF协议,都是分布式路由选择协议。 它们的共同特点就是每一个路由器都要不新地和其他一些路由器交换路由信息。我们一定要弄清以下三个要点,即和哪些路由器交换信息?交换什么信息?在什么时候交换信息?
RIP协议的特点是:
(1) 仅和相邻路由器交换信息 。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定,不相邻的路由器不交换信息。
(2) 路由器交换的信息是当前本路由器所知道的全部信息,即自己现在的路由表。 也就是说,交换的信息是:“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。
(3) 按因定的时间间隔交换路由信息 ,例如,母隔30秒。然后路由器根据收到的路由信息更新路由表。当网路拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。
路由器在刚刚开始工作时,它的路由表是空的,然后路由器就得出到直接相连的几个网络的距离(这些距离定义为1)。接着,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。但经过若干次的更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
看起来RIP协议有些奇怪,因为“我的路由表中的信息要依赖于你的,而你的信息又依赖于我的。”然而事实证明,通过这样的方式一“我告诉别人一些信息,而别人又告诉我一些信息。我再把我知道的更新后的信息告诉别人,别人也这样把更新后的信息再告诉我”,最后在自治系统中所有的结点都得到了正确的路由选择信息。在一般情况下,RIP协议可以收敛,并且过程也较快。 “收敛”就是在自治系统中所有的结点都得到正确的路由选信的过程。
路由表中最主要的信息就是: 到某个网铬的距离(即最短距离),以及应经过的下一跳地址 。路由表更新的原则是找出到每个目的网络的最短距离。这种 更新算法又称为距离向量算法 。
对每一个相邻路由器发送过来的RIP报文,进行以下步骤:
现在较新的RIP版本是1998年1I月公布的RIP2RFC2453](已成为互联网标准),新版本协议本身并无多大变化,但性能上有些改进。RIP2可以支持变长子网掩码和无分类域间路由选择CIDR。此外,RIP2还提供简单的鉴别过程支特多播。图4-32是RP2的报文格式,它和RIP1的首部相同,但后面的路由部分不一样。
RIP报文由首部和路由部分组成。
RIP的首部占4个字节,其中的命令字段指出报文的意义。例如,1 表示请求路由信息,2表示对请求路由信息的响应或未被请求而发出的路由更新报文,首部后而的“必为0”是为了4字节字的对齐。
RIP2报文中的路由部分由若干个路由信息组成,每个路由信息需要用20个字节。 地址族标识符(又称为地址类别)字段用来标志所使用的地址协议。 如采用IP地址就令这个字段的值为2(原来考虑RIP也可用于其他非TCPP协议的情况), 路由标记填入自治系统号ASN (Autonomous System Number))( 自治系统号ASN原来规定为一个16位的号码(最大的号码是655),由1ANA分配.现在已经把ASN扩展到32位),这是考虑使RIP有可能收到本自治系统以外的路由选择信息。再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离,一个RIP报文最多可包括25个路由,因而RIP报文的最大长度是4+20×25=504字节。如超过,必须再用一个RIP报文来传送。
RIP2还具有简单的鉴别功能。若使用鉴别功能,则将原来写入第一个路由信息(20字节)的位置用作鉴别。这时应将地址族标识符置为全1(即0 xFFFF),而路由标记写入鉴别类型,剩下的16字节为鉴别数据。在鉴别数据之后才写入路由信息,但这时最多只能再放入24个路由信息。
优点: RIP协议最大的优点就是实现简单,开销较小;如果发现更短的路由,这种更新信息传播的很快。
缺点: 限制了网络的规模,它能使用的最大距离为15(16表示不可达);路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加; 当出现网络故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
设三个网络通过两个路由器互连起来,并且都已建立了各自的路由表。图中路由器交换的信息只给出了我们感兴趣的一行内容。路由器R1中的“ 1,1,直接 ”表示“到网1的距离是1,直接交付”。路由器R2中的“ 1,2,R1 ”表示“到网1的距离是2,下一跳经过R1”。
现在假定路由器R1到网1的链路出了故障,R1无法到达网1。于是路由器R1把到网1的距离改为16(表示到网1不可达),因而在R1的路由表中的相应项目变为“ 1,16,直接 ”。但是,很可能要经过30秒钟后R1才把更新信息发送给R2。然而R2可能已经先把自己的路由表发送给了R1,其中有“1,2,R1”这一项。