简述IP路由的选择策略。即当一个IP数据包准备好了的时候,路由器是如何将数据包送到目的地的?

如题所述

第1个回答  2012-04-14
路由器工作原理
传统地,路由器工作于OSI七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先得在转发路由表中查找它的目的地址,若找到了目的地址,就在数据包的帧格前添加下一个MAC地址,同时IP数据包头的TTL(Time To Live)域也开始减数,并重新计算校验和。当数据包被送到输出端口时,它需要按顺序等待,以便被传送到输出链路上。
路由器在工作时能够按照某种路由通信协议查找设备中的路由表。如果到某一特定节点有一条以上的路径,则基本预先确定的路由准则是选择最优(或最经济)的传输路径。由于各种网络段和其相互连接情况可能会因环境变化而变化,因此路由情况的信息一般也按所使用的路由信息协议的规定而定时更新。
网络中,每个路由器的基本功能都是按照一定的规则来动态地更新它所保持的路由表,以便保持路由信息的有效性。为了便于在网络间传送报文,路由器总是先按照预定的规则把较大的数据分解成适当大小的数据包,再将这些数据包分别通过相同或不同路径发送出去。当这些数据包按先后秩序到达目的地后,再把分解的数据包按照一定顺序包装成原有的报文形式。路由器的分层寻址功能是路由器的重要功能之一,该功能可以帮助具有很多节点站的网络来存储寻址信息,同时还能在网络间截获发送到远地网段的报文,起转发作用;选择最合理的路由,引导通信也是路由器基本功能;多协议路由器还可以连接使用不同通信协议的网络段,成为不同通信协议网络段之间的通信平台。
一般来说,路由器的主要工作是对数据包进行存储转发,具体过程如下:
第一步:当数据包到达路由器,根据网络物理接口的类型,路由器调用相应的链路层功能模块,以解释处理此数据包的链路层协议报头。这一步处理比较简单,主要是对数据的完整性进行验证,如CRC校验、帧长度检查等。
第二步:在链路层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳的IP地址;同时,IP数据包头的TTL(Time To Live)域开始减数,并重新计算校验和(Checksum)。
第三步:根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,被封装上相应的链路层包头,最后经输出网络物理接口发送出去。
简单地说,路由器的主要工作就是为经过路由器的每个数据包寻找一条最佳传输路径,并将该数据包有效地传送到目的站点。由此可见,选择最佳路径策略或叫选择最佳路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据——路由表(Routing Table),供路由选择时使用。上述过程描述了路由器的主要而且关键的工作过程,但没有说明其它附加性能,例如访问控制、网络地址转换、排队优先级等
第2个回答  2012-04-13
(1)工作站A将工作站B的地址12.0.0.5连同数据信息以数据帧的形式发送给路由器1。
(2)路由器1收到工作站A的数据帧后,先从包头中取出地址12.0.0.5,并根据路径表计算出发往工作站B的最佳路径:R1->R2->R5->B;并将数据帧发往路由器2。
(3)路由器2重复路由器1的工作,并将数据帧转发给路由器5。
(4)路由器5同样取出目的地址,发现12.0.0.5就在该路由器所连接的网段上,于是将该数据帧直接交给工作站B。
(5)工作站B收到工作站A的数据帧,一次通信过程宣告结束。 事实上,路由器除了上述的路由选择这一主要功能外,还具有网络流量控制功能。有的路由器仅支持单一协议,但大部分路由器可以支持多种协议的传输,即多协议路由器。由于每一种协议都有自己的规则,要在一个路由器中完成多种协议的算法,势必会 降低路由器的性能。因此,我们以为,支持多协议的路由器性能相对较低。用户购买路由器时,需要根据自己的实际情况,选择自己需要的网络协议的路由器。 近年来出现了交换路由器产品,从本质上来说它不是什么新技术,而是为了提高通信能力,把交换机的原理组合到路由器中,使数据传输能力更快、更好。本回答被提问者采纳
相似回答