CN1625154B - 包通信节点装置 - Google Patents
包通信节点装置 Download PDFInfo
- Publication number
- CN1625154B CN1625154B CN2004100749651A CN200410074965A CN1625154B CN 1625154 B CN1625154 B CN 1625154B CN 2004100749651 A CN2004100749651 A CN 2004100749651A CN 200410074965 A CN200410074965 A CN 200410074965A CN 1625154 B CN1625154 B CN 1625154B
- Authority
- CN
- China
- Prior art keywords
- module
- bag
- mentioned
- service
- reception
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims description 55
- 230000006870 function Effects 0.000 description 28
- 239000004744 fabric Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 239000012467 final product Substances 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/355—Application aware switches, e.g. for HTTP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/583—Stackable routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/102—Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供一种丰富了能够通过添加功能扩展模块来实现的通信服务处理的种类(应用程序种类)的包通信节点装置。包通信节点装置由下述部包成:多个接口模块(10);多个服务模块(30),响应接收包来执行规定的通信服务处理;包传送模块(20),用于将接收包传送到上述某一个服务模块或某一个接口模块;以及包交换部(40),将上述多个模块相互连接;各接口模块包括将来自网络线路的接收包选择性地传送到上述包传送模块、服务模块、或其他接口模块中的1个的路由选择部件。
Description
技术领域
本发明涉及包通信节点装置,更加详细地说,涉及能够通过添加功能模块来扩展装置功能的包通信节点装置。
背景技术
构成包通信网的路由器等通信节点装置以在网络线路间中继或传送包为主要功能。如果能够使这些通信节点装置具有以往由连接在通信网络上的服务器或数据处理装置进行的通信服务功能的一部分,则产生下述优点:能够加快对用户终端的响应,减轻网络上的通信量。在此情况下,希望能够按照用户或市场需求来灵活地扩展向通信节点装置添加的通信服务功能。
作为能够扩展通信服务功能的现有包节点装置,例如在(日本)特开2002-281072号公报(专利文献1)中,提出了下述方案:在用上级总线相互连接的多个路由选择模块、和用下级总线与各路由选择模块耦合的线路控制模块组成的因特网装置中,将容纳网络线路的线路控制模块中的1个置换为功能扩展模块,将从各线路控制模块传送到路由选择模块的IP包中、首标信息满足预先由检测条件表指定的条件的IP包,经由上级总线传送到容纳了上述功能扩展模块的路由选择模块,该路由选择模块将接收包输出到功能扩展模块,从而用功能扩展模块来实施服务处理,例如对接收包实施加密处理。
【专利文献1】:(日本)特开2002-281072号公报。
上述专利文献1记载的包节点装置通过变更路由选择模块的一部分功能,将线路控制模块的一部分置换为功能扩展模块,能够向节点装置添加新的服务处理功能,所以有能够可扩缩地实现节点装置的功能扩展这一优点。
然而,必须高速处理接收包的各路由选择模块不能解析接收包的净荷,所以上述检测条件表不得不只根据目标端IP地址、发送端IP地址、TCP端口号等能够从包首标中提取的首标信息,来选择应传送到功能扩展模块的接收包。因此,像上述专利文献1这样用与线路控制模块耦合的路由选择模块来控制向功能扩展模块的包传送的方式,难以以解析净荷为前提来高精度地分配包,能够连接到节点装置上的功能扩展模块的种类有制约。
发明内容
本发明的目的在于提供一种丰富了能够通过添加功能扩展模块来实现的通信服务处理的种类(应用程序种类)的包通信节点装置。
本发明的另一目的在于提供一种能够通过用多个功能扩展模块分散负担来高速执行通信服务处理的包通信节点装置。
本发明的又一目的在于提供一种能够根据接收包的净荷解析结果将接收包高精度地分配给适当的功能扩展模块(服务模块)的包通信节点装置。
为了实现上述目的,本发明的包通信节点装置的特征在于,包括:多个接口模块,分别连接在网络线路上;多个服务模块,分别响应接收包来执行规定的通信服务处理;包传送模块,用于将接收包传送到上述某一个服务模块或某一个接口模块;以及交换部,将上述多个模块相互连接并在模块间进行包交换,上述各接口模块包括路由选择部件,用于将来自网络线路的接收包经上述交换部,选择性地传送到上述包传送模块、服务模块、或与目标端地址对应的其他某一个接口模块中的1个。
本发明的1个特征在于,各服务模块(功能扩展模块)包括路由选择部件,用于检查来自交换部的接收包的净荷,并将判明本模块不能应对的接收包选择性地传送到包传送模块或与目标端地址对应的某一个接口模块。
在本发明一实施例中,各服务模块的路由选择部件在判明本模块不能应对接收包时,如果在上述交换部上未连接执行与本模块同类的应用程序的其他服务模块,则将该接收包传送到与目标端地址对应的某一个接口模块。
本发明的1个特征在于,交换部中容纳的多个服务模块中的至少2个具有相互同类的应用程序的通信服务处理功能,经上述包传送模块向这些服务模块分配接收包。
更详细地说,本发明的包通信节点装置的特征在于,各接口模块具有与包的特定的首标项目的组合对应地定义了传送目的地模块的扩展模块检索表、和与包的目标端信息地对应于定义了传送目的地模块的路由选择表;上述各接口模块的路由选择部件根据来自网络线路的接收包的首标信息和上述扩展模块检索表,来确定作为各接收包的传送目的地的包传送模块或服务模块,在接收包的首标信息不符合用上述扩展模块检索表定义的首标项目的组合的情况下,根据上述路由选择表来确定作为各接收包的传送目的地的接口模块。
此外,本发明的包通信节点装置的特征在于,包传送模块具有与接收包的特定的首标项目和净荷信息的组合相对应地定义了传送目的地模块的服务模块检索表、和对应于包的目标端地址而定义了传送目的地模块的路由选择表,根据上述服务模块检索表来确定各接收包的传送目的地服务模块,在接收包的首标项目和净荷信息不符合上述服务模块检索表的定义的情况下,根据上述路由选择表来确定与各接收包的目标端地址对应的接口模块。
发明效果
根据本发明,通过解析包的净荷将应确定传送目的地服务模块的接收包从各接口模块传送到包传送模块,通过用包传送模块来解析净荷,能够将接收包高精度地分配给适当的服务模块。
此外,通过设上述包传送模块,本发明的包通信节点装置丰富了功能扩展模块能够实现的通信服务处理的种类,而且能够容纳具有同类的应用程序的多个服务模块,所以能够用多个功能扩展模块分散负荷来加快通信服务处理。
再者,根据本发明,通过将用各接口模块能够确定传送目的地服务模块的接收包从接口模块直接传送到服务模块,将用各接口模块不能确定传送目的地服务模块的接收包经由包传送模块分配给传送目的地服务模块,能够进行减轻了包传送模块的负荷和包传送延迟的通信服务处理。
附图说明
图1是本发明的包通信节点装置的结构图。
图2是来自网络的接收包的格式的示例图。
图3是接收包的净荷中包含的HTTP消息的格式图。
图4是来自网络的接收包的净荷中包含的DNS消息的格式图。
图5是交换部40传送的内部包的格式图。
图6是接口模块10-i的一实施例的方框结构图。
图7是包传送模块20的一实施例的方框结构图。
图8是服务模块30-j的一实施例的方框结构图。
图9是接口模块10-i包括的扩展模块检索表的内容的示例图。
图10是包传送模块20包括的Web服务模块检索表26A和DNS服务模块检索表26B的内容的示例图。
图11是Web服务模块包括的Web高速缓存文件36W的内容的示例图。
图12是DNS服务模块包括的DNS高速缓存文件36D的内容的示例图。
图13是接口模块10-i执行的接收包处理例程100的示例流程图。
图14是包传送模块20执行的包传送处理例程200的示例流程图。
图15是图14中的DNS查询包传送处理例程220的示例流程图。
图16是Web服务模块执行的Web服务处理例程300的示例流程图。
图17是DNS服务模块执行的DNS服务处理例程400的示例流程图。
具体实施方式
以下,参照附图来说明本发明的实施例。
图1示出本发明的包通信节点装置的整体结构。这里示出的包通信节点装置由多个接口模块10(10-1~10-n)、包传送模块20、多个服务模块30(30-1~30-m)、在这些模块间交换包的交换部40、以及控制部41组成,具备路由器的功能。
接口模块10-i(i=1~n)被连接在网络线路L-i和具有端口号P1-i的交换端口之间,将来自网络线路L-i的接收包变换为具有内部首标的包(以下称为内部包),传送到连接在交换部40上的其他某一个模块,并且将经交换部40接收到的来自其他模块的接收包(内部包)变换为通常的发送包,送出到网络线路L-i。
包传送模块20被连接在具有端口号P3-0的交换端口上,经交换部40从各接口模块10接收到内部包后,解析接收包的净荷部(数据部)的内容,将该包传送到某一个服务模块30-j(j=1~m)、或某一个接口模块10-i(i=1~n)。
服务模块30-j(j=1~m)例如具有Web服务器、DNS服务器、电子邮件服务器、或安全服务器等的通信服务功能,经具有端口号P3-j的交换端口从交换部40接收到内部包后,分别执行规定的服务处理。
控制部41控制上述多个模块10、20、30传送内部包的定时。交换部40由在多个物理端口间进行包交换的交换结构(swichingfabric)、或在多个逻辑端口间进行包交换的总线型交换机组成,根据内部包上所附的模块标识符(在本例中是交换端口号),来实现各模块间的包交换。
在以下说明中,假定包通信节点装置包括分别利用高速缓存文件的存储信息来响应接收包的Web服务模块、DNS服务模块、以及电子邮件服务模块,作为服务模块30-j(j=1~m)。
图2示出接口模块10-i用网络线路L-i发送接收的IP包50的格式。IP包50由IP首标51、TCP/UDP首标52、以及净荷(数据部)53组成,在IP首标51中包含发送端地址511、目标端地址512、协议标识符513。而在TCP/UDP首标52中包含确定所适用应用程序的种类的发送端端口号521和目标端端口号522。
为了容易理解本发明的包通信节点装置的工作,作为IP包净荷53的一例,图3示出HTTP的内容取得请求消息70的格式,图4示出地址查询所使用的DNS消息80的格式。
如图3所示,HTTP的内容取得请求消息70包含表示取得内容的字符串“GET”作为请求类别71,在请求类别71后,指定了文件名72和主机名73。
另一方面,如图4所示,DNS消息80由首标部81、查询部82、回答部83、权限部84、以及附加信息部85组成。首标部81包含标识符811、消息类别812、查询部长度信息813、回答部长度信息814、权限部长度信息815、附加信息部长度信息816,查询部82包含查询内容821、类型822、类823。IP地址查询消息无需回答部83、权限部84、附加信息部85,所以其内容是:在首标部的长度信息字段814~816中设定“0”,在查询部82中指定目的主机名作为查询内容821,在类型822和类823中指定了查询类型和查询类的值。
图5示出交换部40传送的内部包60的格式。内部包60是在IP包50的引导段附加了内部首标54而成,在内部首标54中设定交换端口号和后述确定标志的值。
图6示出接口模块10-i的方框结构的一例。这里所示的接口模块10-i由输入线路接口10A-i和输出线路接口10B-i组成。
输入线路接口10A-i由连接在网络的输入线路上的包接收部11A、暂时存储接收包的接收缓冲器12A、处理器13A、程序存储器14A、发送缓冲器17A、交换接口18A、以及数据存储器19A组成,构件12A~17A和19A由内部总线连接。此外,在数据存储器19A中形成了路由选择表15和扩展模块检索表16。
如后所述,处理器13A根据程序存储器14A中准备的接收包处理例程,读取接收缓冲器12A中存储的接收包,向接收包上附加表示传送目的地交换端口号的内部首标,输出到发送缓冲器17A。接收包的传送目的地交换端口号通过参照扩展模块检索表16及路由选择表15来确定。交换接口18A根据来自控制部41的控制信号,从发送缓冲器17A中读取内部包,并传送到交换部40。
输出线路接口10B-i由交换接口18B、暂时存储从交换部40接收到的内部包的接收缓冲器12B、处理器13B、程序存储器14B、连接在网络的输出线路上的包发送部11B、以及数据存储器19B组成,构件11B~12B和19B由内部总线连接。
交换接口18B接收从交换部40输出的具有交换端口号P1-i的内部包,暂时存储到接收缓冲器12B中。处理器13B根据程序存储器14B中准备的发送包处理例程,从接收缓冲器12B中读取内部包,并除去内部首标之后,作为发送包而输出到包发送部11B。包发送部11B将发送包以规定的信号形式发送到网络的输出线路。
这里,将接口模块10-i分为输入线路接口10A-i和输出线路接口10B-i,用不同的处理器来处理接收包和发送包,但是也可以用1个处理器来分时处理接收包和发送包。
图7示出包传送模块20的方框结构的一例。
包传送模块20由连接在交换部40上的交换接口21、暂时存储从交换部40接收到的内部包的接收缓冲器22、处理器23、程序存储器24、发送缓冲器27、以及数据存储器29组成。在数据存储器29中形成了路由选择表25和服务模块检索表26。交换接口21从交换部40接收具有交换端口号P3-0的内部包,存储到接收缓冲器22中,并且根据来自控制部41的控制信号,从发送缓冲器27中读取内部包,传送到交换部40。处理器23执行的包传送处理例程和服务模块检索表26的细节将在后面描述。
图8示出服务模块30-j的方框结构的一例。
包传送模块30-j由连接在交换部40上的交换接口31、暂时存储从交换部40接收到的内部包的接收缓冲器32、处理器33、程序存储器34、文件36、发送缓冲器37、以及形成了路由选择表35的数据存储器39组成。交换接口31从交换部40接收具有交换端口号P3-j的内部包,存储到接收缓冲器32中,并且根据来自控制部41的控制信号,从发送缓冲器37读取内部包,传送到交换部40。
在文件36中存储着与服务模块30-j的功能相应的信息。在服务模块30-j是Web服务模块或DNS服务模块的情况下,文件36被用作存储从连接在网络上的Web服务器或DNS服务器取得的高速缓存信息的高速缓存文件。在服务模块30-j是电子邮件服务模块的情况下,文件36被用来与用户的邮件地址对应地存储电子邮件信息。处理器33执行的服务处理例程和文件36的内容将在后面描述。
图9示出接口模块10-i包括的扩展模块检索表16的内容的一例。
在扩展模块检索表16中注册了表示用于确定应传送到包传送模块20或服务模块30-1~30-m的接收包的属性信息、和作为传送目的地的扩展模块的交换端口号之间的关系的多个项160(160-1、160-2、…)。上述扩展模块是指连接在交换部40上的包传送模块20和服务模块30-1~30-m中的1个。
在本实施例中,扩展模块检索表的各项160指定了目标端地址161、协议号162、目标端端口号163作为待服务对象包应具有的属性信息,与这些包属性信息对应,确定了内部首标中应设定的传送目的地模块的交换端口号164和确定标志165的值。在能够根据包属性信息来唯一地决定包传送目的地的服务模块的情况下,确定标志165为“1”。众所周知,目标端端口号例如“80”与HTTP的Web服务器对应,“53”与DNS服务器对应,“25”与电子邮件服务器对应。
各接口模块的处理器13A从自网络接收到的包的IP首标51和TCP/UDP首标52中提取目标端地址512、协议号513、目标端端口号522的值,从扩展模块检索表中检索符合这些提取值的组合的项。在找到了符合的项的情况下,接收包被传送到上述项指定的扩展模块的交换端口号164。在未找到符合的项的情况下,接收包根据路由选择表15被传送到其他某一个接口模块。在这里所示的例子中,属性信息符合项160-1或项160-2的接收包被传送到具有交换端口号P3-0的包传送模块20,符合项160-3的接收包被传送到具有交换端口号P3-5的电子邮件服务模块。
在本实施例中,包传送模块20包括与服务模块的应用程序类型相应的多种检索表作为服务模块检索表26。作为服务模块检索表26的一例,图10的(A)示出Web服务模块用的检索表26A,图10的(B)示出DNS服务用的检索表26B。
Web服务模块检索表26A的项26A-1、26A-2、…与主机名261和文件名262的组合对应,指定包的传送目的地的扩展模块的交换端口号263。另一方面,DNS服务用的检索表26B的项26B-1、26B-2、…与DNS的IP地址查询消息所示的查询内容264对应,指定作为包的传送目的地的扩展模块的交换端口号265。
包传送模块20的处理器23根据来自交换部40的接收包的PCT/UDP首标所示的目标端端口号522的值,选择应适用的服务模块检索表。处理器23从接收包净荷中提取适合上述服务模块检索表的检索关键词信息,来执行表检索。在找到了与检索关键词匹配的项的情况下,向该项指定为包的传送目的地扩展模块的服务模块(交换端口号)传送接收包。在未找到符合检索关键词信息的项的情况下,处理器23根据路由选择表25,将接收包传送到与目标端地址512对应的某一个接口模块。
图11示出Web服务模块包括的Web高速缓存文件36W的一例。在Web高速缓存文件36W中分别存储着包含文件名361和Web内容362的多个记录36W-1、…。在包通信节点装置包括多个Web服务模块的情况下,Web高速缓存文件的结构也可以因每个Web服务模块而异。
图12示出DNS服务模块、例如连接在交换端口号P3-3上的服务模块30-3包括的DNS高速缓存文件36D的一例。在DNS高速缓存文件36D中,分别与DNS消息的查询部指定的查询内容363和类364对应,存储了表示应向请求方回答的地址365的多个记录36D-1、36D-2、…。
以下,参照图13~图17所示的流程图,来详述图1所示的包通信节点装置的工作。
图13示出接口模块10-i(i=1~n)的处理器13A执行的接收包处理例程100的流程图。
接收包处理例程100从接收缓冲器12A中读取1个接收包(步骤101),如果在接收缓冲器12A中没有接收包(102),则结束该例程。在读取了接收包的情况下,解析该包首标,并提取目标端地址、协议号、目标端端口号(103),以这些提取信息为检索关键词来检索扩展模块检索表16(104)。在检索的结果(105)是找到了与检索关键词匹配的项的情况下,生成包含该项指定为包传送目的地的扩展模块的交换端口号164和确定标志165的值的内部首标,并将其附加到接收包上(106),作为内部包而输出到发送缓冲器17A(109)。
在扩展模块检索表16中没有符合检索关键词的项的情况下,根据接收包的目标端地址来检索路由选择表15(107)。然后,生成包含路由选择表15指定为传送目的地的接口模块的交换端口号的内部首标,将其附加到接收包上(108),作为内部包而输出到接收缓冲器(109)。
通过上述接收包处理例程100可以理解,在本发明的包通信节点装置中,各接口模块10将具有在扩展模块检索表16中预先作为项而注册的属性信息的接收包,选择性地传送到包传送模块20、或某一个服务模块30,将其他接收包选择性地传送到路由选择表15所示的其他某一个接口模块。
其中,在处理器13A是输入线路接口10A-i专用的处理器的情况下,将内部包输出到接收缓冲器17A(109)后,返回到步骤101来处理下一接收包即可。而在处理器13A是输入线路接口10A-i和输出线路接口10B-i共享的处理器的情况下,交替执行上述接收包处理例程100,和从自接收缓冲器12B中读取的内部包中除去内部首标、并作为发送包而输出到包发送部11B的发送包处理例程(未图示)即可。
图14示出包传送模块20的处理器23执行的包传送处理例程200的流程图。
包传送处理例程200从接收缓冲器22中读取1个包(步骤201),如果在接收缓冲器中没有包(202),则返回到步骤201,重复同样的工作,直至接收到包。在读取了包的情况下,从该包中除去内部首标,并解析包首标,提取目标端端口号(203)。判定目标端端口号(204),并在目标端端口号的值是表示HTTP的Web服务器用应用程序的“80”的情况下,解析包的净荷(205),判定HTTP消息的请求类别71是否是表示内容请求的“GET”(206)。
在请求类别是“GET”的情况下,以HTTP消息所示的主机名73和文件名72为检索关键词来检索Web服务模块检索表26A(207)。在检索的结果(208)是找到了与检索关键词匹配的项的情况下,生成包含该项指定为传送目的地的扩展模块的交换端口号263和确定标志=“1”的内部首标,将其附加到包上(209),作为内部包而输出到发送缓冲器17A(212)。
在请求类别是“GET”以外的情况下,或者在Web服务模块检索表26A中没有与检索关键词匹配的项的情况下,根据上述包的目标端地址来检索路由选择表25(210)。然后,生成包含路由选择表25指定为传送目的地的接口模块的交换端口号的内部首标,将其附加到上述包上(211),输出到发送缓冲器(212)后,返回步骤201。
在步骤204中目标端端口号的值不是“80”的情况下,判定目标端端口号的值是否是表示DNS服务器用应用程序的“53”(213)。在目标端端口号的值是“53”的情况下,执行图15所示的DNS查询包传送处理例程220,将具有新的内部首标的内部包输出到发送缓冲器17A(212)。如果目标端端口号的值不是“53”,则执行上述步骤210~212。
如图15所示,DNS查询包传送处理例程220解析包的净荷(221),判定DNS消息首标中包含的消息类别812的高5位是否全为“0”(222)。在高5位全为“0”的情况下,从DNS消息的查询部82中提取查询内容821,以其为检索关键词来检索DNS服务模块检索表26B(223)。在检索的结果(224)是找到了与检索关键词匹配的项的情况下,生成包含该项指定为传送目的地的扩展模块的交换端口号265和确定标志=“1”的内部首标,将其附加到包上(225),并结束该例程。
在DNS服务模块检索表26B未找到与检索关键词匹配的项的情况下,或者在步骤222中消息类别812的高5位全部为“0”以外的情况下,根据上述包的IP首标的目标端地址来检索路由选择表25(226),生成包含路由选择表25指定为传送目的地的接口模块的交换端口号的内部首标,将其附加到上述包上(211),结束该例程。
通过上述包传送处理例程200可以理解,在本发明的包通信节点装置中,包传送模块20将满足服务模块检索表26(26A、26B)中预先作为项而注册了的条件的接收包,选择性地传送到某一个服务模块30,并将其他接收包选择性地传送到路由选择表25所示的接口模块。
图16示出Web服务模块30-1、30-2的处理器33执行的Web服务处理例程300的流程图。
Web服务处理流程300从接收缓冲器32中读取1个包(步骤301),如果在接收缓冲器中没有包(302),则返回到步骤301,重复同样的工作,直至接收到包。在读取到包的情况下,存储内部首标所示的确定标志的值后,从接收包中除去内部首标,并解析包的净荷,提取HTTP消息(内容取得请求)中包含的文件名72和主机名73(303)。
在确定标志的值为“1”的情况下,以HTTP消息指定的文件名72为检索关键词来检索Web高速缓存文件36W(310)。在确定标志的值为“0”的情况下,判定HTTP消息指定的主机名73与本模块的主机名是否一致(305),如果一致,则检索Web高速缓存文件36W(310)。
在检索Web高速缓存文件的结果(311)是找到了符合指定文件名72的内容的情况下,生成包含检索内容的HTTP响应消息,生成以该响应消息为净荷部的发往内容取得请求方的响应包(312)。然后,根据上述接收包的IP首标的发送端地址来检索路由选择表35,并寻找与内容取得请求方对应的目标端接口模块的交换端口号(313),将包含上述交换端口号的内部首标附加到响应包上(314),输出到发送缓冲器37(324)。
在步骤311中,在Web高速缓存文件中没有符合指定文件名72的内容的情况下,根据接收包的目标端地址来检索路由选择表35,寻找与该包的目标端Web服务器对应的目标端接口模块的交换端口号(321)。然后,向接收包上附加包含上述交换端口号的内部首标(322),作为内部包而输出到发送缓冲器37(324),并返回到最初的步骤301。
在步骤305中指定主机名73与本模块的主机名不一致的情况下,判定在包通信节点装置中是否存在本模块以外的其他Web服务模块(320)。例如可以通过参照数据存储器39中准备的配置参数(服务模块配置信息),来判定有无其他Web服务模块。如果在包通信节点装置中不存在本模块以外的Web服务模块,则执行步骤321~324,返回到最初的步骤301。
在包通信节点装置中存在本模块以外的其他Web服务模块的情况下,生成包含预先已知的包传送模块20的交换端口号和确定标志“0”的内部首标,将其附加到接收包上(323),输出到发送缓冲器37(324)。
通过上述Web服务处理流程300可以理解,在本发明的包通信节点装置中,交换部40中容纳的Web服务模块能够替连接在网络上的Web服务器来响应内容取得请求。此外,在接口模块10的内容取得请求包的传送目的地不适当的情况下,能够从Web服务模块向包传送模块20传送请求包,在高速缓存文件中没有目的内容的情况下,能够将请求包传送到网络端的适当的Web服务器。
图17示出DNS服务模块30-3、30-4的处理器33执行的DNS服务处理例程400的流程图。
DNS服务处理流程400从接收缓冲器32中读取1个包(步骤401),如果在接收缓冲器中没有包(402),则返回到步骤401,重复同样的工作,直至接收到包。在读取了包的情况下,存储了内部首标所示的确定标志的值后,从接收包中除去内部首标,解析包的净荷之后,提取DNSP消息(地址请求)的首标部中包含的消息类别812、查询部82中包含的查询内容821(主机名)及类823(403)。
在确定标志的值为“1”的情况下,以DNS消息指定的查询内容和类为检索关键词来检索DNS高速缓存文件36D(410)。在确定标志的值为“0”的情况下,检查消息类别812的高5位(405)。在高5位全为“0”的情况下,判定查询内容的末尾与本模块的域名是否一致(406),如果一致,则以DNS消息指定的查询内容和类为检索关键词来检索DNS高速缓存文件36D(410)。
在DNS高速缓存文件中找到了符合检索关键词的项的情况下(411),生成包含该项所示的地址365的DNS响应消息,生成以该响应消息为净荷部的发往地址请求方的响应包(412)。然后,与图16的步骤313、314同样,检索路由选择表35,寻找目标端接口模块的交换端口号(413),将包含上述交换端口号的内部首标附加到响应包上(414),输出到发送缓冲器37(424)后,返回到步骤401。
在步骤411中在DNS高速缓存文件中没有符合检索关键词的项的情况下,与图16的步骤321、322同样,检索路由选择表35,寻找与接收包的目标端DNS服务器对应的目标端接口模块的交换端口号(421),向接收包上附加包含上述交换端口号的内部首标(422),作为内部包而输出到发送缓冲器37(424),返回到最初的步骤301。
在步骤406中查询内容的末尾与本模块的域名不一致的情况下,例如参照数据存储器39中准备的配置参数,来判定在包通信节点装置中是否存在本模块以外的其他DNS服务模块(420)。如果不存在本模块以外的DNS服务模块,则执行步骤421~424,返回到最初的步骤401。在包通信节点装置中存在本模块以外的其他DNS服务模块的情况下,生成包含预先已知的包传送模块20的交换端口号和确定标志“0”的内部首标,将其附加到接收包上(423),输出到发送缓冲器37(424)。
通过上述DNS服务处理流程300可以理解,在本发明的包通信节点装置中,交换部40中容纳的DNS服务模块能够替连接在网络上的DNS服务器来响应地址取得请求。此外,在接口模块10的内容取得请求包的传送目的地不适当的情况下,也能够将请求包传送到包传送模块20,在高速缓存文件中没有目的数据的情况下,能够将请求包传送到网络端的适当的DNS服务器。
从以上实施例可知,根据本发明,作为包通信节点装置中容纳的模块之一,包括根据接收包的净荷解析结果来决定接收包的传送目的地的包传送模块20,因此,在作为包通信节点装置的扩展模块而存在具有同一或同类服务应用程序功能的多个服务模块的情况下,各接口模块也能够经由上述包传送模块20,将这些服务模块应处理的接收包高精度地分发到适当的服务模块。因此,能够在包通信节点装置内进行用多个服务模块来分散负担的迅速的服务处理。
在上述实施例中,假定了Web服务模块和DNS服务模块分别存在多个的情况,但是在DNS服务模块为1个的情况下,在各接口模块10包括的扩展模块检索表16中用DNS用项的包传送目的地扩展模块(交换端口号)164来指定DNS服务模块即可。
在此情况下,DNS服务模块在自己能够响应接收包的情况下,执行DNS服务,在判明接收包是不适合自己的包的情况下,在包通信节点装置内没有其他DNS服务器,所以将接收包传送到其目标端地址所示的网络端的适当的DNS服务器即可。通过这样按照扩展模块组的结构来更新扩展模块检索表16的内容,能够减轻包传送模块20的负担、和包通信节点装置内的包的交换负担来灵活地提供服务。
在实施例中,包传送模块20的功能被限定为专门将来自各接口模块的接收包传送到服务模块或接口模块的功能,但是也可以使包传送模块20也具有特殊的服务功能。例如,在图14所示的流程图中,也可以在判明接收包是Web内容取得请求时(步骤206),参照预先准备的过滤表,在上述请求是请求从预先禁止了的特定Web站点取得内容的情况下,抛弃请求包。
再有,在实施例中,为了简化说明,包传送处理例程200依次判定了接收包的目标端端口号之后,判定了接收包的传送目的地(Web服务模块、DNS服务模块或接口模块),但是为了容许可扩缩地添加扩展模块,例如准备注册了表示目标端端口号和传送目的地判定例程之间的对应关系的多个项的判定例程管理表,包传送处理例程从上述管理表中检索与接收包的目标端端口号对应的项,在该项已注册的情况下,根据该项指定的判定例程来确定接收包的传送目的地,并在符合目标端端口号的项未注册的情况下,根据路由选择表来确定与接收包的目标端地址对应的传送目的地接口模块即可。
此外,在实施例中,说明了对一对输入输出线路包括1个接口模块的包通信节点装置,但是本发明也能够适用于1个接口模块容纳多对输入输出线路、并将来自多个输入线路的接收包依次存储到接收缓冲器中来进行路由选择的形式的包通信节点装置。
Claims (6)
1.一种包通信节点装置,其特征在于,包括:
多个接口模块,分别连接在网络线路上;
多个服务模块,分别响应接收包来执行规定的通信服务处理;
包传送模块,用于将接收包传送到某一个服务模块或某一个接口模块;以及
交换部,将上述接口模块、上述服务模块、上述包传送模块相互连接并在模块间进行包交换,
上述接口模块中的每一个包括路由选择部件,用于将来自网络线路的接收包经上述交换部,选择性地传送到上述包传送模块、服务模块、或与上述接收包的目标端地址对应的其他某一个接口模块中的1个,
上述服务模块中的每一个包括路由选择部件,用于检查来自上述交换部的接收包的净荷,并将判明本服务模块不能应对的接收包选择性地传送到上述包传送模块或选择性地传送到与目标端地址对应的上述接口模块中的一个。
2.如权利要求1所述的包通信节点装置,其特征在于,上述服务模块中的每一个的路由选择部件在判明本服务模块不能应对接收包时,如果在上述交换部上未连接执行与本服务模块同类的应用程序的其他服务模块,则将该接收包选择性地传送到与目标端地址对应的上述接口模块中的一个。
3.一种包通信节点装置,其特征在于,包括:
多个接口模块,分别连接在网络线路上;
多个服务模块,分别响应接收包来执行规定的通信服务处理;
包传送模块,用于将接收包传送到上述服务模块中的一个或者上述接口模块中的一个;以及
交换部,将上述接口模块、上述服务模块、上述包传送模块相互连接并在模块间进行包交换,
上述接口模块中的每一个包括路由选择部件,用于将来自网络线路的接收包经上述交换部,选择性地传送到上述包传送模块、服务模块、或与上述接收包的目标端地址对应的其他某一个接口模块中的1个,
上述接口模块中的每一个具有与接收包的特定的首标项目的组合对应地定义了包的传送目的地模块的扩展模块检索表、和与接收包的目标端地址对应地定义了包的传送目的地模块的路由选择表;
上述接口模块中的每一个的路由选择部件根据来自网络线路的接收包的首标信息和上述扩展模块检索表,来确定作为各接收包的传送目的地的包传送模块或服务模块,在接收包的首标信息不符合用上述扩展模块检索表定义的首标项目的任何组合的情况下,根据上述路由选择表来确定作为各接收包的传送目的地的接口模块。
4.如权利要求3所述的包通信节点装置,其特征在于,
上述接口模块中的每一个的路由选择部件从上述扩展模块检索表和路由选择表中的一个中取得表示接收包的传送目的地模块的传送目的地模块标识符,向各接收包上附加包含上述传送目的地模块标识符的内部首标,变为内部包而输出到上述交换部;
上述包传送模块将来自上述交换部的接收包,变为内部包而输出到上述交换部,该内部包在内部首标中包含表示上述服务模块中的一个或上述接口模块中的一个的新模块标识符;
上述服务模块中的每一个将来自上述交换部的接收包或作为通信服务处理的执行结果而生成的响应包,变为内部包而输出到上述交换部,该内部包在内部首标中包含新的包的传送目的地模块的模块标识符;
上述交换部根据内部首标所示的模块标识符,来交换从上述接口模块、上述包传送模块、上述服务模块接收到的每个内部包。
5.如权利要求3所述的包通信节点装置,其特征在于,
上述接口模块中的每一个的路由选择部件从上述扩展模块检索表和路由选择表中,取得表示接收包的传送目的地模块的传送目的地模块标识符,并向各接收包上附加包含上述传送目的地模块标识符的内部首标,变为内部包而输出到上述交换部;
上述包传送模块将来自上述交换部的接收包,变为内部包而输出到上述交换部,该内部包在内部首标中包含表示上述服务模块中的一个或上述接口模块中的一个的新的模块标识符;
上述服务模块中的每一个将来自上述交换部的接收包或作为通信服务处理的执行结果而生成的响应包,变为内部包而输出到上述交换部,该内部包在内部首标中包含新的包的传送目的地模块的模块标识符;
上述接口模块中的每一个根据内部首标所示的模块标识符来选择性地接收来自上述交换部的输出包,除去内部首标并发送到各个网络线路。
6.如权利要求3所述的包通信节点装置,其特征在于,
上述包传送模块具有与接收包的特定的首标项目和净荷信息的组合相对应地定义了包的传送目的地模块的服务模块检索表、和对应于接收包的目标端地址而定义了包的传送目的地模块的路由选择表,
根据上述服务模块检索表来确定各接收包的传送目的地服务模块,在接收包的首标项目和净荷信息不符合上述服务模块检索表的定义的情况下,根据上述路由选择表来确定与各接收包的目标端地址对应的接口模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003-405504 | 2003-12-04 | ||
JP2003405504A JP4365672B2 (ja) | 2003-12-04 | 2003-12-04 | パケット通信ノード装置 |
JP2003405504 | 2003-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1625154A CN1625154A (zh) | 2005-06-08 |
CN1625154B true CN1625154B (zh) | 2010-12-15 |
Family
ID=34728153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004100749651A Expired - Fee Related CN1625154B (zh) | 2003-12-04 | 2004-09-01 | 包通信节点装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7567561B2 (zh) |
JP (1) | JP4365672B2 (zh) |
CN (1) | CN1625154B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8477605B2 (en) * | 2004-09-29 | 2013-07-02 | Rockstar Consortium Us Lp | Preventing illicit communications |
JP4704729B2 (ja) | 2004-10-20 | 2011-06-22 | 株式会社日立製作所 | パケットデータ処理ノード装置 |
JP2006229830A (ja) * | 2005-02-21 | 2006-08-31 | Hitachi Ltd | パケット通信装置 |
JP4309359B2 (ja) | 2005-03-09 | 2009-08-05 | 株式会社日立製作所 | パケット通信装置とその機能拡張方法 |
JP4585944B2 (ja) * | 2005-08-31 | 2010-11-24 | 株式会社日立製作所 | パケット通信装置 |
JP4759389B2 (ja) * | 2006-01-10 | 2011-08-31 | アラクサラネットワークス株式会社 | パケット通信装置 |
JP4609331B2 (ja) * | 2006-01-27 | 2011-01-12 | 株式会社日立製作所 | 複合型情報プラットフォーム装置およびその通信帯域保証方法 |
JP4626544B2 (ja) * | 2006-03-13 | 2011-02-09 | 株式会社日立製作所 | 複合型情報プラットフォーム装置および複合型情報プラットフォーム装置の管理方法 |
US20070258469A1 (en) * | 2006-05-05 | 2007-11-08 | Broadcom Corporation, A California Corporation | Switching network employing adware quarantine techniques |
US7596137B2 (en) * | 2006-05-05 | 2009-09-29 | Broadcom Corporation | Packet routing and vectoring based on payload comparison with spatially related templates |
US7948977B2 (en) * | 2006-05-05 | 2011-05-24 | Broadcom Corporation | Packet routing with payload analysis, encapsulation and service module vectoring |
US7895657B2 (en) * | 2006-05-05 | 2011-02-22 | Broadcom Corporation | Switching network employing virus detection |
US20070258468A1 (en) * | 2006-05-05 | 2007-11-08 | Broadcom Corporation, A California Corporation | Intermediate network node supporting packet analysis of encrypted payload |
US20070258437A1 (en) * | 2006-05-05 | 2007-11-08 | Broadcom Corporation, A California Corporation | Switching network employing server quarantine functionality |
JP2008178001A (ja) * | 2007-01-22 | 2008-07-31 | Alaxala Networks Corp | ネットワーク転送システム |
US8856205B2 (en) * | 2007-07-24 | 2014-10-07 | Ricoh Company, Ltd. | Extensible web services system |
KR100912545B1 (ko) * | 2007-09-21 | 2009-08-18 | 한국전자통신연구원 | 패킷 처리 장치 및 방법 |
JP2009259200A (ja) * | 2008-03-17 | 2009-11-05 | Fujitsu Ltd | データ処理装置、データ処理方法およびデータ処理プログラム |
JP5235175B2 (ja) * | 2009-07-29 | 2013-07-10 | 日本電信電話株式会社 | 通信装置および通信装置における情報処理方法 |
JP5672558B2 (ja) * | 2009-12-17 | 2015-02-18 | 日本電気株式会社 | ネットワークシステム、ネットワーク制御装置、及び制御方法 |
JP5753372B2 (ja) * | 2009-12-22 | 2015-07-22 | キヤノン株式会社 | データ処理装置およびその制御方法 |
US8902756B2 (en) * | 2010-02-04 | 2014-12-02 | Nippon Telegraph And Telephone Corporation | Packet transfer processing device, packet transfer processing method, and packet transfer processing program |
US8462774B2 (en) * | 2010-08-04 | 2013-06-11 | Alcatel Lucent | Virtual IP interfaces on multi-chassis link aggregates |
JP5704567B2 (ja) * | 2011-09-13 | 2015-04-22 | 株式会社日立製作所 | ノード装置、システム、及び、パケット処理方法 |
CN103346974B (zh) * | 2013-06-03 | 2015-04-08 | 华为技术有限公司 | 一种业务流程的控制方法及网络设备 |
US10348626B1 (en) * | 2013-06-18 | 2019-07-09 | Marvell Israel (M.I.S.L) Ltd. | Efficient processing of linked lists using delta encoding |
JP6037978B2 (ja) * | 2013-08-29 | 2016-12-07 | 株式会社日立製作所 | データ・パケット通信装置を制御する方法、およびデータ・パケット通信装置 |
CN106789756A (zh) * | 2016-12-26 | 2017-05-31 | 腾讯科技(深圳)有限公司 | 一种基于操作系统内核网桥的数据发送方法和装置 |
CN107040523B (zh) * | 2017-03-21 | 2020-09-11 | 百富计算机技术(深圳)有限公司 | 交易数据传输方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1035221A (zh) * | 1987-11-13 | 1989-08-30 | Dsc通讯公司 | 处理机间的交换网络 |
US5251206A (en) * | 1990-05-15 | 1993-10-05 | International Business Machines Corp. | Hybrid switching system for a communication node |
US5434851A (en) * | 1991-09-20 | 1995-07-18 | Siemens Aktiengesellschaft | Digital telecommunications switching system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4481517B2 (ja) * | 2001-03-19 | 2010-06-16 | 株式会社日立製作所 | インターネットワーク装置及びインターネットワーク方法 |
JP2956608B2 (ja) | 1996-09-17 | 1999-10-04 | 日本電気株式会社 | Atm伝送装置 |
US7024450B1 (en) * | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
US6377574B1 (en) * | 1997-10-24 | 2002-04-23 | Hitachi, Ltd. | Packet switch and method for relaying management cells and data cells in a form of IP packet |
US6973093B1 (en) * | 2000-12-29 | 2005-12-06 | Cisco Technology, Inc. | Switching fabric for interfacing a host processor and a plurality of network modules |
JP4023281B2 (ja) * | 2002-10-11 | 2007-12-19 | 株式会社日立製作所 | パケット通信装置及びパケットスイッチ |
JP4704729B2 (ja) * | 2004-10-20 | 2011-06-22 | 株式会社日立製作所 | パケットデータ処理ノード装置 |
-
2003
- 2003-12-04 JP JP2003405504A patent/JP4365672B2/ja not_active Expired - Fee Related
-
2004
- 2004-08-31 US US10/929,795 patent/US7567561B2/en not_active Expired - Fee Related
- 2004-09-01 CN CN2004100749651A patent/CN1625154B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1035221A (zh) * | 1987-11-13 | 1989-08-30 | Dsc通讯公司 | 处理机间的交换网络 |
US5251206A (en) * | 1990-05-15 | 1993-10-05 | International Business Machines Corp. | Hybrid switching system for a communication node |
US5434851A (en) * | 1991-09-20 | 1995-07-18 | Siemens Aktiengesellschaft | Digital telecommunications switching system |
Also Published As
Publication number | Publication date |
---|---|
JP4365672B2 (ja) | 2009-11-18 |
US20050232262A1 (en) | 2005-10-20 |
CN1625154A (zh) | 2005-06-08 |
JP2005167761A (ja) | 2005-06-23 |
US7567561B2 (en) | 2009-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1625154B (zh) | 包通信节点装置 | |
JP4053967B2 (ja) | Vlanサーバ | |
US7102996B1 (en) | Method and system for scaling network traffic managers | |
US7379458B2 (en) | Server load sharing system | |
CN101019385B (zh) | 在整个设备堆栈中的端口聚合 | |
US7984163B2 (en) | Method and system for optimizing DNS queries | |
US6175874B1 (en) | Packet relay control method packet relay device and program memory medium | |
CN100574268C (zh) | 模块型分组通信节点设备 | |
CN105553977B (zh) | 请求消息的处理、发送方法及装置 | |
CN100525237C (zh) | 数据转发系统、方法以及网络转发设备 | |
US6801525B1 (en) | Internet protocol packet router | |
JPH05219064A (ja) | フレーム転送方法及びブリッジ装置 | |
CN104901997A (zh) | 用于内容中心网络中的直接存储装置存取的系统和方法 | |
CN100574275C (zh) | 包通信装置 | |
JPH10506509A (ja) | 少なくとも2つのセグメントから成る回路網の加入者のアドレス指定方法および装置 | |
EP1719310B1 (en) | Method and apparatus for providing data over a dynamic wireless network | |
EP1338123A1 (en) | A method for an internet communication | |
EP1835666B1 (en) | Communication device, routing method, and program | |
CN101447927B (zh) | 用户终端之间三层隔离的方法和路由设备 | |
JP2002111668A (ja) | ネットワーク構成表示装置 | |
JP6734540B2 (ja) | ネットワーク装置、通信制御方法および通信制御プログラム | |
JP2585843B2 (ja) | ローカルエリアネットワークの相互接続装置および局装置 | |
JPH1023059A (ja) | Lan間接続装置 | |
JP3811099B2 (ja) | マルチキャスト通信システムおよび方法、パケット転送装置、パケット送受信装置 | |
CN118101561A (zh) | 一种发送报文的方法和节点设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101215 Termination date: 20160901 |
|
CF01 | Termination of patent right due to non-payment of annual fee |