网络层(三):路由选择算法与分组交付

1、分组交付和路由选择的基本概念

1.1、分组交付的基本概念

1.1.1、默认路由的概念

  分组交付(forwarding)是指在Internet中主机、路由器转发IP分组的过程。多数主机线接入一个局域网,局域网通过一台路由器再接入Internet。该情况下,这台路由器就是局域网主机默认路由器(default router),又称为第一跳路由器(first-hop router)。当这台主机发送一个IP分组时,首先将该分组发送到默认路由器。因此,发送主机的默认路由器称为源路由器,与目的主机连接的路由器称为目的路由器。

1.1.2、直接交付和间接交付的概念

  分组支付可分为两类:直接交付与间接交付,路由器根据分组的目的地址与原地址是否属于同一个网络,判断直接交付还是间接交付。

  0

  当分组的源主机和目的主机在同一个网络,或是当目的路由器向目的主机传送时,分组将直接交付;

  若目的主机与源主机不在同一网络,分组就要间接交付。

1.2、评价路由选择的依据

  分组交付的路径由路由选择算法(routing algorithm)决定。为一个分组选择从源主机传送到目的主机的路由问题,可归结为从源路由器到目的路由器的路由选择问题。

  路由选择的核心是路由选择算法,路由选择算法是生成路由表的依据。

1.3、路由选择算法的主要参数

1.3.1、跳数(hop count)

  跳数是指一个分组从源主机到达目的主机的路径上,转发分组的路由器数量。

  一般而言,跳数越少越好。

1.3.2、带宽(bandwidth)

  带宽是指链路的传输速率。如T链路的传输速率为1.5Mbps,也可以说T链路的带宽为1.5Mbps。

1.3.3、延时(delay)

  延时是指一个分组从源主机达到目的主机花费的时间。

1.3.4、负载(load)

  负载是通过路由器或线路的单位时间通信量。

1.3.5、可靠性(reliability)

  可靠性是指传输过程中的分组丢失率。

1.3.6、开销

  开销是指传输过程中的耗费,这种耗费通常与使用的链路长度、数据速录、链路容量、安全、传播延时等因素有关。

1.4、路由选择算法的分类

  路由表采用表驱动的路由选择算法。路由表是根据路由选择算法产生的。路由表存储肯呢个的目的地址与如何到达目的地址的信息。路由器在传送IP分组时必须查询路由表,以决定将分组通过哪个端口转发出去。

  路由表可以是静态的,有也可以是动态的。

1.4.1、静态路由表

  静态路由选择算法也称为"非自适应路由选择算法",特点是简单和开销较小,但不能及时适应网络状态的边变化;

  静态路由表是由人工方式建立的,网管人员将每个目的地址的路径输入到路由表中。网络结构发生变化时,路由表无法自动更新。静态路由表的更新工作必须由管理员手工完成。

1.4.2、动态路由表

  动态路由选择算法也称为"自适应路由选择算法",特点是能较好的适应网络状态的变化,但实现较为复杂,开销较大。

  大型互联网络采用动态路由表。在网络系统运行时,系统将自动根据路由选择协议建立路由表。如Internet结构变化时,某个路由器或某条链路中断时,动态路由选择协议会自动更新所有路由器的路由表。

1.5、路由表的生成与使用

  每台路由器都会保存一个路由表,路由选择是通过表驱动的方式进行的。每个路由器的路由表只需要记录子网掩码,目的网络地址,下一跳路由器地址与路由器转发端口。

  0

1.5.1、网络结构与IP地址

  上图的网络结构由3个路由器连接了4个子网,通过路由器3与Internet连接。假设使用一个标准的C类IP地址块。4个子网的地址分别为:202.1.1.0/24,202.1.2.0/24,202.1.3.0/24,202.1.4.0/24;对于连接路路由器1与路由器2的串行链路,分别分配了202.1.5.1 与 202.1.5.2 的IP地址。

  网络中主机的地址与路由器端口地址如上图所示。

1.5.2、路由表的生成原理

  通过路由器2的路由表生成,来说明器生成原理。

  连接路由器的串行线路用S0、S1表示,E0、E1分别表示Ethernet接口。

  1、若路由器2接收到一个目的地址为202.1.1.2/24的分组,那么路由器2可以根据掩码255.255.255.0确定该分组是发送到目的网络地址为202.1.1.0的子网1。路由器2将通过端口S1将分组传送到路由器1。下一跳路由器的地址是202.1.5.1。这就形成路由表的第一项内容:掩码(255.255.255.0)、目的地址(202.1.1.0)、下一跳地址(202.1.5.1)、转发端口(S1)。

  2、若路由器2接收到一个目的地址为202.1.2.2/24的分组,那么路由器2可以根据掩码255.255.255.0确定该分组是发送到目的网络地址为202.1.2.0的子网2。路由器2将通过端口S1将分组传送到路由器1的端口S0。下一跳路由器的地址是202.1.5.1。这就形成路由表的第二项内容:掩码(255.255.255.0)、目的地址(202.1.2.0)、下一跳地址(202.1.5.1)、转发端口(S1)。

  3、若路由器2接收到一个目的地址为202.1.3.2/24的分组,那么路由器2可以根据掩码255.255.255.0确定该分组是发送到目的网络地址为202.1.3.0的子网3。路由器2与子网3直接连接。路由器2以直接交付的方式,通过端口E0发送该分组。这就形成路由表的第三项内容:掩码(255.255.255.0)、目的地址(202.1.3.0)、下一跳地址(-)、转发端口(E0)。

  4、若路由器2接收到一个目的地址为202.1.4.3/24的分组,那么路由器2可以根据掩码255.255.255.0确定该分组是发送到目的网络地址为202.1.4.0的子网4。路由器2与子网4直接连接。路由器2以直接交付的方式,通过端口E1发送该分组。这就形成路由表的第四项内容:掩码(255.255.255.0)、目的地址(202.1.4.0)、下一跳地址(-)、转发端口(E1)。

  5、若路由器2接收到一个目的地址为128.12.8.20/18的分组,那么路由器2判断该分组不在网络中,需要接入Internet的默认路由器(default route)转发出去。路由器2将通过端口E1以直接交付的方式,将该分组传送到路由器3的E0端口,路由表的第五项内容为:掩码(0.0.0.0)、目的地址(0.0.0.0)、下一跳地址(202.1.4.1)、转发端口(E1)。

  在路由器选择过程中,若路由表中未明确指明一条到达目的网络的路由信息,可以将该分组转发到默认路由器。

  在本例中,路由器3就是路由器2的默认路由器,特殊地址0.0.0.0/0用来表示默认路由。

  一个分组在逐跳转发过程中,分组头中源IP地址与目的IP地址是不变的,但封装IP分组Ethernet帧的源MAC地址与目的MAC地址是变化的。

1.6、最长前缀匹配原则

  路由器的路由表向数量越少,路由选择查询的事件就越短,通过路由器转发分组的延迟时间就越少,路由汇聚是减少路由表项数量的手段之一。

  网络前缀越长,则其他地址块所包含的主机地址数越少,寻找目的主机就越容易。IP地址由网络前缀和主机号两部分组成。路由表项由"网络前缀"和"下一跳地址"组成。这样,路由选择就变成从匹配结果中选择具有最长网络前缀的路由的过程,这就是"最长前缀匹配"的路由选择原则。

2、路由表的建立、更新与路由选择协议

2.1、解决Internet路由选择的基本思路

  1、在路路由选择问题上采用分层的思路,以"化整为零"、"分而治之"的办法解决复杂问题;

  2、路由选择算法(routing algorithm)与路由选择协议(routing protocol)两者有区别。路由选择算法的目标是生成路由表,为路由器转发IP分组找出适当的下一跳路由器;路由选择协议的目标是实现路由表中路由信息的动态更新。

为解决Internet中复杂的路由表生成与路由信息的动态更新问题,提出了自治系统的概念。

2.2、自治系统的基本概念

  自治系统的核心是路由选择的"自治",一个自治系统内部路器之间能够使用动态的路由选择协议,及时的交换路由信息,精确的反映自治系统网络拓扑的当前状态。

  自治系统内部的路由选择称为域内路由选择;自治系统之间的路由选择称为域间路由选择。

  对应自治系统的结构,路由选择协议分为两大类:内部网关协议(Internet Protocol,IGP)、外部网关协议(External Gateway Protocol,EGP)。

2.3、Internet路由选择协议的分类

2.3.1、内部网关协议

  内部网关协议是在一个自治系统内部使用的路由选择协议,目前内部网关协议主要有路由信息协议(Roouting Information Protocol,RIP) 和 开放最短路径优先(open shorttest path first,OSPF)协议。

2.3.2、外部网关协议

  每个自治系统的内部路由器之间通过内部网关协议IGP交换路由信息,连接不同自治系统的路由器之间使用外部网关协议EGP交换路由信息。

自治系统与IGP、EGP之间的关系图:

   

 

  目前内部网关协议主要是路由信息协议(RIP)和开放最短路径优先(OSPF)协议。外部网关协议主要是边界网关协议(BGP)。

3、路由信息协议

  路由信息协议(RIP)是基于距离向量(Vector-Distance,V-D)路由选择算法的内部路由协议。

3.1、距离向量路由选择算法

距离向量路由选择算法也称为Bellman-Ford算法。

  1、距离向量路由选择算法,要求路由器周期性的通知相邻路由器:自己可以到达的网络,以及到达该网络的距离(跳数)。

  2、路由刷新报文主要内容是由若干(V,D)组成的表,(V,D)表中V代表向量(vector),标识该路由器可以到达的目的网络或目的主机;D代表距离(distance),指出该路由器达到目的目的网络或目的主机的距离。

  3、距离D对应该路由上的跳数(hop count)。协议规定:与路由器直接连接的网络或主机不需要经过中间路由器的转接,距离为0。分组每经过一个路由器转发则距离值加1。

  4、相邻路由器在接收到某个路由器的(V,D)报文后,按照最短路径原则对各自的路由表进行刷新。

3.2、距离向量路由协议的工作原理

3.2.1、路由信息更新方法

  在路由表建立之后,路由器周期性的向相邻路由器广播自己路由表的(V,D)信息,假设R1路由器接收到相邻路由器R2发送的(V,D)报文,路由器1按照以下规则更新路由表的信息:

  规则一:R1路由表中对应的一项纪录比R2发送的距离值要小或等于D值加1,R1不修改该项纪录;

  规则二:R1路由表没有的路由纪录,R1在路由表中增加该项,纪录值为R2提供的D值加1,路由为R2;

  规则三:R1路由表中对应的一项纪录比R2距离D值要加1,R1在路由表中修改该项,距离值为R2提供的D值加1,路由为R2;

  规则四:R1路由表中比R2发送的报文多出的路由项,R1保留。

3.2.2、R1路由表更新的过程

RIP路由信息更新过程如下:

      

 

  (a)是更新前的R1路由表,(b)是R2发送的(V,D)报文,(c)是更新后的R1路由表。

  第一项:(b)中的目的网络10.0.0.0距离为0,是与R1直接连接的网络;而(a)中对应距离为3,根据规则一,R1不修改此项;

  第二项:(a)中的目的网络20.0.0.0,(b)中R1的路由表没有该项记录,按照规则2,R1增加该项记录"网络20.0.0.0,距离为2+1=3,路由为R2";

  第三项:(a)中的目的网络30.0.0.0的距离为4,距离D值小于R1对应项的值7。按照规则3,R1修改该项记录"目的网络30.0.0.0,距离4+1=5,路由为R2";

  第四项:(a)中的目的网路40.0.0.0的距离为7;(b)中R1对应项距离为6,根据规则一,R1不修改此项;

  第五项:(a)中目的网络120.0.0.0的距离为5,路由为R4,距离D值小于(b)中R1对应项的值11。按照规则3。R1修改该项为"距离为5+1=6,路由为R2";

  第六项:(a)中目的网络125.0.0.0的距离为8;(b)中R1对应项距离为4,根据规则1,R1不修改此项。

  第七项:(b)中R1的路由表中目的网络212.0.0.0,(a)中R2没有该项记录,按照规则4,R1保留原记录。

3.3、路由信息协议

  路由信息协议在距离向量路由选择算法的基础上,规定了自治系统内部路由器之间的路由信息交互的报文格式与差错处理的相关规定,同时设置了周期更新定时器、延迟定时器、超时定时器与清除定时器共4个定时器。

3.3.1、周期更新定时器

  RIP协议为每个路由器设置一个周期更新定时器,每隔30s在相邻路由器之间交换一次路由更新信息。

  由于每个路由器的更新定时器都相对独立,因此他们同时以广播方式发送路由信息的可能性很小。

3.3.2、延时定时器

  为防止出现因触发更新而引起的广播风暴,RIP协议增加一个延时定时器。延迟定时器为每次路由更新产生一个随机延迟时间,被控制在1~5s。

3.3.3、超时定时器

  RIP协议为每个路由表项增加一个超时定时器,在路由表中一项纪录被修改之时开始计时,当该项记录在180s(6个RIP刷新周期)没有收到刷新信息时,表示该路径已经出现故障,路由表将该项记录置为"无效",而不是立即删除该项路由记录。

3.3.4、清除定时器

  RIP协议设置了一个清除定时器,若路由表的一项路由记录置为"无效"超过120s没有收到更新信息,则立即从路由表中删除该项记录。

3.3.5、RIP协议的路由故障处理

  根据距离向量路由选择算法,只有当一个距离短的路由信息出现时才修改路由表中的一项路由记录,否则就一直保留下去。若某条路径出现故障,对应这条路由的记录可能一直会保留在路由表中。同时,由于出现路径环路而使路由表的距离不断增大。这种现象在RIP协议中称为"慢收敛"。为避免这种情况的发生,RIP采取了以下4中对策:

  1、限定路径的最大距离值为15,即当跳数达到16时判断为"目的网络不可到达";

  2、若路由器R1从相邻路由器R2获得的距离信息,R1不再向R2发送该距离信息,这在RIP协议中称为"水平分割";

  3、路由器在得知目的网络不可达信息之后60s时间内,不接受该目的网络可达的信息;

  4、当某条路径故障,最早广播该路由的路由器在若干路由刷新报文中继续保留该信息,并将距离定为16。同时,触发路由刷新,立即广播刷新信息,这种方法在RIP协议中称为毒性逆转。

  RIP协议的优点:RIP限制每个自治系统中相邻路由器之间交换路由表信息,因此配置与部署较为简单。同时,更新后的路由表使得每一个路由器到达每一个目的网络的跳数都是最小的,因此路由时最短的。

  RIP协议的缺点:允许的最大跳数是16,因此,RIP只适用于较小的互连网络。

4、最短路径优先协议

4.1、最短路径优先协议的主要特点

  最短路径优先(OSPF)的路由选择算法基于最短路径算法(shortest path first,SPF)。

  1、OSPF使用的是链路状态协议(Link State Protocol,LSP),RIP使用的是距离向量路由选择协议;

  2、OSPF要求区域内一个路由器链路状态发生变化时要用链路状态更新分组,通过所有的输出端口向连接的相邻路由器(除去刚刚发送该信息的路由器)。每一个接收到链路状态更新分组的路由器又将该分组发送给自己相邻的路由器,这样通过洪泛法(flooding)使得整个区域中的所有路由器都可以得到链路状态更新的一个副本。而RIP协议要求周期性定时向相邻路由器发送信息。

  3、OSPF中链路状态是指本路由器和哪些路由器相邻。链路的"度量"是指距离、延时、带宽与费用。OSPF协议允许网络管理员给每一条链路分片不同的"度量"值;为非实时性应用(文本传输)的链路分配一个较大的"度量"值。根据不同的"度量值"计算出的路由时不相同的,而RIP协议只根据"跳数"来计算路由。

  4、OSPF路由协议使得区域内的所有路由器最终都能形成一个跟踪网络链路状态变化的链路状态数据库(link state database)。利用链路状态数据库,每一个路由器都可以以自己为"根",建立一棵最短路径优先树,因此,每个路由器的链路状态数据库就是一张整个区域内部的网络拓扑图。RIP只能根据相邻路由器的信息更新路由表。

4.2、OSPF主干区域与区域的概念

  为适应大规模的网络路由选择,OSPF要求将自治系统进一步分为两级区域:一个主干区域(backbone area) 与 多个区域(area)。每个区域用一个32位的区域标识符(用十进制数字的格式或IP地址格式)来标识,如 area 0 或 area 0.0.0.0。area 0 表示主干区域。自治系统所有区域都要与主干区域直接连接,否则就需要与主干区域建立虚链路。

  区域内的路由器数量不能超过200个。这种分成结构可以用洪泛发送的链路状态更新分组限制在一个较小的范围内,而不是整个自治系统,使每一个区域内部交换路由信息的通信量大大减少。

  自治系统内部结构示意图:

  0

  1、主干区域由主干路由器、区域边界路由器与自治区域边界路由器组成;

  2、区域由区域内部的路由器、路由器互联的网络以及区域边界路由器组成;

  3、区域通过区域边界路由器接入主干区域;

  4、主干区域的自治系统边界路由器专门用于和其他自治系统交换路由信息。

4.3、OSPF协议的分组类型

OSPF规定了5中分组:

4.3.1、问候(hello)分组

  问候分组用来发现邻居路路由器,并维持与相邻路由器的连接。

4.3.2、数据库描述(database description)分组

  数据库描述分组向相邻路由器发送本路由器链路状态数据库的链路状态项目摘要信息。

4.3.3、链路状态(link state request)分组

  链路状态请求分组用于请求相邻路由器发送某些链路状态项目的详细信息。

4.3.4、链路状态更新(link state update)分组

  链路状态更新分组用于向发出链路状态请求分组的相邻路由器,发出完整的链路状态通报信息,用洪泛法向区域内的路由器转发。

4.3.5、链路状态确认(link state acknowledgement)分组

  链路状态确认分组对链路状态更新分组的确认。

4.4、OSPF协议执行过程

OSPF协议执行过程分为以下三个阶段:

  0

4.4.1、确定相邻路由器"可达"

  当一个路由器刚开始工作时,需要通过OSPF协议的"问候分组"完成邻居路由器的发现功能,得知哪些相邻的路由器"可达",以及将数据发送相邻路由器所需的开销。

4.4.2、链路状态数据同步

  OSPF让每个路由器用"数据库描述分组"与相邻路由器交换本地数据库中已有的链路状态摘要信息。该摘要信息主要指出有哪些路由器的链路状态信息已写入数据库。经过与相邻路由器交换"数据库描述分组"之后,路由器就可以使用"链路状态请求分组"向相邻路由器请求发送自己缺少的某些链路状态项目的详细信息。通过一系列的这种分组交换,全网同步的链路数据库就建立起来了。

4.4.3、链路状态更新

  在网络运行过程中,若有一个路由器的链路状态发生了变化,该路由器就使用链路状态更新分组,采用洪泛法发送出去。接收到链路状态更新分组的,用链路状态确认分组回复。

OSPF规定:

  两个相邻的路由器每隔10s交换一次问候分组,确认相邻路由器是"可达"的。

  若40s未收到问候分组,则认为该相邻路由器不可达,立即修改链路状态数据库,并重新计算路由表;

  每隔一段时间(如30min),路由器要刷新一次数据库中的链路状态。

4.5、OSPF域最短路径选择过程

  一个自治系统划分为多个区域的结构:

  0

  自治系统划分为多个区域的结构,这些路由器执行的是OSPF协议。在自治系统中包含有多个路由器,连接路由器之间的链路边标出的数值表示分组传输的开销 - 度量值。

  实际情况下,从R1到R2的1开销是3,而从R2到R1的开销可能是9。

  将上图转换成方便计算的最短路径拓扑图,如下:

  0

  根据最小开销计算方法,计算出从路由器R8出发到目的网络N1~N5的最短路径如下:

  0

  用最小路径优先计算的最终结果是形成以R8为根的最短路径树。根据最短路径树计算出优化的路由器R8的路由表。

  0

  OSPF算法的优点是:动态路由算法,能够快速适应网络拓扑的变化;支持包括距离、延时、带宽与费用等多种"度量"值。增加了网络管理的灵活性;支持层次化结构,适应较大网络应用的需求。

  OSPF算法的缺点是:协议复杂,链路"度量"值决定者路由计算的结果,而"度量"值可以根由网络管理员设定,产生很多不确定性;用洪泛法传输路由信息要占用一定的带宽资源。

5、外部网关协议

  外部网关协议是不同自治系统的路由器之间交换路由信息的协议。主要的外部网关协议 -- 边界网关协议(BGP)。

  BGP是运行在自治系统之间的唯一的一种IP路由协议。

5.1、外部网关协议的基本设计思想

  BGP-4采用路径向量(path vector)路由协议。在配置BGP时,每个自治系统的管理员要选择至少一个路由器(通常是BGP边界路由器)作为该自治系统的"BGP发言人"。一个BGP发言人与其他自治系统的BGP发言人要交换路由信息,如增加的路由、撤销过时的路由、差错信息等。

  BGP发言人的关系如下:

  0

  上图中3个自治系统中的5个BGP发言人,每个BGP发言人除了必须运行BGP协议外,还必须运行该自治系统所使用的内部网关协议(如OSPF或RIP)。

  BGP所交换的网络可达性就是要到达某个网络所要经过的一系列的自治系统。当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略,从接收到的路由信息中找出到达各自系统的最佳路由。

  BGP协议交换路由信息的主机数是以自治系统为单位的,要在很多自治系统之间寻找一条较好的路由,就是要寻找正确的BGP边界路由器。

5.2、BGP路由选择协议的工作工程

5.2.1、BGP边界路由器初始化过程

  在BGP开始运行时,BGP边界路由器与相邻边界路由器交换整个BGP路由器。以后只需在发生变化时更新有变化的部分,而不是像RIP或OSPF那样周期性的进行更新,有利于节省网络带宽和减少路由器的处理开销。

5.2.2、BGP路由选择协议的分组

BGP路由选择协议使用以下4中分组:

  1、打开(open)分组:打开分组用来与相邻的另一个BGP发言人建立关系;

  2、更新(update)分组:更新分组用来发送某一路由信息,以及列出要撤销的路由;

  3、保活(keepalive)分组:周期性的发送,保活分组用来以证实相邻边界路由器的存在;

  4、通知(notification)分组:通知分组用来发送检测到的差错。

  当两个不同自治系统的边界路由器定期的交换路由信息时,需要有一个协商的过程。因此,开始向相邻边界路由器进行协商时就要发送"打开分组"。若相邻边界路由器接收,就发送一个"保活分组"。这样,两个BGP发言人的相邻关系就建立起来了。

  一旦BGP连接关系建立,就要设法维持这种关系。双方中的每一方都需要确信对方是存在的,并且一直在保持这种相邻关系。因此,这两个BGP发言人彼此要周期性(通常是30s)的交换"保活分组"。

  "更新分组"是BGP协议的核心,BGP发言人可以用"更新分组"撤销它曾经通知过的路由,也可以宣布增加新的路由。撤销路由时可以一次撤销多条,但增阿基路由时每次只能增加一条。当某个路由器或链路出现故障时,由于BGP发言人可以从不止一个相邻边界路由器获得路由信息,因此很容易选择而出新的路由。

  当建立了BGP连接的任何一方路由器发现出现错误之后,它需要通过向对方发送"通知分组",报告BGP连接出错消息与差错性质。发送方发送"通知分组"之后将终止这次BGP连接。下一次BGP连接需要双方重新进行协商。

6、路由器与第三层交换技术

6.1、路由器主要功能

6.1.1、建立并维护路由表

  为实现分组转发功能,路由器需要建立一个路由表。在路由表中,保存路由器每个端口对应的目的网络地址,以及默认路由器的地址。

  路由器通过定期与其他路由器交换路由信息来自动更新路由表。

6.1.2、提供网络间的分组转发功能

  当一个分组进入路由器时,路由器检查IP分组的目的地址,然后根据路由表决定该分组是直接交付,还是间接交付。若是直接交付,就将分组直接传送给目的网络。如果是间接交付,路由器确定转发的端口号与下一条路由器的IP地址。

  当路由表很大时,如何减少路由表查找时间就成为一个重要问题,最理想的状况是路由器分组处理速率等于输入端口的线路的传送速率,这种情况称为:路由器能够以线速(line speed)转发。

6.2、路由器的结构与工作原理

  路由器是一种具有多个输入/输出端口,完成分组转发功能的专用计算机系统。核心部分是 "路由选择处理机" 和 "分组处理与交换" 两部分组成。

  典型的路由器结构示意图如下:

  0

6.2.1、路由选择处理机

  路由选择处理机是路由的控制部分,它的任务是生成和维护路由表。

6.2.2、分组处理与交换部分

  分出处理与交换部分主要包括:交换结构、输入/输出端口。

2.1、交换结构

  交换结构(switching fabric)的作用是根据路由表和接收分组的目的IP地址,选择合适的输出端口转发出去。路由器是根据转发表转发分组,而转发表示根据路由表形成的。

2.2、输入/输出端口

  路由器通常由多个输入端口和输出端口。每个输入和输出端口各有三个模块,分别对应物理层、数据链路层和网络层。

  物理层模块完成比特流的接收与发送;数据链路层模块完成拆帧和封装帧;网络层模块处理IP分组头。

  如果接收的分组是路由器之间交换路由信息的分组(如RIP或OSPF分组),则将这类分组送交路由器的路由选择处理机。若接收到的是数据分组,则按照分组目的地址在转发表中查找,决定合适的输出端口。

6.2.3、讨论

3.1、衡量路由器性能的指标

  衡量路由器性能的指标主要包括:全双工线速转发能力、设备和端口吞吐量、路由表能力、丢包率、延时和延时抖动,以及可靠性。

  全双工线速转发能力是指以最小分组数据长度(Ethernet数据为64B、POS数据为40B)和最小分组间隔,在路由器端口上双向传输,在不引起丢包的情况下,每秒钟能够传输的最大分组数。

3.2、排队队列

  当路由器正在为一个接收分组查找置换法表准备转发时,后续跟着从这个输入端口可能连续收到多个分组,由于不能及时处理,后到的这些分组就必须在输入队列中排队等待处理。

  同样,输出端口从交换结构接收分组,然后将它们发送到路由器输出端口的线路上,也要设有一个缓存来存储等待转发的分组。只要路由器的接收分组速率、处理分组速率、输出分组速率小于线速,无论是输入端口、处理分组过程与输出端口都会出现排队等待,产生分组转发延时,严重时会由于队列容量不够而溢出,造成分组丢失。

6.3、第三层交换的基本概念

  第三层交换机通过内部路由选择协议(如RIP或OSPF)创建和维护路由表。出于安全方面的考虑,第三层交换机通常提供防火墙分组过滤等服务功能。由于第三层交换机设计的重点在如何提高、处理和转发分组速度,减小传输延迟上,功能是由硬件实现的,使用专用继承电路ASIC,而不是路由处理软件。交换机执行的协议是硬件固化的,因此它只能用于特定的网络协议。

 

posted @ 2023-09-27 19:54  无虑的小猪  阅读(750)  评论(0编辑  收藏  举报