路由器(Router)是一种典型的网络层设备,对经过的分组进行处理,同时它还要运行路由协议,生成路由表,对每一个分组进行寻路,并转发到相应的输出端口。
路由器用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器来完成。因此,路由器具有判断网络地址和选择路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。它不关心各子网使用的硬件设备,但要求运行与网络层协议相一致的软件。
一般说来,异种网络互联与多个子网互联都应采用路由器来完成。
路由器的主要工作就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送到目的站点。由此可见,选择最佳路径的策略即路由算法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据――路径表(Routing Table),供路由选择时使用。路径表中保存着子网的标志信息、网上路由器的个数和下一个路由器的名字等内容。路径表可以是由系统管理员固定设置好的,也可以由系统动态修改,可以由路由器自动调整,也可以由主机控制。
1、静态路径表
由系统管理员事先设置好固定的路径表称之为静态(Static)路径表,一般是在系统安装时就根据网络的配置情况预先设定的,当网络结构的改变时需管理员手工改动相应的表项。
2、动态路径表
动态(Dynamic)路径表是路由器根据网络系统的运行情况而自动调整的路径表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。
二、路由器的功能
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-18 20:28
--------------------------------------------------------------------------------
路由器(Router)是一种用来传递资料封包的网络装置,而传递资料封包的过程称为路由。路由发生于七层OSI模型中的第三层。
路由通常是基于IP(Internet Protocal,即网际网络协议),但亦会出现在其他较少见的网络协定之上,例如IPX协议。
在1960年代,路由器是由普通的电脑扮演。虽然普通的电脑可以达成路由的作用,但现代的高速路由器是由专门为路由而设计的硬件组成的。这些路由器除可提高路由速度外,亦能发挥其他网络功能,如IPsec加密。
其他的一些改变也提高了路由器的可靠性,例如使用直流电而不是交流(直流电可以由数据中心的电池提供),使用固态存储而不是磁性存储介质来载入程序。现代大型路由器变得越来越象电话交换机,随着使用这些技术,两者变得越来越相似也许最终路由器将取代电话交换机,同时一些小型路由器正在成为家用电器。
第一个现代(专门,独立的)路由器是Fuzzball Routers
一个路由器可以用来至少连接两个网络或是移动无线网络(mobile ad-hoc network)。一种特殊类型的路由器(one-armed-router)用来在虚拟区域网(Virtual LAN)环境中传递数据包。一个one-armed-router上的连接的多个网络都位于同一个物理链路上。
将客户连接到Internet的路由器被称为边缘路由器(edge router)。在其他路由器之间传送数据的路由器被称为核心路由器(core router)。
路由器创建并/或维护一张表,称为「路由表」。里面存放了到特定网络目的地的最佳路由以及相应的「路由属性」。参见相关的路由(Routing)文章以获得关于其如何工作的更详细的讨论。
近来,许多路由的功能被加入到了区域网交换机上,从而创造出「二/三层交换机」,可以以接近线速的速度来转发流量。
路由器也被实现用作Internet网关,主要用在小型网络中如家庭或小型办公室。这种设备使用的Internet连接往往是一直联机的宽频连接如cable modem和DSL。这些并不是真正意义上的路由器,但是它所使用的术语和「网络地址转换」发生了混淆。
这里是一些路由器的制造商,包括:
3Com (www.3com.com)
Alcatel (www.alcatel.com)
Cisco Systems, Inc. (www.cisco.com)
D-Link Systems (www.dlink.com)
Enterasys Networks (www.enterasys.com)
Juniper Networks (www.juniper.net)
Linksys (www.linksys.com)
Mikrotik (www.mikrotik.com)
NETGEAR (www.netgear.com)
Nortel (www.nortelnetworks.com)
Pivotal Networking (www.pivnet.com)
SMC Networks (www.smc.com)
Tellabs (www.tellabs.com)
MRV Communications (www.mrv.com)
Zoom Telephonics (www.zoom.com)
通过安装适当的软件,普通PC也可以变成路由器:
Windows XP Internet Connection Sharing
Mac OS X Internet Sharing
Basic Internet Routing Daemon ( bird.network.cz )
fdgw
FREESCO
GNU Zebra ( www.zebra.org )
IPCop (