网络处理器概述.docx
《网络处理器概述.docx》由会员分享,可在线阅读,更多相关《网络处理器概述.docx(67页珍藏版)》请在冰豆网上搜索。
网络处理器概述
第1章网络处理器概述
因特网的迅速发展和推广应用使人们对它提出不断增长带宽和复杂服务的需求。
未来的网络不仅需要更大的带宽,还要求它能不断增加新的服务。
各个企业和事业团体不断地更新它们的网络,在它们的网络中增加专门的服务功能以及带宽管理功能。
这种复杂服务功能的例子包括数据包调度以提供IP上的区分服务质量(QoS),在公共网络上提供安全通信,在多个服务器之间平衡传输流量负载,测量数据流量以确定网络流量模式及网络攻击行为(入侵检测),以及音频视频数据流的多点传送和交互式视频会议等。
总之,这些增值服务要求整个网络基础设施具有更强的智能,以支持基本的交换和路由。
对于某些应用,更新的周期似乎永无止境。
例如在入侵检测领域,危及计算机网络安全的方法不断变换,要求采取的对策也不断改进,为此需要对网络系统的软件进行不断地更新。
目前,基于IPv4的网络向着IPv6的发展也将是一个逐渐过渡的过程,需要逐步更新协议软件。
随着因特网的发展,对网络系统也提出了不断增加功能的要求。
如何实现这些新的功能,以及如何适应不断增加的网络业务类型增长的需求是对网络系统厂商提出的挑战之一。
为适应这种不断发展的网络技术,出现了网络处理器这种新的微处理器。
网络处理器是一种专用于网络系统的微处理器,它使得网络系统能够具备高性能和灵活性。
网络处理器的出现为网络系统构建了一个硬件平台,能够通过软件的升级以适合不断增长的功能需求,为网络技术的发展提供了开放的舞台,因而具有十分重要的意义。
Intel公司是生产网络处理器的主要厂商之一,其网络处理器产品具有良好的可编程性和应用适应性。
本章首先介绍网络系统的基本构成及各种网络新技术的发展,然后介绍Intel公司的网络处理器产品,以及采用Intel网络处理器构成网络系统的方法。
1.1网络系统的构成
因特网是由路由器构成的网络。
路由器系统是一种网络系统。
基本的路由器主要实现分组的转发功能和路由信息的交换和更新功能。
随着网络技术的发展,网络系统的功能在不断地增加,网络系统的构成方式也因之发生变化,形成各种支持新型业务类型的网络系统。
1.1.1基本的网络系统
因特网的网络工程是研究网络建设的宏观领域的工程技术,如网络的拓扑结构和网络带宽的配置。
因特网的网络系统工程则是研究网络建设的微观领域的工程技术,即路由器、网桥等系统的设计和开发。
网络系统是应用于网络领域的数字计算机系统,路由器是最主要的网络系统,它运行网络协议软件并实现网络中的分组路由和转发。
网络系统工程作为一项工程技术,研究如何根据网络标准开发网络设备,即网络协议的实现。
网络系统的开发要保证它在网络上的互操作性,即能够与网络中的其他网络系统正确地相互操作,实现网络通信的目的。
为此,网络系统的开发需要遵循网络协议标准。
而网络协议的制定则需要经过精心的设计、充分的实验以及开发者之间的广泛协调。
路由器是工作在OSI参考模型第三层(网络层)的数据分组转发设备。
它通过转发数据分组来实现网络互联互通。
因特网上的路由器运行TCP/IP、UDP、ICMP等协议,连接到两个或多个数据分组交换的网络。
路由器由多个接口构成,每个接口连接一个子网或者另外一个路由器。
IP分组从一个接口到达,并从另一个接口离开。
路由器根据收到数据分组中的网络层地址(IP地址)以及路由器内部维护的路由表决定输出接口以及下一个结点(下一跳)地址,并且修改数据分组头以实现数据分组的转发。
路由器通常动态维护路由表来反映当前的网络拓扑结构,并通过与网络上其他路由器交换路由和链路信息来维护路由表。
根据在网络中所处的位置,路由器可分为核心路由器和接入路由器。
核心路由器位于网络中心,连接其他的路由器,通常是使用高端路由器产品。
核心路由器要求具备快速的分组交换能力与高速的网络接口,通常是模块化结构,可根据需求改变系统中的模块数量。
接入路由器位于网络边缘,又称为边缘路由器,连接各种子网。
这种路由器通常使用中低端路由器产品。
接入路由器需要能够连接各种标准的网络,需要能够支持多种不同的网络协议。
接入路由器用不同的接口连接到不同的网络,这些接口可以分为局域网接口和广域网接口两种。
局域网接口主要包括各种速率的以太网(10Mb/s、100Mb/s和1000Mb/s以太网)、令牌环网、FDDI等网络接口。
广域网主要包括E1/T1、E3/T3、DS3、通用串行口、ATM接口、ISDN接口等网络接口。
其中,通用串行口可转换成X.21DTE/DCE、V.35DTE/DCE、RS232DTE/DCE、RS449DTE/DCE、EIA530DTE等接口。
从功能的类型来分,路由器可分为通用路由器与专用路由器。
一般所说的路由器为通用路由器。
专用路由器通常为实现某种特定功能而设计,对路由器的接口、硬件等做了专门优化。
例如拨号接入路由器用于接入拨号用户,增强了PSTN接口以及信令能力。
从性能上的差别来分,路由器可分为线速路由器以及非线速路由器。
通常线速路由器是高端路由器,能以线路传输媒体的速率转发数据分组;非线速路由器不能达到线路的最大传输速率,会因速度跟不上而丢弃分组,是中低端的路由器。
通用路由器的基本功能包括:
(1)将IP数据分组封装到链路层帧或从链路层帧中取出IP数据分组。
路由器能够从接收的链路层数据帧中提取出IP分组,在发送IP分组时有将其封装成输出端的链路层封装格式。
对于以太网的情况,通常一个IP分组可以从一个数据帧中取出,对于ATM等接口,则需要从多个信元中组装形成一个IP分组。
(2)按照该网络所支持的最大数据单元(MTU)大小发送或接收IP数据分组。
网络的MTU是链路层协议所规定的能够承载的最大IP分组的长度。
网络中不同的网段可能有不同的MTU值。
当接收到的IP分组大于输出网段的MTU时,路由器需要将IP分组分割成更小的分片。
(3)将IP地址与相应网络的链路层地址相互转换。
例如根据分组目标IP地址构成相应的下一跳以太网MAC地址。
这种转换通过查找转发表来实现。
(4)实现网络协议所支持的流量控制和差错指示。
路由器要能够辨认出分组中出现的差错,并产生必要的ICMP差错消息。
(5)在接收及转发数据分组的过程中实现分组的缓冲区管理、拥塞控制以及公平性处理。
路由器需要缓存接收到的分组,在分组出现拥塞情况时需要根据协议对分组进行处理,在进行这种处理需要考虑到对各个业务流的公平性。
(6)丢弃生存时间(TTL)字段为0的数据分组。
路由器要将每一个接收到的IP分组的TTL字段的值减1,当TTL值减到0时将其丢弃,以防止分组在网络中无穷地循环。
(7)按照路由表信息,为每个IP数据分组选择下一跳目的地。
对于每个接收到的分组,查找路由表,以确定将分组从哪一个接口发送出去。
(8)支持至少一种内部网关协议(IGP)与其他同一自治系统中的路由器交换路由信息及可达性信息。
内部网关协议是同一个自治系统(AS)范围内的路由器之间交换网路可达性信息的协议。
(9)支持外部网关协议(ExteriorGatewayProtocol,EGP)与其他自治域交换拓扑信息。
外部网关协议是不同自治域的路由器之间交换网路可达性信息的协议。
(10)提供网络管理和系统支持机制,包括存储/上载配置、诊断、升级、状态报告、异常情况报告及控制等。
路由器中的路由表中的信息用于指示路由器将接收的分组从哪一个接口发送出去。
在路由器中,路由表的查找是一个比较慢的操作,需要多次访问存储器才能完成。
导致路由表查找速度慢的原因一方面是IP地址有32位,如果根据IP地址直接查找路由表,需要建立起包含232个表项的表格,这样的表格将占用太大的存储器空间,维护十分复杂,是不现实、不经济的。
另一个原因是路由表的查找采用最长前缀匹配的算法,需要在有多个匹配的前提下,找出地址前缀最长的匹配项,这使得查找的算法变得复杂。
寻找一种经济有效的路由表查表方法仍然是人们研究的一个课题。
路由表中的信息根据内部网关协议以及外部网关协议计算得到,这种计算路由的算法称为路由选择算法。
路由选择算法分为两大类:
非自适应的和自适应的。
非自适应算法不能根据网络当前实际传输流量和拓扑变化来做路由选择,而是按原先设计好的路径传送,路径的设计是静态的,路径的修改是手工的。
自适应算法是根据当前网络流量和拓扑结构动态进行的,能较好地适应网络的需求。
目前常用的自适应路由算法有向量距离法和链路状态法。
根据路由算法,路由器的自适应路由算法分为基于距离向量的路由算法和基于链路状态的路由算法。
基于距离向量的路由算法通常利用跳数来作为计量标准。
每个路由器向其他路由器通报其到达各子网的距离信息,并根据其他路由器通报的路由距离信息建立起各自的路由表。
向量距离法比较简单,每台路由器周期性地与相邻的路由器交换路由表中的信息,指出该路由器可以到达的目标以及距离(用跳计数表示)。
但是向量距离法不适应网络路径的剧烈变动或大型的网络环境,因为路由信息在相邻的路由器之间传播,传播过程很慢。
真正的路由信息需要经过多次迭代计算才能得到,路由信息的更新过程中可能出现不一致的问题,即与实际情况不相符的计算结果,从而将分组发向错误的路径。
向量距离法的另一个缺点是它需要大量的数据交换,而且每个路由器都参与了信息交换,造成交换的信息量比较大,需要占用较多的网络传输资源。
当网络规模不断增大,路由器数量不断增加后,这种路由信息量的增加更加迅速,因而算法的可伸缩性较差。
链路状态法采用最短路径优先(SPF)算法,各路由器的路由表通过一张能表示整个网络拓扑结构的无向图计算。
各路由器周期性地向相邻路由器发出查询消息,主动测试所有与它相邻的路由器状态,并将这些链路连接信息周期性地向所有参与SPF的路由器传播,而不仅仅向相邻路由器发送信息。
每个路由器收到其他路由器发来的路由信息后,用Dijkstra算法进行网络拓扑结构的计算,求出加权无向图中从某给定结点的最短路由。
由于链路状态信息向全网广播,信息传播速度快,保证了路由计算结果的一致性。
各路由器在本地进行路由计算,路由信息不会反过来对原来的路由器发生作用,使得路由的收敛性得到保证。
广播的路由信息只与该路由器直接相连的链路数量和状态有关,比距离向量法少得多。
所以链路状态法适合于规模较大、结构变化较快的网络。
但是路由计算对CPU的处理能力要求较高。
由于两种路由算法各有优点,为适应组网的需要,路由器产品中就应当同时配置两种算法类型的路由协议。
根据路由协议的作用范围,可以分为域内路由协议和域间路由协议,分别又称为内部网关协议(IGP)和外部网关协议(EGP)。
在IP路由系统中,整个因特网被表示成大量自治系统(AS)的集合,每个自治系统是某个网络建设和管理实体所维护的网络系统,如大型企业网络或者它们的集合。
在一个AS之内的路由方式由域内路由协议确定,跨越AS的路由则由域间路由协议确定。
域间路由协议用于确定分组的传递所经过的AS序列,而不是具体的路由器序列。
所以EGP协议不使用域内路由的距离向量算法或者链路状态算法。
在路由器中,为了缩短路由表的长度,通常还将一组具有相同转发方式的目标地址合并,构成转发等价类。
在各种域内路由协议中,每当网络中链路的连接状况发生了变化,路由器之间就需要重新通过通信和计算构成新的路由表。
在新的路由表形成之前,路由器可能会将数据分组发送到错误的地方。
路由协议的实际例子有RIP、OSPF、ISIS、BGP-4等。
RIP是一种基于距离向量的内部网关协议,采用的是距离向量法。
此算法在因特网的早期就被采用。
由于RIP实现简单,是使用范围最广泛的路由协议。
此协议收敛较慢,一般用于规模较小的网络。
描述RIPv1的RFC1058文档在1988年6月就形成。
1994年11月,RFC1723对RIPv1的消息结构作了扩展,增加了一些新的网络功能。
1998年11月,提出了RIPv2标准,在协议消息的路由表项中增加了子网掩码的信息,同时增加了安全认证的功能。
RIPv2是RIP的改进版本,与RIP保持兼容,并且在RIP基础上增加了地址掩码(支持CIDR)、下一跳地址、可选的认证信息等内容。
此版本在RFC1723中描述。
无类域间路由(CIDR)使用IP地址加前缀的方式表示各种规模的网络以及转发等价类,使得网络地址与子网地址的划分更加灵活。
OSPF是开放的最短路径优先协议的简称,也是一种内部网关协议。
它是一种基于链路状态算法的路由协议,由IETF内部网关协议工作组开发。
OSPF的作用在于最小代价路由、多相同路径计算和负载均衡。
它拥有开放性和使用SPF算法两大特性。
ISIS是“中间系统-中间系统”协议的简称,同样是基于链路状态算法的路由协议。
该协议由ISO提出,起初用于OSI网络环境,后修改成可以在双重环境下运行。
它与OSPF协议类似,可用于大规模IP网作为内部网关协议。
BGP-4是一个用于自治系统之间的、复杂的分布式动态路由协议,是最重要、最常用的路由协议之一,也是目前惟一可选的自治域间的路由协议。
这种域间路由协议交换的信息包括一个路由所经过的AS的列表,用以建立一个表示连接状态的图,使在AS基础上的路由选择策略成为可能,并且解决了路由环路问题。
BGP-4提供对CIDR的支持。
BGP-4中包括了路由聚合机制,包括对AS路径的聚合,从而大大减小路由表。
BGP-4是一个综合了向量距离法和链路状态法的协议。
BGP-4Speaker只与邻近BGP-4Speaker交换路由信息,与向量距离法类似。
同时,BGP-4利用AS路径属性记录路由信息所经过的自治系统的信息,故又具有链路状态协议的特点。
BGP-4协议可以利用多种属性来灵活地控制路由策略。
除了上述基本的功能以外,路由器一般还应支持组播。
组播是网络中需要实现的基本功能之一。
组播要求网络中业务流传输的中间结点将接收到的数据分组进行复制并传播到多个结点,而不是由源结点分别向不同的目的结点进行发送。
组播的目的是使得网络中的重复发送的数据流量减少到最低程度。
组播技术可以应用到网络会议系统、视频点播等场合,实时地传播视频和音频信息,还可以应用于共享数据的传递、金融证券等市场交易信息的馈送、网络缓存数据的更新和交互式网络游戏等。
组播还可以用于数据的定向分发,如企业总部定期向分支机构的信息发布,以及各种政府和各种交易市场的信息发布等。
在这些应用领域中,数据的传输量特别大,采用组播技术减少数据的重复传输就显得特别重要。
一种实现组播的方法是构成一棵组播树,用这棵树的标识符作为组播数据分组的目标地址集合的表示。
路由器中维护每一颗相关的组播树的信息,根据组播树标识符进行分组的复制和转发。
组播树的管理需要采用相应的协议。
这种组播方式的管理协议是Internet组播管理协议(IGMP)。
支持组播的路由器向本地网络发送IGMP查询,通过发送IGMP报告来应答查询。
组播路由器负责根据组播路由算法将分组转发到网络中所有组播成员结点。
现在已有许多组播路由算法投入使用,如PIM(ProtocolIndependentMulticast)、MBGP(MulticastBorderGatewayProtocol)以及DVMRP(DistanceVectorMulticastRoutingProtocol)、MOSPF(MulticastOpenShortestPathFirst)协议等,但是目前还没有一种可靠的组播路由协议能够具备处理大范围的分组发送能力。
DVMRP是在Internet中第一个广泛使用的组播路由协议,实现基于源结点的路由,它把接收同一个源结点的分组的所有成员结点构成一棵树形的路由通道系列,树中的分支通道可以动态地增加和删除。
DVMRP是基于距离向量的组播路由协议,基于RIP协议开发。
它利用IGMP与相邻的路由器交换路由信息,并采用距离向量算法使得每个结点能够计算最短的输出路由。
MOSPF协议使用单播的OSPF协议进行组播,通过路由器在链路状态中增加组播成员的信息,广播给其他路由器。
协议无关组播协议(PIM)是一种组播传输协议,能在现存IP网上传输组播数据。
PIM是一种独立于单播路由协议的组播路由协议,可以工作在两种模式:
密集模式和疏松模式。
在PIM密集模式下,分组默认地向所有端口转发,直到发生路径的裁减和切除。
密集模式假设所有端口上的网络结点都是组播成员,可能使用组播分组,适合于参与组播的成员多的情况。
PIM的疏松模式与密集模式相反,只向有请求的端口发送组播数据,适合于参与组播的成员很稀少的情况。
目前,IP组播还存在一些问题,例如不可靠的分组传输方式、组播数据分组的有效复制等。
IP协议的不可靠的分组转发方式使得网络中可能发生分组的丢失、延迟、重复以及乱序等现象。
组播数据分组的复制操作增加了路由器的负担。
因为组播分组的丢弃会使得分组的重传变得复杂。
此外,路由协议的动态更新算法容易产生暂时的路由环路,这种环路会使得网络中分组被重复的复制,产生大量无效的分组,使得网络出现严重的拥塞现象。
这些问题都在进一步的研究探索之中,所以组播技术仍然是一项发展中的技术。
在传统的路由器中,路由处理的能力比较低,而且对实时业务的支持不够,不能保证多媒体业务流的传输质量,路由机制中采用单一的距离衡量尺度,不够灵活,对流量控制能力比较差,缺乏安全性。
因此,人们在不断研究和开发新型路由器技术和有关协议,使得因特网能够支持各种不同的应用需求。
1.1.2新型网络业务与路由器
随着因特网应用的发展,对构成网络结点的路由器等网络系统也不断提出了新的要求,促进了网络系统的不断发展。
在这些新的功能需求下产生了包括交换技术、QoS技术、IPv6、VPN技术以及安全性技术等新的网络系统技术。
因特网的协议在不断发展和完善,新的功能和业务在不断增加,这给网络系统的设计带来了新的挑战。
1.交换技术
交换技术是源自电信技术中的一种通信方式。
采用交换技术通信方式的技术标准有X.25、帧中继和ATM。
与因特网的路由技术相比,交换技术具有更高的效率和性能,能够更好地保证数据传输的质量,因而受到人们的重视。
在ATM交换技术中,在为业务流进行传输服务之前,首先为业务流的传输建立起一条传输通道,称为虚电路。
在传输业务流的过程中,将数据分成基本的传输单位——信元,在每个信元中加上一个标签,如VPI/VCI。
网络中的每个交换机根据这个标签就可以完成转发的任务,而不需要维护和查找庞大而复杂的路由表,从而可大大提高通信效率。
ATM交换技术具有高速度、低延时和延迟时间均匀等传统路由器网络所不具备的性能,但是它与因特网技术存在许多差异,使得它难以直接支持IP协议。
比如,在转发ATM的信元之前,先要建立虚电路,在电信技术中,这通过信令协议来实现,但在IP协议中没有这样的协议,每个分组在到达之前没有建立起虚电路和标签的转发方式,而是在IP分组到达之后根据路由表进行转发的。
如果为每一个IP分组的转发建立起一条临时的虚电路,则是低效的做法。
为了在IP网络中采用交换技术,近几年来人们开发形成了多协议标签交换(MPLS)协议。
在MPLS网络的边缘对收到的分组按照其目的地和业务特征进行分类,按照分类的结果给分组加上一个定长的标签。
标签中包含了和对该分组的处理方式有关的一切信息,使得网络中其他标签交换路由器在收到这个分组后能够以交换方式处理和转发这个分组。
也就是用简单的第二层的转发表查询和替换操作来代替第三层的业务流分类和路由表查询,转发时按照每个分组中固定长度的标记内容进行简单的查表和标记替换操作。
转发表根据路由协议来建立。
这种交换技术将路由功能和转发功能分离,简化了路由器的转发功能,加快了分组的转发速度。
因为转发表比路由表小得多,转发表的查找也比路由表查找快得多,而且标签中包含了分类的信息,分类的工作只需在边缘结点做一次,不需要每个路由器都对分组进行分类。
具有这种交换功能的路由器构成了标签交换路由器(LSR),它是一种具有交换功能的路由器,又称为交换式路由器。
标签交换路由器需要为每一个业务流的分组进行标签分配,需要与其他标签交换路由器交换标签分配的信息,并且建立起根据标签进行转发的路径。
这条转发路径是根据路由协议建立的。
标签交换路由器通过路由协议为每个业务流建立起标签交换式的传输路径后,用交换的方式传输业务流的数据。
将一个业务流与一个标签相结合的操作称为标签的绑定。
标签交换路由器LSR的功能包括标签的分配、绑定和分发、路由表的建立以及与转发单元中转发表的映射等。
LSR在标签交换机中创建和维护一组正确的标签,通过标签分发协议(LDP)在LSR之间传送标签信息。
LDP协议类似于ATM中的信令,建立起一条分组转发的路径,相当于虚电路。
LSR是MPLS网络中的基本构成单元,主要由控制单元与转发单元两部分构成。
控制单元负责路由的选择、MPLS控制协议LDP的执行、标签的分配和分发以及标签信息库的构成。
转发单元只负责根据标签信息库建立标签转发表和对标签分组进行简单的转发操作。
LSR可以在传统的路由器结构基础上实现,也可以在交换机的基础上实现。
为了使传统的路由器支持标签交换,附加的控制功能程序模块中需要建立业务流和标签之间的绑定,需要将绑定的信息通知其他LSR,需要建立和维护标签交换功能部件所使用的转发表。
位于网络边缘的LSR需要给分组加上标签,称为标签边缘路由器LER。
2.QoS技术
随着因特网的规模和用户数量的迅速增加,网上的业务种类也与日俱增,各种实时与多媒体业务的引入,对数据的传输不仅要保证足够的带宽,还要满足低延迟、匀时性等要求,也就是对网络信息传输的服务质量(QualityofService,QoS)提出了要求。
网络信息传输的QoS一方面要求分组的传输具有较小的延迟(实时性),另一方面还要求业务流中一系列的分组保持一定的时间间隔,也就是传输延迟时间的均匀性(匀时性)。
实现网络的QoS要求网络能够区分不同的业务流,从而对不同业务流的分组按QoS要求进行不同的处理。
为此,要求路由器能够对到达的分组进行分类,将不同类型的分组放入不同的缓存中进行排队,在分组发送时通过一定的流量控制机制,使得发送的分组满足一定的延迟和抖动的要求。
这些QoS机制包括分组队列的管理和队列输出调度机制。
提供这种机制的路由器构成了支持QoS的路由器。
QoS的实现通常采用边缘-核心模型,将路由器分成边缘路由器和核心路由器两类。
边缘路由器对分组进行分类和查找、管理和调度等操作,它可以拒绝外部的具有过高QoS要求的业务流的请求;核心路由器负责分组的高速转发和处理拥塞现象,使网络资源的利用率最大化。
业务流在进入核心路由器之前,由边缘路由器处理每一个业务流的特性,汇集各种业务类型,并将处理的结果以某种标记的形式放在分组头中,核心路由器根据这个标记就可以进行相应的处理。
这种边缘-核心模型将复杂的分组处理工作留给边缘路由器,核心路由器就可以做得更加简单高效。
因为在边缘路由器中可以实现几百种或上千种业务类型的分类和排队,而核心路由器中则只需要少量的分组队列,将分在同一类的分组放在同一个队列中进行相同的处理。
在MPLS网络中,分类的信息可以包含在标签中,以后在网络内部的核心路由器根据标签进行转发而不再进行分类操作。
这样,核心路由器的开销降低了,而且提供了很大的灵活性和可扩展性。
因此,MPLS能够很好地支持业务流的QoS要求。
在支持QoS的路由器中,需要为不同的业务流提供不同的处理方式,需要对业务流的行为进行检查和控制,需要采取措施使得每个业务流中的分组保持一定的时间间隔。
为此,需要对业务流的分组进行分类、计量、管制、调度、整形等措施,需要有一个分组队列的管理机制以避免拥塞现象。
分组的分类是为了识别分组所属的业务流。
分组的分类可以用于各种目的,如为不同的业务流提供不同的QoS保证,对某些业务流进行过滤等。
业务流通常可以分为TCP、UDP、ICMP等类型。
这些类型是静态的,可以根据分组头中的协议类型进行分类。
有些业务流信息是动态的,比如从某个IP地址发出的到达某个目的地的业务流。
它随时可能出现,随时可能消失,需要根据分组的IP地址进行识别,这种分类是动态的分类。
为了能够根