路由器对数据包的处理流程

路由器对数据包的处理流程是怎么的?我需要详细一点的答案,谢谢了。

一、Routing Process
  当一个数据包进入路由器:
  1、拆去二层帧头;
  2、进入缓冲区;
  3、查看目标地址(匹配路由表);
  4、重新封装二层帧头;
  5、转发。
  二、Switching Process:
  1、Check framing and buffer packet;
  查看二层帧,进行CRC校验,层三的数据和头部进入缓冲区(buffer);
  2、Check routing table;
  查路由表,从buffer中拿出目标IP和路由表进行匹配(与运算);
  3、Re-Encapsulation layer 2 header;
  重新封装二层帧头;
  注: (1)二层帧头包括源MAC地址和目标MAC地址。
  (2)此时的二层帧头的源MAC已经变为路由器出接口的地址。
  4、Forwarding from one local interface;
  转发(从一个本地接口封装);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-28
一、路由器的功能

1、协议转换:能对网络层及其以下各层的协议进行转换。

2、路由选择:当分组从互联的网络到达路由器时,路由器能根据分组的目的地址按某种路由策略,选择最佳路由,将分组转发出去,并能随网络拓扑的变化,自动调整路由表。

3、能支持多种协议的路由选择:路由器与协议有关,不同的路由器有不同的路由器协议,支持不同的网络层协议。如果互联的局域网采用了两种不同的协议,例如,一种是TCP/IP协议,另一种是SPX/IPX协议(即Netware的传输层/网络层协议),由于这两种协议有许多不同之处,分布在互联网中的TCP/IP(或SPX/IPX)主机上,只能通过TCP/IP(或SPX/IPX)路由器与其他互联网中的TCP/IP(或SPX/IPX)主机通信,但不能与同一局域网中的SPX/IPX(或TCP/IP)主机通信。多协议路由器能支持多种协议,如IP,IPX及X.25协议,能为不同类型的协议建立和维护不同的路由表。这样不仅能连接同一类型的网络,还能用它连接不同类型的网络。

4、流量控制:路由器不仅具有缓冲区,而且还能控制收发双方数据流量,使两者更加匹配。

5、分段和组装:当多个网络通过路由器互联时,各网络传输的数据分组的大小可能不相同,这就需要路由器对分组进行分段或组装。即路由器能将接收的大分组分段并封装成小分组后转发,或将接收的小分组组装成大分组后转发。如果路由器没有分段组装功能,那么整个互联网就只能按照所允许的某个最短分组进行传输,大大降低了其他网络的效能。

6、网络管理:路由器是连接多种网络的汇集点,网间分组都要通过它,在这里对网络中的分组、设备进行监视和管理是比较方便的。因此,高档路由器都配置了网络管理功能,以便提高网络的运行效率、可靠性和可维护行。

二、路由器的工作流程

传统上路由器工作于网络7层协议的第三层,其主要任务是接收来自一个网络接口的分组,根据其中所含的目的地址,决定转发到哪一个下一个目的地址(可能是路由器也可能就是目的主机),并决定从哪个网络接口转发出去。这是路由器的最基本功能――分组转发功能。为了维护和使用路由器,路由器还需要有配置或者说控制功能。

根据TCP/IP协议,路由器的分组转发具体过程是:

1、网络接口接收分组。这一步负责网络物理层处理,即把经编码调制后的数据信号还原为数据。不同的物理网络介质决定了不同的网络接口,如对应于10Base-T以太网,路由器有10Base-T以太网接口,对应于SDH,路由器有SDH接口。

2、根据网络物理接口,路由器调用相应的链路层(网络7层协议中的第二层)功能模块以解释处理此分组的链路层协议报头。这一步处理比较简单,主要是对数据完整性的验证,如CRC校验、帧长度检查。近年来,IP over something的趋势非常明显,IP(处于网络层――网络7层协议中的第三层)跳过链路层而被直接加载在物理层之上。

3、在链路层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳(NextHop)的IP地址,IP分组头的TTL(TimetoLive)域开始减数,并计算新的校验和(checksum)。如果接收数据帧的网络接口类型与转发数据帧的网络接口类型不同,则IP分组还可能因为最大帧长度的规定而分段或重组。

4、根据在路由表中所查到的下一跳IP地址,IP数据包送往相应的输出链路层,被封装上相应的链路层帧头,最后经输出网络物理接口发送出去。
第2个回答  2013-07-28
主机或路由器在接收到mac帧后,剥去其首部和尾部,MAC层的数据此时变成IP数据报,然后交给网络层,,网络层在IP数据包中找到源IP地址和目的IP地址,然后转发,转发时候改变首部中的源地址和目的地址。依次类推
第3个回答  2013-07-28
路由器收到数据后,首先查看路由表,然后根据路由表转发,如果没有该路由条目则从默认路由发或则返回目标不可达的信息!
相似回答