网际网路是由众多路由器彼此间以各种链结线路串连而成。网际网路各节点间(路由器与主机)通讯运用的各种网际网路通讯协定,一般称为IP。IP封包透过链结线路在各路由器之间传送,直到传至最终目的地为止。
每个路由器会判断须将接收封包传送到何处,以决定封包要传送至哪一个路由器。
传送封包的功能是每部IP路由器必须具备的能力。此外,IP路由器亦可撷取收到封包的特定资料。例如为因应安全需求对封包进行过滤;根据预先设定的时间限制变更传输作业;根据优先权限调整封包的处理次序;以及针对传至同一网路中其它节点的封包准备记录相关资料。 在处理这类特殊作业时,路由器须对不同资料流中的接收封包进行分类。某组资料流中的所有封包须遵循预先设定的规则,再由路由器根据类似的模式进行分析。例如,所有从同一IP位址传抵路由器的封包,可定义为属于同一组资料流。亦可根据目标IP位址的特定值或通讯协定的特定值,来定义资料流。
在本文中,我们将不针对资料流讨论路由器对封包的分类作业,也就是业界所称的flow-aware,而将焦点放在数量更多的flow-unaware,flow-unaware型路由器能单独处理每一个接收到的封包,这种路由器称为packet-by-packet路由器。
路由器的两种作业模式中﹣IP路由器决定将封包传至何处的流程(称为路径查询或位址查询),以及flow-unaware型路由器对资料流中封包进行分类的程序(分析、套用路由策略、以及排程)﹣我们仅在一开始时简短介绍。我们亦将探讨路由器为因应每秒最高封包数量时,须采取迅速且高效率的流程,进而提高网际网路的运作容量与效率。
我们将简短介绍packet-by-packet路由器以及它们拟定封包转送决策的模式,并略过flow-aware路由器如何对资料流中的接收封包进行分类或解释后者采用的演算与评估标准。
Packet-by-packet型路由器与路由表
Packet-by-packet路由器是封包的一套特殊传输通道装置,本身须具备两项基本功能︰它须决定将封包传输至哪一个路由器(中继路由),以及须能将从「流入埠」传入的资讯传送到正确的「流出埠」(交换)。例如当我们开启一个网页或传送一封电子邮件时,资讯会被切分成许多小封包,每个IP封包在最前面(表头)含有一个资讯区段。通讯协定的资讯区能显示这个封包是属于电子邮件、网页、ftp传输资料、或是终端机的连线:DST ADDR 则是资讯收受人的位址﹣若我们从某个伺服器下载网页时,这个位址就是我们自己。SRC ADDR是发出资讯使用者所在的位址(例如将网页送给使用者的伺服器)。封包在从伺服器传至使用者的电脑途中,会经过多个路由器,每个路由器都会取代封包中的SRC Port与DST Port,直到资讯传抵使用者的浏览器并显示在萤幕上为止。
封包传送范例
我们可举一个范例让您更确切瞭解︰假设我们位在纽约,须将一封信传至义大利Agrate Brianza市的办公室(或位于纽约的伺服器将一个网页传送至Agrate Brianza办公室中的某部PC)。SRD与DST两组位址分别是传送者与目的地。当使用者将信件投入信箱后,邮差将它取出后带到分类办公室,之后就展开路由的过程:职员(虽现已采自动化作业,但为配合范例我们以人工分类来说明)会看到此信要寄到Agrate Brianza。
美国的邮局职员不知道Agrate Brianza在哪里,只知道它是在欧洲,于是将它放到送至欧洲的邮袋 (第一个路由决策于是完成:DST埠设定完成)。此信投入的邮袋会由飞机送到某个欧洲城市,可能是伦敦或慕尼黑;下一个信件分类职员会进行相同的工作,将信转送至米兰,最后再转送到Agrate Brianza,当地的邮局人员会读取位址,并将它递送到指定的信箱。这个例子虽然有些老套,但很明确地说明每个分类职员(路由器)根据最终的位址(DST Addr)选择非常好的的中继转送站,将信件送至更靠近最终分类站的地点。
回到网页,资讯封包会在路由器之间传递,每部路由器会根据转送表将封包传至下一部路由器,直到封包传抵最接近的服务供应商或最终使用者的路由器。若使用者的位址为193.11.12.13,从157.23.24.25传出的封包就会经历一连串的路由器,直到传抵能将封包送至正确地点的路由器为止。
现在我们可以看出这项功能对于路由器有多么重要(通常称为路径查询或位址查询),考量网际网路使用者的增加速度,这类作业的复杂度将提高至相当高的程度。网路上的节点不断增加,路由表的容量亦随之扩充,但运作的速度不能减低: 我们都期盼网路愈来愈快,效能愈来愈高。
当每位职员、邮差、或信件分类员执行明确定义的工作后︰找出下个分类邮局的位址,然后将信件送至inbox接收端信箱。信件从使用者办公室的小型路由器一直到负责分类欧洲与美洲间资讯的大型路由器,都会进行相同的决策。路由器的结构根据本身的规模而定︰小型路由器配备一套微处理器,能读取DST Port,并将资料替换成更接近最终DST Addr的位址; 两个大陆间的大型路由器则搭载大量的专属处理器,配合特殊的外部元件搜寻与取代目的地位址,运用其它搭配NSE(网路搜寻引擎)的晶片进行每秒2.66亿次的搜寻作业,让这类大型路由器能采用平行运作模式,达到每秒数十亿次搜寻的效能。
我们尝试以简单的词汇解释路由器的运作,但正如本文一开始所提到,网路传输的问题随着我们的期盼而同步成长。新问世的路由器能执行更复杂的决策以支援各种服务的需求,例如像更高的优先权或保护特定网路的传输资料。不管网路变得如何复杂或加入多少服务,上面介绍的基本范例在新的环境仍有一定的适用性,但随着区域性宽频安装数量(高速网际网路连线)迅速攀升,这些系统的复杂度在未来数年将持续提升,局势将有所改观。
转载地址:http://www.voipchina.cn/technology/2004-03-24/36531.shtml