IP路由器的主要功能(上)(唐健、邬江兴)
摘要:IP路由器是互联网的关键设备,其功能随着实践的发展而被不断完善。本文把IP路由
器
的主要功能分为IP数据包的转发、路由的计算和更新、ICMP消息的处理、网络管理以及安全服务
五
个方面,分别介绍相应的协议、工作方式、实现要求以及存在的问题。
关键词:互联网 IP路由器 路由协议 网络管理 安全性
一、引言
互联网作为最大、最有影响力的信息交换平台,正在迅猛发展。作为发展中国家的中国也不
甘
落后,今天,中国互联网用户已突破800万,专家预测,“中国有望成为互联网经济的主要国
家”。
互联网即网间网,它把许多自治域通过IP(InternetProtocol)协议互联在一起,这些自治
域
由具有不同网络地址的网络经IP协议互联在一起,而这些网络又可能由具有不同子网掩码的子网组
成。出入一个自治域/网络/子网的数据都要经路由器转发,路由器决定数据是否需要转发、能否
转发、如何转发、转发得怎样,是自治域/网络/子网相交汇的节点。根据公开发表的研究报告,
从源IP地址出发到宿IP地址的用户数据中,80%以上沿途必须经过路由器,20%以下局限在子网
内
流动。可以说,没有路由器就没有互联网。没有高性能的路由器就没有高性能的互联网,因此,路
由器在互联网中具有极其重要的地位和作用,是互联网中的关键设备。按照在互联网中的地位和作
用,路由器可分为分支路由器、边缘路由器、核心路由器。
路由器究竟必须具备哪些功能呢?是不是象人们通常认为的那样仅仅工作在OSI模型的第三
层,
即网络层呢?转发用户数据,只是路由器的一个最基本的功能,事实上,IP路由器的功能随着实践
的发展而不断被完善。比如,路由器最初主要采用静态路由配置,计算和更新路由的功能没有被明
确要求,但现在,这个功能成为必备。又比如,路由器曾对用户数据和协议数据的安全性考虑甚
少,
现在安全服务却显得很紧迫。下文把IP路由器的主要功能分为五个方面,分别予以介绍。
二、IP数据包的转发
这是路由器最基本的功能。当一个IP数据包到达路由器时,路由器根据IP协议对其报头进行
处
理,然后根据处理结果对该数据包进行转发、本地处理、或者丢弃。目前常用的是IP协议第4版
IPv4。
IPv4数据包的报头包含如下内容:版本、头标长、服务类型、总长、标识、标志、片偏移、生存
时
间、协议、头标校验和、源IP地址、宿IP地址、选项。
为便于按照相应规定对报头进行分析,首先路由器要确定报头的格式,查看IP协议的“版
本”
(IPv4的“版本”是4);次之,路由器必须知道报头的长度和正确性,按照“头标长”截获报
头,
用“头校验和”加以校验。为避免数据包因寻径错误而在互联网中无休止地流动、占用宝贵的网络
资源,有必要限制数据包的转发次数。路由器检查“生存时间”,目的在于此。路由器还需要根据
“宿IP地址”或“选项”中的源路径直找路由转发表。如果“宿IP地址”正好与自己吻合,需参
考
“源IP地址”和“协议”,决定该数据包是否有权限访问路由器。如果有,就要根据“协议”在本
地作进一步的高层处理,不过在此之前有必要根据“标识”、“标志”和“片偏移”来重组数据
包。
“协议”标明了数据区的协议类型,如89代表OSPF等,路由器根据“协议”规定的数据区格式分
析
数据,从而可以进一步处理其中相应的协议消息。
如果“宿IP地址”尚未到达,须参考“源IP地址”和“协议”,决定该数据包是否被允许转
发,
如果允许,路由器根据“宿IP地址”或“选项”中的源路径、“服务类型”在路由转发表中查找相
应的输出端口,并把数据包交换到该输出瑞口的某队列中,解析下一跳IP地址对应的物理地址(比
如以太网的MAC地址),把数据包封装在物理帧中传输。不过,如果一个物理帧装不下完整的数据
包,还须把数据包分片,在“标识”、“标志”和“片偏移”中加以指示。“服务类型”包含优先
级、时延、吞吐率和可靠性,目的是要映射到相应的路由选择、排队优先级、带宽分配上。不过,
映射不是强制性的,即使映射也并非所有的要求都能被满足。在不久的将来,“服务类型”有可能
被“区分服务”替代。
上述任何一个环节没通过,IP数据包就要被丢弃,与此同时,路由器可能产生ICMP数据包,
报
告相应的差错。
具有高速接口、线速要求的大容量核心路由器将面临两个最大的挑战:一个是路由查表技
术。
比如,交换式千兆以太网接口最短的物理帧长度是64字节,线速要求的路由查表时间不能超过
512ns;
2.5GbPs的STM-16/OC-48接口最短的HDLC帧仅包含HDLC帧开销和IP数据包头,侦长度为28字
节,
线速要求.的路由查表时间不能超过92ns,与此同时,路由表转发表项越来越多,在世界上成功
商
用化的核心路由器中已超过1M,因此,传统的软件查表技术花费时间较长,已不再适用,必须发展
硬件查表技术。目前,基于硬件技术的查表算法委么要求硬件性能非常高、价格昂贵;要么局限在
某种条件下使用、适用范围小,都不是万全之策。将来,随着接口速度、路由转发表项继续成倍增
长,硬件查表技术终究也会难以应付,会需要把输出端口查找与IP数据包转发分离,输出瑞口的查
找依然采用IP协议,而数据包转发则采用新的协议,如MPLS,这正是MPLS成为世界上一个研究热
点
的原因。另一个挑战是数据包交换技术,传统的电总线共享技术再也不适用了,一是因为硬件技术
原因,电总统无法达到很高的带宽,目前最高水平是20Gbps;二是因为共享方式固有的发送冲
突,
导致数据包较大的等待时延和较高的丢失率,影响业务质量。月前,世界上知名的核心路由器采用
的是电交换网络、共享存储器乃至光交换技术。
三、路由的计算和更新
最初的路由器主要采用静态路由配置。随着网络规模迅速扩大和网络拓扑结构频繁变动,静
态
路由暴露出配置麻烦、滞后等问题。因此,依据路由协议自动实时地计算和更新路由,逐渐成为路
由器主要功能之一。当然,静态路由还可以与动态路由配合使用。
路由协议是路由计算和更新的依据,根据路由器寻径的范围不同而不同。如果在自治域/网
络
内部寻径,路由器使用内部网关协议;如果是在自治域之间寻径,路由器使用外部网关协议。当
然,
自治域边缘的路由器可能同时使用内部网关协议和外部网关协议。
路由协议不是唯一的,而且一直在发展变化着。内部网关协议目前用得较多的有RIP
(Routing
Information Protocol)、OSPF(Open Shortest PathFirst)。外部网关协议现在主要用BGP
(Bo
rderGateway Protocol)。
RIP适用于小型、路径不多的同构网络。它使用路由跳数来决定最佳路径,算法很简单,但网
络
直径受限(跳数<16),并且路径选择忽略了连接速度问题,在路径较多时收敛速度慢,用来判断
路径不可到达的时间长(≥3分钟),广播路由信息占用的带宽资源较多。 RIP在1988年被标准化
在
RFC1058中,现在第2版最新的内容是1998年的RFC2453。RIP消息由瑞口号为520的UDP进行传
输。
OSPF能适应大规模异构网络的互连。它根据网络中路由器物理连接的状态与速度来进行路由
选
择,克服了RIP的缺点,但计算SPF树比较复杂,需要占用路由器中更多CPU资源。OSPF在1989年
被正
式发布在RFC1131中,现在最新的第2版是1997年的 RFC2328。 OSPF消息直接封装在协议域为89
的IP
数据包中。
外部网关协议BGP在1989年被正式发布在RFC1105中,现在最新的第4版是1997年的
RFC2328。BGP
消息由端口号为179的TCP进行连接和传输。
有的路由器还具有组播(multicast)寻径能力。生机欲加入一个组播组,就用IGMP
(Internet
Group Manasement Protocol)与网络上具有组播能力的路由器交换信息,并可以利用组播路由
协议
DVMRP或MOSPF建立自治域内的组播传输路径、利用MOSPF建立自治域之间的组播传输路径。IGMP
消息
直接封装在协议域为2的IP数据包中。
对核心路由器来说,路由协议的软硬件实现是最繁重的工作,也是最重要的工作。路由协议
的
配置和协调、路由协议消息的缓冲和处理、路由的计算、数据库的维护和管理、路由转发表的更新
和分发,每一个环节都很重要,影响着网络的稳定性。根据数据统计,目前互联网的不稳定性大部
分来自核心路由器中路由协议的软硬件实现。例如,路由协议的配置不当可致使路由器之间不能互
操作,缓冲区较小可致使路由协议消息丢失,处理器速度较低可增加路由协议消息时延,缺乏有效
的鉴别和过滤机制可造成路由“黑洞”,数据库的维护和管理不及时会计算出过时的路由,路由转
发表的更新和分发太慢会使IP数据包寻径出错。
(待续)
摘自《数据通信》
|