什么是路由器
路由器是工作在OSI参考模型第三层(网络层)的数据包转发设备,即在网络层上实现多个网络互连的设备,是一种具有多个输入、输出接口(端口)的专用计算机。
路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口分配不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上。
路由器通过转发数据包来实现网络互连。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。
路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上(即:目标网络地址就是与此路由器相连的某个网路地址,则直接交付,不再经过其他路由器),否则,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。
路由器通常动态维护路由表来反映当前的网络拓扑。路由器通过与网络上其他路由器交换路由和链路信息来维护路由表。
路由器不转发广播消息,而把广播消息限制在各自的网络内部,路由器可以有效地防止大范围的广播风暴。
路由器主要完成两项功能
1)建立维护路由表
2)转发网络分组
通常实现下列具体的基本功能:
实现IP、TCP、UDP、ICMP等互联网协议。
按照路由表信息,为每个IP数据包选择下一跳目的地。
IP数据包封装到链路层帧或从链路层帧中取出IP数据包。
按照该网络所支持的最大数据包大小发送或接收IP数据报。该大小是网络最大传输单元(MTU)。
将IP地址与相应网络的链路层地址相互转换。例如将IP地址转换成以太网硬件地址。
实现网络支持的流量控制和差错指示。
接收及转发数据包,在收发过程中实现缓冲区管理、拥塞控制以及公平性处理。
出现差错时辨认差错并产生ICMP差错及必要的差错消息。
丢弃生存时间(TTL)域为0的数据包。
必要时将数据包分段。
支持至少一种内部网关协议(IGP)与其他同一自治域中路由器交换路由信息及可达性信息。支持外部网关协议(Exterior Gateway Protocol,EGP)与其他自治域交换拓扑信息。
提供网络管理和系统支持机制,包括存储/上载配置、诊断、升级、状态报告、异常情况报告及控制等。
路由协议
典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
路由器的分类
当前路由器分类方法各异。各种分类方法有一定的关联,但是并不完全一致。
从能力上分,路由器可分高端路由器和中低端路由器。各厂家划分并不完全一致。通常将背板交换能力大于40G的路由器称为高端路由器,背板交换能力40G以下的路由器称为中低端路由器。以市场占有率最大的Cisco公司为例,12000系列为高端路由器,7500以下系列路由器为中低端路由器。
从结构上分,路由器可分为模块化结构与非模块化结构。通常中高端路由器为模块化结构,低端路由器为非模块化结构。
从网络位置划分,路由器可分为核心路由器与接入路由器。核心路由器位于网络中心,通常是使用高端路由器。要求快速的包交换能力与高速的网络接口,通常是模块化结构。接入路由器位于网络边缘,通常使用中低端路由器。要求相对低速的端口以及较强的接入控制能力。
从功能分,路由器可分为通用路由器与专用路由器。一般所说的路由器为通用路由器。专用路由器通常为实现某种特定功能对路由器接口、硬件等作专门优化。例如接入服务器用作接入拨号用户,增强PSTN接口以及信令能力;VPN路由器增强隧道处理能力以及硬件加密;宽带接入路由器强调宽带接口数量及种类。
从性能上分,路由器可分为线速路由器以及非线速路由器。通常线速路由器是高端路由器,能以媒体速率转发数据包;中低端路由器是非线速路由器。但是一些新的宽带接入路由器也有线速转发能力。
路由器分类方法还有很多,并且随着路由器技术的发展,可能会出现越来越多的分类方法。
路由器软件
路由器技术中最核心的技术是软件技术。路由软件是最复杂的软件之一。有些路由软件运行在UNIX操作系统上,有些路由软件运行在嵌入式操作系统上,甚至有些软件为提高效率,本身就是操作系统。全球最大的路由器生产厂家Cisco公司曾一度宣称是一个软件公司,可见路由器软件在路由器技术中所占的重要地位。
路由器软件一般实现路由协议功能、查表转发功能和管理维护等其他功能。由于互联网规模庞大,运行在互联网上路由器中的路由表非常巨大,可能包含几十万条路由。查表转发工作可想而知非常繁重。在高端路由器中上述功能通常由ASIC芯片硬件实现。
路由软件的高复杂性另一方面体现在高可靠性、高可用性以及鲁棒性。实现路由软件的功能并不复杂,在免费共享软件中我们甚至可以得到路由协议和数据转发的实现源码。但是难点在于需要该软件每年365天,每天24小时高效可靠地运行。
路由配置实例1
静态配置如下:
一、路由器接口基本配置:
Router A:
e0:2.2.2.1
s0:1.1.1.1
s1:3.3.3.1
Router A所连主机配置默认网关为2.2.2.1
Router B:
e0:4.4.4.1
s1:3.3.3.2
Router B所连主机配置默认网关为4.4.4.1
Router C:
e0:5.5.5.1
s0:1.1.1.2
Router C所连主机配置默认网关为5.5.5.1
二、路由配置
格式:目标网络地址/子网掩码 下一跳地址
Router A 路由配置
4.4.4.0/24 3.3.3.2
5.5.5.0/24 1.1.1.2
Router B 路由配置
1.1.1.0/24 3.3.3.1
2.2.2.0/24 3.3.3.1
5.5.5.0/24 3.3.3.1
Router C 路由配置
2.2.2.0/24 1.1.1.1
3.3.3.0/24 1.1.1.1
4.4.4.0/24 1.1.1.1
路由配置实例2
路由配置
格式:目标网络地址/子网掩码 下一跳地址
Router-1:
211.69.12.0/24 211.69.11.2
211.69.13.0/24 211.69.11.6
211.69.15.0/24 211.69.11.6
0.0.0.0/24 211.69.14.2 (default route to internet)
Router-2:
211.69.10.0/24 211.69.11.1
211.69.11.4/24 211.69.11.1 ?
211.69.13.0/24 211.69.11.10 (R2->R3)or 211.69.13.0/24 211.69.11.1 (R2->R1->R3)
211.69.14.0/30 211.69.11.1
211.69.15.0/24 211.69.11.10 (R2->R3)or 211.69.13.0/24 211.69.11.1 (R2->R1->R3)
0.0.0.0/24 211.69.11.1 (default route to internet)
Router-3:
211.69.10.0/24 211.69.11.5
211.69.12.0/24 211.69.11.5 (R3->R1->R3)or 211.69.12.0/24 211.69.11.9(R3->R2)
211.69.11.0/24 211.69.11.5
0.0.0.0/24 211.69.11.5 (default route to internet)
Router-4:
0.0.0.0/0 202.99.198.97 (default route to internet)
参考:
《计算机网络 第2版》清华大学出版社 吴功宜
《计算机网络教程 第5版》电子工业出版社 吴功宜、吴英
《计算机网络实用教程》机械工业出版社 贾永江
http://www.21ic.com/app/rf/201109/93139_2.htm
http://www.28.com/alfx/jy/n-35377.html
http://www.itale.cn/archives/2010/1/20100130151605.html(桥接、交换和路由概念简介)
http://www.itale.cn/archives/2010/6/20100612171653.html(策略路由简介)