CN1104687C - 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备 - Google Patents
传输网络中在包路由选择和包交换之间动态转换的改进方法及设备 Download PDFInfo
- Publication number
- CN1104687C CN1104687C CN97192716.2A CN97192716A CN1104687C CN 1104687 C CN1104687 C CN 1104687C CN 97192716 A CN97192716 A CN 97192716A CN 1104687 C CN1104687 C CN 1104687C
- Authority
- CN
- China
- Prior art keywords
- message
- field
- ifmp
- bag
- stream
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/4608—LAN interconnection over ATM networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- 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/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Abstract
一种在交换及包路由选择之间高效地动态转换,以提供高通过量的方法及设备。本发明提供一种使用流分类及标记来重定向流,在网络中的上游节点及下游节点之间传输包的方法。该方法包括如下步骤:在上游节点和下游节点之间建立缺省虚拟通道(1602),在下游节点接收包,在下游节点对该包进行流分类,以确定该包是否属于应在上游节点重定向的指定流(170),在下游节点选择一个自由标记(1668)并通知上游节点属于该指定流的未来包应在已附加选定自由标记的情况下被发送(1676)。本发明的其它实施例包括在网络中传输包的系统中使用的基本交换单元(1、3),交换网关单元(21)及交换代理器。
Description
本发明涉及通信领域。更具体地说,在一个实施例中,本发明提供了一种用于在交换及包路由选择之间有效实现动态转换的方法及设备,从而在保持完整的网间协议(IP)路由选择功能的同时,提供高的包通过量。本发明把高速、高容量、多任务通信能力和简单性、可缩放性及坚固性结合在一起。
由于利用IP的英特网的普及及持续不断地发展,IP已经发展为当前使用的主要网络层协议。IP规定协议数据单元(PDU)格式及站—路由器及路由器—路由器的交互作用。IP为和英特网网络连接的站上的IP用户提供无连接数据传输服务。IP建立于其上的无连接模型提供了一个坚固且灵活的基础,在该基础上构造一个综合服务通信网络。所有主要的操作系统都包括IP工具,使IP及其伴随传输层(OSI参考模型的第4层)协议,和传输控制协议(TCP)实际上能够跨越所有的硬件平台得到应用。IP的主要优点之一是其惊人的可缩放性,它可在只具有几个用户的网络到企业级网络甚至全球性的英特网中成功运行。
随着英特网的快速发展,常规的IP路由器在英特网上处理通信的能力变得不够了。在今天的快速工作站,客户机—服务器计算及高带宽需求应用的情况下,网络日益受到通信拥塞问题的困扰。典型的问题包括网络响应时间变化无常,网络故障率高,及不支持延迟敏感型的应用。
局域网(LAN)交换器可提供快速、相对便宜的方法减轻共享介质LAN区段上的通信拥塞。交换技术是比共享介质集线器(hub)或简单的桥接器更为有效的在LAN中管理通信及分配带宽的方法。LAN交换器起数据链路层(OSI参考模型的第2层)包转送硬件引擎的作用,处理介质存取控制(MAC)地址,及执行简单的表查找功能。基于交换的网络能够提供更大的通过量,但是仍然存在广播淹没(broadcast flooding)及安全性底之类的问题。仍然需要在网络层(OSI参考模型的第3层)上运行的路由器来解决这类问题。但是快速交换技术的能力超过了现有路由器的能力,从而造成路由器阻塞。英特网基于其上的常规IP包转送设备,IP路由器的能力已不够了。路由器和正在形成的交换技术相比,昂贵、复杂,并且通过量受到限制。为了支持大的全企业网络及英特网增长的通信需求,IP路由器需要运作更快,并且费用较低。
此外,为了支持对实时及多媒体应用(例如会议)日益增长的需求,需要服务质量(QOS)选择。目前TCP/IP不支持QOS选择。但是,随着更多类型的通信所要求的先进功能在IP中得以实现,常规的IP路由器已不足以作为包转送设备。
异步传输模式(ATM)是一种作为未来无路由器网络的基础的高速、可缩放的多业务技术。ATM是一种通过量很高,可缩放,并且支持多种类型通信,包括音频、视频及数据的高效包转送技术。但是,ATM是一种明显不同于当前诸如IP之类连网结构的连网技术,从而对ATM不存在明显的迁移途径。由于ATM的面向连接的结构,ATM难以有效地支持现有的局域网通信,从而需要另外的一组非常复杂,并且未经测试的多层协议。这些协议带来的问题是交换虚拟电路(SVC)连接建立时间太长,难以接受。另外,使TCP/IP用户能够利用SVC发送或接收ATM通信需要采用更新的、未经证实的、非常复杂的协议。这些协议不能使在TCP/IP协议上运行的应用利用ATM的QOS特征,从而对网络管理者带来大量额外开销,而不能实现ATM的任一主要优点。此外,这些协议大多数重复了有良好基础的TCP/IP协议组的功能,必须解决网络中的问题的网络管理者需要学习这些复杂的协议,从而增加了拥有ATM设备的费用。鉴于经过时间考验并已调试的IP具有庞大的,且日益增长的安装用户基础(这一点由英特网的普及得到证实),因此转移到ATM是很困难的。
为了克服对上述问题的现有解决方案的不足,厂家已研究出了许多新的分布式路由选择结构。但是这些结构通常都较复杂、混乱,并重复了IP提供的功能。这些结构对网络管理者还会导致越来越复杂的问题。例如,功能的重复将导致网络管理功能的增加,使得查找网络问题非常困难。因此需要一种进行高速路由选择的系统,以避免阻塞,并避免增加网络管理复杂性。此外,需要提供一种和IP兼容,而没有不必要重复的连网结构。
本发明涉及网络通信,特别提供一种在交换及包路由选择之间有效实现动态转换的方法及设备,以便提供高的包通过量来解决上面讨论的问题。
根据一个实施例,本发明提供一种在网络中的上游节点和下游节点之间传输包的方法。下游节点位于上游节点的下游。该方法包括下述步骤:在上游节点和下游节点之间建立缺省虚拟通道,在下游节点接收一个包,并在下游节点对该包进行流分类,以确定该包是否属于应在上游节点重定向的指定流。该方法还包括在下游节点选择一个自由标记,并通知上游节点属于所述指定流的未来包应在已附加选定的自由标记的情况下被发送。
在另一个实施例中,本发明提供一种在第一节点交换流的方法,第一节点具有指向一个第二节点的下游链路,及指向一个第三节点的上游链路。该方法包括如下步骤:在第一节点对一个第一包进行流分类,以确定第一包是否属于应在第三节点中被重定向的指定流;在第一节点选择第一自由标记;通知第三节点属于所述指定流的未来包应在已附加选定的第一自由标记的情况下被发送。该方法还包括步骤:在第二节点对一个第二包进行流分类,以确定第二包是否属于应在第三节点中被重定向的所述指定流;在第二节点选择第二自由标记;通知第一节点属于指定流的未来包应在附加选定的第二自由标记的情况下被发送。该方法这样操作,可使来自上游链路的指定流可在第2层由第一节点交换给下游链路。
根据另一个实施例,本发明提供一种在网络中传输包的系统中的基本交换单元。该基本交换单元包括交换硬件,及和交换硬件联接的一个控制器。包括一个处理器及存储器的控制器控制交换硬件。基本交换单元还包括安装在可触知介质上的软件,该软件使基本交换单元能够在第3层IP包路由选择及第2层交换之间动态转换,从而优化包通信的通过量。
根据又一实施例,本发明提供一种在网络中传输包的系统中的交换网关单元。该系统包括一个通过通信链路和交换网关单元联接的基本交换单元。该交换网关单元包括一个网关控制器及软件。网关控制器包括一个处理器、存储器及多个NIC。安装在可触知介质上的软件使交换网关单元能够把包流重定向给基本交换单元,从而能在包路由选择及交换之间的进行动态转换,优化包通信的通过量。
根据又一实施例,本发明提供一种在网络中传输包的系统中的交换代理器(switching agent)。该系统包括通过通信链路和交换代理器联接的基本交换单元,其中基本交换单元包括一个控制器及一个交换引擎(switching engine)。交换代理器包括一个处理器、存储器及多个NIC,这些NIC中特定的一个提供所述通信链路,并且至少一个NIC能够和网络中的至少一个节点连接。交换代理器还包括安装在存储器的可触知计算机可读介质上的计算机可读程序代码。计算机可读程序代码使基本交换单元的控制器能够对流进行分类,并将来自第一节点的包重定向给网络中的第二节点,还使基本交换单元的控制器能够指挥交换代理器通过交换引擎把来自第一节点的流转送给第二节点。于是从基本交换单元的控制器卸下了包转送。
下面参考附图将更详细地说明本发明的这些及其它实施例,以及本发明的优点和特征。
图1a是根据本发明一个实施例的系统的的基本交换单元的简图;
图1b是根据本发明另一个实施例的系统的交换网关单元的简图;
图1c是根据本发明又一个实施例的系统的交换代理器的简图;
图2a-2c是根据本发明实施例的典型网络结构的简图;
图3是根据本发明实施例使用的典型计算机系统的简略系统方框图;
图4是根据本发明的一个实施例的典型ATM交换的简略系统方框图;
图5a是概括说明根据本发明的一个实施例,每个系统节点中的初始化过程的简图;
图5b是概括说明系统节点操作的简图;
图5c是概括说明初始化后,当包到达交换代理器的接口之一时,交换代理器上的过程的简图;
图5d是概括说明初始化后,当包通过缺省通道从交换代理器到达交换控制器的接口之一时,交换控制器(至少一个交换代理器通过一个通信链路,例如使用交换控制器的交换引擎,被连接到交换控制器上)的过程的简图;
图6a概括说明了在系统节点标注流的步骤;
图6b概括说明了在基本交换单元交换交换流的步骤;
图6c概括说明了在系统节点(或交换节点)转送包的步骤;
图6d概括说明了交换控制器中,为三种情况下从源交换代理器接收的包标注流时执行的步骤;
图6e概括说明了为从连接的交换节点接收,并预定给连接的交换代理器的一个接口的包标注流时,交换控制器中执行的步骤;
图7a-7b说明了流类型(Flow Type)1及类型2的流标识符的格式;
图8a根据本发明的一个实施例,说明了类属IFMP相邻协议消息的结构;
图8b说明了一个带有长度可变数据字段的类属IP包(现行版本IPv4),数据字段中可封装一个IFMP消息;
图8c是说明当接收带有输入IFMP相邻协议消息的包时,系统节点操作的简图;
图8d是说明当输入的IFMP相邻协议消息不是RSTACK消息时,发送者系统节点操作的状态图;
图9a根据本发明的一个实施例,说明了类属IFMP重定向协议消息的结构;
图9b是说明当接收IFMP重定向协议消息时,系统节点操作的简图;
图9c-9g说明了相应IFMP重定向协议消息的消息体(MessageBody)394中的REDIRECT消息元,RECLAIM消息元,RECLAIMACK消息元,LABEL RANGE消息元,及ERROR消息元的结构;
图10a根据本发明的一个实施例,说明了ATM数据链路上的标志字段的格式;
图10b-10e根据本发明的实施例,分别说明了缺省、流类型0、流类型1及流类型2封装IP包;
图11a说明了封装GSMP包的格式;
图11b说明了GSMP相邻协议消息的格式;
图11c是说明当接收带有输入GSMP相邻协议消息的包时,发送者的操作的简图;
图11d是说明当输入IFMP相邻协议消息不是RSTACK消息时,发送者的操作的状态图;
图12说明了类属GSMP连接管理(Connection Management)消息的格式;
图13a-13e是分别说明当接收GSMP连接管理加入支线(AddBranch)、删除支线(Delete Branch)、删除树(Delete Tree)、校验树(Verify Tree)及全部删除(Delete All)消息时,接收器的操作的简图;
图13f说明了GSMP连接管理移动根(Move Root)消息的格式;
图13g是说明当接收带有输入GSMP连接管理移动根消息的包时,发送者的操作的简图;
图13h说明了GSMP连接管理移动支线(Move Branch)消息的格式;
图13i是说明当接收带有输入GSMP连接管理移动支线消息的包时,发送者的操作的简图;
图14说明了GSMP端口管理(Port Management)消息的格式;
图15a说明了封装IFMP-C包1000;
图15b说明了可包含在图15a的封装IFMP-C包1000的IFMP-C消息字段1006中的典型IFMP-C消息1012的类属结构;
图16a说明了可包含在图15a的封装IFMP-C包1000的IFMP-C消息字段1006中的IFMP-C相邻协议消息1040的类属结构;
图16b是说明在IFMP-C相邻协议的三种可能状态下,发送者(IFMP-C控制器或IFMP代理器)的操作的状态图;
图17a和17b分别说明了IFMP-C接口列表(Interface List)请求及响应消息的结构;
图17c和17d分别说明了IFMP-C接口查询(Interface Query)请求及响应消息的结构;
图17e说明了IFMP-C接口配置(Interface Configuration)请求消息1170的结构;
图18a说明了IFMP-C加入支线请求消息和IFMP-C删除支线请求消息的消息格式1200;
图18b说明了用于图18a的IFMP-C加入支线请求消息和IFMP-C删除支线请求消息中的“截尾包”(“Truncate packet”)传输类型的数据传输(Data Transformation)字段1240;
图18c说明了IFMP-C加入支线响应消息及IFMP-C删除支线响应消息的消息格式1250;
图18d说明了IFMP-C删除树请求消息1260的结构;
图18e说明了IFMP-C移动支线请求消息1300的结构;
图19a说明了IFMP-C获得树统计表(Get Tree Statistics)请求消息1400的结构;
图19b说明了树数据(Tree Data)字段使用的树数据字段结构1406;
图20a和20b分别说明了IFMP-C读取支线(Read Branch)请求消息1420及IFMP-C读取支线响应消息1430的结构;
图21a说明了IFMP-C节点信息(Node Information)请求消息1440的结构;
图21b和21c分别说明了IFMP-C接口统计(Interface Statistics)请求消息1460及IFMP-C接口统计响应消息1470的结构;
图21d说明了图21c的IFMP-C接口统计响应消息1470中的接口统计字段1480的结构;
图21e说明了图21c的IFMP-C接口统计响应消息1470的接口统计字段1480中的通用统计(General Statistics)字段1494的结构;
图21f说明了图21c的IFMP-C接口统计响应消息1470的接口统计字段1480中的专用统计(Specific Statistics)字段1530(用于ATM接口)的结构;
图21g说明了图21c的IFMP-C接口统计响应消息1470的接口统计字段1480中的专用统计字段1540(用于以太网接口)的结构。
I.概述
在此公开了一种在网络中传输包的改进方法及设备。该方法及设备特别可用于经局域网(LAN)、城域网(MAN)、广域网(WAN)、英特网、或类似网络高通过量传输能够携带音频、视频及数据信号的IP包,这里将举例说明,但是本发明并不局限于此。本发明还可用于需经网络传输包的各种应用中。
这里描述的系统是一种动态交换及路由选择系统。该系统一般称为“交换系统”,但是应认识到该系统动态地提供数据链路层2的交换功能,及网络层3的路由选择及包转送功能。另外,该系统的“基本交换单元”也动态地提供数据链路层2的交换功能,及网络层3的路由选择和包转送功能。该系统的“交换网关单元”用作能够把现有局域网与基干环境和基本交换单元的网络相连的访问装置。类似于交换网关单元,“交换代理器”也用作能够把现有局域网与基干环境和至少一个基本交换单元相连的访问装置。交换网关单元和基本交换单元都具有独立的流重定向管理能力,都运行路由选择协议,并且在缺少任何流重定向的情况下,都可独立作出路出选择决定,对此下文将作进一步说明。于是交换网关单元和基本交换单元是同等物。相反,不具备独立流重定向管理能力的交换代理器根据来自基本交换单元的指令转送包。按照这种来自基本交换单元的指令进行操作,交换代理器可转送接收自基本交换单元的包,从而由基本交换单元转送的大部分包,现在可由交换代理器转送给代理器接口上的现有局域网及基干环境。这些环境可包括以太网、快速以太网、FDDI、千兆位以太网、或其它类型的局域网。由于这种包转送由交换代理器根据包转送指令进行,于是基本交换单元可具有更多时间来完成其它任务,例如运行路由选择协议,及减少转送包的等待时间。由交换代理器实现包转送减少了基本交换单元的交换控制器的工作量。于是,某些情况下,例如在某一节点不需要独立的流重定向管理能力,或者可更好地利用基本交换单元的能力的情况下,适于使用交换代理器。交换代理器也可用作交换网关单元的低成本替代物。该系统和网间协议(IP)的现行版本(IPv4)兼容,而且和网间协议的未来版本(例如IPv6)兼容。该系统在网络上提供包交换和包路由选择之间的动态转换,在避免路由器阻塞的同时,提供最佳的高速包通过量。
如图1a所示,根据本发明的一个实施例,交换系统的基本交换单元1包括交换引擎3、交换控制器5及安装在交换控制器5上的系统软件7。特别地,交换引擎3利用当前通用的常规异步传输模式(ATM)交换硬件。当然,根据应用的不同,其它交换技术,例如快速包交换、帧延迟、千兆位以太网技术或其它技术也可用于提供本发明的交换引擎3。本实施例中,交换引擎3是ATM交换器。通常和ATM交换器相关的任意软件被彻底除去,ATM交换器在ATM适配层(Adaptation Layer)类型5(AAL-5)之上。这样,信令发送、现有的任意路由选择协议、及任意局域网仿真服务器或地址分解服务器等被除去。交换控制器5是一个具有ATM网络适配器或网络接口卡(NIC)9的计算机,ATM网络适配器或网络接口卡(NIC)9通过ATM链路11和交换引擎3连接。系统软件7安装在基本交换单元1中,更具体地说安装在作为交换控制器5的计算机中。
基本交换单元1的交换引擎3具有多个物理端口13,端口13能够和多种设备,例如数据终端设备(DTE)、数据通信设备(DCE)、服务器、交换器、网关等连接。每个物理端口13可通过一个ATM链路和安装有ATM适配器或网络接口卡(NIC)的设备,或者另一基本交换单元的一个端口,或者交换网关单元的一个端口,或者交换代理器的一个端口相连。提供基本交换单元的交换引擎3的ATM交换硬件在数据链路层上操作(OSI参考模型的第2层)。
当由系统软件7判定到基本交换单元被请求时,交换引擎3用来实现高速交换功能。交换系统的交换能力只受交换引擎3中使用的硬件的限制。于是本发明的本实施例能够利用ATM技术的高速、高容量、高带宽性能。当然,根据应用的不同,其它交换技术,例如快速包交换、帧延迟、千兆位以太网技术、或其它技术也可用于提供本发明的交换引擎3。
在本发明的一个实施例中,交换控制器5是一个通过ATM链路9和ATM交换硬件3连接的计算机,系统软件安装在该计算机上。除了在第3层进行标准的无连接IP路由选择功能外,交换控制器5还根据本地情况为包做出流分类决定。
如图1b所示,根据本发明的另一实施例,交换系统的交换网关单元21包括网关交换控制器23,及安装在网关交换控制器23上的系统软件25。网关交换控制器23包括多个网络适配器或网络接口卡27,及一个ATM网络接口卡29。类似于基本交换单元1的交换控制器5,网关交换控制器23也是一个装备有一个ATM网络接口卡29的计算机,ATM网络接口卡29具有安装在该计算机上的系统软件25。如前所述,交换网关单元用作能够把现有的局域网与基干环境和基本交换单元的一个网络相连的访问设备。于是,网络接口卡27的类型可以不同,例如10BaseT以太网网络接口卡、100BaseT以太网网络接口卡、光纤分布数据接口(FDDI)网络接口卡、及其它网络接口卡,或者前述网络接口卡的任意组合。当然,网络接口卡27使用的具体类型取决于交换网关单元21访问的现有局域网和基干环境的类型。多个局域网可以连接到一个交换网关单元21。ATM网络接口卡29允许交换网关单元21通过ATM链路和基本交换单元1相连。当然,为了连接交换网关单元21和另一个交换网关单元,网络接口卡27也可以是ATM网络接口卡。
除了基本交换单元和交换网关单元外,本发明的系统还可包括经适当装备的主计算机、工作站或服务器。特别地,在装备有适当的ATM网络接口卡的主计算机、工作站或服务器上可安装一个系统软件子集,使得主机能够直接连接到基本交换单元上。
如图1c所示,根据本发明的又一个实施例的交换代理器901是一个计算机,它装有多个用于连接现有局域网及基干环境的网络适配器或网络接口卡903,一个用于连接基本交换单元1的ATM网络接口卡905,及使交换代理器901能够根据基本交换单元1的指令转送包的适当系统软件907。交换代理器用作能够把现有局域网与基干环境和至少一个基本交换单元相连的访问设备。于是,网络接口卡903可以是相同或不同的类型,例如10BaseT以太网网络接口卡、100BaseT以太网网络接口卡、光纤分布数据接口(FDDI)网络接口卡、及其它网络接口卡,或者前述网络接口卡的任意组合。当然,网络接口卡903使用的具体类型取决于交换代理器901访问的现有局域网和基干环境的类型。多个局域网可以连接到交换代理器901。ATM网络接口卡905允许交换代理器901通过ATM链路和基本交换单元1相连。当然,根据基本交换单元1中采用的具体交换引擎技术(本实施例中为ATM)来恰当选择网络接口卡905。
基本交换单元、交换网关单元、交换代理器及系统软件允许用户以工作组、校园及城域网环境为目标建立灵活的IP网络,作为当前校园基干网拥挤问题的高性能、可缩放解决方案。使用本发明的系统,可实现各种网络结构,以提供端对端无缝IP通信流,同时网络结构具有高带宽、高通过量及组件互操作性的特征。图2a-2c说明了根据本发明可能的多种网络结构中的少数几种。当然,图2a-2c只是示范性结构,许多替代结构也是可能的。
图2a表示了校园局域网结构的简图,在该网络中,基本交换单元1用作整个校园网络的集中IP包转送设备,校园网络具有几个和现有局域网连通的交换网关单元21。基本交换单元1和包括三个服务器31n(其中n=1-3)的服务器场相连。每个服务器31n装备有一个系统软件子集,及一个ATM网络接口卡,以便能够通过对应的ATM链路33n(其中n=1-3)和基本交换单元1相连,ATM链路33n是OC-3(155Mbps)链路。使服务器直接通过高速ATM链路连接到基本交换单元1为频繁访问的服务器提高了包通过量。基本交换单元1也通过相应的ATM链路33n(其中n=4-6)和三个交换网关单元21相连,ATM链路33n也是OC-3链路。通过链路334和基本交换单元1相连的第一交换网关单元21还通过适当的链路391和局域网351相连,局域网351可以是以太网或FDDI的某些类型。局域网基干351通过适当的网络接口卡43和个人计算机、终端或工作站41相连。类似地,分别通过链路335及336和基本交换单元1连接的第二及第三交换网关单元21也分别通过以太网或FDDI链路392及393和局域网基干352及353连接。这样按照本发明,图2的结构使和不同局域网连接的用户能够使用无缝IP通信流通信,而不会产生阻塞。
作为另一个例子,图2b表示了工作组结构的简图。图2b说明了高性能工作组环境,其中几个主计算机45通过ATM链路33m和多个基本交换单元1连接,基本交换单元1和与带有用户设备41的局域网35相连的交换网关单元21连接。这种结构中,第一基本交换单元1通过ATM链路331(155Mbps)和第二基本交换单元1连接。多个主计算机45通过各自的155MbpsATM链路33x(其中x=2-5)经各自的ATM网络接口卡47和第一基本交换单元1相连。另外,多个主计算机45通过各自的25MbpsATM链路33y(其中y=8-10)经各自的ATM网络接口卡49和第二基本交换单元1相连。如前所述,装备有ATM网络接口卡的主计算机45上安装有一个系统软件子集,使得TCP/IP主机能够直接和基本交换单元相连。第一和第二基本交换单元1分别通过ATM链路336(155Mbps)和337(25Mbps)和交换网关单元21连接。第一及第二基本交换单元1通过以太网或FDDI链路39和交换网关单元21的连接使主计算机45的用户能够和连接到局域网35的用户设备41通信。用户设备41可以是具有适当的和任意以太网或FDDI局域网35连接的网络接口卡43的个人计算机、终端或工作站。这样主计算机的工作组就和校园网络的其余部分无缝集成在一起。
作为又一个例子,图2c表示了使用一个基本交换单元1;几个交换代理器911、913、915;及一个系统节点916(例如,另一个基本交换单元、交换网关单元、或主机)的简单结构的简图。当然,其它结构可以随意地包含更多的系统节点及其它组合。图2c举例说明了几个交换代理器911、913及915,每个代理器具有各自的用于不同以太网局域网917n(本例中n=1-6)的接口,每个以太网局域网917n都具有连接的用户设备(图中未表示出),每个代理器通过ATM链路919m(本例中m=1-3)和基本交换单元1相连,基本交换单元1包括一个由ATM链路923与交换引擎925连接的交换控制器921。当然,局域网917n可以是FDDI、10BaseT或100BaseT以太网、千兆位以太网、其它类型的网络,或者这些类型网络的任意组合。和局域网917n连接的用户设备可以是具有和局域网917n连接的适当网络执着口卡的个人计算机、终端、打印机、服务器、工作站等等。系统节点916通过ATM链路9194连接到基本交换单元1的交换引擎925上。
通常,图2c中的交换控制器921通过支配相应的接口(用于包转输及包接收),及通过指导交换代理器如何处理在特定流类型的特定流中接收的包来控制交换代理器。特定流类型及特定流可通过IFMP-C协议的操作由交换控制器921产生。如上所述,交换控制器921连接到链路层交换器(例如ATM交换器925),链路层交换器又连接到交换代理器(例如911、913、915)和/或连接到另一系统节点916上。初始化中,交换控制器921发送IFMP-C包给交换代理器,允许交换控制器921了解第一个交换代理器的具体配置(关于安装的网络接口等)。随后交换控制器921支配连接到交换代理器上的一个或多个网络接口917n开始接收包。交换控制器921还在交换代理器中建立包处理,以便把接收的某些包传输给交换控制器921,而丢掉接收的其它包(例如,如果这些包是为未由交换控制器921处理的协议而接收)。如果交换控制器921检测到流可由交换代理器处理,而不用交换控制器921介入时,交换控制器921就使用IFMP-C指导交换代理器处理该包(例如丢掉包,使用一种或多种不同输出格式把该包转送出一个或多个接口,或者使用不同的服务类型在本地转送包)。转送包的同时对包进行变换(例如,减小包中的生存时间,更新IP标题检查和,对不同流类型格式的标题管理等等)。下面将对交换代理器、交换节点及交换控制器(例如图2所示结构中所表示的)的互操作进行详细说明。
根据本发明,系统通过使用系统软件在ATM(或其它实施例中的替换技术)交换硬件上加入完备的IP路由选择功能,替代任意现有ATM交换控制软件来控制ATM交换器。于是,本发明的系统能够在网络层IP路由选择(需要时)和数据链路层交换(可能时)之间移动,以便以有效的方式产生高速度、高容量的包传输,而不会产生路由器阻塞的问题。
利用下文将进一步说明的Ipsilon流管理协议(IFMP),系统软件使系统节点(例如基本交换单元、交换网关单元、或主计算机/服务器/工作站)能够把IP包分入基于某些共同特征的类似包的“流”中。流是从特定源发送给特定(单点传送或多点传送)目的地的包序列,这些包在它们的路由选择及它们所需的任意本地处理方法上相关。本发明能够根据流的类型对不同类型流进行不同处理。可通过把某些类型的流映到使用ATM交换引擎的单独ATM连接中对它们进行处理,以实现包的高速交换。某些类型的流,例如载有实时通信的流,具有服务要求等级的流,或者可能具有长保持时间的流可被构成,以便只要可能就被交换。其它类型的流,例如持继时间短的流或数据库查询由无连接IP路由选择处理。特定的包流和特定的ATM标记(即,ATM虚拟路径标识符(VPI)和虚拟通道标识符(VPI))相联系。假定虚拟通道是单向的,于是每个链路输入方向的ATM标记由它所连接的输入端口所拥有。链路上传输的每个方向被分别处理。当然,每个方向上的流传输由系统分开处理,但是处理方式类似。
流分类是一个本地策略决定。当系统节点接收IP包时,该系统节点通过缺省通道传输该IP包。节点还把该IP包分属一个特定流,于是决定属于相同流的未来包是应在ATM交换引擎中优先直接交换,还是继续由节点中的路由器软件逐段转送。如果决定交换包流,首先必须标注包流。为了标注包流,节点为该包流选择接收该包的输入端口的一个可用标记(VPI/VCI)。随后作出标注包流决定的节点存储该标记、流标识符及生存时间,并且逆流向包的前一来源节点发送IFMP REDIRECT(重定向)消息。流标识符含有说明该流的标题字段集。生存时间规定重定向的有效时间长度。除非刷新流状态,否则生存时间期满,流和标记之间的联系就被删除。在刷新流状态之前,生存时间期满会导致更多属于该流的包将在相邻节点之间的缺省转送通道上传输。通过逆流发送一个重定向消息完成流状态刷新,该重定向消息具有和先前REDIRECT消息相同的标记及流标识符,及另一个生存时间。重定向消息请求上游节点通过标记指定的虚拟通道传输所有其它和流标识符标识的特征匹配的包。重定向决定也是一个由上游节点处理的本地决定,而流分类决定是由下游节点处理的本地决定。于是即使下游节点请求重定向特定包流,上游节点也可决定是接受还是忽略该重定向请求。另外,不应答重定向消息。相反,到达新的虚拟通道的第一个包指示重定向请求已被接受。
为通过ATM数据链路传输属于标识流的IP包,系统软件还使用了不同的封装,这取决于流的不同流类型。在本实施例中,使用了四种类型的封装。
除了IFMP之外,系统软件利用另一种协议——通用交换管理协议(GSMP),通过系统的基本交换单元的交换控制器和ATM硬件交换引擎之间的ATM链路建立通信,从而使第2层的交换(可能时)和第3层的IP路由选择及包转送(必须时)成为可能。特别地,GSMP是一种控制ATM交换器的通用、非对称协议。即,交换控制器和ATM交换器之间是主从关系。GSMP运行于初始化时跨越交换控制器和ATM交换器之间的ATM链路建立的虚拟通道上。单个交换控制器可在独立的虚拟通道上使用GSMP的多个实例来控制多个ATM交换器。同样包括在GSMP中的是GSMP相邻协议,该协议用来使交换控制器和ATM交换器之间的ATM链路两头的状态同步,以便发现链路另一端的实体身份,并检测该实体身份的变化。
GSMP允许交换控制器跨越ATM交换器建立并释放连接,在点对多点连接上加入及删除叶,管理交换端口,请求配置信息及请求统计。GSMP还允许ATM交换器通知交换控制器诸如链路正在下行(GOINGDOWN)之类的事件。
假定交换器具有多个端口,其中每个端口是输入端口及输出端口的组合。ATM信元从外部通信链路通过输入虚拟通道在一个输入端口到达该ATM交换器,并从一个输出端口通过输出虚拟通道离开该ATM交换器去往外部通信链路。如前所述,端口或链路上的虚拟通道由它们的VPI/VCI标注。通过把一个或多个输入虚拟通道(或根)和一个或多个输出虚拟通道(或支线)相连接,形成一个跨越ATM交换器的虚拟通道连接。虚拟通道连接由它们到达的输入端口,及它们的输入虚拟通道的VPI/VCI标注。在交换器中,每个端口具有一个由输入ATM的VPI/VCI索引的硬件查找表,表中的条目由交换器中的本地控制处理器控制。
对于GSMP,当建立每个虚拟通道连接时,通过向虚拟通道连接分配一个优先级,可使建立的每个虚拟通道连接具有一定的服务质量(QOS)。对于共享同一个输出端口的虚拟通道连接,如果两个信元同时位于交换器中,那么等级较高连接上的ATM信元和等级较低连接上的ATM信元相比,更可能离开交换器。交换器的多个端口支持的优先级数目从端口配置消息中获得。不同交换器可以不同的方式支持多点传送,例如,交换器可能对多点传送连接的支线数目、支持的多点传送的数目,可分配给多点传送连接的输出支线的不同VPI/VCI的数目有限制,和/或在同一输出端口上支持特定多点传送连接的单个支线。于是可随意规定故障代码。
交换器分配32-位端口数来描述交换端口。端口数可被配置在关于交换器的物理结构(例如,架、槽、端口)的子字段中。每个交换端口还含有交换器分配的端口话路号。在端口不断上行的同时,端口的端口话路号保持。但是,如果在端口已经下行,或不可用之后,或在一个动力循环之后,端口返回向上状态,则端口的端口话路号将改变。使用随机数的某些形式来分配端口话路号,并且端口话路号允许交换控制器检测链路故障,并保持状态同步。
除了IFMP和GSMP之外,一些实施例中的系统软件还使用了另一协议,下文将进一步说明的客户机Ipsilon流管理协议(IFMP-C),通过基本交换单元的交换控制器和交换代理器之间的链路来建立通信,从而当需要时,把第3层的包转送分配给交换代理器。特别地,IFMP-C是一种控制交换代理器的通用、非对称协议。即,交换控制器和交换代理器之间是主从关系。通过使用IFMP-C,交换代理器上的接口好象本地连接在交换控制器上的接口,从而交换控制器/交换代理器外表上看来好象一个系统节点。通常,IFMP-C运行于初始化时跨越交换控制器和交换代理器之间的链路建立的虚拟通道上。单个交换控制器可在独立的虚拟通道上使用IFMP-C的多个实例来控制多个交换代理器。系统起动时,交换控制器启动连接到交换控制器上的每个ATM接口上的一个IFMP-C受话器(受话器连接到ATM接口的缺省VCI上),交换代理器开始在缺省VCI上发送周期SYN消息。当交换控制器从交换代理器接收SYN消息时,交换控制器启动包括在IFMP-C协议中的IFMP-C相邻协议。通过由链路每一侧使用,IFMP-C相邻协议用于跨越交换控制器和交换代理器之间的链路使状态同步,以便发现链路另一端的实体的身份,及检测该实体身份的变化。当IFPM-C相邻协议已使链路两侧状态同步,则链路的每一侧都具有一个识别链路另一侧的实例号。
在完成同步之后,IFMP-C允许交换控制器确定交换代理器上的哪些端口或接口(及它们的属性)可用,并配置每个接口,从而使之可用于转送包。假定交换代理器具有多个端口或接口,其中每个接口或端口是一个输入端口和一个输出端口的组合物。一旦确定并配置了接口,则IFMP-C用于产生、修改及删除转送支线。每个转送支线由输入数据及输出数据组成。在交换代理器中,每个接口具有一个由输入包的输入数据/输出数据索引的硬件查找表,表中的通路由交换代理器中的本地控制处理器控制。输入数据包括几部分信息(根据特定实施例,例如有输入接口、优先级、输入标志、关键字数据及关键字屏蔽),每部分信息成为输入信息的一部分。如果输入数据的任一部分变化,则认为包具有不同的转送输入通路。输出数据包括说明和输入数据匹配的包应被如何发送的几部分信息(根据特定实施例,包括输出接口、删除长度、变换、变换数据、标题数据、服务质量类型及服务质量数据)。一个输入通路可能具有多个输出通路。当包到达交换代理器的接口时,交换代理器搜索和该输入接口相关的输入通路。可按从最低优先级到最高优先级的顺序搜索这些通路。当找到一个匹配的输入通路时,输出支线的信息用于转送该包。
在IFMP-C中,链路级硬件的管理(例如,打开虚拟通道及在以太网中加入硬件地址过滤器)留给交换代理器完成。如果输入关键字屏蔽包括链路级地址位,则交换代理器应确保其将接受这些地址。如果屏蔽不包括链路级寻址信息,则交换代理器不应调整过滤器。这样交换代理器可用对其硬件最有效的方式控制链路级过滤,并且交换代理器必须在关键字中包括足够的链路级信息,以便恰当地过滤包。交换代理器为混杂及多点传送混杂模式管理交换代理器的状态,从而交换代理器不会超出要求的动作之外,试图对代码路径进行不恰当的优化。
下面将根据本发明的一个具体实施例,进一步说明IFMP、GSMP及IFMP-C。
II.系统硬件
A.控制器硬件
图3是可用作基本交换单元1(如图1a所示)中的交换控制器5来执行本发明系统软件的典型计算机系统51的系统方框图。图3还说明了可用作交换网关单元21(如图1b所示)中的交换网关控制器23来执行本发明系统软件的计算机系统的一个例子,图3还说明了可用作装有系统软件子集的主计算机/服务器/工作站的典型计算机的一个例子。当然,为主机配备了其它部分,例如显示器、屏幕及键盘。如图3所示,计算机系统51包括中央处理器69、系统存储器71、I/O控制器73、固定磁盘79、网络接口81及只读存储器(ROM)83之类的子系统。当然,计算机系统51还可为主机选择地包括显示器53、键盘59、显示适配器75及活动磁盘77。箭头,例如箭头85表示计算机系统51的系统总线结构。但是,这些箭头只是用来举例说明任何链接子系统的互连方案的。例如,可使用局部总线把中央处理器69和系统存储器71及只读存储器83相连接。其它适于和本发明一起使用的计算机系统可包括更多的或较少的子系统。例如,另一个计算机系统可包括多个处理器69(即,多处理器系统)或一个超高速缓冲存储器。
在本发明的一个实施例中,用作交换控制器的计算机是标准的基于Intel中央处理器(CPU)的计算机,它装备有标准的外围部件互连(PCI)总线,还装备有ATM网络适配器或网络接口卡(NIC)。该计算机使用ATM网络接口卡通过155MbpsATM链路和ATM交换器相连。本实施例中,系统软件安装在固定磁盘79上,固定磁盘是该计算机的硬盘。本领域有经验人员知道,系统软件可存储在CD-ROM、软磁盘、磁带或其它存储计算机可读代码的可触知介质上。
图3所示的计算机系统51只是适于和本发明一起使用(作为基本交换单元的交换控制器,作为交换网关单元的交换网关控制器,或者作为主计算机/服务器/工作站)的计算机系统的一个例子。此外,图3说明了可用作交换代理器901(如图1c所示)的安装有至少一个系统软件子集(为IFMP-C可操作性而提供)的计算机系统的一个例子。应认识到路由选择协议的系统软件不必安装在用作交换代理器901的计算机系统上,从而该系统软件子集可在一个嵌入设备上运行。
于是,可从用作交换代理器901的计算机系统中省去固定磁盘79,从而对于某些可使用交换代理器901代替交换网关单元的网络,将导致设备费用降低。适于和本发明一起使用的子系统的其它配置对本领域有经验人员来说是显而易的。另外,交换网关单元可装备有多个其它网络接口卡,以便能够连接各种类型的局域网。在交换网关单元中可使用用于不同类型局域网基干的其它网络接口卡或者另外的适配器。例如,可使用SMC10M/100M以太网网络接口卡或FDDI网络接口卡。
在不限制本发明范围的情况下,表1根据上述实施例提供了市场上买得到,可用于控制器操作的部件列表。对本领域有经验人员来说,表1所列的部件显然仅仅代表那些可以和本发明结合使用的部件,并且表1所列部件是为装配根据本发明特定实施例的设备而提供的。本领域有经验人员可用其知晓的各种部件容易地进行替代,或者进行功能的结合或分离。
表1
控制器组件
微处理器 Intel Pentium 133Mhz处理器
系统存储器 16Mbyte RAM/256K超高速缓冲存储器
主板 Intel Endeavor主板
ATM网络接口卡 Zeitnet PCI ATM网络接口卡(155Mbps)
固定磁盘或硬盘 500Mbyte IDE磁盘
驱动器 标准软盘驱动器,CD-ROM驱动器
电源 标准电源
机箱 标准机箱
B.交换硬件
如上所述,ATM交换硬件提供基本交换单元的交换引擎。ATM交换引擎使用厂家独立ATM交换硬件。但是,根据本发明的ATM交换引擎并不依靠其通常的面向连接的ATM路由选择及信号发送软件(SSCOP、Q.2931、UNI3.0/3.1及P-NNI)。相反,完全放弃了所有的ATM协议及软件,并且基本交换单元依靠系统软件来控制ATM交换引擎。将在后面对系统软件进行详细说明。
独立可用的ATM部件可被装配到一个典型ATM交换器结构中。例如,图5是ATM交换器3(图例为16-端口的交换器)的结构的简略方框图,根据本发明的一个实施例,ATM交换器3可用作基本交换单元的交换硬件引擎。但是,根据本发明的另一个实施例,市场上买得到的ATM交换器也可用作基本交换单元的交换引擎。交换硬件3的主要功能部件包括一个开关磁芯,一个微控制器集合体,及一个收发机子部件。通常,开关磁芯实现第2层交换,微控制器集合体为ATM交换器提供系统控制,收发机子部件为接口及来自物理层信号的基本传输和接收而提供。在本例中,开关磁芯基于MMC网络ATMS2000 ATM交换芯片集(Switch ChipSet),该芯片集包括白(White)芯片100、灰(Grey)芯片102、MBUF芯片104、端口接口装置(Port Interface Device(PIF))芯片106及公用数据存储器108。开关磁芯还可选择地包括VC活动检测元件(Activity Detector)110及早期包丢弃(Early Packet Discard)功能件112。还可包括包计数器,图中未表示出。白芯片100提供配置控制及配置状态。除了和白芯片100进行配置状态及控制通信外,灰芯片102还负责利用交换表进行直接寻址及数据传输。MBUF芯片104负责在PIF芯片106及公用数据存储器108之间移动信元通信。公用数据存储器108用作交换器中的信元缓冲。PIF芯片106管理MBUF芯片和交换端口硬件之间来回的数据传输。包括一个存储器元件的VC活动检测元件110提供有关每个活动虚拟通道的信息。早期包丢弃功能件112当需要时能够丢弃某些ATM信元。包计数器使交换器能够计数通过所有输入及输出端口的所有包。总线114、115、116、117提供交换器的各个部件之间的连接。微控制器集合体包括一个中央处理器(CPU)130、动态随机存取存储器(DRAM)132、只读存储器(ROM)134、快擦除存储器136、DRAM控制器138、对偶通用异步收发器(DUART)端口140和142、以及外部计时器144。CPU130起微控制器的作用。ROM134起本地引导ROM的作用,包括所有的交换代码图像、基本的低级操作系统功能,以及诊断信息。DRAM132提供常规的随机存取存储器功能,DRAM控制器138(它可由现场可编程门阵列(FPGA)装置或类似装置实现)提供对DRAM132的刷新控制。快擦除存储器136可被微控制器访问,以获得硬件修正控制、序列号标识、及用于可制造性和跟踪的各种控制代码。DUART端口140和142作为和诊断、监视及其它目的的通信资源相连的接口。需要时,外部计时器144中断CPU130。收发机子部件包括位于PIF芯片106和物理收发机(图中未表示出)之间的物理接口装置146。接口装置146完成对数据流的处理,并实现ATM物理层。当然交换器的部件可布置在印刷电路板,该电路板可驻留在机架上,使其安装或放置在一个台式装置上,这取决于所使用机箱的情况。
在不限制本发明范围的情况下,表2根据上述实施例提供了市场上买得到,可用于交换引擎的操作的部件列表。对本领域有经验人员来说,表2所列部件显然仅仅代表那些可以和本发明结合使用的部件,并且表2所列部件是为装配根据本发明特定实施例的设备而提供的。本领域有经验人员可用其知晓的各种部件或者可得到的交换器容易地进行替代,或者进行功能的结合或分离。当然,如前所述,使用除ATM之外的其它技术(例如帧延迟、快速包交换、或千兆位以太网)的交换引擎要使用恰当的部件。
表2
交换器部件
开关磁芯
芯片集 MMC网络ATMS2000 ATM交换芯片集(白芯片、灰芯片、
MBUF芯片、PIF芯片)
公用数据存储器 标准存储器模块
包计数器 标准计数器
微控制器集合体
CPU Intel960CA/CF/HX
DRAM 标准DRAM模块
ROM 标准ROM
快擦除存储器 标准快擦除存储器
DRAM控制器 标准FPGA,ASIC等
DUART 16552 DUART
外部计时器 标准计时器
收发机子部件
物理接口 PMC-Sierra PM5346
III.系统软件功能
和上文概括说明的一样,IFMP是指示相邻节点把第2层“标记”加入指定包“流”的协议。流是从特定源发送给特定目的地的包序列,这些包在它们的路由选择及其所需的逻辑处理方法上相关。标记指定一个虚拟通道,允许高效地存取用于该流的超高速缓存路由选择信息。标记还允许更多属于该指定流的包在第2层被交换,而不是在第3层进行路由选择。即,如果在网络中的一个特定节点上,上游链路和下游链路都重定向一个流,那么该特定节点将在数据链路层交换该流,而不是在网络层进行路由选择并转送该流。
图5a概括说明了根据本发明的一个实施例,每个节点中的初始化过程。一旦在步骤160启动系统,则在步骤162,每个系统节点在所有端口上建立缺省虚拟通道。随后在步骤164,系统节点等待包到达任一端口。
图5b概括说明了根据本发明的在第3层路由选择和第2层交换之间动态转换的系统节点的操作。初始化之后,在步骤166,一个包到达系统节点的一个端口。如果该包在缺少虚拟通道上被接收(步骤168),则在步骤170,系统节点对该包进行流分类。流分类确定该包是否属于一种流。在步骤172,系统节点确定该包所属的流是否应被优先交换。如果系统节点确定该流应被交换,则在步骤174,系统节点标注该流,随后在步骤176转送该包。转送该包之后,在步骤182,系统节点等待包到达。一旦一个包到达,系统节点返回步骤166。如果在步骤168,系统节点确定该包没有到达缺省虚拟通道,则系统节点不对该包进行步骤170的流分类。当包到达一个备选虚拟通道时,该包属于一个已被标注的流。于是,如果该流也被标注向下游发送(步骤178),则在步骤180系统节点交换该流。交换该流涉及在交换器中,在上游链路标记和下游链路标记之间建立一个连接。在步骤180中交换该流之后,系统节点在步骤176向下游转送该包。如果该流未被标注向下游发送(步骤178),则系统节点不交换该流,而是在步骤176向下游转送该包。当然,只有是基本交换单元的系统节点才执行步骤180。其它系统节点(例如交换网关单元或主机)按图5所示操作,但是不执行步骤180,因为步骤178的结果不用于交换网关单元或主机(因为这些类型的系统节点没有下游链路)。
图5c和5d分别概括说明了根据本发明的交换控制器,及通过通信链路连接到该交换控制器上的交换代理器的操作。要注意的是交换代理器通常遵循图5a说明的初始化过程。图5c概括说明了初始化完成后,当一个包到达交换代理器的一个接口(步骤1600)时,交换代理器上的过程。如果该包未在缺省虚拟通道上被接收(在步骤1602中确定),那么交换代理器在步骤1604存取束缚在该指定通道上的树。当包不到达虚拟通道时,该包属于一个已被标注的流,并且该流已被交换。于是交换代理器转送该包(步骤1606),并且随后等待另一个包到达(步骤1608)。但是,如果在缺省虚拟通道上接收到该包(在步骤1602中确定),那么在步骤1610,交换代理器搜索它的支线表以寻找一个匹配的输入支线。如果未找到匹配的输入支线(步骤1612),则交换代理器在步骤1614中把该包发送给交换控制器,并等待下一个包(步骤1616)。如果找到一个匹配的输入支线(步骤1612),则交换代理器在步骤1618中以指定包的形式转送该包。随后交换代理器检查是否为该包指定了“失败”模式。如后文说明的一样,失败模式指示交换代理器在该包被传输之后,应在匹配该输入支线条目的下一优先级继续在输入支线表中寻找匹配的输入支线。如果未指定失败模式(步骤1620),则随后交换代理器仅仅等待下一个包到达(步骤1622)。但是如果指定了失败模式(步骤1620),则随后交换代理器在下一优先级继续在支线表中寻找匹配的输入支线(步骤1624)。从步骤1624,交换代理器确定是否找到下一优先级的匹配输入支线(步骤1626)。如果未找到,则交换代理器等待下一个包的到达(步骤1622)。但是,如果找到下一优先级的匹配输入支线,则交换代理器从步骤1626转而以指定包的形式转送该包(步骤1618),过程从步骤1620继续进行。
图5d概括说明了初始化完成后,当一个包从交换代理器到达交换控制器的一个接口的虚拟通道时,交换控制器(至少一个交换代理器通过通信链路,例如,使用交换控制器的交换引擎连接到该交换控制器上)上的过程。即,图5d说明了当包被发送给交换控制器(图5c的步骤1614)时,交换控制器上的过程。
在包从交换代理器到达(步骤1650)之后,交换控制器在步骤1652对该包进行流分类。如前所述,流分类确定该包是否属于一种流。从步骤1652,交换控制器在步骤1654确定该包所属的流是否应被交换。如果交换控制器在步骤1654确定该流不应被交换,则交换控制器不交换该流,而只是转送该包(步骤1656),随后等待下一个包(步骤1658)。如果交换控制器在步骤1654确定该流应优先被交换,则交换控制器在步骤1660标注该流,并转送该包(步骤1656),等待下一个包(步骤1658)。
图6a概括说明了与在系统节点(或交换节点)的上游链路中标注流有关的步骤,例如图5b的标注流步骤174所表示的一样。系统节点是交换网关单元或主机时,系统节点标注流如图6a的步骤190、192、200及202所示。当标注流步骤开始时(步骤190),在步骤192,基本交换单元在上游链路上选择一个自由标记x。随后在步骤200,系统节点在上游链路上发送IFMP REDIRECT消息(如虚线193所示)。之后系统节点在步骤202转送该包。系统节点是基本交换单元时,标注流由步骤194、196、198说明。当标注流步骤开始时(步骤190),在步骤192,基本交换单元在上游链路上选择一个自由标记x。随后在步骤194,基本交换单元的交换控制器在交换控制器的控制端口上选择一个暂时标记x′。在步骤196,交换控制器随后向硬件交换引擎发送一个GSMP消息,把上游链路上的标记x映到控制端口的标记x′。随后在步骤198中,交换控制器等待,直到从硬件交换引擎接收到一个指示映射成功的GSMP确认消息为止。一旦接收到回应,在步骤200,基本交换单元在上游链路上发送一个IFMPREDIRECT消息。步骤200之后,系统节点返回如图56所示的步骤176。
图6b概括说明了与在基本交换单元中交换流有关的步骤,例如图5b的交换流步骤180所表示的一样。如上所述,只有是基本交换单元的系统节点才能执行交换流步骤。当在步骤210开始交换流过程时,基本交换单元中的交换控制器在步骤212发送一个GSMP消息,把上游链路的标记x映到下游链路的标记y。标记y是基本交换单元的下游节点分配给该流的标记。当然,该下游节点已经以图5b和6a规定的方式,用在192步骤中选择的自由标记y标注了该流。步骤212之后,基本交换单元中的交换控制器在步骤214等待来自基本交换单元中的硬件交换引擎的GSMP确认消息,以指示映射成功。从而流完全在基本交换单元的硬件交换引擎中,在第2层被交换。随后基本交换单元在步骤176中着手转送包。
图6c概括说明了与在系统节点中转送包有关的步骤,例如图5b的转送包步骤176所示的一样。系统节点在步骤218开始转送包过程。如果包所属的流在下游链路上未被标注(步骤220),则在步骤222,系统节点在缺省虚拟通道上通过下游链路发送该包,随后转到等待状态224等待包的到达。但是,如果包所属的流在指示系统节点先前接收一个IFMPREDIRECT消息,以标注该流一个生存时间的下游链路上被标注(?),则系统节点在步骤226检查该流的重定向生存时间是否已期满。如果生存时间未到期,则在步骤228,系统节点在IFMP REDIRECT消息中标注的虚拟通道上发送该包,随后转到等待状态224。如果生存时间期满,则系统节点在步骤230自动删除流重定向。随后系统节点着手在缺省通道上发送该包(步骤222),并返回图5B所示步骤182的等待状态。
如上所述,图6a-6c说明的是不包含交换代理器的情况下,系统节点(或交换节点)的互操作。图6d-6e说明的是当至少一个交换代理器连接到基本交换单元上时,交换节点的互操作,如下所述。
图6d概括说明了为从连接的源交换代理器接收的包标注流时,在交换控制器中执行的步骤,例如如图5d的标注流步骤1660所示的一样。图6d中说明了三种情况:当希望把包流发送给该源交换代理器的另一个接口时;当希望把包流发送给另一个连接的交换代理器,即目的地交换代理器的一个接口时;及当希望把包流发送给另一个连接的系统节点(或交换节点,例如另一个基本交换单元,交换网关单元,或主机)的一个接口时。
如图6d所示,如果希望把从源交换代理器接收的包流发送给同一个交换代理器的另一个接口(在步骤1662中确定),则交换控制器(在步骤1664)使用IFMP-C支配源交换代理器在该交换代理器的目的接口上,把对于该流接收的带有适当标题及变换的未来包转送出。
如果不希望把从源交换代理器接收的包流发送给同一个交换代理器上的另一个接口(在步骤1662中确定),则在步骤1666中确定是否希望把从源交换代理器接收的包流发送给目的交换代理器上的一个接口。如果希望,则交换控制器(在步骤1668)在交换控制器和源交换代理器之间的上游链路上选择一个自由标记x,并在交换控制器和目的交换代理器之间的下游链路上选择一个自由标记y(在步骤1670)。随后交换控制器在步骤1672使用GSMP把x映到y。在步骤1674,交换控制器使用IFMP-C支配目的交换代理器在目的接口上,把对于该流在标记y接收的带有适当标题及变换的未来包转送出。随后交换控制器(在步骤1676)使用IFMP-C支配源交换代理器,把该流的带有适当标题及变换的未来包发给标记x。
如果不希望把从源交换代理器接收的包流发送给目的交换代理器的一个接口(在步骤1666中决定),则希望把从源交换代理器接收的包流发送给另一个连接的系统节点(或“交换节点”,例如另一个基本交换单元,交换网关单元,或主机)的一个接口。随后交换控制器(在步骤1680)在交换控制器和源交换代理器之间的上游链路上选择一个自由标记x。在步骤1682,交换控制器等待下游链路上的一个自由标记y被交换节点选择,并通过IFMP通信。之后,交换控制器在步骤1684使用GSMP把x映到y。在步骤1686,交换控制器使用IFMP-C支配源交换代理器,把该流的带有适当标题及变换的未来包发给标记x。
图6e概括说明了为包标注流(从步骤1700开始)时,在交换控制器中执行的步骤,包接收自连接的交换节点,并计划发给连接的交换代理器的一个接口。当希望把从源交换节点接收的包流发送给目的交换代理器的一个接口时,交换控制器(在步骤1702)在交换控制器和源交换节点之间的上游链路上选择一个自由标记x,并且(在步骤1704)在交换控制器和目的交换代理器之间的下游链路上选择一个自由标记y。使用交换控制器在步骤1706使用GSMP把x映到y。在步骤1708,交换控制器使用IFMP-C支配目的交换代理器的目的接口,把对于该流在标记y接收的带有适当标题及变换的未来包转送出。在步骤1710,交换控制器使用IFMP请求上游交换节点向标记x传输该流的未来包。上述概括说明的更多细节将在下文说明。
A.IFMP&ATM数据链路上的流标注传输
1.IFMP
利用Ipsilon流管理协议(IFMP),系统软件使系统节点(例如基本交换单元、交换网关单元、或主计算机/服务器/工作站)能够把IP包分入基于某些共同特征的相似包的“流”中。流由“流标识符”指定。特定流的流标识符给出包标题中定义流的字段集的内容或值。在属于该特定流的所有包中,包标题的字段集的内容都是相同的。可以规定几种“流类型”。每种流类型的规定用于识别流的包标题的字段集。例如,一种流类型可规定包标题的字段集,该包标题标记该流为具有在运行于站上的应用之间携带数据的包,而另一种流类型可规定另一种包标题的字段集,该包标题标记该流为具有在站之间携带数据的包。
在本发明的一个实施例中,规定了三种流类型:流类型0,流类型1,流类型2。当然,也可规定不同的或更多的流类型。流类型0用于把IP包从缺省封装改变为新的封装。流类型0的流标识符的格式为空,因此其长度为0。流类型1规定包标题的字段集,该包标题标记该流为具有在运行于站上的应用之间携带数据的包。流类型1可用于具有UDP及TCP协议的包的流,在这些包中,IP标题后的头四个八位位组规定用于指示应用的一个源端口数及一个目的端口数。流类型1的流标识符具有4个32-位的字。图7a中附图标记240指示流类型1的流标识符的格式,包括(按照从最高位(MSB)到最低位(LSB)的顺序)作为第一字的版本字段、网间标题长度字段(英特网Header Length(IHL))、服务类型字段、生存时间字段及协议字段;作为第二字的源地址字段;及作为第三字的目的地址字段。流标识符中的这些字段来自流类型1的IP包的标题。流类型1的流标识符还包括作为第四字的源端口数字段及目的端口数字段(IP包中IP标题后的头四个八位位组)。流类型2规定另一种包标题的字段集,该包标题标记该流为具有在站之间携带数据的包,而没有规定在站上运行的应用。流类型2的流标识符具有3个32-位的字。图7b中附图标记250指示的流类型2的流标识符的格式,包括来自IP包标题的版本字段、网间标题长度字段(英特网Header Length(IHL))、服务类型字段、生存时间字段及协议字段,源地址字段,目的地址字段。类型流2的流标识符的格式和流类型1的流标识符的格式相同,只是没有第四字。各种流类型的流标识符的分级特性使得可对IP包进行最具体的匹配操作,简化了流分类。
本发明能够根据流的类型对不同类型的流进行不同处理。某些类型的流,例如载有实时通信的流,具有服务要求等级的流,或者可能具有长保持时间的流可被构成,以便只要可能就被交换。其它类型的流,例如持继时间短的流或数据库查询由无连接IP包转送处理。另外,每种流类型还规定一种封装,该封装将在流类型被重定向之后使用。可对于不同的数据链路技术,指定用于每种流类型的封装。在本实施例中,系统使用用于ATM数据链路的封装,对此将在下文进一步说明。
特定的包流和特定的ATM标记相联系。根据本实施例,标记是虚拟路径标识符和虚拟通道标识符(VPI/VCI)。用于一个特定端口的多个标记是可在该端口使用的标记集(VPIs/VCIs)。假定虚拟通道是单向的,于是每个链路输入方向的ATM标记由它所连接的输入端口所拥有。当然,对于使用其它交换技术,例如帧延迟的实施例,数据链路连接标识符可用作为标记。对于使用快速包交换技术的实施例,数据链路通道多路复用标识符可用作为标记。
如前所述,流分类是一个本地策略决定。当系统节点接收一个IP包时,该系统节点通过缺省通道传输该IP包。节点还把该IP包分入一个特定流,于是决定属于同一流的未来包是应在ATM交换引擎中直接被交换,还是继续由节点中的路由器软件逐段转送。如果决定交换包流,节点为该流选择接收该包的输入端口的一个可用标记(VPI/VCI)。作出交换包流决定的节点随后存储该标记、流标识符及生存时间,并且逆流向包的前一来源节点发送IFMP REDIRECT消息。如前所述,流标识符含有说明该流的标题字段集。生存时间规定重定向的有效时间长度。除非刷新流状态,否则一旦生存时间期满,流和标记之间的联系将被删除。在刷新流状态之前,生存时间期满会导致更多属于该流的包将在相邻节点之间的缺省转送通道上传输。
通过逆流发送一个重定向消息完成流状态刷新,该重定向消息具有和先前的REDIRECT消息相同的标记及流标识符,及另一个生存时间。重定向消息请求上游节点通过标记指定的虚拟通道,传输所有其它和流标识符标识的特征匹配的包。重定向决定也是一个由上游节点处理的本地决定,而流分类决定是由下游节点处理的本地决定。于是即使下游节点请求重定向特定包流,上游节点也可决定是接受还是忽略该重定向请求。另外,重定向消息不被应答。相反,到达新的虚拟通道的第一个包指示重定向请求已被接受。
本发明中,系统软件的IFMP包括IFMP相邻协议及IFMP重定向协议。IFMP相邻协议使系统节点(主机、基本交换单元或交换网关单元)可以发现链路另一端的系统节点的身份。此外,IFMP相邻协议被用来使链路两端的状态同步,以便当链路另一端的系统节点变化时能够检测到,及交换分配给链路的IP地址列表。使用IFMP重定向协议,只是在系统已使用IFMP相邻协议识别了链路另一端的其它系统节点,并且链路两端实现状态同步之后,系统才可发送REDIRECT消息。通过当前未实现状态同步的链路接收的任何REDIRECT消息必须被丢弃。在下面对系统操作的详细说明之后,将对IFMP相邻协议及及IFMP重定向协议进行详细说明。
利用如图2a所示的局域网结构,说明本发明系统的流分类及重定向的一个特定例子可用于说明本发明系统具有的优点。特别地,该例子主要针对图2a的第一及第二网关交换单元21和基本交换单元1之间的相互作用。系统启动时,在基本交换单元1的控制器,及每个相邻节点(本例中,为第一及第二交换网关单元21)的控制器上运行的系统软件之间建立一个缺省的转送ATM虚拟通道。当通过网络层链路391从局域网基干352传输一个IP包时,该IP包由第一交换网关单元21通过其一个合适的局域网网络接口卡接收。随后,第一交换网关单元21的系统软件检查该IP包,并且随后对该IP包内容进行缺省封装,以便通过链路334(建立于交换网关单元21的ATM网络接口卡和基本交换单元1中的ATM交换硬件的一个选定端口之间)传输给基本交换单元1。ATM交换硬件随后把ATM信元转送给交换控制器5中的ATM网络接口卡9,ATM网络接口卡随后重新装配该包,并将IP数据报转送给交换控制器中用于IP路由选择的系统软件。交换控制器以常规方式,通过启动时在基本交换单元1和第二交换网关单元21之间建立的缺省转送通道转送该包。另外,基本交换单元1中的交换控制器对该包进行流分类,以确定属于同一流的未来包是应在该ATM硬件中直接被交换,还是应继续由系统软件逐段寻径转送。如果交换控制器软件本地决定应交换该流,则它从接收该的输入端口(端口i)的标记空间(标记空间仅仅是VPI/VCI标记的范围)选择一个自由标记(标记x)。交换控制器也在它的控制端口(交换控制器通过其和ATM交换器连接的实际或虚拟端口)选择一个自由标记(标记x′)。使用GSMP,系统软件指导ATM交换器把输入端口i上的标记x映到控制端口c上的标记x′。当交换器向交换控制器返回一个GSMP确认消息时,交换控制器逆流向包的前一个来源节点(本例中,为第一交换网关单元21)发送一个IFMP REDIRECT消息。该REDIRECT消息是一个从基本交换单元1发给第一交换网关单元21的请求,它请求在REDIRECT消息的标记指定的ATM虚拟通道上,传输所有其它标题字段和重定向消息的流标识符中指定字段匹配的包。除非在REDIRECT消息的生存时间期满之前刷新流状态,否则流和重定向消息的标记之间的联系应被删除,这样就导致流中更多的包在第一交换网关单元21和基本交换单元1之间的缺省转送通道(启动时初始建立的)上被传输。
如果第一交换网关单元21接受了在基本交换单元1发送的REDIRECT消息中做出的请求,则属于该流的包将到达交换控制器的带有ATM VPI/VCI标记x′的端口c。包将继续由系统软件重新装配并进行路由选择,但是由于对于该流的前一个路由选择决定被高速缓存,并由系统软件中的标记x′索引,因此对包的处理速度加快了。于是,可以看出流可被标注,但是并不必需被交换。
在下游节点(本例中为第二交换网关单元)也和相同流的重定向相关的情况下,交换的重要优点之一变得明显。当基本交换单元1通过它和第二交换网关单元21之间的缺省转送通道,把属于该流的初始包送到第二交换网关单元21时,下游节点(本例中为第二交换网关单元21)重新装配该包,并以常规方式转送该包。对于在其端口j接收的包,第二交换网关单元21也进行流分类,并根据表中表述的本地策略决定是交换属于该流的未来包,还是在控制器中继续包转送。如果第二交换网关单元21决定应交换该流的未来包,则它逆流向基本交换单元1发送它自已拥有的REDIRECT消息(具有其端口j上的自由标记y,流标识符及生存时间)。当然基本交换单元1可接受或忽略该重定向请求。当基本交换单元1决定交换该流时,基本交换单元1的交换控制器中的系统软件把标记端口i上的标记x映到端口j上的标记y。这样,通信不再发送给交换控制器处理器,而是直接交换给所要求的ATM交换硬件的输出端口。于是,所有其它属于该流的通信可完全在基本交换单元1的ATM交换硬件内被交换。当包从基本交换单元1的ATM交换器的一个端口到达时,第二交换网关单元21使用它的ATM网络接口卡通过ATM链路335接收该包。随后第二交换网关单元重新装配该包,并通过它的一个网络接口卡经链路392把该包发送给局域网352。包计划发往的用户设备41通过用户设备的网络接口卡43从局域网352接收该包。
当系统节点(本例中为基本交换单元1)接受一个REDIRECT消息时,它还改变该重定向流的封装。系统节点会根据流类型使用一种不同类型的封装,而不是在虚拟转送通道上使用IP包的缺省封装。这样基本交换单元1封装属于该流的未来包,并通过标记y中记录的指定虚拟通道传输这些未来包。某些类型的封装会从IP包中除去某些字段。当这些字段被除去时,发布REDIRECT消息的系统节点存储该字段,并且把该字段和指定的ATM虚拟通道联系起来。在本例的情况下,如果基本交换单元1接受由第二交换网关单元21发送的REDIRECT消息,则基本交换单元1存储字段,并把字段和由标记y指定的ATM虚拟通道联系起来。类似地,如果第一交换网关单元21接受由第一交换单元1发送的REDIRECT消息,则第一交换网关单元21存储字段,并把该字段和由标记x指定的ATM虚拟通道联系起来。使用输入标记访问存储的字段可以重建一个完整的包。通过,例如防止用户建立一个去往防火墙后面的一个许可目的地或服务的交换流,随后改变IP包标题来获得对禁止目的地的访问,这种方法提供了一种安全措施。
每个系统节点保留一个后台刷新计时器。当后台刷新计时器期满时,检查每个流的状态。如果从前次刷新周期以来,流已接收了通信,则系统节点通过逆流发送一个具有和初始REDIRECT消息相同的标记及流标识符,及一个新的生存时间的REDIRECT消息来刷新该流的状态。如果该流从前一个刷新周期以来没有接收通信,则系统节点除去该流的高速缓存的状态。通过逆流发布一个RECLAIM(回收)消息回收该标记以便再次使用,这样系统节点除去该流的状态。但是,在上游节点发送一个由发布IFMPRECLAIM消息的节点接收的IFMP RECLAIM ACK消息之前,不删除流状态,并且不重新使用该标记。IFMP RECLAIM ACK消息确认所请求标记的释放。系统节点确定一个流是否以两种不同的方式接收了通信,这取决于该流是被交换还是不被交换。对于被标注,但是不被交换的流,控制器为系统节点检查其自身的状态,以了解该流是否已在前一刷新周期中接收了任一通信。对于被交换的流,控制器使用GSMP消息为系统节点查询ATM交换硬件,以了解特定通道最近是否一直是活动的。于是,在本例中,基本交换单元1监视一个流的通信,如果该特定流被从第一交换网关单元21映到基本交换单元1的控制端口,或者通过基本交换单元1中的ATM交换器被从第一交换网关单元21映到第二交换网关单元21。如果在前一刷新周期中,该流没有新的通信,则基本交换单元将发送IFMPRECLAIM消息,并且当接收到IFMP RECLAIM ACK消息时除去流状态。同样,第二交换网关单元21监视一个流的通信,如果该特定流被从基本交换单元1的控制端口映到第二交换网关单元21。此外,装备有适当系统软件的主计算机/服务器/工作站也装备有一个后台刷新计时器。通过监视映到其上的任意流的通信,主机可发送一个IFMP RECLAIM消息,并且当接收到IFMP RECLAIM ACK消息时除去流状态。
如上所述,IFMP相邻协议被用于建立状态同步,及识别相邻的系统节点及交换IP地址。对IFMP相邻协议来说,对特定链路系统节点具有三种可能状态:SYNSENT(同步消息发送),SYNRCVD(同步消息接收),ESTAB(同步建立)。在系统可使用IFMP重定向协议发送任意重定向消息之前,要求链路两端的状态同步(当一个系统节点达到链路的ESTAB状态时)。
图8a说明了类属IFMP相邻协议消息300的结构。所有的IFMP相邻协议消息都封装在一个IP包中。图8b说明了具有可变长度数据字段的类属IP包(为当前版本IPv4),一个IFMP相邻协议消息可被封装在该可变长度数据字段中。作为IP包含有IFMP消息的指示,封装IP包的IP标题中的协议字段必须含有十进制值101。封装IFMP消息的IP包的标题的生存时间字段被设定为1。另外,利用IP标题的目的地址字段中的地址,所有IFMP相邻协议消息被发送给限定的广播IP目的地址(255.255.255.255)。如图8a所示,IFMP相邻协议消息300包括(按照从MSB到LSB的顺序)下述字段:作为第一个32位字的8位版本(302),8位Op代码(304),及16位检查和(306);作为第二个32位字的发送者实例(308);作为第三个32位字的对等物实例(310);作为第四个32位字的对等物身份(312);作为第五个32位字的对等物下一序列号(314);地址列表(316),这是一个32位字的数目可变域。
在IFMP相邻协议消息中,版本字段302指定当前使用的IFMP协议的版本(当可发展出其它版本时)。Op代码304规定该IFMP相邻协议消息的功能。在本实施例中,有四种可能的Op代码,即IFMP相邻协议消息的功能:SYN(同步消息,Op代码=0)、SYNACK(同步确认消息,Op代码=1)、RSTACK(重置确认消息,Op代码=2)、及ACK(确认消息,Op代码=3)。在每个系统节点中,需要一个计时器来周期地产生SYN、SYNACK及ACK消息。在本实施例中,计时器的周期为1秒,但是也可规定其它周期。如果计时器期满,并且系统节点处于SYNSENT状态,则系统节点重置计时器,并且发送一个SYN IFMP相邻协议消息。如果计时器期满,并且系统节点处于SYNRCVD状态,则系统节点重置计时器,并发送一个SYNACK IFMP相邻协议消息。如果计时器期满,并且系统节点处于ESTAB状态,则系统节点重置计时器,并发送一个ACKIFMP相邻协议消息。
检查和306是来自封装IFMP相邻协议消息的IP包的源地址、目的地址及协议字段与IFMP相邻协议消息的总长度的二进制反码和的16位二进制反码。检查和306由系统用于错误控制目的。
在讨论IFMP时,“发送者”是发送IFMP消息的系统节点, 对等物”是发送者向其发送链路IFMP消息的系统节点。
在SYN、SYNACK及ACK IFMP相邻协议消息中,发送者实例308是该链路的发送者的“发送号”。实例号指示一个链路的特定实例,它是一个32位非零数,该数在近来是唯一的,并且当链路或系统节点在下行之后复原时,保证将发生改变。于是,每个链路具有其自已的唯一实例号。发送者实例用来检测链路在下行之后,何时复原,或者链路另一端对等物的身份何时发生变化。(以类似的方式把发送者实例308用于TCP中的初始序列号(ISN))。对于RSTACK IFMP相邻协议消息,发送者实例308被设定为导致产生RSTACK消息的输入消息的对等物实例字段310的值。
在SYN、SYNACK及ACK IFMP相邻协议消息中,发送者认为对等物实例字段310是该链路对等物的当前实例号。如果发送者不知道该链路对等物的当前实例号,对等物实例字段310将被设定为0。在RSTACKIFMP相邻协议消息中,对等物实例字段310被设定为导致产生RSTACK消息的输入消息的发送者实例字段的值。
对于SYN、SYNACK及ACK IFMP相邻协议消息,对等物身份字段312是消息发送者认为在链路另一端的对等物的IP地址。发送者获取封装发送者接收的SYN或SYNACK消息的IP标题的源地址字段中的该IP地址,并且使用发送者正发送的IFMP相邻协议消息的对等物身份字段中的IP地址。当发送者不知道链路另一端的对等物的IP地址时,对等身份字段312被设定为0。对于RSTACK消息,等对物身份312被设定为导致产生RSTACK消息的输入IFMP相邻协议消息的IP标题的源地址字段的IP地址值。
对等物下一序列号字段314给出在下一个IFMP重定向协议消息中发送者希望到达的对等物的序列号字段的值。如果输入IFMP相邻协议ACK消息中的对等物下一序列号314的值大于该序列号的值(来自从接收输入IFMP相邻协议ACK消息的端口传输出的前一IFMP重定向协议消息)加1,则该链路应被重置。
地址列表字段316是一个或多个IP地址的列表,这些IP地址由IFMP相邻协议消息的发送者分配给链路。该列表必须具有至少一个条目,该条目和IFMP相邻协议消息的IP标题的源地址相同。该列表的内容不被IFMP使用,但是可由路由选择协议采用。
图8c说明了当接收具有输入IFMP相邻协议消息的包时,系统节点的操作。启动系统之后,系统节点接收一个具有输入IFMP相邻协议消息的包(步骤320)。在步骤322,系统节点确定输入IFMP相邻协议消息是否是RSTACK消息。如果输入IFMP相邻协议消息不是RSTACK消息(例如,是SYN、SYNACK或ACK消息),则系统节点以图8d的状态图中说明的方式操作。如果输入IFMP相邻协议消息是RSTACK消息,则系统节点在步骤324检查输入RSTACK消息中的发送者实例及源IP地址,是否和接收输入RSTACK消息的端口的更新对等物校验器(Update PeerVerifier)操作自前一消息存储的值匹配。对于IFMP相邻协议,更新对等物校验器操作被定义为存储来自SYN或SYNACK消息中的发送者实例和源IP地址,该SYN或SYNACK消息在特定端口上接收自对等物。如果在步骤324值匹配,则系统节点在步骤326确定输入RSTACK消息中的对等物实例及对等物身份,是否匹配当前用于所有从接收输入RSTACK消息的端口传输出的SYN、SYNACK及ACK消息的发送者实例及源IP地址的值。如果在步骤326值匹配,则系统节点在步骤328确定系统节点是否处于SYNSENT状态。如果系统节点不处于SYNSENT状态,则系统节点在步骤330重置链路。如果在步骤324值不匹配,或者在步骤326值不匹配,或者系统节点处于SYNSENT状态,则系统节点在步骤332丢弃输入RSTACK消息,并等待另一个包到达。于是当一个RSTACK IFMP相邻协议消息到达系统节点时,系统节点重置链路,如步骤334、336、338、340及342所示。在步骤334,系统节点为链路产生一个新的实例号。随后系统节点在步骤336删除对等物校验器(即,把对等物的发送者实例及源IP地址的存储值设定为0)。在步骤338,系统节点把序列号及对等物下一序列号设定为0。随后系统节点在步骤340发送SYN IFMP相邻协议消息,并在步骤342进入SYNSENT状态。随后系统节点接收供处理的另一个包。
图8d是说明当输入IFMP相邻协议消息不是RSTACK消息时,发送者系统节点的操作的状态图。对于图8d的下述说明,条件“%B”被定义为:输入消息中的发送者实例和源IP地址和,由对接收输入IFMP相邻协议消息的端口的更新对等物校验器操作存储的前一消息的值匹配。图8d中的条件“%C”被定义为:输入消息中的对等物实例及对等物身份,和当前用于所有从接收输入IFMP相邻协议消息的端口传输出的SYN、SYNACK及ACK消息的发送者实例及源IP地址的值匹配。在图8d中,条件“A”表示发送者系统节点接收一个输入SYNACK IFMP相邻协议消息,并且满足条件%C;条件“B”表示发送者系统节点接收一个输入SYNACK IFMP相邻协议消息,并且不满足条件%C;条件“C”表示发送者系统节点接收一个输入ACK IFMP相邻协议消息,并且条件%B及%C都被满足;条件“D”表示发送者系统节点接收一个输入ACK IFMP相邻协议消息,并且条件%B及%C都不被满足。
如果发送者处于SYNSENT状态350,并且从链路另一端的对等物接收一个输入SYN IFMP相邻协议消息,则发送者执行更新对等物校验器操作,并向对等物发送一个SYNACK IFMP相邻协议消息(如步骤352所示)。随后发送者从SYNSENT状态350转到SYNRCVD状态354。如果发送者在SYNRCVD状态354时接收一个输入SYN IFMP相邻协议消息,则发送者在步骤352执行更新对等物校验器操作,并向对等物发送一个SYNACK IFMP相邻协议消息,但是仍保持在SYNRCVD状态354。如果发送者处于SYNRCVD状态354,并且条件B或D被满足,则发送者向对等物发送一个RSTACK IFMP相邻协议消息(如步骤356所示),并保留在SYNRCVD状态354。如果发送者处于SYNRCVD状态354,并且条件C被满足,则发送者向对等物发送一个ACK IFMP相邻协议消息(如步骤358所示),并转到ESTAB状态360。如果发送者处于SYNRCVD状态354,并且条件A被满足,则发送者执行更新对等物校验器操作,并向对等物发送一个ACK IFMP相邻协议消息(如步骤362所示),并转到ESTAB状态360。如果发送者接收SYN或SYNACK IFMP相邻协议消息,或者如果条件C被满足,则发送者处于并保持在ESTAB状态360。如果条件D被满足,同时发送者处于ESTAB状态360,则发送者保持在ESTAB状态360,并发送一个RSTACK IFMP相邻协议消息(如步骤356)所示。当处于SYNSENT状态350时,如果发送者接收一个ACK IFMP相邻协议消息,或者条件B被满足,则发送者保持在SYNSENT状态350,并发送一个RSTACK IFMP相邻协议消息(步骤356)。如果当发送者处于SYNSENT状态350时,条件A被满足,则发送者执行更新对等物校验器操作,发送一个ACK IFMP相邻协议消息(步骤362)并进入ESTAB状态360。
如上所述,在系统使用IFMP相邻协议识别链路另一端的其它系统节点,及链路两端实现状态同步之后,IFMP重定向协议用来跨越链路发送重定向消息。通过当前没有实现状态同步的链路接收的任何IFMP重定向消息必须被丢弃。
图9a说明了类属IFMP重定向协议消息380的结构。和所有的IFMP相邻协议消息一样,所有的IFMP重定向协议消息也被封装在一个IP包中。图8b说明了具有可变长度数据字段的类属IP包(为当前版本IPv4),一个IFMP重定向协议消息可被封装在该可变长度数据字段中。作为IP包含有IFMP消息的指示,封装IP包的IP标题中的协议字段必须含有十进制值101。封装IFMP消息的IP包的标题中的生存时间字段被设定为1。利用IP标题的目的地址字段中的IP地址,一个IFMP重定向协议消息被发送给链路另一端的对等物的IP地址。如图9a所示,IFMP重定向协议消息380包括(按照从MSB到LSB的顺序)下述字段:作为第一个32位字的8位版本(382),8位Op代码(384),及16位检查和(386);作为第二个32位字的发送者实例(388);作为第三个32位字的对等物实例(390);作为第四个32位字的序列号(392);及消息体(394),这是一个32位字的数目可变域。
在IFMP重定向协议消息中,版本字段382指定当前使用的IFMP协议的版本(当可发展出其它版本时)。Op代码384规定该IFMP重定向协议消息的功能。在本实施例中,有五种可能的Op代码,即IFMP重定向协议消息的功能:REDIRECT(重定向流消息,Op代码=4)、RECLAIM(回收标记消息,Op代码=5)、RECLAIM ACK(回收标记确认消息,Op代码=6)、LABEL RANGE(标记范围消息,Op代码=7)及ERROR(错误消息,Op代码=8)。
检查和386是来自封装IFMP重定向协议消息的IP包的源地址、目的地址及协议字段与IFMP重定向协议消息的总长度的二进制反码和的16位二进制反码。检查和386由系统用于错误控制目的。
在IFMP重定向协议消息中,如同从IFMP相邻协议中得到的一样,发送者实例388是该链路的发送者的“发送号”。在IFMP重定向协议中,发送者认为对等物实例字段3910是该链路对等物的当前实例号,如同从IFMP相邻协议中得到的一样。
序列号字段392使接收IFMP重定向协议消息的系统节点可以顺序处理IFMP重定向协议消息。对跨越链路发送的每个IFMP重定向协议消息,序列号392加1,其模数为232。重置链路时,IFMP相邻协议把序列号设为0。
消息体字段316含有一个或多个IFMP重定向协议消息元的列表。由于Op代码字段384应用于整个IFMP重定向消息,因此该列表中的所有消息元具有相同的消息类型。单个包中包括的消息元的数目绝对不能使该IFMP重定向协议消息的总的大小超过基础数据链路的最大传输单元(MTU)的大小。一个单独的消息元用于标记范围或错误IFMP重定向消息。
图9b说明了当接收一个IFMP重定向协议消息时,系统节点的操作。启动后,系统节点在步骤400接收一个封装IFMP重定向协议消息的包。在步骤402,系统节点检查IFMP相邻协议消息当前是否已实现了链路的状态同步。如果未实现状态同步,则系统节点丢弃封装接收的IFMP重定向协议消息的包(步骤404)。如果达到状态同步,则系统节点在步骤406检查来自IP标题的源IP地址,IFMP重定向协议消息包的发送者实例388,及对等物实例390。如果系统节点在步骤408确定发送者实例388和输入IFMP重定向协议消息的源IP地址字段,不和对于接收输入IFMP重定向协议消息的端口的更新对等物校验器操作所存储的值匹配,则系统节点丢弃输入IFMP重定向协议消息包(步骤404)。如果在步骤408值匹配,则系统节点在步骤410确定对等物实例字段390是否和IFMP相邻协议的发送者实例的当前值匹配。如果在步骤408值不匹配,则系统节点丢弃该包(步骤404)。但是,如果在步骤408中值匹配,则系统节点根据需要继续处理接收的IFMP重定向协议消息(步骤412)。
如上概述,一个IFMP重定向协议消息可是一个REDIRECT消息,该消息用于指导一个相邻节点把一个或多个标记加入属于一个或多个特定流的包中持续一特定时间段。从下游节点接收REDIRECT消息的系统节点决定是否接收该REDIRECT消息做出的重定向请求,并重定向一个流。不以正式方式确认该REDIRECT消息。相反,指定流的具有附加标记的包的实际重定向表明系统节点接受了REDIRECT消息做出的重定向请求。REDIRECT消息的消息体394中的每个REDIRECT消息元的结构如图9c所示。按照从MSB到LSB的顺序,REDIRECT消息元420包括作为第一个32位字的8位流类型字段422,8位流ID长度字段424,及16位生存时间字段426;作为第二个32位字的32位标记字段428;及流标识符430,这是一个32位字的整数倍域。流类型字段422指定包含在流标识符字段430中的流标识符的流类型,流ID长度字段424规定32位字的整数倍域中的流标识符430的长度。生存时间字段426规定重定向有效的时间长度(秒)。如上概述,在生存时间字段426中规定的时间周期期满之后,流标识符和标记之间的联系应被丢弃。标记字段428含有用于指定流的标记,标记的格式取决于物理链路的类型,IFMP重定向协议消息越过该物理链路被发送。流标识符字段430规定标记字段428中规定的标记应与之相关的流。
在IFMP重定向协议消息元中,流类型0的流类型=0,流ID长度=0;流类型1的流类型=1,流ID长度=4;流类型2的流类型=2,流ID长度=3。
上面详细说明了发送者及对等物进行的REDIRECT消息操作。另外,REDIRECT消息元的其它特征包括标记管理及错误控制。如果REDIRECT消息元420的标记字段428中的标记在越过相应链路能够被处理的标记范围之外,则一个LABEL RANGE消息会返回给该REDIECT消息元的发送者。该LABEL RANGE消息向发送者通知可越过该链路发送的标记范围。如果系统节点接收指定一个已被重定向流的REDIRECT消息元,则该系统节点对照为该重定向流存储的标记来检验接收的REDIRECT消息元中的标记字段。如果标记匹配,则系统节点把该重定向流的生存时间重置为接收的REDIRECT消息元的生存时间字段426中包含的生存时间。如果标记不匹配,则系统节点忽略接收的REDIRECT消息元,并且该流返回缺省状态。如果系统节点在REDIRECT消息元中任一字段中检测到错误,则丢弃该特定错误REDIRECT消息元。但是,相同IFMPREDIRECT消息体中的任何其它无错REDIRECT消息元不被丢弃或受到任何影响。如果系统节点不了解接收的IFMP消息中的IFMP协议的版本,则系统节点向发送该错误REDIRECT消息元的相邻节点返回一个ERROR消息。同样,如果系统节点不了解接收的IFMP消息中任一REDIRECT消息元中的流类型,则系统节点为每个不了解的流类型向发送每个特定REDIRECT消息元的相邻节点发送一个ERROR消息。
如上所述,IFMP重定向协议消息可以是RECLAIM消息,该消息用于指导相邻节点使一个或多个流和当前与这些流结合的标记分离开,并释放这些标记以便重新使用。于是从下游节点接收RECLAIM消息元的系统节点释放该标记,并向该下游节点发送一个RECLAIM ACK消息元作为对RECLAIM消息的正式确认。RECLAIM消息的消息体394中的每个RECLAIM消息元的结构如图9d所示。按照从MSB到LSB的顺序,RECLAIM消息元432包括第一个32位字中的8位流类型字段434,8位流ID长度字段436,及16位保留字段438;作为第二个32位字的32位标记字段440;及流标识符442,这是一个32位字的整数倍域。流类型字段434指定包含在流标识符字段442中的流标识符的流类型,流ID长度字段436规定32位字的整数倍域中的流标识符442的长度。本实施例中,保留字段438未使用,由发送该RECLAIM消息元的系统节点置为零,并被接收该RECLAIM消息元的系统节点忽略。标记字段440含有要释放的标记。流标识符字段442认别标记字段440中的指定标记应与之分离的流。每个RECLAIM消息元施加于单个流及单个标记。在系统节点接收一个RECLAIM消息元之后,使一个流及一个标记分开,使该流返回缺省转送状态,并释放该标记,该系统节点必须发布一个RECALIM ACK消息元。RECLAIM ACK消息元可被归到一个或多个RECALIM ACK消息中,并被返回给发送者作为完成回收操作的确认。
另外,RECLAIM消息元的其它特征包括标记管理及错误控制。如果系统节点接收指定一个未知流的RECLAIM消息元,则该系统节点向该RECLAIM消息元的发送者返回一个带有相同标记440及流标识符442字段的RECLAIM ACK消息元。如果系统节点接收指示一个已知流的RECLAIM消息元,但是标记字段440中的标记当前未与该流捆绑,则该系统节点解开该流,并使该流返回缺省转送状态,并且向该RECLAIM消息元的发送者发布一个RECLAIM ACK消息元,该消息元含有先前与该流捆绑实际标记。如果系统节点在RECLAIM消息元中任一字段中检测到错误,则丢弃该特定错误RECLAIM消息元。但是,相同IFMP RECLAIM消息体中的任何其它无错RECLAIM消息元不被丢弃或受到任何影响。如果系统节点不了解接收的IFMP消息中的IFMP协议的版本,则系统节点向发送该错误RECLAIM消息元的相邻节点返回一个ERROR消息。同样,如果系统节点不了解接收的IFMP消息中任一RECLAIM消息元中的流类型,则系统节点为每个不了解的流类型向发送每个特定RECALIM消息元的相邻节点发送一个ERROR消息。
如上所述,IFMP重定向协议消息可以是一个RECLAIM ACK消息,该消息用于确认成功释放一个或多个回收标记。在从下游节点接收RECLAIM消息元的系统节点释放标记之后,向发送该RECALIM消息元的节点发送一个RECLAIM ACK消息元。如果可能,应在所有在使用指定释放标记的链路上传输的数据队列已被发送后,才发送每个RECLAIMACK消息元。RECLAIM ACK消息的消息体394中的每个RECLAIMACK消息元的结构如图9e所示。按照从MSB到LSB的顺序,RECLAIMACK消息元444包括第一个32位字中的8位流类型字段446,8位流ID长度字段448,及16位保留字段450;作为第二个32位字的32位标记字段452;及流标识符454,这是一个32位字的整数倍域。流类型字段446指定包含在流标识符字段454中的流标识符的流类型,流ID长度字段448规定32位字的整数倍域中的流标识符454的长度。本实施例中,保留字段450未使用,由发送该RECLAIM ACK消息元的系统节点置为零,并被接收该RECLAIM ACK消息元的系统节点忽略。标记字段452含有从流标识符454指定的流中释放的标记。流标识符字段454含有来自请求释放标记字段452中指定标记的RECALIM消息元的流标识符。
RECLAIM ACK消息元的其它特征包括标记管理及错误控制。如果系统节点接收指定一个流的RECLAIM ACK消息元,而对该流没有发布过RECLAIM消息元,则该RECLAIM ACK消息元被忽略。如果系统节点接收一个RECLAIM ACK消息元,而该消息元指定的标记不同于该流的RECLAIM消息中发送的标记,则系统节点处理接收的RECALIM ACK消息元,好象对RECLAIM消息中发送的标记的回收操作成功了一样。如果系统节点在RECLAIM ACK消息元中任一字段中检测到错误,则丢弃该特定错误RECLAIM ACK消息元。但是,相同IFMP RECLAIM ACK消息体中的任何其它无错RECLAIM消息元不被丢弃或受到任何影响。如果系统节点不了解接收的IFMP消息中的IFMP协议的版本,则系统节点向发送该错误RECLAIM ACK消息元的相邻节点返回一个ERROR消息。同样,如果系统节点不了解接收的IFMP消息中任一RECLAIM ACK消息元中的流类型,则系统节点为每个不了解的流类型向发送每个特定RECALIM ACK消息元的相邻节点发送一个ERROR消息。
如上所述,IFMP重定向协议消息可以是LABEL RANGE消息,如果在REDIRECT消息元的一个或多个中请求的标记在接收该REDIRECT消息的系统节点能够处理的标记范围之外,则该消息用于响应REDIRECT消息。LABEL RANGE消息向该REDIRECT消息的发送者通知在该链路上能被处理的标记范围。在LABEL RANGE消息中使用单个LABELRANGE消息元。LABEL RANGE消息的消息体394中的LABELRANGE消息元的结构如图9f所示。LABEL RANGE消息元456包括作为第一个32位字的最小标记字段458,及作为第二个32位字的最大标记字段460。最小标记字段458及最大标记字段460分别是可在跨越特定链路的IFMP重定向协议消息中规定的标记的最小及最大值。只有在最小到最大标记(含)之间的标记值才可在跨越该链路的IFMP重定向协议消息中被指定。
如上所述,IFMP重定向协议消息可以是ERROR消息,可发送该消息响应任意IFMP重定向协议消息。在ERROR消息中使用单个ERROR消息元。ERROR消息的消息体394中的ERROR消息元的结构如图9g所示。按照从MSB到LSB的顺序,ERROR消息元462包括32位字的8位错误代码字段464及24位参数字段466。错误代码字段464规定发生了哪种类型的错误。每个ERROR消息可指定一个参数。如果系统节点在IFMP重定向协议消息元的任一字段中检测到错误,则丢弃该特定错误消息元,并发布一个ERROR消息。如果系统节点不能处理或不了解接收的IFMP消息中的IFMP协议的具体版本,则系统节点发送一个错误消息,该错误消息具有设定为值1的错误代码464,及提供发送者能够了解或处理的IFMP协议最新版本的参数466。同样,如果系统节点不了解接收的任一IFMP重定向协议消息元中导致该错误的流类型,则系统节点发送一个ERROR消息,该消息具有设定为值2的错误代码464,及提供导致该错误的流类型的参数466。
2.ATM数据链路上的流标注传输
本发明使用ATM数据链路在系统节点之间传输IP包。对在ATM数据链路上传输的包进行流标注,并且如上所述根据该流的类型对包进行不同的封装。使用流分类,本发明可根据流的类型,对不同类型的流进行不同的处理(第2层路由选择或第3层交换)。另外,每个流类型还指定一个在该类型流重定向之后要使用的封装。在本实施例中,系统使用用于ATM数据链路的封装,在此将进行详细说明。当然,可为和本发明一起使用的不同硬件交换引擎的不同数据链路技术指定用于每种流类型的封装。
一个特定包流与一个特定ATM标记相关。图10a说明了本系统中ATM标记的32位标记字段的格式。如前所述,标记是虚拟路径标识符和虚拟通道标识符(VPI/VCI),假定虚拟通道单向。按照从MSB到LSB的顺序,图10a所示的ATM标记字段包括4位保留字段472,12位VPI字段474及16位VCI字段476。在本实施例中,保留字段472由发送者系统节点设定为0,并被接收该ATM标记的系统节点忽略。对于不支持全12位VPI的链路,VPI字段474中的未使用位是字段474中的MSBs(最高位),并被设定为0。同样,对于不支持全16位VCI的链路,VCI字段476中的未使用位是字段476中的MSBs(最高位),并被设定为0。
对于未被重定向流中的任意包,系统节点为IP包使用缺省封装。如果系统节点决定一种特定的流类型将被重定向,则系统节点使用每种流类型所特有的封装。一旦重定向一个流,则系统节点把用于重定向流的封装从通常使用的缺省封装改变为特定封装。系统节点根据被重定向的流类型使用一个不同类型的封装,而不是使用用于缺省转送链路上IP包的缺省封装。ATM封装IP包可以是一个自身封装一个发往和/或来自运行系统软件子集的主计算机/服务器/工作站、基本交换单元或交换网关单元。
如上所述,在本发明的一个实施例中,规定了三种流类型:流类型0、流类型1及流类型2。流类型0用于把IP包从缺省封装改变为新的封装。流类型1用于在运行于站上的应用之间携带数据的包。流类型2用于在站之间携带数据的包,而没有识别在站上运行的应用。
本发明中,用于ATM数据链路上的IP包的缺省封装是图10b所示的逻辑链路控制/子网连接点(Logical Link Control/SubNetworkAttachment Point(LLC/SNAP))封装。图10b说明了缺省封装的IP包480。缺省封装把一个LLC/SNAP标题加到封装在ATM适应层(Adaptation Layer)类型5公用部分收敛子层协议数据单元(CommonPart Convergence Sublayer Protocol Data Unit(AAL-5 CPCS-PDU))的负载中的IP包的前头。按照从MSB到LSB的顺序,缺省封装IP包480包括LLC/SNAP标题(第一个32位字中的24位LLC字段482,跟在其后的SNAP标题484的8位部分,及SNAP标题484的剩余32位字部分),IP包486(其长度为32位字的整数倍),填充字段488及AAL-5 CPCS-PDU尾部字段490。填充字段488的范围为0-47个八位位组,尾部字段490为8个八位位组(四个32位字)。使用缺省封装的IP包486的MOTU为1500个八位位组。使用缺省封装的包被发送给预定的VPI/VCI(VPI=0,VCI=15,这是根据特定实施例的缺省VPI/VCI,即包在缺省虚拟通道上被转送)。
流类型0封装用于把IP包从缺省封装改变为新的封装。图10c说明了流类型0封装IP包492。使用流类型0的IP包被直接封装在AAL-5CPCS-PDU的负载中,没有前置LLC/SANP标题。按照从MSB到LSB的顺序,流类型0封装IP包492包括IP包494(其长度为32位字的整数倍),填充字段496及AAL-5 CPCS-PDU尾部字段498。填充字段496的范围从0-47个八位位组,尾部字段498为8个八位位组(四个32位字)。使用流类型0封装的IP包494的MOTU为1500个八位位组。属于从缺省虚拟通道重定向流的包使用流类型0封装,并且被发送给IP包494中封装的IFMP REDIRECT消息元的标记字段中指定的VPI/VCI(封装在IP包494中的IFMP REDIRECT消息元在流类型0封装中被发送)。
缺省及流类型0封装不涉及从封装的IP包中除去任何字段。但是,流类型1及流类型2“封装”涉及从IP包中除去某些字段。当这些字段被除去时,发布REDIRECT消息的系统节点存储除去的字段,并把这些字段与ATM标记中指定的ATM虚拟通道联系起来。于是,在目的地,使用输入的ATM标记访问存储的字段,就可以重构一个完整的IP包。
流类型1用于在站上运行的应用之间携带数据的包。图10d说明了一个流类型1封装的IP包。使用流类型1封装的IP包实质上被分解,分解IP包的选定部分被直接封装在AAL-5 CPCS-PDU负载中,没有前置LLC/SNAP标题。按照从MSB到LSB的顺序,流类型1封装的IP包500包括作为第一个32位字,来自分解的IP包的IP标题的16位总长度字段502及16位标识字段504。总长度字段502的值不改变,保留分解前的IP包总长度值。流类型1封装的IP包500还包括作为第二个32位字的8位标志字段506,12位分段偏移字段508,及来自分解IP包的IP标题的16位检查和字段510。如果TTL字段已设定为零,则检查和字段510的发送值是对整个IP标题计算得到的检查和值。IP标题中的版本、IHL、TOS、TTL、协议、源地址及目的地址字段不作为流类型1封装的IP包500的一部分被传输。另外,紧跟在IP标题(由IHL确定)后的前4个八位位组不作为流类型1封装的IP包500的一部分被传输。举例来说,这前4个八位位组对应于TCP及UDP数据报的源端口及目的端口。源端口及目的端口字段识别站上运行的应用。此外,流类型1封装的IP包500包括数据512。数据字段512后是填充字段514及AAL-5 CPCS-PDU尾部字段516。填充字段514的范围从0到47个八位位组,尾部字段516为8个八位位组(四个32位字)。使用流类型1封装的IP包的MOTU为1484个八位位组。属于重定向流的,使用流类型1封装的包被发送给分解IP包中封装的相应流类型1IFMP REDIRECT消息元的标记字段中指定的VPI/VCI(标记字段对应于TCP或UDP消息中的源和目的端口字段)。
流类型2用于在站之间携带数据的包,而不考虑什么样的应用在站上运行。图10e说明了流类型2封装的IP包。使用流类型2封装的IP包实质上被分解,分解IP包的选定部分被直接封装在AAL-5 CPCS-PDU负载中,不带前置LLC/SNAP标题。按照从MSB到LSB的顺序,流类型2封装的IP包520包括作为第一个32位字,来自分解的IP包的IP标题的16位总长度字段522及16位标识字段524。总长度字段522的值不改变,保留分解前的IP包总长度值。流类型2封装的IP包520还包括作为第二个32位字的8位标志字段526,12位分段偏移字段528,及来自分解IP包的IP标题的16位检查和字段530。如果TTL字段已被设定为零,则检查和字段530的发送值是对整个IP标题计算得到的检查和值。IP标题中的版本、IHL、TOS、TTL、协议、源地址及目的地址字段不作为流类型2封装的IP包520的一部分被传输。和流类型1封装不同另外,紧跟在IP标题(由IHL确定)后的前4个八位位组作为流类型2封装的IP包520的一部分被传输。此外,流类型2封装的IP包520包括数据532。数据字段532后是填充字段534及AAL-5 CPCS-PDU尾部字段536。填充字段534的范围从0到47个八位位组,尾部字段536为8个八位位组(四个32位字)。使用流类型2封装的IP包的MOTU为1484个八位位组。属于重定向流的,使用流类型2封装的包被发送给分解IP包中封装的相应流类型2IFMP REDIRECT消息元的标记字段中指定的VPI/VCI。
如上所述,对于流类型0、流类型1及流类型2封装,接受下游节点发送的IFMP REDIRECT消息的系统节点存储除去的字段,并且把这些字段与ATM标记指定的ATM虚拟通道联系起来,以便实现重定向包存取信息的高速缓存。
B.GSMP
系统软件还利用GSM协议通过ATM链路在交换控制器和系统的基本交换单元的ATM硬件交换引擎之间建立通信,从而能够实现第2层交换(可能时)及第3层IP路由选择(必需时)。特别地,GSMP(控制ATM交换器的通用非对称协议)运行于初始时跨越交换控制器和ATM交换器之间的ATM链路建立的虚拟通道上。单个交换控制器可在分开的虚拟通道上使用多个GSMP实例来控制多个ATM交换器。GSMP也包括一个GSMP相邻协议。GSMP相邻协议用来跨越交换控制器和ATM交换器之间的ATM链路使状态同步,以便发现链路另一端的实体的身份,并检测该实体身份的改变。
GSMP允许交换控制器跨越ATM交换器建立并释放连接,在点对多点连接上加入及删除叶,管理交换端口,请求配置信息及请求统计。GSMP还允许ATM交换器通知交换控制器诸如链路正在下行之类的事件。
如前所述,GSMP是一种主—从协议。交换控制器向交换器发布请求消息。每个请求消息指示是否需要来自交换器的响应,并含有事务标识符,使得响应能够和特定请求相联系。交换器用指示成功或失败的响应消息应答。在本实施例中,GSMP有五类消息:连接管理、端口管理、统计、配置及事件。除了事件消息类别外,其它四种类别都是请求—响应消息类别,每种具有一个请求消息格式及一个成功响应格式。除非另外指出,除指示失败本质的代码字段之外,失败响应消息和导致该失败的请求消息相同。除了这四种请求—响应消息类别外,GSMP还包括一种事件消息类别,事件消息使得交换器能够产生异步事件消息,从而向交换控制器通知异步事件。当事件消息未被交换控制器确认时,事件消息具有单一的格式。本实施例中,具有多种不同的消息类型,即GSMP消息功能。五种GSMP消息类别的每一种,除了端口管理外,都具有许多不同的消息类型。
同样,GSMP包括分配了特定消息类型的GSMP相邻协议消息。GSMP相邻协议消息用于跨越ATM链路建立同步状态,并保持同步交换。除GSMP相邻协议消息之外,在GSMP相邻协议已经实现状态同步之前,其它GSMP消息不能越过ATM链路被发送。在当前没有实现状态同步的ATM链路上接收的所有GSMP消息被丢弃。
本发明中,GSMP包的长度可变,并以和上面关于图10b说明的ATM数据链路上IP包的缺省封装相类似的方式,直接封装在具有前置LLC/SNAP标题的AAL-5 CPCS-PDU中。图11a说明了封装GSMP包540。缺省封装把一个LLC/SNAP标题加到封装在AAL-5 CPCS-PDU的负载中的GSMP包的前头。按照从MSB到LSB的顺序,缺省封装的GSMP包540包括LLC/SNAP标题(第一个32位字中的24位LLC字段542,跟在其后的SNAP标题544的8位部分,及SNAP标题544的剩余32位字部分),GSMP消息546(其长度为32位字的整数倍),填充字段548及AAL-5 CPCS-PDU尾部字段550。填充字段548的范围为0-47个八位位组,尾部字段550为8个八位位组(四个32位字)。使用缺省封装的GSMP消息546的MOTU为1500个八位位组。使用缺省封装的包被发送给缺省的VPI/VCI,即缺省虚拟通道。
图11b说明了可包含在图11a的封装GSMP包540的GSMP消息字段546中的GSMP相邻协议消息的结构。如图11b所示,GSMP相邻协议消息552包括(按照从MSB到LSB的顺序)下述字段:作为第一个32位字的8位版本字段554、8位消息类型字段556、8位结果字段558及8位代码字段560;作为第二个32位字的发送者实例字段562;作为第三个32位字的发送者端口字段564;下一个48位的发送者名字字段566;下一个48位的接收者名字字段568;下一个32位的接收者端口字段570;及下一个32位的接收者实例字段572。讨论GSMP消息时,“发送者”是发送GSMP消息的实体,“对等物”是发送者通过ATM链路向其发送GSMP消息的实体。所述实体可以是交换控制器或ATM交换器。
在GSMP相邻协议消息552中,版本字段554规定当前使用的GSMP协议的版本(当可发展出其它版本时)。消息类型字段556被设定为特定值(消息类型=96)以规定GSMP消息为GSMP相邻协议消息。结果字段556不用于GSMP相邻协议消息,由发送者实体设定为零,并被接收该GSMP相邻消息的实体忽略。
GSMP相邻协议消息的代码字段560规定消息的功能。在本实施例中,代码字段有四种可能值,即GSMP相邻协议消息的功能:SYN(同步消息,代码=0)、SYNACK(同步确认消息,代码=1)、RSTACK(重置确认消息,代码=2)、及ACK(确认消息,代码=3)。在每个实体中,为了周期地产生SYN、SYNACK及ACK消息,需要一个计时器。对GSMP相邻协议,对特定链路实体具有三种可能的状态:SYNSENT(同步消息发送)、SYNRCVD(同步消息接收)、ESTAB(同步建立)。在系统可发送非GSMP相邻协议消息的GSMP消息之前,要求链路两端的状态同步(当一个实体达到链路的ESTAB状态时)。本实施例中,计时器的周期为1秒,但是也可规定其它周期。如果计时器期满,并且发送者实体处于SYNSENT状态,则发送者实体重置计时器,并且发送一个SYNGSMP相邻协议消息。如果计时器期满,并且发送者实体处于SYNRCVD状态,则发送者实体重置计时器,并发送一个SYNACK GSMP相邻协议消息。如果计时器期满,并且发送者实体处于ESTAB状态,则发送者实体重置计时器,并发送一个ACK GSMP相邻协议消息。
在SYN、SYNACK及ACK GSMP相邻协议消息中,发送者实例562是该链路的发送者实体的实例号。实例号指示链路的一个特定实例,它是一个32位非零数,该数在近来是唯一的,并且当链路在下行之后复原时,或链路另一端的实体身份变化时,肯定会发生改变。于是,每个链路具有其自已唯一的实例号。发送者实例562用来检测链路在下行之后,何时复原,或者ATM链路另一端的实体的身份何时改变。对于RSTACK GSMP相邻协议消息,发送者实例562被设定为导致产生RSTACK消息的输入GSMP相邻协议消息的接收者实例字段572的值。
在SYN、SYNACK及ACK GSMP相邻协议消息中,发送者端口字段是通过它发送GSMP消息的链路的本地端口号。如上所述,端口号是本地分配的32位值。对于RSTACK GSMP相邻协议消息,发送者端口字段564被设定为导致产生RSTACK消息的输入GSMP相邻协议消息的接收者端口字段570的值。
对于SYN、SYNACKEY ACK GSMP相邻协议消息,发送者名字字段是发送者实体的名字。48位发送者名字566在基本交换单元的操作语境中是唯一的。例如,IEEE 802 MAC地址可用作发送者名字字段。对于RSTACK GSMP相邻协议消息,发送者名字字段566被设定为导致产生RSTACK消息的输入GSMP相邻协议消息的接收者名字字段568的值。
对于SYN、SYNACK及ACK GSMP相邻协议,接收者名字字段568是发送者实体认为其在ATM链路另一端的实体的名字。如果发送者不知道该实体的名字,则接收者名字字段568将被设定为0。对于RSTACK GSMP相邻协议消息,接收者名字字段568被设定为导致产生RSTACK消息的输入GSMP相邻协议消息的发送者名字字段566的值。
在SYN、SYNACK及ACK GSMP相邻协议消息中,发送者认为接收者端口字段570是已由链路另一端的实体为链路分配的本地端口号。如果发送者实体不知道该实体的端口号,则接收者端口字段570被设定为0。对于RSTACK GSMP相邻协议消息,接收者端口字段570被设定为导致产生该RSTACK消息的输入GSMP相邻协议消息的发送者端口字段564的值。
在SYN、SYNACK及ACK GSMP相邻协议消息中,发送者实体认为接收者实例572是已由链路另一端的实体为链路分配的当前实例号。如果发送者实体不知道链路另一端的当前实例号,则接收者实例字段被设定为0。对于RSTACK GSMP相邻协议消息,接收者实例572被设定为导致产生该RSTACK消息的输入GSMP相邻协议消息的发送者实例字段562的值。
图11c是说明当接收输入GSMP相邻协议消息时,发送者实体操作的简图。启动后,发送者实体在步骤582接收GSMP相邻协议包。在步骤584,发送者确定该输入GSMP相邻协议消息是否是RSTACK消息。如果输入GSMP相邻协议消息不是RSTACK消息(例如,SYN、SYNACK或ACK消息),则发送者以图11d的状态图中说明的方式操作。如果如果输入GSMP相邻协议消息是RSTACK消息,则发送者实体在步骤584检查输入消息中发送者实例、发送者端口及发送者名字字段是否匹配由更新对等物校验器操作自前一消息存储的值。对于GSMP相邻协议,更新对等物校验器操作被定义为:存储从链路另一端的实体接收的SYN或SYNACK消息中的发送者实例、发送者端口及发送者名字字段。如果在步骤584值匹配,则发送者实体在步骤586确定输入RSTACK消息中的接收者实例、接收者端口及接收者名字字段,是否匹配当前在接收输入RSTACK消息端口的输出SYN、SYNACK、及ACK消息中发送的发送者实例、发送者端口及发送者名字字段的值。如果在步骤586值匹配,则系统节点在步骤588确定发送者实体是否处于SYNSENT状态。如果发送者实体不处于SYNSENT状态,则发送者实体在步骤590重置链路。如果在步骤584值不匹配,或者在步骤586值不匹配,或者发送者实体处于SYNSENT状态,则发送者实体在步骤592丢弃输入的RSTACK消息,并等待另一个包到达。于是当一个RSTACK GSMP相邻协议消息到达发送者实体时,发送者实体重置链路,如步骤594、596、598及600所示。在步骤594,发送者实体为链路产生一个新的实例号。随后发送者实体在步骤596删除(即设为零)更新对等物校验器操作先前存储的发送者实例、发送者端口及发送者名字的存储值。随后在步骤598,发送者实体发送SYN GSMP相邻协议消息,并在步骤600进入SYNSENT状态。随后发送者实体接收供处理的另一个包。
图11d是说明当输入GSMP相邻协议消息不是RSTACK消息时,发送者实体的操作的状态图。对于图11d的下述说明,条件“%B”被定义为:输入消息中的发送者实例、发送者端口及发送名字字段和更新对等物校验器操作自前一消息存储的值匹配。图11d中的条件“%C”被定义为:输入消息中的接收者实例、接收者端口及接收者名字和当前在输出SYN、SYNACK及ACK消息中发送的发送者实例、发送者端口及发送者名字的值匹配。在图11d中,条件“A”表示发送者实体接收一个输入SYNACKGSMP相邻协议消息,并且条件%C被满足;条件“B”表示发送者实体接收一个输入SYNACK GSMP相邻协议消息,并且条件%C不被满足;条件“C”表示发送者实体接收一个输入ACK GSMP相邻协议消息,并且条件%B及%C都被满足;条件“D”表示发送者实体接收一个输入ACKGSMP相邻协议消息,并且条件%B及%C都不满足。
如果发送者实体处于SYNSENT状态602,并且从链路另一端的对等物接收一个输入SYN GSMP相邻协议消息,则发送者实体执行更新对等物校验器操作,并向对等物发送一个SYNACK GSMP相邻协议消息(如步骤604所示)。随后发送者从SYNSENT状态602转到SYNRCVD状态606。如果发送者在SYNRCVD状态606时接收一个输入SYN GSMP相邻协议消息,则发送者在步骤604执行更新对等物校验器操作,并向对等物发送SYNACK GSMP相邻协议消息,但是仍保持在SYNRCVD状态606。如果发送者处于SYNRCVD状态606,并且条件B或D被满足,则发送者向对等物发送RSTACK GSMP相邻协议消息(如步骤608所示),并保留在SYNRCVD状态606。如果发送者处于SYNRCVD状态606,并且条件C被满足,则发送者向对等物发送ACK GSMP相邻协议消息(如步骤610所示),并转到ESTAB状态612。如果发送者处于SYNRCVD状态606,并且条件A被满足,则发送者执行更新对等物校验器操作,并向对等物发送一个ACK GSMP相邻协议消息(如步骤614所示),并转到ESTAB状态612。如果发送者接收SYN或SYNACK GSMP相邻协议消息,或者如果条件C被满足,则发送者处于并保持在ESTAB状态612。如果条件D被满足,同时发送者处于ESTAB状态612,则发送者保持在ESTAB状态612,并发送RSTACK GSMP相邻协议消息(如步骤608)所示。当处于SYNSENT状态602时,如果发送者接收一个ACK GSMP相邻协议消息,或者条件B被满足,则发送者保持在SYNSENT状态602,并发送一个RSTACK GSMP相邻协议消息(步骤608)。当发送者处于SYNSENT状态602时,如果条件A被满足,则发送者执行更新对等物校验器操作,发送一个ACK GSMP相邻协议消息(步骤614)并进入ESTAB状态612。
除了GSMP相邻协议消息之外,其它类型的GSMP消息546包括GSMP连接管理(CM)消息,该消息是请求—响应消息。在基本交换单元中,交换控制器使用GSMP CM消息来跨越ATM交换器建立、删除、修改及校验虚拟通道连接。可以不考虑交换端口的状态即发布GSMP CM消息,当交换端口向上、向下、或者相反不可用时,可建立或删除连接。连接管理消息包括:加入支线,删除支线,删除树,校验树,删除全部,移动根及移动支线。如前面所述,虚拟通道连接是单向的,并包括一个输入虚拟通道及至少一个输出虚拟通道或支线。即,单点传送虚拟连接具有一个输出支线,多点传送虚拟连接具有两个或更多输出支线。
加入支线消息是用于建立一个虚拟通道连接,或者在现有虚拟通道连接中加入一个附加支线。本实施例中,单点传送和多点传送之间没有区别。用于特定输入端口、输入VIP及输入VCI的第一加入支线消息建立单点传送连接。带有相同输入端口、输入VPI及输入VCI的第二加入支线消息建立单点传送连接,并通过加入另一个输出支线把单点传送转换为多点传送连接。利用更多的加入支线消息,可用同样的方式加入其它输出支线。另外,加入支线消息可用于检查ATM交换器中存储的连接状态。GSMP CM消息中的删除支线消息用于删除虚拟通道连接的单个支线。例如,在具有两条支线的多点传送虚拟通道连接上使用删除支线消息删除一条支线,把多点传送连接转换为单点传送。删除支线消息也可用于通过删除虚拟通道连接中的最后支线来删除连接。另一种GSMP CM消息,删除树消息用于通过删除虚拟连接的所有剩余支线来删除整个虚拟连接。校验树消息是用于校验虚拟通道连接上的支线数的GSMP CM消息。删除全部消息是用于删除交换输入端口的所有连接的GSMP CM消息。移动根消息是用于把整个虚拟连接树从它的当前输入端口、输入VPI及输入VCI移动到新输入端口、输入VPI及输入VCI的GSMP消息。另一种GSM CM消息,移动支线消息用于把虚拟通道连接的单个输出支线从它的当前输出端口、输出VPI及输出VCI移动到同一虚拟通道连接上的新输出端口、输出VPI及输出VCI。
图12说明了用作对加入支线、删除支线、删除树、校验树及删除全部消息的请求及响应的类属GSMP CM消息620的结构。类属GSMP CM消息可包含在图11a的封装GSMP包540的GSMP消息字段546中。如图12所示,类属GSMP CM消息620包括(按照从MSB到LSB的顺序)下述字段:8位版本字段622、8位消息类型字段624、8位结果字段626及8位代码字段628;32位字事务标识符字段630;32位字端口话路号字段632;32位字输入端口字段634;包括设定为零的4位字636,12位输入VPI字段638及16位输入VCI字段640的32位字输入标记字段;32位字输出端口字段642,包括设定为零的8位字644,12位输出VPI字段646及16位输出VCI字段648的32位字输出标记字段;16位支线数目字段650;8位保留字段652及8位优先权字段654。
除了GSMP相邻协议消息之外,所有的GSMP消息都包括以相同方式使用的版本字段622、消息类型字段624、结果字段626、代码字段628及事务标识符字段630。例如,GSMP消息中的版本字段622规定当前使用的GSMP协议的版本(当可发展出其它版本时)。消息类型字段624被设定为指定该GSMP消息类型的特定值。例如,对GSMP CM加入支线消息指定一个特定值用于消息类型字段624,对其它类型消息指定其它特定值。
对于为请求消息的GSMP消息,结果字段626指示当输出成功时,对请求消息是否需要响应。请求消息中的结果字段626可含有NoSuccessAck(指示如果输出成功,不需要响应)的值或AckAll(指示如果输出成功,需要响应)的值。对于某些类型的GSMP请求消息,AckAll是缺省的,结果字段626中的NoSuccessAck值被忽略。对于为响应消息的GSMP消息,结果字段626中含有成功(指示该请求成功)的值,或失败(指示该请求未成功)的值。在请求成功完成之前,不发送GSMP成功响应消息。GSMP成功响应消息是返回的带有指示成功的结果字段626的相应GSMP请求消息的副本。对于不具有成功输出的GSMP请求消息,产生一个GSMP失败响应消息。GSMP失败响应消息是返回的带有指示失败的结果字段626的相应GSMP请求消息的副本。响应GSMP请求消息的失败输出,发布GSMP失败响应消息的交换器不修改该交换器内的连接状态。
在GSMP响应消息中,代码字段628提供关于结果的更多信息。例如,GSMP失败响应消息中的代码字段628可含有指定导致失败的错误类型。可确定多种不同的失败或其它类型代码,以便用于代码字段628。可确定的失败代码的例子包括:特定于特殊消息类型的失败,其它失败代码未覆盖的指定原因,无效请求消息,未在该交换器中实现的指定请求消息,无效端口话路号,至少一个指定端口不存在,至少一个指定端口下行,至少一个指定VPI/VCI在至少一个指定端口上超出范围,指定连接不存在,指定输出支线不存在,已经在指定输出端口上为指定多点传送连接建立了指定输出支线,达到了交换器支持的多点传送连接的最大限度,到达了指定多点传送连接能够支持的支线的最大限度,或者和交换器支持的多点传送能力有关的一般性问题。当然也可提供其它代码。另外,代码字段628在成功响应消息或事件消息中可提供更多的信息。代码字段在GSMP请求响应中未被使用,并被设定为0。
事务标识字段630用于使GSMP请求消息和它的GSMP响应消息联系起来。在GSMP请求消息中,交换控制器为字段630选择任一事务标识符值。在GSMP响应消息中,事务标识符字段630的值被设定为该GSMP响应消息响应的GSMP请求消息的事务标识符的值。由于GSMP事件消息不要求响应,因此事务标识符字段630被设定为0。
上面对版本、消息类型、结果、代码及事件标识符字段的概括说明除GSMP相邻协议消息外,适用于所有的GSMP消息。适当时说明了与概括说明的差别。
对于GSMP CM消息,端口话路号字段632提供输入端口的话路号。特别地,端口话路号字段632的值给出了输入端口字段634中指示的交换输入端口的端口话路号。每个交换端口保留一个由交换器分配的端口话路号。当端口不断上升时,端口话路号保持不变。但是,在一个端口下降或不可用之后,该端口再上升后,将产生一个新的不同端口话路号。最好随机地选择新端口话路号。如果交换控制器发送一个端口话路号字段632中值无效的GSMP CM请求消息,则交换器通过发送一个带有指示导致该失败的无效端口话路号的代码字段628的GSMP CM失败响应消息,拒绝该GSMP CM请求消息。使用GSMP配置消息可获得当前端口话路号。
在GSMP CM消息中,输入端口字段634指示使用交换器分配的32位值的交换输入端口。输入VPI字段638识别到达输入端口字段634中指示的交换输入端口的ATM虚拟路径,输入VCI字段640识别到达输入VPI字段638中识别的虚拟路径的ATM虚拟通道。
在GSMP CM消息中,输出端口字段642指示使用交换器分配的32位值的交换输出端口。输出VPI字段646识别离开输出端口字段642中指示的交换输出端口的ATM虚拟路径,输出VCI字段648识别离开输出VPI字段646中识别的虚拟路径的ATM虚拟通道。
对于GSMP CM消息,支路数目字段650给出虚拟通道连接上的输出支线的数目。字段650用在GSMP CM校验树消息中。对于所有其它的GSMP CM消息,字段650由发送者实体设定为0,并被接收者实体忽略。本实施例中,不用于GSMP CM消息的保留字段652由发送者实体设定为0,并被接收者实体忽略。
GSMP CM消息中的优先权字段654给出连接的优先权。最高优先权号为0,最低优先权号为q-1,其中q=交换输出端口支持的优先权数目。可从GSMP端口配置消息中获得每个交换输出端口的q值。当建立每个虚拟通道连接时,通过给它分配一个优先权,可建立具有一定服务质量(QOS)的虚拟通道连接。对于共享相同输出端口的虚拟通道连接,如果两个信元同时位于交换器中,则优先权较高的连接上的ATM信元和优先权较低的连接上的ATM信元相比,更可能离开交换器。优先权字段654用在GSMP CM加入支线及移动支线消息中。如果GSMP CM请求消息(用于加入支线或移动支线)具有交换器不支持的优先权字段654值,则交换器分配它能够支持的最接收的优先权。在其它GSMP CM消息中,优先权字段654由发送者实体设定为0,并被接收者实体忽略。
加入支线消息是用于建立一个虚拟通道连接,或者向现有虚拟通道连接中加入一个附加支线的GSMP CM消息。连接由输入端口字段634、输入VPI字段638及输入VCI字段640指定,输出支线由输出端口字段642、输出VPI字段646及输出VCI字段648指定,它们具有由优先权字段654指定的连接优先权。另外,加入支线消息可用于检查ATM交换器中存储的连接状态。图13a是说明ATM交换器从交换控制器接收GSMP加入支线请求消息的操作的简图。在步骤660,交换控制器发送一个由ATM交换器接收的GSMP加入支线请求消息。ATM交换器在步骤662确定接收的加入支线请求消息的输入端口字段634、输入VPI字段638及输入VCI字段640指定的虚拟通道连接是否在交换器中存在。如果交换器在步骤662确定该虚拟通道连接不存在,则ATM交换器在步骤664着手建立加入支线请求消息中指定的连接。如果交换器在步骤662确定虚拟通道连接确实存在,则交换器在步骤666确定接收的加入支线请求消息的输出端口字段642、输出VPI字段646及输出VCI字段648指定的输出支线是否在该交换器中存在。如果交换器确定输出支线不存在,则该ATM交换器在步骤668加入一个如加入支线请求消息中指定的新输出支线。在步骤664或步骤668之后,交换器在步骤670确定操作是否已成功。如果操作不成功,则ATM交换器在步骤672向交换控制器发送一个加入支线响应消息,该响应消息是接收的加入支线请求消息的副本,它带有指示失败的结果字段626。加入支线响应消息还可用其代码字段628中的恰当的失败代码指定失败的类型。如果在步骤670确定成功地完成了操作,则ATM交换器在步骤674检查加入支线请求消息的结果字段626以确定当请求成功时是否需要响应。如果请求消息的结果字段指示AckAll,则ATM交换器在步骤676向交换控制器发送一个成功响应。加入支线成功响应消息是接收的加入支线请求消息的副本,它带有指示成功的结果字段626。如果交换器在步骤666确定加入支线请求消息中指定的输出支线已经存在,则交换器在步骤680检查请求消息的优先权字段654中指定的优先权是否不同于输出支线的当前优先权。如果交换器确定请求的优先权不同于当前优先权,则交换器在步骤682把输出支线的优先权改变为加入支线请求消息指定的优先权。如果优先权相同,则交换器不改变优先权(如步骤684所示)。
删除支线消息是用于删除虚拟通道连接的单个支线,或者在最后的支线情况下删除连接的GSMP CM消息。连接由输入端口字段634、输入VPI字段638及输入VCI字段640指定,输出支线由输出端口字段642、输出VPI字段646及输出VCI字段648指定。图13b是说明从交换控制器接收GSMP删除支线请求消息的ATM交换器的操作的简图。在步骤690,交换控制器发送一个由ATM交换器接收的GSMP删除支线请求消息。ATM交换器在步骤692确定接收的删除支线请求消息的输入端口字段634、输入VPI字段638及输入VCI字段640指定的虚拟通道连接是否在交换器中存在。如果交换器在步骤692确定该虚拟通道连接确实存在,则交换器在步骤694确定接收的删除支线请求消息的输出端口字段642、输出VPI字段646及输出VCI字段648指定的输出支线是否在该交换器中存在。如果交换器确定输出支线确实存在,则该ATM交换器在步骤696着手删除删除支线请求消息中指定的输出支线。在步骤696之后,交换器在步骤698确定删除操作是否已成功。如果确定成功完成了删除,则在步骤700交换器根据删除支线请求消息的结果字段626确定当请求成功时,是否需要响应。如果请求消息的结果字段指示AckAll(需要成功响应),则交换器在步骤702向交换控制器发送一个删除支线成功响应消息。删除支线成功响应消息是接收的删除支线请求消息的副本,它带有指示成功的结果字段626。如果在步骤700确定不需要成功响应,则交换器不提供响应(如步骤704所示)。如果交换器在步骤692确定删除支线请求消息中指定的连接不存在,或者如果交换器在步骤694确定删除支线请求响应2中指定的输出支线不存在,或者如果交换器在步骤698确定删除操作不成功,则交换器在步骤706向交换控制器发送一个带有恰当失败代码的删除支线失败响应消息。删除支线失败响应消息是接收的删除支线请求消息的副本,它带有指示失败的结果字段626,及带有由它的代码字段628中的恰当失败代码指示的失败类型。
删除树消息用于通过删除连接的所有剩余支线来删除整个虚拟通道连接。连接由输入端口字段634、输入VPI字段638及输入VCI字段640指定。删除树消息中的输出端口字段642、输出VPI字段646及输出VCI字段648未被使用,由交换控制器设定为零,并被交换器忽略。图13c是说明从交换控制器接收GSMP删除树请求消息的ATM交换器的操作的简图。在步骤710,交换控制器发送一个由ATM交换器接收的GSMP删除树请求消息。ATM交换器在步骤712确定接收的删除树请求消息的输入端口字段634、输入VPI字段638及输入VCI字段640指定的虚拟通道连接是否在交换器中存在。如果交换器在步骤712确定该虚拟通道连接确实存在,则交换器在步骤714着手删除删除树请求消息中指定的连接(从而删除整个树)。步骤714之后,交换器在步骤716确定删除操作是否成功。如果确定成功完成了删除,则在步骤718交换器根据删除树请求消息的结果字段626确定当请求成功时,是否需要响应。如果请求消息的结果字段指示AckAll(需要成功响应),则交换器在步骤720向交换控制器发送一个删除树成功响应消息。删除树成功响应消息是接收的删除树请求消息的副本,它带有指示成功的结果字段626。如果在步骤718确定不需要成功响应,则交换器没有任何响应(如步骤722所示)。如果交换器在步骤712确定删除树请求消息中指定的连接不存在,或者如果交换器在步骤716确定删除操作不成功,则交换器在步骤724向交换控制器发送一个带有恰当失败代码的删除树失败响应消息。删除树失败响应消息是接收的删除树请求消息的副本,它带有指示失败的结果字段626,及带有由它的代码字段628中的恰当失败代码指示的失败类型。
校验树消息是用于校验虚拟通道连接上的支线数目的GSMP CM消息。连接由输入端口字段634、输入VPI字段638及输入VCI字段640指定。校验树消息中的输出端口字段642、输出VPI字段646及输出VCI字段648未被使用,由交换控制器设定为零,并被交换器忽略。交换器认为指定虚拟通道连接应含有的支线的数目由校验树请求消息中的支线数目字段650给出。图13d是说明从交换控制器接收GSMP校验树请求消息的ATM交换器的操作的简图。在步骤730,交换控制器发送一个由ATM交换器接收的GSMP校验树请求消息。ATM交换器在步骤732确定交换器中是否存在由接收的校验树请求消息的输入端口字段634、输入VPI字段638及输入VCI字段640指定的虚拟通道连接。如果交换器在步骤732确定该虚拟通道连接确实存在,则在步骤734交换器检查指定连接的实际支线数目,并将该实际数目和接收的校验树请求消息的支线数目字段650中的数目相比。如果交换器在步骤736确定支线数目匹配,则校验操作成功。如果确定成功地完成了校验,则交换器在步骤738根据校验树请求消息的结果字段626确定当请求成功时,是否需要响应。如果请求消息的结果字段指示AckAll(需要成功响应),则交换器在步骤740向交换控制器发送一个校验树成功响应消息。校验树成功响应消息是接收的校验树请求消息的副本,它带有指示成功的结果字段626。如果在步骤738确定不需要成功响应,则交换器没有任何响应(如步骤742所示)。如果交换器在步骤732确定校验树请求消息中指定的连接不存在,则交换器在步骤744向交换控制器发送一个带有恰当失败代码的校验树失败响应消息。校验树失败响应消息是接收的校验树请求消息的副本,它带有指示失败的结果字段626,及带有由它的代码字段628中的恰当失败代码指示的失败类型。如果交换器在步骤736确定校验操作不成功,则交换器在步骤746把实际的支线数目设置到校验树失败响应消息的支线数目字段650中,并在代码字段设定为零的情况下将其发送给交换控制器。
删除全部消息是用于删除交换输入端口上的所有连接的GSMP CM消息。交换输入端口由输入端口字段634指定。在删除全部消息中,输入VPI字段638、输入VCI字段640、输出端口字段642、输出VPI字段646及输出VCI字段648未被使用,由交换控制器设定为零,并被交换器忽略。图13e是说明从交换控制器接收GSMP删除全部请求消息的ATM交换器的操作的简图。在步骤750,交换控制器发送一个由ATM交换器接收的GSMP删除全部请求消息。在步骤752,ATM交换器确定在接收的删除全部请求消息的输入端口字段634中指定的交换器输入端口上是否存在任意连接。如果交换器在步骤752确定连接确实存在,则交换器在步骤754着手为接收的删除全部请求消息中指定的交换器输入端口删除所有的连接。随后交换器在步骤756确定完全删除操作是否成功。如果确定成功地完成了删除操作,则交换器在步骤758根据删除全部请求消息确定当请求成功时,是否需要响应。如果请求消息的结果字段指示AckAll(需要成功响应),则交换器在步骤760向交换控制器发送一个删除全部成功响应消息。删除全部成功响应消息是接收的删除全部请求消息的副本,它带有指示成功的结果字段626。如果在步骤758确定不需要成功响应,则交换器没有任何响应(如步骤762所示)。如果交换器在步骤752确定删除全部请求消息中指定的交换输入端口上不存在任何连接,则交换器在步骤764向交换控制器发送一个带有恰当失败代码的删除全部失败响应消息。删除全部失败响应消息是接收的删除全部请求消息的副本,它带有指示失败的结果字段626,及带有由它的代码字段628中的恰当失败代码指示的失败类型。
移动根消息是用于把整个虚拟连接树从其当前输入端口、输入VPI及输入VCI移动到新输入端口、输入VPI及输入VCI的GSMP CM消息。图13f说明了用作请求及响应的GSMP CM移动根消息770的结构。GSMP CM移动根消息770包括(按照从MSB到LSB的顺序)下述字段:8位版本字段622,8位消息类型字段624,8位结果字段626及8位代码字段628;32位字事务标识符字段630;32位字端口话路号字段632;32位旧输入端口字段772;设定为零的4位字774,12位旧输入VPI字段776及16位旧输入VCI字段778;32位新输入端口字段780;设定为零的8位字782,12位新输入VPI字段784及16位新输入VCI字段786;及32位保留字段788。版本字段622、消息类型字段624、结果字段626、代码字段628、事务标识符字段630及端口话路号字段632的使用方法和前述用于其它GSMP CM消息的方法相同。保留字段788未被使用,由发送者设定为零,并被接收者忽略。在移动根消息中,当前虚拟通道连接由旧输入端口字段772、旧输入VPI字段776及旧输入VCI字段778指定,新的虚拟通道连接由新输入端口字段780、新输入VPI字段784及新输入VCI字段786指定。图13g是说明从交换控制器接收GSMP移动根请求消息的ATM交换器的操作的简图。在步骤790,交换控制器发送一个由交换器接收的GSMP移动根请求消息。交换器在步骤792确定在接收的移动根请求消息的旧输入端口字段772、旧输入VPI字段776及旧输入VCI字段778中指定的虚拟通道连接是否在交换器中存在。如果交换器在步骤792确定该虚拟通道连接确实存在,则交换顺在步骤794确定由接收的移动根请求消息的新输入端口字段780、新输入VPI字段784及新输入VCI字段786指定的虚拟通道连接是否未被分配。如果在步骤794确定该虚拟通道连接未被分配,则交换器在步骤796着手移动现有虚拟通道连接的每个输出支线,以便建立如同移动根请求消息中指定的新的虚拟通道连接。步骤796之后,交换器在步骤798确定移动操作是否成功。如果确定成功地完成了移动操作,则交换器在步骤800根据移动根请求消息的结果字段,确定当请求成功时是否需要响应。如果请求消息的结果字段指示AckAll(需要成功响应),则交换器在步骤802向交换控制器发送一个移动根成功响应消息。移动根成功响应消息是接收的移动根请求消息的副本,它带有指示成功的结果字段626。如果在步骤800确定不需要成功响应,则交换器不提供任何响应(如步骤804所示)。如果交换器在步骤792确定在移动根请求消息中指定的旧的连接不存在,则交换器在步骤806向交换控制器发送一个带有恰当失败代码的移动根失败响应消息。移动根失败响应消息是接收的移动根请求消息的副本,它带有指示失败的结果字段626,及带有由它的代码字段628中的恰当失败代码指示的失败类型。如果交换器在步骤794确定移动根请求消息中指定的新的虚拟通道连接被分配,则交换器在不对现有连接进行任何修改,并在步骤806把移动根失败响应消息发送给交换控制器之前,把移动根失败响应消息中的代码字段设定为零(如步骤808所示)。
另一种GSMP CM消息,移动支线消息用于把虚拟通道连接的单个输出支线从它的当前输出端口、输出VPI及输出VCI移动到相同虚拟通道连接上的新输出端口、输出VPI及输出VCI。图13h说明了用作请求及响应的GSMP CM移动支线消息820的结构。GSMP CM移动支线消息820包括(按照从MSB到LSB的顺序)下述字段:8位版本字段622,8位消息类型字段624,8位结果字段626及8位代码字段628;32位字事务标识符字段630;32位字端口话路号字段632;32位输入端口字段634;设定为零的4位字636,12位输入VPI字段638及16位输入VCI字段640;32位旧输出端口字段822;设定为零的8位字824,12位旧输出VPI字段826及16位旧输出VCI字段828;32位新输出端口字段830;设定为零的8位字832,12位新输出VPI字段834及16位新输出VCI字段836;24位保留字段838;及优先权字段840。版本字段622、消息类型字段624、结果字段626、代码字段628、事务标识符字段630及端口话路号字段632的使用方法和前述用于其它GSMP CM消息的方法相同。保留字段838未被使用,由发送者设定为零,并被接收者忽略。优先权字段840的使用方法和前述的GSM CM消息的优先权字段654的使用方法相同。在移动支线消息中,虚拟通道连接由输入端口字段634、输入VPI字段638及输入VCI字段640指定。虚拟通道连接的旧支线由旧输出端口字段822、旧输出VPI字段826及旧输出VCI字段828指定。虚拟通道连接的新支线由新输出端口字段830、新输出VPI字段834及新输出VCI字段836指定。图13i是是说明从交换控制器接收GSMP移动支线请求消息的ATM交换器的操作的简图。在步骤842,交换控制器发送一个由交换器接收的GSMP移动支线请求消息。交换器在步骤844确定接收的移动支线请求消息的输入端口字段634、输入VPI字段638及输入VCI字段640中指定的虚拟通道连接是否在交换器中存在。如果交换器在步骤844确定该虚拟通道连接确实存在,则交换器在步骤846确定在该虚拟通道连接上是否存在,由接收的移动支线请求消息的旧输出端口字段822、旧输出VPI字段826及旧输出VCI字段828指定的旧输出支线。如果在步骤846确定旧输出支线存在,则交换器在步骤848着手加入由移动支线请求消息中的新输出端口字段830、新输出VPI字段834及新输出VCI字段836指定的新输出支线,并删除移动支线请求消息中指定的旧输出支线。步骤848之后,交换器在步骤850确定移动操作是否已成功。如果确定成功地完成了移动操作,则交换器在步骤852根据移动支线请求消息的结果字段626,确定当请求成功时是否需要响应。如果请求消息的结果字段指示AckAll(需要成功响应),则交换器在步骤854向交换控制器发送一个移动支线成功响应消息。移动支线成功响应消息是接收的移动支线请求消息的副本,它带有指示成功的结果字段626。如果在步骤852确定不需要成功响应,则交换器不提供任何响应(如步骤856所示)。如果交换器在步骤844确定移动支线请求消息中指定的虚拟通道连接不存在,或者如果交换器在步骤846确定在该虚拟通道连接上不存在移动支线请求消息中指定的旧支线,或者如果交换器在步骤850确定移动支线操作不成功,则交换器在步骤858不修改任意连接状态,并在步骤860向交换控制器发送带有恰当失败代码的移动支线失败响应消息。移动支线失败响应消息是接收的移动支线请求消息的副本,它带有指示失败的结果字段626,及带有由它的代码字段628中的恰当失败代码指示的失败类型。
通过提供交换端口管理,GSMP端口管理(PM)消息可使端口开始工作、停止工作、被回转或被重置。图14说明了用作为请求及响应消息的GSMP PM消息870的结构。GSMP PM消息870可包含在图11a中的封装GSMP包540的GSMP消息字段546中。如图14所示,GSMP PM消息包括(按照从MSB到LSB的顺序)下述字段:8位版本字段622,8位消息类型字段624,8位结果字段626,8位代码字段628;32位字事务标识符字段630;32位字端口字段872;32位字端口话路号字段874;32位事件序列号字段876;8位事件标志字段878;8位持续时间字段880;及16位功能字段882。版本字段622、消息类型字段624、结果字段626、代码字段628、事务标识符字段630及端口话路号字段874的使用方法和前述用于其它GSMP CM消息的方法相同。端口字段872给出GSMP PM消息施加给的端口的端口号。GSMP PM消息具有特殊的消息类型字段,在功能字段882中可规定各种可能的功能。GSMP PM消息的部分功能包括:提出功能、拆卸功能、内部回送功能、外部回送功能及重置事件标志功能。每个交换端口保持一个事件序列号及一组事件标志(一个事件标志用于一种类型的事件消息)。当端口被初始化时,事件序列号被设定为零,并且每次在该端口检测到可由事件消息报道的异步事件时,事件序列号增加,而不考虑事件消息是被发送,还是被接收。当交换端口发送事件消息时,它在该端口设置相应的事件标志。在GSMP PM消息的重置事件标志功能重置相应的事件标志之前,不允许该端口发送同种类型的另一事件消息。事件标志的使用提供了简单的流控制,以便防止交换器用事件消息淹没交换控制器。在GSMP PM请求消息中,事件序列号字段876未被使用,由交换控制器设定为零,并被交换器忽略。在GSMP PM成功响应消息中,事件序列号字段876给出接收的GSMP PM请求消息中指定的交换端口的事件序列号的当前值。在具有指定重置事件标志的功能字段882的GSMP PM请求消息中,事件标志字段878中的特定位可用于重置端口字段872指定的交换端口中的相应事件标志。在具有指定重置事件标志的功能字段882的GSMP PM成功响应消息中,在请求消息中指定的事件标志已被重置后,事件标志字段878中的位被设定为指定端口的相应事件标志的当前值。通过在具有重置事件标志功能的GSMP PM消息中把事件标志字段设定为零,交换控制器能够在不改变事件标志的状态的情况下,获得事件标志的当前状态,及指定端口的当前事件序列号。在其它具有不同的指定的功能字段882的GSMP PM消息中,事件标志字段未被使用,由交换控制器设定为零,并被交换器忽略。持续时间字段880只在具有规定为内部回送、外部回送或双向回送的功能字段882的GSMP PM消息中使用。持续时间880提供任一回送状态保持有效的时间长度(秒)。当持续时间期满时,处于回送状态的端口自动返回工作状态。在具有不同的指定功能字段882的GSMP PM消息中,持续时间未被使用,由交换控制器设定为零,并被交换器忽略。在GSMP PM消息中,功能字段882规定要采取的动作(不考虑端口的当前状态,执行规定的动作)。提出功能使端口开始工作,而拆卸功能使端口停止工作。内部回送功能执行内部回送(从交换组织到达输出端口的ATM信元通过输入端口回送到交换组织)。外部回送功能执行外部回送(从外部通信链路到达输入端口的ATM信元在物理层被回送给通信链路,而不进入输入端口)。双向回送功能既执行内部回送,又执行外部回送。重置输入端口功能重置输入端口(删除到达指定输入端口的所有连接,重新初始化输入及输出端口硬件,以便在连接表中指定输入端口的所有VPI/VCI值为空)。重置事件标记功能重置如上所述的事件标志。
GSMP统计消息允许交换控制器请求和交换输入及输出端口及虚拟通道相关的各种硬件计数器的值。提供了两类统计消息:VC活动消息,及端口和VC统计消息。VC活动消息用于确定一个或多个特定虚拟通道最近是否传输了通信。VC活动消息含有一个或多个VC活动记录。每个VC活动记录用于请求并返回与单个指定虚拟连接相关的活动信息。如果交换器支持对每个虚拟连接进行通信量统计,则每个指定虚拟连接的通信量计数器中的当前值在VC活动记录的VC通信量计数字段中被返回。把通信量计数的当前值和指定虚拟连接的每一个的先前值进行比较,以确定在干涉期间每个虚拟连接是否是活动的。如果除了通信量统计之外,交换器还支持对每个虚拟连接进行通信量检测,则可使用VC活动记录中的标志字段为虚拟连接指示结果。端口和VC统计消息用于查询各种端口和VC特定通信及错误计数器。端口统计消息用于获取在消息的端口字段中指定的交换端口的统计值,VC统计消息用于获取消息的端口字段中指定的交换输入端口上的虚拟通道(在消息的VPI/VCI字段中指定)的统计值。
GSMP配置消息允许交换控制器确定基本交换单元中的ATM交换器的能力。定义了三种类型的GSMP配置消息:交换器配置、端口配置及全部端口配置。GSMP配置消息对于请求消息及响应消息使用了不同的格式,因为在它们的字段中含有不同的信息。由交换控制器发送给ATM交换器,并由特殊消息类型字段指示的交换器配置请求消息向ATM交换器请求它的全局配置。随后交换器向交换控制器返回一个交换器配置响应消息,该消息包括用于ATM交换器的交换器类型及交换器名字的字段,及用于安装的交换控制固件的版本的字段。交换器类型由该交换器的制造商规定,以便识别该交换器产品,交换器名字可以是48位IEEE802MAC地址,或者在交换器操作语境中是唯一的其它数值。端口配置请求消息具有其自已的特殊消息类型字段,并由交换控制器发送给ATM交换器。端口配置请求消息向交换器请求在端口配置请求消息的端口字段中指定的单个交换端口的配置信息。交换器向交换控制器发送一个端口配置成功响应消息,该消息既包括指定端口输入方面的配置信息,又包括指定端口输出方面的配置信息。端口配置成功响应消息中的配置信息包括:端口的当前端口话路号,GSMP可支持的输入端口上的连接表的VPI最小值,GSMP可支持的输入端口上的连接表的VPI最大值,GSMP可支持的输入端口上的连接表的VCI最小值,GSMP可支持的输入端口上的连接表的VCI最大值。配置信息还包括:端口的信元速率(每秒的ATM信元流量),端口的当前状态(即,下行、上升、不能利用、内部回送、外部回送或双向回送);端口类型(端口的物理传输接口的类型,例如,未知、155.52Mbps SONET STS-3c、44.736Mbps DS3、100Mbps 4B/5B编码、155.52Mbps 8B/10B编码、25Mbps ATM Forum物理层、或51Mbps ATM Forum物理层);及输出端口可分配给虚拟通道连接的优先权的数目。提供的配置信息被称为端口的端口记录。交换控制器向ATM交换器发送一个全部端口配置请求消息,以请求所有交换端口的配置信息,该全部端口配置请求消息具有其自已的特殊消息类型字段。这样,全部端口配置请求消息并不指定一个特定的端口。交换器发送全部端口配置成功响应消息,该消息包括:响应消息包含的端口记录的数目,每个端口记录的字节长度,及每个端口的端口记录。每个端口的端口记录是和对于端口配置成功响应消息说明的同样的配置信息。当然,如果端口记录的数目超过为全部端口配置成功响应消息设置的规定最大数值,则可在多个均不超过规定最大数值的成功响应消息中发送端口记录。
GSMP事件消息允许ATM交换器向交换控制器通知某些异步事件。如前所述,事件消息不被确认。根据异步事件的不同,事件消息可具有不同的消息类型。不同的事件消息包括端口上升事件消息、端口下行事件消息,无效VPI/VCI事件消息、新端口事件消息,及死亡端口事件消息。每个交换端口保持一个事件序列号及一组事件标志(一个事件标志用于一种类型的事件消息)。当交换端口发送事件消息时,它在该端口设置相应的事件标志。在GSMP端口管理消息的重置事件标志功能重置相应的事件标志之前,不允许该端口发送同种类型的另一事件消息。事件标志的使用提供了简单的流控制,以便防止交换器用事件消息淹没交换控制器。当端口被初始化时,事件序列号被设定为零,并且每次在该端口检测到可由事件消息报道的异步事件时,事件序列号增加,而不考虑事件消息是被发送,还是被接收。当前事件序列号包括在事件消息中,以便向交换控制器通知已在该端口发生,但由于简单流控制机制的行动还未由事件消息报告的异步事件。端口上升事件消息向交换控制器通知指定端口已从下行状态改变为上升状态。当端口上升时,其输入端口上的所有连接被删除(输入端口的连接表为空),并且交换器分配一个新的端口话路号。端口下行事件消息向交换控制器通知指定端口已从上升状态改变为下行状态。如果交换器能够检测链路故障,则交换器向交换控制器发送一个端口下降事件消息,报告链路故障。当一个或更个ATM信元到达一个具有当前未被分配给虚拟通道连接的VPI/VCI的输入端口,则交换器向交换控制器发送一个无效VPI/VCI事件消息。无效VPI/VCI消息分别指定端口字段及VPI/VCI字段中的端口及VPI/VCI。指定新端口数目的新端口事件消息通知交换控制器新端口已加入到交换器中。死亡端口事件消息通知交换控制器已从交换器除去一个端口。死亡端口事件消息在其端口字段及端口话路号字段中分别指定除去的端口数目,以及除去端口之前有效的端口话路号。
C.IFMP-C
根据一些实施例,系统软件还可利用IFMP-C协议通过基本交换单元的交换控制器(在此称为IFMP-C控制器)和交换代理器(在此称为IFMP-C代理器)之间的链路建立通信,从而当需要时可分配第3层包转送。特别地,IFMP-C(一种控制IFMP-C代理器的通用目的非对称协议)在初始化时跨越IFMP-C控制器和IFMP-C代理器之间的链路建立的虚拟通道上运行。单个IFMP-C控制器可通过分离的虚拟通道使用IFMP-C的多个实例控制多个IFMP-C代理器。IFMP-C还包括IFMP-C相邻协议,IFMP-C协议用来使IFMP-C控制器及IFMP-C代理器之间的链路两端的状态同步,发现链路另一端的实体身份,及检测该实体的身份变化。
IFMP-C允许IFMP-C控制器跨越ATM交换器建立并释放连接,在点对多点连接上加入及删除叶,管理IFMP-C接口,请求接口配置信息,及请求统计。IFMP-C还允许IFMP-C代理器通知IFMP-C控制器诸如链路正在下行之类的事件。
如前所述,IFMP-C是一种主—从协议。IFMP-C控制器向IFMP-C代理器发布请求消息。每个请求消息指示是否需要来自IFMP-C代理器的响应,并含有事务标识符,使得响应能够和特定请求相联系。IFMP-C代理器用指示成功或失败的响应消息应答。
IFMP-C包括分配了特殊消息类型的IFMP-C相邻协议。GSMP相邻协议用于跨越链路建立同步状态,并在IFMP-C控制器和IFMP-C代理器之间保持同步交换。除了IFMP-C相邻协议消息之外,在IFMP-C相邻协议已经实现状态同步之前,不能越过链路发送其它IFMP-C消息。在当前没有实现状态同步的链路上接收的所有其它IFMP-C消息被丢弃。本实施例中,IFMP-C还具有四种其它的消息类别:接口、支线、控制及管理。这四种类别是请求-响应消息类别,每一种具有用于请求消息的格式及用于响应消息的格式。除非另外指出,除指示失败本质的代码字段之外,失败响应消息和导致该失败的请求消息相同。本实施例中,具有许多不同的消息类型,即IFMP-C消息的功能。在一个特定实施例中,每种IFMP-C消息类别具有多种不同的消息类型。
在本发明中,IFMP-C包长度可变,并以和上面关于图10b说明的ATM数据链路上IP包的缺省封装相类似的方式,直接封装在具有前置LLC/SNAP标题的AAL-5 CPCS-PDU中。图15a说明了封装的IFMP-C包1000。缺省封装把一个LLC/SNAP标题加到封装在AAL-5 CPCS-PDU的负载中的IFMP-C包的前头。按照从MSB(首先被传输)到LSB的顺序,缺省封装的IFMP-C包1000包括LLC/SNAP标题(第一个32位字中的24位LLC字段1002,跟在其后的SNAP标题1004的8位部分,及SNAP标题1004的剩余32位字部分),IFMP-C消息1006(其长度为32位字的整数倍),填充字段1008及AAL-5 CPCS-PDU尾部字段1010。填充字段1008的范围为0-47个八位位组,尾部字段1010为8个八位位组(四个32位字)。使用缺省封装的IFMP-C消息1006的MOTU为1500个八位位组。在特定实施例中,使用缺省封装的包被发送给VPI=0,VCI=15(缺省虚拟通道)。
图15b说明了可包含在图15a的封装IFMP-C包1000的IFMP-C消息字段1006中的典型IFMP-C消息1012的类属结构。如图15b所示,类属IFMP-C消息1012包括(按照从MSB到LSB的顺序)下述字段:作为第一个32位字的8位版本字段1014、8位消息类型字段1016、8位代码字段1018及8位标志字段1020;作为第二个32位字的16位事务标识符1022,及16位消息长度字段1024;作为第三个32位字的发送者同步实例字段1026;作为第四个32位字的对等物同步实例字段1028;及消息体字段1030。讨论IFMP-C消息时,“发送者”是发送IFMP-C消息的实体,“对等物”是发送者通过链路向其发送IFMP-C消息的实体。所述实体可以是IFMP-C控制器或IFMP-C代理器。上面讨论的类属IFMP-C消息1012和IFMP-C相邻协议消息存在一些差别(将在下面讨论)。
当发送消息时,发送者把版本字段1014设定为对应于当前使用的IFMP-C协议的版本号(当可发展出其它版本时)。消息类型字段1016识别消息体字段1030的类型及格式。在特定实施例中,每种特殊消息具有唯一的消息类型。代码字段1018用于指示操作是成功还是失败,标志字段1020用于指示应如何处理包,以及需要哪种类型的响应。当发送者需要接收者通知操作已完成时,标志字段1020可被设定为确认—完成(acknowledge-complete)(PLEASE_ACK)标志。当发送者只是在操作失败时才要求通知时,发送者可把标志字段1020设置为确认—否定(ackonwledge-negative)(PLEASE_NACK)。如果操作成功,并且请求消息在标志字段1020中具有PLEASE_ACK标志,则在响应消息中,标志字段1020应被设置为确认(ACK)标志,代码字段1018应被设置为预定值,例如在特定实施例中为0。但是,如果操作失败,并且请求消息在标志字段1020中具有PLEASE_NACK标志,则响应消息的标志字段1020应被设置为否定—确认(NACK)标志,代码字段1018应指示该失败的具体原因。代码字段1018中使用的失败的完整列表将在下文详述。事务标识符1022唯一地标识每个消息。当消息要求响应时,响应消息具有事务标识符字段1022中的相同值,从而使得请求消息和响应消息彼此相关。根据特定实施例,消息长度字段1024以八位位组的形式给出消息的长度(包括IFMP-C标题,但是不包括任意SNAP/LLC封装)。发送者同步实例字段1026含有识别发送者的当前同步实例的值。如后所述,该值在IFMP-C相邻协议中被交换。当接收来自发送者的消息时,发送者同步实例字段1026中的值和来自IFMP-C相邻协议的接收者处的本地对等物实例的值比较。如果实例不匹配,则接收者忽略该包。对等物同步实例字段1028含有识别实例的值,发送者认为该实例为其对等物的当前同步实例。该值在IFMP-C相邻协议中被交换。当从发送者接收消息时,对等物同步实例字段1028中的值和来自IFMP-C相邻协议的接收者处的本地实例比较。如果实例不匹配,则接收者忽略该包。消息体字段1030含有任意的特定消息数据,如下面对多种消息类型的详细说明中所述。
图16a说明了可包含在图15a的封装IFMP-C包1000的IFMP-C消息字段1006中的IFMP-C相邻协议消息1040的类属结构。如图16a所示,IFMP-C相邻协议消息1040包括(按照从MSB到LSB的顺序)下述字段:版本字段1014、消息类型字段1016、代码字段1018;标志字段1020;事务标识符字段1022;消息长度字段1024;32位发送者实例字段1042;32位对等物实例字段1044;16位发送者类型字段1046及16位ACK间隔字段1048;下一个48位的发送者名字字段1050;下一个48位的对等物名字字段1052。讨论IFMP-C相邻协议消息时,“发送者”是发送IFMP-C相邻协议消息的实体,“对等物”是发送者通过链路向其发送IFMP-C相邻协议消息的实体。所述实体可以是IFMP-C控制器或IFMP-C代理器。
在IFMP-C相邻协议消息1040中,版本字段1014、消息类型字段1016、标志字段1020、事务标识符字段1022及消息长度字段1024的使用和上面对图15b的类属IFMP-C消息1012的说明相同。IFMP-C相邻协议消息的消息类型字段1016被设定为特定值,以规定IFMP-C相邻协议消息的特定类型。在本实施例,在IFMP-C相邻协议消息中对于消息类型字段1016,存在四种可能值:SYN(同步消息)、SYNACK(同步确认消息)、RSTACK(重置确认消息)、及ACK(确认消息)。发送者实例字段1042被设定为发送者的链路当前实例号。实例号用于检测链路的一侧何时已重起动。链路的实例号在最近应是唯一的,并且当链路重新起动时应是唯一的。对等物实例字段1044被设定为发送者认为其是链路远端的当前实例号的值。在对等物实例字段1044中使用一个预定值(例如在特定实施例中为0)来指示何时发送者不了解远程实例。为此该预定值可被保留,并且不用作供发送者实例字段1042里使用的有效实例号。发送者类型字段1046指示发送该消息的IFMP-C实体的类型(规定类型为IFMP-C控制器及IFMP-C代理器)。当一个实体接收任意IFMP-C相邻消息时,接收者把接收的消息中的发送者类型字段1046和接收者的类型比较,以便防止一个IFMP-C控制器和另一个IFMP-C控制器相邻,或者防止一个IFMP-C代理器和另一个IFMP-C代理器相邻。如果类型相同或者未确定,则该消息被忽略。如果类型是互补的(一个为IFMP-C控制器,另一个为IFMP-C代理器),则同步发生。ACK间隔字段1048由IFMP-C控制器设定以指示最佳的确认(ACK)间隔。IFMP-C代理器使用ACK间隔作为运行相邻协议的超时间隔。当发送IFMP-C相邻协议消息时,IFMP-C代理器把ACK间隔字段1048设定为由IFMP-C控制器忽略的预定值(例如在一个特定实施例中为0)。发送者名字字段1050是在该设备的操作语境中识别发送者的唯一值(如果可能,例如介质存取控制器(MAC)地址)。对等物名字字段1052由发送者设定为发送者认为是链路远端的对等物的名字的值。发送者把对等物名字字段1052设定为预定值(例如在一个特定实施例中为0)来指示何时对等物名字未知。
如上所述,IFMP-C相邻协议用于跨越连接IFMP-C控制器及IFMP-C代理器的链路建立状态同步,及识别链路状态的变化,及链路另一侧的重新起动。链路的每一侧都运行IFMP-C相邻协议。对IFMP-C相邻协议来说,对特定链路存在三种可能状态:SYNSENT(同步消息发送),SYNRCVD(同步消息接收),ESTAB(同步建立)。在IFMP-C控制器及IFMP-C代理器发送IFMP-C消息之前,要求链路两端的状态同步(当建立起邻近时,接口将处于ESTAB状态)。
在IFMP-C相邻协议中,可导致状态改变的事件有两类:定时驱动事件及包到达。图16b说明了这些状态改变,该图是说明在IFMP-C相邻协议的三种可能状态下,发送者实体(IFMP-C控制器或IFMP-C代理器)的操作的状态图。IFMP-C控制器通过把ACK间隔字段1048设定为特定值(例如在一个特定实施例中为1秒)在IFMP-C代理器上设置定时间隔。当然,在其它实施例中定时间隔也可使用其它值。如下所述,为了周期地产生SYN、SYNACK及ACK IFMP-C相邻协议消息,每个实体中需要一个定时器。
在此讨论IFMP-C相邻协议的定时驱动事件。如图16b所示,如果定时器期满(由t表示),并且发送者实体处于SYNSENT状态1060,则发送者实体重置定时器,并发送SYN IFMP-C相邻协议消息(由1062表示)。根据一个特定实施例,这一动作(由虚线表示)只由IFMP-C代理器执行,它具有通过发送SYN包启动同步的任务。如果定时器期满,并且发送者实体是IFMP-C控制器,则该实体仅重置定时器,而不发送SYN包。如果定时器期满,而发送者实体处于SYNRCVD状态1064,则发送者实体重置定时器,并发送SYNACK IFMP-C相邻协议消息(由1066表示)。如果定时器期满,并且发送者实体处于ESTAB状态1068,则发送者实体重置定时器,并发送ACK IFMP-C相邻协议消息(由1070表示)。如果链路两侧经过预定数目(例如:3)的超时期间,均未从链路另一侧接收ACK包,则为使IFMP-C相邻协议超时,链路两侧应重置该链路,并进入SYNSENT状态。录IFMP-C代理器超时时,它应将ACK间隔恢复为缺省值。
除了上面讨论的定时驱动转变之外,IFMP-C相邻包到达也会导致IFMP-C协议中的状态转变。当IFMP-C相邻消息到达一个实体时,根据该实体的当前状态、消息内容及消息类型采取一个动作。在IFMP-C相邻协议中下述操作被执行:更新对等物操作及重置链路操作。IFMP-C相邻协议的每个实例保持确定对等物实例及对等物名字(即链路远端的对等物实体的实例及名字)的状态。更新对等物操作设置本地对等物状态使之和来自刚接收的IFMP-C相邻消息的发送者状态匹配。当重新起动同步时,重置链路操作为链路的局部侧面产生新的实例号,并通过把对等物实例及对等物名字设定为零,删除所有的对等物状态。
对图16b中的以下说明,条件“%X”被定义为:输入消息中的对等物实例及对等物名字字段与和链路相关的实例及名字的本地值匹配。条件“%Y”被定义为:输入消息中的发送者实例及发送者名字字段,与为对等物实例及对等物名字存储的发送者实例及发送者名字的值匹配。在图16b中,条件“A”表示发送者实体接收一个输入SYNACK IFMP-C相邻协议消息,并且条件%X被满足;条件“B”表示发送者实体接收一个输入SYNACK IFMP-C相邻协议消息,并且条件%X不被满足;条件“C”表示发送者实体接收一个输入ACK IFMP-C相邻协议消息,并且条件%X及%Y均被满足;条件“D”表示发送者实体接收一个输入ACK IFMP-C相邻协议消息,并且条件%X及%Y均不被满足;条件“E”表示发送者实体接收一个输入RSTACK IFMP-C相邻协议消息,并且条件%X及%Y均被满足;条件“F”表示发送者实体接收一个输入RSTACK IFMP-C相邻协议消息,并且条件%X及%Y均不被满足;条件“G”表示发送者实体接收SYN或SYNACK IFMP-C相邻协议消息,并且条件%X被满足;条件“H”表示发送者实体接收SYN或SYNACK IFMP-C相邻协议消息,并且条件%X不被满足。
如同在此说明的一样,当实体处于SYNSENT状态1060时,可能发生多种转变。如图16b所示,如果发送者实体处于SYNSENT状态1060,并且从链路另一端的对等物接收一个输入SYN IFMP-C相邻协议消息,则发送者实体执行更新对等物操作,并向对等物发送一个SYNACK IFMP-C相邻协议消息(如步骤1072所示)。随后发送者从SYNSENT状态1060转为SYNRCVD状态1064。如果发送者处于SYNSENT状态1060的同时,接收一个输入RSTACK IFMP-C相邻协议消息,则发送者实体保留在SYNSENT状态1060,但是丢弃该消息(步骤1074表示)。如果发送者或者接收输入ACK IFMP-C相邻协议消息,或者条件B被满足,则发送者实体保留在SYNSENT状态1060,只是发送一个RSTACK IFMP-C相邻协议消息(由1076表示)。如果当发送者实体处于SYNSENT状态1060时,条件A被满足,则发送者实体更新对等物,发送ACK IFMP-C相邻协议消息(由1078表示),并转变为ESTAB状态1068。
如同在此说明的一样,当实体处于SYNRCVD状态1064时,可能发生多种转变。如图16b所示,如果发送者实体处于SYNRCVD状态1064,并且从链路另一端的对等物接收一个输入SYN IFMP-C相邻协议消息,则发送者更新对等物,并向对等物发送一个SYNACK IFMP-C相邻协议消息(如步骤1072所示),同时保留在SYNRCVD状态1064。如果处于SYNRCVD状态的同时,条件B或D被满足,则发送者实体保留在SYNRCVD状态1064,并发送一个RSTACK IFMP-C相邻协议消息(由1078表示)。如果实体处于SYNRCVD状态1064的同时,条件F被满足,则实体保留在SYNRCVD状态1064,但是丢弃该消息(由1080表示)。如果处于SYNRCVD状态1064的同时,条件E被满足,则发送者实体执行重置链路操作,并发送一个SYN IFMP-C相邻协议消息(由1082表示),并从SYNRCVD状态1064转变到SYNSENT状态1060。如果处于SYNRCVD状态1064的同时,条件A被满足,则发送者实体执行更新对等物操作,发送一个ACK IFMP-C相邻协议消息(由1078表示),并从SYNRCVD状态1064转变到ESTAB状态1068。如果处于SYNRCVD状态1064的同时,条件C被满足,则发送者实体发送一个ACK IFMP-C相邻协议消息(由1084表示),并从SYNRCVD状态1064转变到ESTAB状态1068。
如同在此说明的一样,当实体处于ESTAB状态1068时,可能发生多种转变。如图16b所示,如果处于ESTAB状态1068的同进,条件D或H被满足,则发送者实体保留在ESTAB状态1068,并发送一个RSTACKIFMP-C相邻协议消息(由1088表示)。如果实体处于ESTAB状态1068的同时,条件F被满足,则实体保留在ESTAB状态1068,只是丢弃该消息(由1080表示)。如果处于ESTAB状态1068的同时,条件E被满足,则发送者实体执行重置链路操作,发送一个SYN IFMP-C相邻协议消息(由1086表示),并从ESTAB状态1068转变到SYNSENT状态1060。如果处于ESTAB状态1068的同时,条件C或G被满足,则发送者实体发送一个ACK IFMP-C相邻协议消息(由1090表示),并保留在ESTAB状态1068。根据一个特定实施例,每个超时期间,链路一侧的每个实体不应发送多于一个的由包到达产生的ACK IFMP-C相邻协议消息。
IFMP-C接口消息可包含在图15a的封装IFMP-C包1000的IFMP-C消息字段1006中。如前所述,在链路的同步状态建立之后,IFMP-C接口消息用于发现并配置IFMP-C代理器上的接口。在一个特定实施例中,IFMP-C接口消息包括接口列表请求及响应消息,接口列表错误消息,接口查询请求及响应消息,接口查询错误消息,接口配置请求及响应消息及接口配置错误消息。IFMP-C接口列表消息及接口查询消息在消息类型字段1016中具有特定值。当然,在其它实施例中,也可有更多的消息,或者执行类似功能的消息。
接口列表请求及响应消息,及接口列表错误消息用于确定IFMP-C代理器上哪些接口可用。图17a及17b分别说明了接口列表请求及响应消息的结构。如图17a所示,接口列表请求消息1100具有如前关于图15b说明的类属格式,其消息体字段1030含有下一个Cookie字段1112,这是一个从前一接口列表响应返回的32位值。下一个Cookie字段1112用于支持跨越多于一个消息的接口列表。下一个Cookie字段中的值是由IFMP-C代理器返回的值,以便允许下一个消息请求在接口列表中前一个消息终止的地方继续。一个预定值(例如特定实施例中为0)用于指示接口列表应从头开始。如果接口列表请求消息具有在其标志字段1020中设定的PLEASE_ACK标志,并且操作成功,则IFMP-C代理器返回一个接口列表响应消息1114(见图17b),该消息的标志字段1020被设定为ACK标志,代码字段1018被设置为指示无错误的预定值(特定实施例中为0)。如图17b所示,接口列表响应消息1114中的下一个Cookie字段1112是一个作为消息一部分被返回的32位值。如果下一个Cookie字段1112中的值为0,则所有的接口都已被列举。如果该值不为0,则该值用作下一个接口列表消息的变元以获取任何剩余的接口。IFMP-C代理器为每个接口分配一个唯一的32位标识符,该标识符在其它IFMP-C消息中用于指示特定接口。接口列表响应消息1114在接口标识符1字段1118,接口标识符2字段1120等等中,为可在响应消息中列举的IFMP-C代理器上的每个端口列举出所有的标识符。
如果接口列表请求失败,则IFMP-C代理器返回一个包括IFMP-C标题的接口列表错误消息。在接口列表错误消息中,应在标志字段1020中设置NACK标志,代码字段1018应指示失败的原因,事务标识符字段1022应和接口列表请求消息中的一样。失败的原因的一些例子包括:Cookie无效,IFMP-C代理器不能分配消息缓冲区以完成响应,妨碍请求完成的特定客户机错误,或其它一些原因,这些失败原因的每一个都具有供代码字段1018之用的特定值。
接口查询请求及响应消息及接口查询错误消息用于获取与IFMP-C代理器上的指定接口有关的属性。图17c和17d分别说明了接口查询请求及响应消息的结构。如图17c所示,接口查询请求消息1130具有如前关于图15b说明的类属格式,其消息体字段1030含有接口标识符字段1132,这是一个唯一地标识属性正被查询的接口的32位标识符。如上所述,接口标识符由IFMP-C代理器分配,并通过接口列表消息获得。如果来自IFMP-C控制器的接口查询请求消息1130在其标志字段1020中具有设定的PLEASE_ACK标志,并且查询操作成功,则IFMP-C代理器返回一个接口查询响应消息1134(见图17d),该消息的标志字段1020被设定为ACK标志,代码字段1018被设置为指示无错误的预定值。如图17d所示,接口查询响应消息的消息体字段1030还包括用于查询接口名字的48位接口名字字段1136(在特定实施例中,可使用MAC地址),8位接口类型字段1138(为各种接口类型(例如ATM、以太网、快速以太网、千兆位以太网、FDDI或其它局域网接口)规定的值),8位介质类型字段1140(指示接口的物理介质,例如多模光纤、类(Category)5双绞线、单模光纤等)。此外,接口查询响应消息还包括32位支持速度字段1142及32位当前速度字段1144。支持速度字段1142指示查询接口支持的不同的传输速率(例如,10Mbps、25Mbps、100Mbps、155Mbps、622Mbps、1000Mbps,以及其它速率)。对于支持多种传输速率的接口来说,在字段1142中可设定多个标志。如果接口支持速度设置的自动协商,则可在支持速度字段1142中设置自动协商标志。当前速度字段1144指示查询接口的当前传输速率。如果接口处在自动配置模式,则在当前速度字段1144中表示出当前接口速度,并且在支持速度字段1142中设置自动协商标志。IFMP-C接口查询响应消息1134还包括32位的支持的双工字段1146(指示查询接口支持的双工速率,例如半双工,全双工,或者双工设置的自动协商;对于支持多个双工设置的接口可设置多个标志),32位的当前双工字段1148(指示接口的当前双工设置;如果接口处于双工设置的自动协商模式,则在字段1146将设置自动协商标志)。此外,接口查询响应消息1134还包括32位的接口槽标识符字段1150(标识IFMP-C代理器上的接口占有的物理槽),32位的接口端口标识符字段1152(识别IFMP-C代理器上的接口占有的物理端口),16位接口标志字段1154,及16位接口状态字段1156。接口标志字段1154规定查询接口上的配置选项的当前设置,每个标志指示不同的状态(例如接口正在上升,接口处于混杂模式,接口接受所有的多点传送包等)。接口状态字段1156指示关于链路的不能由IFMP-C控制器改变的当前状态信息(例如IFMP-C控制通信正在通过该接口,或者该接口上的链路处于上升)。另外,接口查询响应消息1134包括32位的最小接收标记字段1158、32位的最大接收标记字段1160,32位的最小传输标记字段1162,及32位的最大传输标记字段1164。如果接口是ATM,则最小接收标记字段1158和最大接收标记字段1160分别指示在其上接口可接收的最小及最大VCI。如果接口是ATM,则最小传输标记字段1162及最大传输标记字段1164分别指示接口可传输的最小及最大VCI。如果查询的接口不是ATM,字段1158、1160、1162及1164被设定为零。
如果接口查询请求失败,则IFMP-C代理器发送一个接口查询错误消息,该消息包括IFMP-C标题,它具有设置在标志字段1020中的NACK标志,在其代码字段1018中指示的恰当的失败原因,及和接口查询请求消息1130中同样的事务标识符字段1022。可在接口查询错误消息的代码字段1018中指示的失败原因的例子包括接口标识符无效,IFMP-C代理器不能分配消息缓冲区完成该响应,妨碍请求完成的特定客户机错误,及其它原因。
接口配置请求及响应消息和接口配置错误消息用于使IFMP-C控制器能够改变IFMP-C代理器上的接口配置。图17e说明了接口配置请求消息1170的结构。如图17e所示,接口配置请求消息1170具有如前关于图15b说明的类属格式,其消息体字段1030含有接口标识符字段1132(唯一地标识其配置要被改变的接口),16位清除标志字段1172,16位设置标志字段1174,32位速度字段1176,及32位双工字段1178。清除字段1172指示在指定接口上,IFMP-C代理器应消除哪些标志,以影响接口的操作。清除标志的例子包括在管理上拆卸接口,使接口脱离混杂模式,阻止接口接收所有的多点传送包等。设置标志字段1174指示IFMP-C代理器应在指定接口上设置哪些标志,以影响该接口的操作。设置标志的例子包括在管理上使接口上行,使接口处于混杂模式,允许接口接收所有的多点传送包等。速度字段1176使IFMP-C控制器能够改变指定接口的速度设置(在接口支持的速度之中,例如自动协商、10Mbps、25Mbps、100Mbps、155Mbps、622Mbps、1000Mbps或其它)。双工字段1178使IFMP-C控制器能够改变指定接口的双工设置(在接口支持的双工设置中,例如自动协商的双工,半双工,或全双工)。速度字段1176或双工字段1178设置成表示速度或双工设置不应被改变的预定值(例如在特定实施例中为0)。如果来自IFMP-C控制器的接口配置请求消息1170具有在其标志字段1020中设置的PLEASE_ACK标志,并且操作成功,则IFMP-C代理器返回一个接口配置响应消息,该消息由IFMP-C标题字段(除消息体字段外,图15b所示的所有字段)构成,标志字段1020中设置为ACK标志,代码字段1018设置为指示无错误的预定值。
如果接口配置请求消息失败,则IFMP-C代理器返回一个由IFMP-C标题构成的接口配置错误消息。在接口列表错误消息中,NACK标志应被设置在标志字段1020中,代码字段1018应指示失败的原因,并且事务标识符字段1022应和接口列表请求消息中的事务标识符字段一样。失败原因的例子包括接口标识符无效,使用了无效配置参数,妨碍请求完成的特定客户机错误,或其它原因,每个原因具有一个供代码字段1018使用的特定值。
除IFMP-C相邻和接口消息外,其它类型的IFMP-C消息1012包括IFMP-C支线请求、响应及错误消息。存在6种类型的IFMP-C支线消息以产生、修改及删除转送支线。具体地,IFMP-C支线消息包括:加入支线、删除支线、删除树、移动支线、读取支线及获取树统计。给予每个转送支线一个优先权值。当产生多个匹配时,使用优先权值最低的支线。
如前所述,基本转送通过支线完成,其中每个支线由两个部分构成:输入数据及输出数据。输入数据提供足够的信息,使输入包能够和支线匹配,输出数据是转送和输入数据匹配的包所必需的信息。用于修改IFMP-C代理器的转送状态的基本操作是加入支线及删除支线。加入多个具有相同输入数据的支线将产生可用于把每个输入包转送给多个目的地的树。例如,具有一个特定输入数据及几个输出数据的第一加入支线消息建立起单点传送包转送。具有相同输入数据及其它输出数据的第二加入支线消息通过加入另一个与该相同输入数据相关的输出支线把单点传送转送转变为多点传送转送。借助于更多的加入支线消息,可用相同的方式加入其它输出支线。删除支线消息是用于删除单个支线的IFMP-C支线消息。对具有两个支线的多点传送连接使用删除支线消息可除去具有指定输出数据的支线,把多点传送转送转变为单点传送转送。另一种IFMP-C消息,移动支线消息用于改变现有支线上的现有输出信息。其它的IFMP-C支线消息包括用于获取输入数据被指定的转送通路的统计值的获取树统计消息,及用于诊断及调试目的,从而使IFMP-C控制器能够检索IFMP-C代理器上的所有转送支线的读取支线消息。
加入支线消息及删除支线消息是均使用图18a所示消息格式1200(只是具有不同的消息类型)的IFMP-C支线消息。如图18a所示,IFMP-C加入/删除支线请求消息格式1200具有前面关于图15b说明的类属格式,其消息体字段1030包括:输入接口标识符字段1201,16位输入优先级字段1202,16位输入标志字段1204,32位输入接口标识符字段1206,24位保留字段1208,8位关键字长度字段1210,8位输出标题长度字段1212,8位删除长度字段1214,8位变换类型字段1216,8位变换数据长度字段1218,32位服务质量句柄字段1222,预定长度输入关键字数据字段1224,预定长度输入关键字屏蔽字段1226,预定长度输出标题数据字段1228及变换数据字段1230。
下面说明图18a所示的字段(而不是图15b中所示的类属IFMP-C标题字段)。由IFMP-C代理器分配,并通过IFMP-C接口列表消息获得的输入接口标识符字段1201唯一地识别将输入支线应用于其的特定输入接口。输入优先级字段1202(在特定实施例中为无符号整数)表示分配给该支线的优先级。当把输入包和输入关键字匹配时,首先匹配优先级最低的关键字。如果多个通路具有相同的优先级,则IFMP-C代理器会选择任一匹配的支线来转送包。输入标志字段1204应用于输入支线,该字段中指示的标志用于表示如果包和该转送通路匹配时,应采取的特定行为。可被标志的这些行为的例子包括:“失败”一在包被传输之后,在下一个优先级上搜索,而不是终止;或“放弃”一放弃所有与该输入通路匹配的包。输出接口标识符字段1206唯一地识别用于传输该包的接口。如果备用的保留字段1208未被使用,则在特定实施例中可由发送者实体设置为0,并被接收者实体忽略。关键字长度字段1210(在特定实施例中为8位无符号整数)以八位位组的形式给出输入关键字数据字段1224及输入关键字屏蔽字段的长度。输出标题长度字段1212(在特定实施例中为8位无符号整数)以八位位组的形式给出输出标题数据字段1228的长度。8位无符号整数的删除长度字段1214规定在施加变换数据字段1230中指示的变换之前,从包的开始处删除的8位位组数。
变换类型字段1216规定传输包之前,要对该包进行的修改的类型(例如,无修改、IP包变换为IFMP流类型1、IP包变换为IFMP流类型2、IFMP流类型1变换为IP包、IFMP流类型2变换为IP包、标准IP转送、包截尾或其它修改)。某些类型的修改需要不是该包组成部分的数据,这样要求的数据在变换数据字段1230中提供。具体地说,“IP包变换为IFMP流类型1(或2)”变换类型把包从IPv4(或者使用中的其它IP包版本)转换为前面讨论过的IFMP流类型1(或2)的封装。“IFMP流类型1(或2)变换为IPv4包”变换类型通过使用变换数据字段1230重构删除的字段,及更新TTL及IP标题检查和,把以IFMP流类型1(或2)的形式到达的包转换为IPv4包。“标准IP转送”变换类型减小IP标题中的TTL,并更新IP标题检查和。“截尾包”变换类型把包的大小限制为转送数据规定的大小(在变换数据字段1230中)。
如图18a所示,变换数据长度字段1218是规定包括在加入/删除支线消息格式1200中的变换数据字段1230的长度的8位无符号整数。如果变换在变换数据字段1230中不需要额外的数据,则变换数据长度字段1218被设置为0。服务质量句柄字段1222指示IFMP-C代理器应如何处理与支线匹配的包,其长度由关键字长度字段1210规定。输入关键字数据字段1224含有和输入包比较,以了解其是否和转送通路匹配的数据。关键字数据字段1224中的数据拥有MAC地址之类的链路级信息,IP地址之类的第3层信息等等,其长度由关键字长度字段1210规定。关键字屏蔽字段1226用于规定当把输入关键字数据字段1224中的信息和输入包比较时,关键字数据的相关位,其长度由输出标题长度字段1212规定。输出标题数据字段1228含有在传输包之前,应将其预挂给该包的标题(一般为链路级信息,例如以太网接口上的MAC标题,或ATM接口上的VPI/VCI)。如上所述,变换数据字段1230含有执行指定变换所需的数据。对于“IFMP流类型1(或2)变换为IPv4”变换,变换数据字段1230中的数据和图7a(或者流类型2的图7b,除了在某些实施例中服务类型字段及协议字段可被保留外)所示的流标识符相似。当指定“截尾包”变换时,包的部分副本被发送给特定目的地,变换数据字段1230中的数据1240包括可由发送者设置为0,并被接收实体忽略的16位保留字段1242,及16位截断长度字段1244,如图18b所示。截断长度字段1244表示该包的多少个字节应从接口传输出。如果到达的包的长度大于该值,则该包被截断到这个长度。截断长度是已删除任意字节之后的字节数,并且不包括可被加入的任意输出标题。
如果IFMP-C加入(或删除)支线请求消息具有在其标志字段1020中设置的PLEASE_ACK标志,并且操作成功,则IFMP-C代理器返回一个具有图18c所示格式的IFMP-C加入(或删除)支线响应消息1250,其标志字段1020中设置为ACK标志,代码字段1018设置为指示无错误的预定值。如图18c所示,响应消息具有类属IFMP-C的IFMP-C标题字段,其消息体含有16位保留字段1252及16位输出计数字段1254。保留字段1252备用,可由发送者设置为0,并被接收者忽略。无符号整数的输出计数字段1254含有当前操作施加后,共享相同输入信息的输出支线的数目(如果支线计数为1,则其是单点传送支线;如果支线计数大于1,则其是多点传送支线)。字段1254由IFMP-C控制器使用,以校验每次操作之后,支线状态的连贯性。
如果IFMP-C加入支线(或删除支线)请求失败,则IFMP-C代理器发送一个IFMP-C加入支线(或删除支线)错误消息。该错误消息由IFMP-C标题构成,其事务标识符字段1022和请求消息的事务标识符字段相同。其标志字段1020中设置为NACK标志,代码字段1018设置为指示失败原因的值。失败原因的例子包括:接口标识符之一无效;输入关键字长度大于IFMP-C代理器支持的最大长度;IFMP-C代理器不支持或不识别输出变换;IFMP-C代理器的资源不足以完成该请求;存在具有相同输入关键字,但是标志不同的另一支线;服务质量参数无效或不被IFMP-C代理器所支持;IFMP-C代理器不支持输入关键字或屏蔽;试图加入IFMP-C代理器上已存在的指定支线;妨碍请求完成的特定客户机错误;或其它原因。
如图18d所示,IFMP-C删除树请求消息1260具有含有对于图18a说明的多数字段的消息格式。删除树请求消息格式1260具有前面关于图15b说明的类属格式,其消息体字段1030包括:输入接口标识符字段1201,输入优先级字段1202,输入标志字段1204,56位保留字段1262,关键字长度字段1210,预定长度的输入关键字数据字段1224及预定长度的输入关键字屏蔽字段1226。
输入接口标识符字段1201唯一地识别应将输入支线(对该输入支线,树将被删除)应用于其的输入接口。输入关键字数据字段1224提供和输入包比较,以了解其是否和将被删除的转送通路匹配的数据,输入关键字屏蔽字段1226规定当将输入关键字数据和输入包比较时,关键字数据的相关位。保留字段1262备用,可由发送者设置为0,并被接收者忽略。
如果IFMP-C删除树请求消息1260具有在其标志字段1020中设置的PLEASE_ACK标志,并且操作成功时,则IFMP-C代理器返回一个为IFMP-C标题字段(除没有消息体字段之外,如图15b所示)的IFMP-C删除树响应消息,其标志字段1020中设置为ACK标志,代码字段1018设置为指示无错误的预定值。如果IFMP-C删除树请求失败,则IFMP-C代理器返回一个为IFMP-C标题字段(除没有消息体字段之外,如图15b所示)的IFMP-C删除树错误消息,其标志字段1020中设置为NACK标志,代码字段1018设置为识别失败原因(例如接口标识符无效,具有请求中指定的输入关键字的支线不存在,存在另一个具有指定输入关键字,但是标志不同的支线,或者其它原因)的值。
图18e说明了IFMP-C移动支线请求消息1300的结构,它含有对于图18a说明的多数字段。移动支线请求消息格式1300具有前面关于图15b说明的类属格式,其消息体字段1030包括(按照从MSB到LSB的顺序):输入接口标识符字段1201,输入优先级字段1202,输入标志字段1204,32位旧输出接口标识符字段1302,24位保留字段1304,8位关键字长度字段1210,8位旧输出标题长度字段1308,8位旧删除长度字段1310,8位旧变换类型字段1312,8位旧变换数据长度字段1314,32位旧服务质量句柄字段1318,32位新输出接口标识符字段1320,32位保留字段1322,8位新输出标题长度字段1324,8位新删除长度字段1326,8位新变换类型字段1328,8位新变换数据长度字段1330,32位新服务质量句柄字段1334,预定长度的输入关键字数据字段1224,预定长度的输入关键字屏蔽字段1226,预定长度的旧输出标题数据字段1340,预定长度的旧变换数据字段1342,预定长度的新输出标题数据字段1344,预定长度的新变换数据字段1346。上面列举的大多数字段在前面对于图18a的描述中说明了,只要注意到确定旧支线的输出数据的字段的值,被确定占据旧支线位置的新支线的输出数据的字段中的值所代替,就容易理解移动支线请求消息1300中的其它各个字段。
如果IFMP-C移动支线请求消息1300在其标志字段1020中设置有PLEASE_ACK标志,并且操作成功,则IFMP-C代理器返回一个IFMP-C移动支线响应消息,它具有和IFMP-C加入/删除支线响应消息相同的格式(如图18c所示),其标志字段1020中设置为ACK标志,代码字段1018设定为指示无错误的预定值。如果IFMP-C移动支线请求失败,则IFMP-C代理器返回一个为IFMP-C标题字段(除没有消息体字段之外,如图15b所示)的IFMP-C移动支线错误消息,其标志字段1020中设置为NACK标志,代码字段1018设置为识别失败具体原因(例如接口标识符无效,输入关键字长度大于支持的最大长度,IFMP-C代理器资源不足,输出变换不被支持或不识别,不存在具有和请求中为初始支线指定的相同输入关键字的支线,存在另一个具有指定输入关键字,但是标志不同的支线,服务质量参数无效或不被支持,妨碍请求完成的特定客户机错误,或者其它原因)的值。
作为另一种IFMP-C支线消息类型,IFMP-C获取树统计消息由IFMP-C控制器使用,以确定何时通路不再被使用,从而可以收回这些通路。每次通路用于转送包时,IFMP-C代理器使计数器值增加。当树上的每个支线将被使用相同次数时,为每个树保持该通路。如图19a所示,IFMP-C获取树统计请求消息1400具有前面关于图15b说明的类属格式,其消息体字段1030包括一列树数据信息:在特定实施例中为树数据1字段1402和树数据2字段1404。其它树数据字段也可包括在以消息体字段1030的形式存在的列表中。图19b说明了所有树数据字段使用的树数据字段结构1406。每个树数据字段结构1406包括(从MSB到LSB):输入接口标识符字段1201,输入优先级字段1202,输入标志字段1204,40位保留字段1408,关键字长度字段1210,18位记录大小字段1410,64位使用计数字段1412,预定长度的输入关键字数据字段1224及预定长度的输入关键字屏蔽字段1226。输入接口标识符字段1201唯一地识别应将输入支线(将为该输入支线获取树统计值)应用于其的输入接口。保留字段1408备用,可由发送者设置为0,并被接收者忽略。指示特殊树记录(例如,树数据1字段1402中的树记录)的大小的记录大小字段1410用于查找下一个树记录(例如,树数据2字段1404中的树记录)的开始处。使用计数字段1412是64位无符号整数,每次IFMP-C代理器使用指定树转送包时,使用计数字段1412的值增加。在请求消息中,使用计数字段由发送者设置为0,并被接收者忽略。由于关于图18a已对剩余的字段进行了说明,因此在此不再描述这些字段。
如果IFMP-C获取树统计请求消息1400具有在其标志字段1020中设置的PLEASE_ACK标志,并且操作成功,则IFMP-C代理器返回一个IFMP-C获取树统计响应消息,它具有和请求消息1400(图19a)相同的格式,其标志字段1020中设置为ACK标志,其代码字段1018设置为指示无错误的预定值。获取树统计响应消息还在树数据字段的使用计数字段中返回恰当的计数器值。
如果IFMP-C获取树统计响应失败,则IFMP-C代理器返回一个IFMP-C获取树统计错误消息,该错误消息为请求消息的IFMP-C标题字段(除了没有消息体字段外,如图15b所示),其标志字段1020中设置为NACK标志,代码字段1018设置为识别失败具体原因(例如,接口标识符无效,指定的输出树之一在IFMP-C代理器上不存在,存在具有指定的相同输入关键字,但是标志不同的另一个树,或其它原因)的值。
另一种IFMP-C支线消息类型是IFMP-C读取支线消息,它用于诊断及调试目的,从而允许IFMP-C控制器检索IFMP-C代理器上的所有转送支线。为了列举IFMP-C代理器上的所有支线,读取支线消息使用“获取下一个”操作。每次通路作好准备时,IFMP-C代理器返回支线信息,及用作为下一次读取操作的变元的cookie。该cookie对于IFMP-C控制器是含糊的,并由IFMP-C代理器使用以记住上次读取时停止的地方。IFMP-C控制器可保留并使用一个预定值(例如在特定实施例中为0)来获取IFMP-C代理器上的初始通路。直到列举了所有的表,此时IFMP-C代理器返回一个表示已到达列表末尾的指示时,获取转送通路请求的顺序串将获得成功。
图20a和20b分别说明了了IFMP-C读取支线请求消息1420及IFMP-C读取支线响应消息1430的结构。如图20a所示,IFMP-C读取支线请求消息1420具有前面关于图15b说明的类属格式,其消息体字段1030含有输入接口标识符字段1201及32位的下一Cookie字段1422。输入接口标识符字段1201唯一地识别在其上支线应被读取的输入接口。下一Cookie字段1422是作为先前的读取支线响应消息的一部分返回的不透明32位值。下一Cookie字段1422中的值是由IFMP-C代理器保持,以便记录最后的读取支线请求的位置。一个预定值(特定实施例中为0)用于指示应从列表的超始处开始。
如果IFMP-C读取支线请求消息具有在其标志字段1020中设置的PLEASE_ACK标志,并且操作成功,则IFMP-C代理器返回一个IFMP-C读取支线响应消息1430(见图20b),其标志字段1020中设置为ACK标志,代码字段1018设置为指示无错误的预定值(特定实施例中为0)。如图20b所示,读取支线响应消息1430具有前面关于图15b说明的类属格式,其消息体字段1030包括:输入接口标识符字段1201,输入优先级字段1202,输入标志字段1204,输出接口标识符字段1206,24位保留字段1432,关键字长度字段1210,输出标题长度字段1212,删除长度字段1214,变换类型字段1216,变换数据长度字段1218,服务质量句柄字段1222,下一Cookie字段1422,预定长度的输入关键字数据字段1224,预定长度的输入关键字屏蔽字段1226,预定长度的输出标题数据字段1228及变换数据字段1230。保留字段1432备用,由发送者设置为0,并被接收者忽略。下一Cookie字段1422是由IFMP-C代理器保持,以便记录最后的请求的位置,并被用作为下一读取支线消息的输入的状态。由于其它字段已在前面关于图18a进行了说明,在此不再描述它们。
如果读取支线请求失败,则IFMP-C代理器返回一个由IFMP-C标题构成的读取支线错误消息。除了在标志字段1020中设置的NACK标志,及代码字段1018设定为指示失败原因的值之外,读取支线错误消息应和读取支线请求消息的IFMP-C标题相同。失败原因的例子包括消息中的接口标识符之一无效,cookie无效,IFMP-C代理器不能分配消息缓冲区以完成响应,妨碍请求完成的特定客户机错误,或其它原因。
除了IFMP-C相邻、接口及支线消息之外,IFMP-C消息还包括IFMP-C重置消息之类的IFMP-C控制消息。IFMP-C重置消息用于当IFMP-C控制器失去和IFMP-C代理器的联系,或者如果IFMP-C控制器认为IFMP-C代理器不可靠时,重新初始化IFMP-C代理器的状态。IFMP-C重置请求消息指示IFMP-C代理器将其所有状态重置为初始条件。一旦接收到重置请求响应,则IFMP-C代理器除去所有的转送支线,并初始化接口,而没有重置IFMP-C相邻协议状态。IFMP-C重置消息由图15b所示的IFMP-C标题(无消息体字段)组成,它具有设置为指示该消息为重置消息的消息类型字段1016。如果重置请求消息具有在其标志字段1020中设置的PLEASE_ACK标志,并且重置操作成功,则IFMP-C代理器返回一个由除了其标志字段1020设置为ACK标志,其代码字段设置为指示无错误的预定值之外,和重置请求消息相同的IFMP-C标题组成的重置响应消息。如果重置请求失败,则IFMP-C代理器返回一个由除了其标志字段1020设置为NACK标志,其代码字段设置为指示错误的具体原因(例如妨碍请求完成的特定客户机错误)的值之外,和重置请求消息相同的IFMP-C标题组成的重置错误消息。
除了IFMP-C相邻、接口、支线及控制消息之外,IFMP-C消息还包括IFMP-C管理消息,IFMP-C管理消息用于获得网络管理及诊断目的所需的信息。IFMP-C管理消息包括多种消息类型:IFMP-C节点信息消息及IFMP-C接口统计消息。
IFMP-C节点信息消息获取关于运行IFMP-C的节点的信息(例如软件版本号等)。IFMP-C节点信息请求消息具有如图15b所示的IFMP-C标题的类属格式(无消息体字段1030),其消息类型字段1016标记该消息为IFMP-C节点信息消息。
如果IFMP-C节点信息请求消息具有在其标志字段1020中设置的PLEASE_ACK标志,并且该操作成功,则IFMP-C代理器返回一个IFMP-C节点信息响应消息1440(见图21a),其标志字段1020设置为ACK标志,代码字段1018设置为指示无错误的预定值(特定实施例中为0)。如图21a所示,IFMP-C节点信息响应消息1440具有如前面关于图15b说明的类属格式,其消息体字段1030含有:48位节点ID字段1442,48位父ID字段1444,16位节点类型字段1446,15位保留字段1448,32位父层字段1450,32位父架字段1452,16位固件次版本字段1454,及16位固件主版本字段1456。节点ID字段1442是唯一地识别该节点的值(例如节点的MAC地址)。对于节点是诸如机箱中的插件板之类大系统的一部分的情况,父ID字段1444被设置为唯一地识别该节点的包容器(或父代)的值。如果该节点不是诸如机箱中的插件板之类大系统的一部分,则父ID字段1444被设置为指示无父节点的预定值(特定实施例中为0)。节点类型字段1446是指示IFMP-C节点的类型的16位无符号整数。节点类型字段1446中的值可由厂家分配,从而对于每种类型IFMP-C代理器,节点ID的组织独特标识符(OUI,其为MAC地址的高位24位)部分和节点类型的组合是唯一的。保留字段1448备用,由发送者设置为0,并被接收者忽略。如果节点是诸如机箱中的插件板之类大系统的一部分,则父层字段1450被设置为对应于该节点在父代包容器中占据的槽。如果IFMP-C代理器不能确定槽信息,或者不是大的包容器的一部分,则父层字段1450可被设置为0。如果节点是诸如机箱中的插件板之类大系统的一部分,则父架字段1452被设置为对应于该节点在父代包容器中占据的槽。如果IFMP-C代理器不能确定架信息,或者不是大的包容器的一部分,则父架字段1452可被设置为0。固件次版本字段1454指示当前运行的IFMP-C代理器固件的次版本,固件主版本字段1456识别当前运行的IFMP-C代理器固件的主版本。
如果节点信息请求失败,则IFMP-C代理器返回一个由IFMP-C标题构成的节点信息错误消息。除了标志字段1020中设置的NACK标志,及代码字段1018设置为指示失败原因的值之外,节点信息错误消息应和节点信息请求消息的IFMP-C标题相同。失败原因的例子包括IFMP-C代理器不能分配消息缓冲区以完成该响应,妨碍请求完成的特定客户机错误,或其它原因。
另一种IFMP-C网络管理消息类型,IFMP-C接口统计消息被用于获取关于IFMP-C代理器上的每个接口的信息。一个IFMP-C接口统计请求消息允许IFMP-C控制器在单个请求消息中请求对多个接口的统计。如图21b所示,IFMP-C接口统计请求消息1460具有如图15b所示的类属格式,其消息体字段1030包括:16位保留字段1462,16位接口数目字段1464,其后是多个接口标识符字段1466,1468及其它字段。保留字段1462备用,可由发送者设置为0,并被接收者忽略。接口数目字段1464指示请求消息中的接口标识符字段数目。接口统计请求消息1460包括多个接口标识符字段(例如1466及1468),从而列举出IFMP-C控制器关心的每个接口的标识符。在特定实施例中,应答必须装在单个消息中,从而IFMP-C代理器为同样数量的接口返回装在单个响应消息中的多个响应。
如果IFMP-C接口统计请求消息具有在其标志字段1020中设置的PLEASE_ACK标志,并且该操作成功,则IFMP-C代理器返回一个IFMP-C接口统计响应消息1470(见图21c),其其标志字段1020设置为ACK标志,代码字段1018设置为指示无错误的预定值(特定实施例中为0)。如图21c所示,IFMP-C接口统计响应消息1470具有如前面关于图15b说明的类属格式,其消息体字段1030含有:提供关于接口的通用统计(对不同接口类型通用的统计),及专用统计(只适用于特定接口类型的统计)的接口统计字段(例如1472、1474)。如图21d所示的典型的接口统计字段结构1480包括:8位保留字段1482,8位接口类型字段1484,16位记录长度字段1486,32位接口标识符字段1488,16位通用统计长度字段1490,专用统计长度字段1492,通用统计字段1494,及专用统计字段1496。保留字段1482备用,并可由发送者设置为0,并被接收者忽略。接口类型字段1484描述被查询接口的类型(例如ATM、以太网或其它局域网接口)。接口标识符字段1488唯一地指示统计数据描述的是哪一个接口。通用统计长度字段1490以八位位组的形式规定通用统计字段1494的长度,专用统计长度字段1492以八位位组的形式规定专用统计字段1496的长度。通用统计字段1494含有与所有接口相关的通用统计,并具有图21c所示的结构。专用统计字段1496含有接口类型专用统计,具有图21f及21g所示的示范结构(用于ATM及以太网接口)。其它结构可用于其它局域网络接口。
如图21e所示,通用统计字段1494包括:64位接收八位位组字段1500,它指示在指定接口上接收的八位位组的数目;64位接收多点传送包字段1502,它指示在指定接口上接收的,作为多点传送包寻址的包的数目;64位接收广播包字段1504,它指示在指定接口上接收的,作为广播包寻址的包的数目;64位接收单点传送包字段1506,它指示在指定接口上接收的,作为单点传送包寻址的包的数目;64位接收废弃字段1508,它指示对于指定接口在输入时抛弃的包的数目;64位接收错误字段1510,它指示指定接口上的接收错误的数目。64位接收未知字段1512,它指示在指定接口上接收的具有未识别出协议的包的数目;64位传输八位位组字段1514,它指示在指定接口上传输的八位位组的数目;64位传输多点传送包字段1516,它指示在指定接口上传输的,作为多点传送包寻址的包的数目;64位传输广播包字段1518,它指示在指定接口上传输的,作为广播包寻址的包的数目;64位传输单点传送包字段1520,它指示在指定接口上传输的,既不是作为多点传送包,也不是作为广播包寻址的包的数目;64位传输废弃字段1522,它指示当在指定接口上传输时,抛弃的包的数目;及64位传输错误字段1524,它指示在指定接口上已产生的传输错误的数目。
图21f及21g分别表示了ATM及以太网接口的专用统计的专用统计字段1496。如图21f所示,ATM接口的专用统计字段结构1530包括:64位接收信元字段1532,它指示在指定接口上接收的ATM信元的数目;64位传输信元字段1534,它指示在指定接口上传输的ATM信元的数目;64位AAL5 CRC错误字段1535,它指示在指定接口上接收的带有错误AAL5循环冗余检查和(CRC)的包的数目;及64位物理错误字段1536,它指示在指定ATM接口上已产生的物理错误的数目。用于以太网接口的专用统计字段1496的另一个例子包括:64位接收CRC错误字段1542,它指示在指定接口上已接收的带有错误CRC的包的数目;及64位传输冲突字段1544,它指示当试图在指定接口上发送包时,产生的冲突的数目。
如果IFMP-C接口统计请求失败,则IFMP-C代理器返回一个由IFMP-C标题组成的IFMP-C接口统计错误消息。除了设置在标志字段1020中的NACK标志,及代码字段设置为指示失败原因的值之外,接口统计错误消息应和接口统计请求消息的IFMP-C标题相同。失败原因的例子包括接口标识符无效,列举的接口的数目和消息中的接口数目不一致,IFMP-C代理器不能分配消息缓冲区以完成响应,妨碍请求完成的特定客户机错误,或者其它原因。
IV.结论
在此要求的发明提供了一种在网络中传输包的改进方法及设备。当然上述说明只是说明性的,而非对本发明的限制。通过研究上述说明,对本领域有经验人员来说,许多实施例是显而易见的。通过例子,主要在能够携带音频、视频、图象、传真及数据信号的IP包(但是并限于此)的传输方面在此对本发明进行了说明。通过其它例子,对本发明和特殊的组件及操作速度一起进行了说明,但是本发明并不限于此。此外,尽管对具体的实施例说明了消息类型、错误等的具体例子,但是这些仅是例子,而其它实施例可以使用不同的、更多的、较少的特征,或者说明特征的组合。于是本发明的范围不应参考上面的说明来确定,而应参考权利要求,以及本领域普通技术人员做出的这些权利要求的等效物的全部范围来确定本发明的范围。
Claims (5)
1.一种在第一节点交换流的方法,所述第一节点具有指向第二节点的下游链路,及指向第三节点的上游链路,所述方法包括如下步骤:
在所述第一节点对一个第一包进行流分类,以确定所述第一包是否属于应在第三节点中被重定向的指定流;
在所述第一节点选择第一自由标记;
通知所述第三节点属于所述指定流的未来包应在附加所述选定的第一自由标记的情况下被发送;
在所述第二节点对一个第二包进行流分类,以确定所述第二包是否属于应在第三节点中被重定向的所述指定流;
在所述第二节点选择第二自由标记;
通知所述第一节点属于所述指定流的未来包应在附加所述选定的第二自由标记的情况下被发送;及
其中来自所述上游链路的所述指定流可在第2层由所述第一节点交换给所述下游链路。
2.按照权利要求1所述的方法,其中所述第二包是所述的第一包。
3.按照权利要求2所述的方法,其中所述第一、第二及第三节点使用ATM。
4.按照权利要求3所述的方法,其中所述第一及第二自由标记包括VPI/VCI。
5.按照权利要求2所述的方法,其中所述通知步骤由使所述节点之间的通信成为可能的IFMP软件执行。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/597,520 | 1996-01-31 | ||
US08/597,520 US5892924A (en) | 1996-01-31 | 1996-01-31 | Method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
US2427296P | 1996-11-22 | 1996-11-22 | |
US60/024,272 | 1996-11-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1213444A CN1213444A (zh) | 1999-04-07 |
CN1104687C true CN1104687C (zh) | 2003-04-02 |
Family
ID=26698257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97192716.2A Expired - Fee Related CN1104687C (zh) | 1996-01-31 | 1997-01-30 | 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5920705A (zh) |
EP (1) | EP1012730A1 (zh) |
JP (1) | JP2002516042A (zh) |
CN (1) | CN1104687C (zh) |
AU (1) | AU734747B2 (zh) |
BR (1) | BR9707253A (zh) |
CA (1) | CA2243359A1 (zh) |
RU (1) | RU2189072C2 (zh) |
WO (1) | WO1997028505A1 (zh) |
Families Citing this family (325)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7168084B1 (en) | 1992-12-09 | 2007-01-23 | Sedna Patent Services, Llc | Method and apparatus for targeting virtual objects |
US9286294B2 (en) | 1992-12-09 | 2016-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content suggestion engine |
US5684800A (en) * | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
JP3420664B2 (ja) * | 1995-12-20 | 2003-06-30 | 株式会社東芝 | パケット送信ノード装置、パケット受信ノード装置及びコネクション設定方法 |
US5903559A (en) * | 1996-12-20 | 1999-05-11 | Nec Usa, Inc. | Method for internet protocol switching over fast ATM cell transport |
JPH10233779A (ja) * | 1997-02-19 | 1998-09-02 | Oki Electric Ind Co Ltd | パケット交換装置 |
US6304912B1 (en) * | 1997-07-24 | 2001-10-16 | Fujitsu Limited | Process and apparatus for speeding-up layer-2 and layer-3 routing, and for determining layer-2 reachability, through a plurality of subnetworks |
US6205149B1 (en) * | 1997-09-11 | 2001-03-20 | 3Com Corporation | Quality of service control mechanism and apparatus |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
WO1999023853A1 (en) * | 1997-11-05 | 1999-05-14 | Nokia Ip Inc. | Multiport interfaces for a network using inverse multiplexed ip switched flows |
TW442728B (en) * | 1997-12-02 | 2001-06-23 | Accton Technology Corp | Network switch traffic monitoring port |
JP3480801B2 (ja) * | 1997-12-05 | 2003-12-22 | 株式会社東芝 | パケット転送方法及びノード装置 |
US6718387B1 (en) * | 1997-12-10 | 2004-04-06 | Sun Microsystems, Inc. | Reallocating address spaces of a plurality of servers using a load balancing policy and a multicast channel |
US6704786B1 (en) * | 1997-12-15 | 2004-03-09 | Sun Microsystems, Inc. | Network and end-host efficiency for web communication |
US6240090B1 (en) * | 1997-12-19 | 2001-05-29 | Telefonaktiebolaget Lm Ericcson (Publ) | Self-configuring processors in an asynchronous transfer mode switch |
US6222848B1 (en) * | 1997-12-22 | 2001-04-24 | Nortel Networks Limited | Gigabit ethernet interface to synchronous optical network (SONET) ring |
US6597684B1 (en) * | 1997-12-24 | 2003-07-22 | Nortel Networks Ltd. | Distributed architecture and associated protocols for efficient quality of service-based route computation |
US6226750B1 (en) | 1998-01-20 | 2001-05-01 | Proact Technologies Corp. | Secure session tracking method and system for client-server environment |
US6065038A (en) * | 1998-02-06 | 2000-05-16 | Accton Technology Corp. | Method and apparatus for transmitting data at different data transfer rates using multiple interconnected hubs |
US6141686A (en) * | 1998-03-13 | 2000-10-31 | Deterministic Networks, Inc. | Client-side application-classifier gathering network-traffic statistics and application and user names using extensible-service provider plugin for policy-based network control |
US6735176B1 (en) * | 1998-03-26 | 2004-05-11 | Nortel Networks Limited | Dynamic bandwidth management and rerouting |
AU3186599A (en) * | 1998-04-03 | 1999-10-25 | Netcore Systems, Inc. | High speed combination router-switch |
US6279035B1 (en) * | 1998-04-10 | 2001-08-21 | Nortel Networks Limited | Optimizing flow detection and reducing control plane processing in a multi-protocol over ATM (MPOA) system |
US6466985B1 (en) * | 1998-04-10 | 2002-10-15 | At&T Corp. | Method and apparatus for providing quality of service using the internet protocol |
US6049834A (en) * | 1998-05-08 | 2000-04-11 | Cisco Technology, Inc. | Layer 3 switch unicast protocol |
US6389035B1 (en) * | 1998-05-08 | 2002-05-14 | Alcatel Internetworking, Inc. | Translation hardware assist for data communication switch |
JP3315926B2 (ja) * | 1998-05-25 | 2002-08-19 | ケイディーディーアイ株式会社 | Tcp通信高速化装置 |
AU771091B2 (en) * | 1998-06-19 | 2004-03-11 | Juniper Networks, Inc. | Device for performing IP forwarding and ATM switching |
US6980543B1 (en) * | 1998-06-19 | 2005-12-27 | Juniper Networks, Inc. | Interconnect network for operation within a communication node |
US6538997B1 (en) * | 1998-06-24 | 2003-03-25 | 3Com Corporation | Layer-2 trace method and node |
US6640248B1 (en) | 1998-07-10 | 2003-10-28 | Malibu Networks, Inc. | Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer |
US6594246B1 (en) | 1998-07-10 | 2003-07-15 | Malibu Networks, Inc. | IP-flow identification in a wireless point to multi-point transmission system |
US6680922B1 (en) | 1998-07-10 | 2004-01-20 | Malibu Networks, Inc. | Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system |
US6452915B1 (en) * | 1998-07-10 | 2002-09-17 | Malibu Networks, Inc. | IP-flow classification in a wireless point to multi-point (PTMP) transmission system |
US6590885B1 (en) * | 1998-07-10 | 2003-07-08 | Malibu Networks, Inc. | IP-flow characterization in a wireless point to multi-point (PTMP) transmission system |
US6862622B2 (en) * | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
US6628629B1 (en) | 1998-07-10 | 2003-09-30 | Malibu Networks | Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system |
US6434156B1 (en) * | 1998-07-24 | 2002-08-13 | Nortel Networks Limited | Virtual switching for interconnected networks |
US6771597B2 (en) | 1998-07-31 | 2004-08-03 | International Business Machines Corporation | Method and apparatus for transmitting messages |
US6615358B1 (en) * | 1998-08-07 | 2003-09-02 | Patrick W. Dowd | Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network |
US6535509B2 (en) * | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
US6826368B1 (en) * | 1998-10-20 | 2004-11-30 | Lucent Technologies Inc. | Wavelength division multiplexing (WDM) with multi-frequency lasers and optical couplers |
US6385642B1 (en) | 1998-11-03 | 2002-05-07 | Youdecide.Com, Inc. | Internet web server cache storage and session management system |
US6430155B1 (en) * | 1998-11-30 | 2002-08-06 | Cisco Technology, Inc. | Congestion avoidance on communications networks |
US6466976B1 (en) | 1998-12-03 | 2002-10-15 | Nortel Networks Limited | System and method for providing desired service policies to subscribers accessing the internet |
CN1315019B (zh) * | 1998-12-03 | 2013-01-02 | 北方电讯网络有限公司 | 向接入因特网的用户提供所需的服务策略 |
US6633563B1 (en) | 1999-03-02 | 2003-10-14 | Nortel Networks Limited | Assigning cell data to one of several processors provided in a data switch |
US6499061B1 (en) * | 1998-12-11 | 2002-12-24 | Cisco Technology, Inc. | Method and system for assigning labels to data flows over a packet switched network |
EP1014746B1 (en) * | 1998-12-23 | 2004-09-22 | Alcatel | Multicast shortcut routing method |
US6856627B2 (en) * | 1999-01-15 | 2005-02-15 | Cisco Technology, Inc. | Method for routing information over a network |
US6606301B1 (en) | 1999-03-01 | 2003-08-12 | Sun Microsystems, Inc. | Method and apparatus for early random discard of packets |
US6483804B1 (en) | 1999-03-01 | 2002-11-19 | Sun Microsystems, Inc. | Method and apparatus for dynamic packet batching with a high performance network interface |
US6650640B1 (en) * | 1999-03-01 | 2003-11-18 | Sun Microsystems, Inc. | Method and apparatus for managing a network flow in a high performance network interface |
US6389468B1 (en) | 1999-03-01 | 2002-05-14 | Sun Microsystems, Inc. | Method and apparatus for distributing network traffic processing on a multiprocessor computer |
US6356951B1 (en) | 1999-03-01 | 2002-03-12 | Sun Microsystems, Inc. | System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction |
US6453360B1 (en) | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
US6331978B1 (en) * | 1999-03-09 | 2001-12-18 | Nokia Telecommunications, Oy | Generic label encapsulation protocol for carrying label switched packets over serial links |
GB2363031A (en) * | 1999-03-17 | 2001-12-05 | Nokia Networks Oy | Internet protocol switch and method |
IE20000203A1 (en) * | 1999-03-25 | 2001-02-21 | Converge Net Technologies Inc | Storage domain management system |
JP3271608B2 (ja) * | 1999-03-29 | 2002-04-02 | 日本電気株式会社 | パケット伝送におけるルーティング処理方法及びその装置 |
US7526481B1 (en) * | 1999-04-19 | 2009-04-28 | Oracle International Corporation | Web servers with queryable dynamic caches |
US6826196B1 (en) * | 1999-04-21 | 2004-11-30 | Cisco Technology, Inc. | Method and apparatus to allow connection establishment over diverse link types |
US6775280B1 (en) * | 1999-04-29 | 2004-08-10 | Cisco Technology, Inc. | Methods and apparatus for routing packets using policy and network efficiency information |
US6457055B1 (en) * | 1999-05-12 | 2002-09-24 | 3Com Corporation | Configuring ethernet devices |
US20040160917A1 (en) * | 1999-06-22 | 2004-08-19 | Eliznd Ihab H. | Multibeam antenna for a wireless network |
US6606315B1 (en) * | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Synchronizing service instructions among forwarding agents using a service manager |
US6735169B1 (en) * | 1999-07-02 | 2004-05-11 | Cisco Technology, Inc. | Cascading multiple services on a forwarding agent |
US6970913B1 (en) * | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
EP1203280B1 (en) * | 1999-07-14 | 2017-08-30 | Symantec Corporation | System and method for protecting a computer network against denial of service attacks |
US6981155B1 (en) * | 1999-07-14 | 2005-12-27 | Symantec Corporation | System and method for computer security |
US7117532B1 (en) * | 1999-07-14 | 2006-10-03 | Symantec Corporation | System and method for generating fictitious content for a computer |
US7203962B1 (en) * | 1999-08-30 | 2007-04-10 | Symantec Corporation | System and method for using timestamps to detect attacks |
AUPQ271899A0 (en) * | 1999-09-09 | 1999-09-30 | Shanahan, Terry | A method for transmitting information between a source and a receiver |
US6449246B1 (en) | 1999-09-15 | 2002-09-10 | Telcordia Technologies, Inc. | Multicarrier personal access communication system |
US6598034B1 (en) | 1999-09-21 | 2003-07-22 | Infineon Technologies North America Corp. | Rule based IP data processing |
US6697872B1 (en) * | 1999-10-15 | 2004-02-24 | Cisco Technology | Distributed packet processing using encapsulation and decapsulation chains |
DE60033615T2 (de) * | 1999-10-21 | 2007-10-31 | International Business Machines Corp. | Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen |
US7046665B1 (en) * | 1999-10-26 | 2006-05-16 | Extreme Networks, Inc. | Provisional IP-aware virtual paths over networks |
EP1113621A3 (en) * | 1999-12-29 | 2002-03-27 | AT&T Corp. | Method for network access |
US6728239B1 (en) | 1999-12-30 | 2004-04-27 | At&T Corp. | Scaleable network server for low cost PBX |
US6775267B1 (en) | 1999-12-30 | 2004-08-10 | At&T Corp | Method for billing IP broadband subscribers |
US6690675B1 (en) | 1999-12-30 | 2004-02-10 | At&T Corp. | User programmable fail-proof IP hotline/warm-line |
US6826173B1 (en) | 1999-12-30 | 2004-11-30 | At&T Corp. | Enhanced subscriber IP alerting |
US6937713B1 (en) | 1999-12-30 | 2005-08-30 | At&T Corp. | IP call forward profile |
US6633635B2 (en) | 1999-12-30 | 2003-10-14 | At&T Corp. | Multiple call waiting in a packetized communication system |
US6816469B1 (en) | 1999-12-30 | 2004-11-09 | At&T Corp. | IP conference call waiting |
US6889321B1 (en) | 1999-12-30 | 2005-05-03 | At&T Corp. | Protected IP telephony calls using encryption |
US6252952B1 (en) | 1999-12-30 | 2001-06-26 | At&T Corp | Personal user network (closed user network) PUN/CUN |
US6671262B1 (en) | 1999-12-30 | 2003-12-30 | At&T Corp. | Conference server for automatic x-way call port expansion feature |
US6570855B1 (en) | 1999-12-30 | 2003-05-27 | At&T Corp. | Automatic call manager traffic gate feature |
US7075918B1 (en) | 1999-12-30 | 2006-07-11 | At&T Corp. | BRG with PBX capabilities |
US7120139B1 (en) | 1999-12-30 | 2006-10-10 | At&T Corp. | Broadband cable telephony network architecture IP ITN network architecture reference model |
US6678265B1 (en) | 1999-12-30 | 2004-01-13 | At&T Corp. | Local number portability database for on-net IP call |
US7180889B1 (en) | 1999-12-30 | 2007-02-20 | At&T Corp. | Personal control of address assignment and greeting options for multiple BRG ports |
US6687360B2 (en) | 1999-12-30 | 2004-02-03 | At&T Corp. | Personal IP follow-me service |
US6680935B1 (en) | 1999-12-30 | 2004-01-20 | At&T Corp. | Anonymous call rejection |
US6775273B1 (en) | 1999-12-30 | 2004-08-10 | At&T Corp. | Simplified IP service control |
US6836478B1 (en) | 1999-12-30 | 2004-12-28 | At&T Corp. | Call hold with reminder and information push |
US6373817B1 (en) | 1999-12-30 | 2002-04-16 | At&T Corp. | Chase me system |
US6917610B1 (en) | 1999-12-30 | 2005-07-12 | At&T Corp. | Activity log for improved call efficiency |
GB2358760B (en) * | 2000-01-25 | 2003-06-25 | 3Com Corp | Network switch with self-learning routing facility |
US6999479B1 (en) | 2000-02-23 | 2006-02-14 | Cypress Semiconductor Corp. | Hybrid data transport scheme over optical networks |
US7006525B1 (en) | 2000-02-23 | 2006-02-28 | Cypress Semiconductor Corp. | Hybrid data transport scheme over optical networks |
US6973084B1 (en) | 2000-02-23 | 2005-12-06 | Cypress Semiconductor Corp. | Hybrid data transport scheme over optical networks |
US6847644B1 (en) | 2000-02-23 | 2005-01-25 | Cypress Semiconductor Corp. | Hybrid data transport scheme over optical networks |
US6778561B1 (en) | 2000-02-23 | 2004-08-17 | Cypress Semiconductor Corp. | Hybrid data transport scheme over optical networks |
US6965960B2 (en) | 2000-03-01 | 2005-11-15 | Realtek Semiconductor Corporation | xDSL symbol processor and method of operating same |
US6674769B1 (en) * | 2000-03-07 | 2004-01-06 | Advanced Micro Devices, Inc. | Simultaneous searching of layer 3 policy filter and policy cache in a network switch port |
EP1266476A4 (en) * | 2000-03-10 | 2009-08-05 | Cypress Semiconductor Corp | PROMOTION SXHEMA FOR HYBRID DATA ON OPTICAL NETWORKS |
US7113487B1 (en) * | 2000-04-07 | 2006-09-26 | Intel Corporation | Forwarding control protocol |
US6738376B1 (en) | 2000-04-07 | 2004-05-18 | International Business Machines Corporation | Method and system for managing multicast traffic |
EP1187015A3 (en) * | 2000-05-09 | 2003-01-29 | Yipee!, Inc. | Internet-enabled embedded device |
JP3511978B2 (ja) * | 2000-05-18 | 2004-03-29 | 日本電気株式会社 | 優先度制御機能付きルータ及びプログラムを記録した機械読み取り可能な記録媒体 |
US6965572B1 (en) * | 2000-06-07 | 2005-11-15 | At&T Corp. | Loopback capability for bi-directional multi-protocol label switching traffic engineered trucks |
US7162536B1 (en) * | 2000-06-20 | 2007-01-09 | Nortel Networks Limited | Validation of a connection between arbitrary end-nodes in a communications network |
US7197542B2 (en) * | 2000-06-30 | 2007-03-27 | Ponzio Jr Frank J | System and method for signaling quality and integrity of data content |
US7305486B2 (en) * | 2000-06-30 | 2007-12-04 | Kanad Ghose | System and method for fast, reliable byte stream transport |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
JP3590949B2 (ja) | 2000-08-17 | 2004-11-17 | 松下電器産業株式会社 | データ伝送装置およびデータ伝送方法 |
US6980549B1 (en) * | 2000-09-01 | 2005-12-27 | Avaya Technology Corp. | Policy enforcing switch |
US20020038339A1 (en) * | 2000-09-08 | 2002-03-28 | Wei Xu | Systems and methods for packet distribution |
US20020032797A1 (en) * | 2000-09-08 | 2002-03-14 | Wei Xu | Systems and methods for service addressing |
US20020035639A1 (en) * | 2000-09-08 | 2002-03-21 | Wei Xu | Systems and methods for a packet director |
US7272643B1 (en) * | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7487232B1 (en) | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US7444398B1 (en) * | 2000-09-13 | 2008-10-28 | Fortinet, Inc. | System and method for delivering security services |
US7574495B1 (en) * | 2000-09-13 | 2009-08-11 | Fortinet, Inc. | System and method for managing interworking communications protocols |
US7389358B1 (en) * | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US8250357B2 (en) | 2000-09-13 | 2012-08-21 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
US6766354B1 (en) * | 2000-09-28 | 2004-07-20 | Intel Corporation | Speed sensitive content delivery in a client-server network |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7116671B2 (en) * | 2000-12-04 | 2006-10-03 | Ciena Corporation | Method and apparatus for providing OC-n virtual bridge ports |
US7386232B1 (en) | 2000-12-14 | 2008-06-10 | Cisco Technology, Inc. | Method and system for diverse route computation |
US20020116397A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
WO2002059742A1 (en) * | 2000-12-21 | 2002-08-01 | Reba Technologies, Inc. | Server farm information processing system and method of operation |
US7418522B2 (en) * | 2000-12-21 | 2008-08-26 | Noatak Software Llc | Method and system for communicating an information packet through multiple networks |
US7512686B2 (en) | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
US7287090B1 (en) | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
US7546369B2 (en) | 2000-12-21 | 2009-06-09 | Berg Mitchell T | Method and system for communicating a request packet in response to a state |
US6966003B1 (en) | 2001-01-12 | 2005-11-15 | 3Com Corporation | System and method for switching security associations |
IES20010064A2 (en) * | 2001-01-29 | 2002-04-17 | Eland Technologies Inc | Computer network system |
US7342942B1 (en) | 2001-02-07 | 2008-03-11 | Cortina Systems, Inc. | Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port |
FR2822006B1 (fr) * | 2001-03-08 | 2003-04-25 | France Telecom | Procede et systeme de transmission de flux de donnees entre deux postes distants |
US7286566B1 (en) | 2001-05-08 | 2007-10-23 | Cortina Systems, Inc. | Multi-service segmentation and reassembly device that maintains reduced number of segmentation contexts |
US20020184507A1 (en) * | 2001-05-31 | 2002-12-05 | Proact Technologies Corp. | Centralized single sign-on method and system for a client-server environment |
US6813690B1 (en) * | 2001-06-12 | 2004-11-02 | Network Appliance, Inc. | Caching media data using content-sensitive identifiers |
US20020191621A1 (en) * | 2001-06-14 | 2002-12-19 | Cypress Semiconductor Corp. | Programmable protocol processing engine for network packet devices |
US20020194363A1 (en) * | 2001-06-14 | 2002-12-19 | Cypress Semiconductor Corp. | Programmable protocol processing engine for network packet devices |
US7359377B1 (en) * | 2001-06-19 | 2008-04-15 | Juniper Networks, Inc. | Graceful restart for use in nodes employing label switched path signaling protocols |
US7181547B1 (en) | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
GB2377595B (en) * | 2001-07-06 | 2004-12-15 | Livedevices Ltd | Improvements relating to reduction of resource usage in TCP/IP Implementation |
WO2003005672A2 (en) * | 2001-07-06 | 2003-01-16 | Livedevices Limited | Improvements relating to reduction of resource usage in tcp/ip implementation |
US7239636B2 (en) | 2001-07-23 | 2007-07-03 | Broadcom Corporation | Multiple virtual channels for use in network devices |
US7908628B2 (en) | 2001-08-03 | 2011-03-15 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator content coding and formatting |
US7793326B2 (en) | 2001-08-03 | 2010-09-07 | Comcast Ip Holdings I, Llc | Video and digital multimedia aggregator |
JP3695581B2 (ja) * | 2001-08-08 | 2005-09-14 | ソニー株式会社 | 記録装置および記録方法、記録媒体、並びに、電子カメラ |
EP1421501B1 (en) * | 2001-08-24 | 2006-08-02 | Intel Corporation | A general intput/output architecture, protocol and related methods to implement flow control |
US7463639B1 (en) * | 2001-09-26 | 2008-12-09 | Junpier Networks, Inc. | Edge devices for providing a transparent LAN segment service and configuring such edge devices |
US7609689B1 (en) * | 2001-09-27 | 2009-10-27 | Cisco Technology, Inc. | System and method for mapping an index into an IPv6 address |
US20030065943A1 (en) * | 2001-09-28 | 2003-04-03 | Christoph Geis | Method and apparatus for recognizing and reacting to denial of service attacks on a computerized network |
US7007101B1 (en) * | 2001-11-09 | 2006-02-28 | Radisys Microware Communications Software Division, Inc. | Routing and forwarding table management for network processor architectures |
DE60229482D1 (de) | 2001-11-24 | 2008-12-04 | Lg Electronics Inc | Verfahren zur Übertragung von Paketdaten in komprimierter Form in einem Kommunikationssystem |
US6985961B1 (en) * | 2001-12-04 | 2006-01-10 | Nortel Networks Limited | System for routing incoming message to various devices based on media capabilities and type of media session |
US7187683B1 (en) * | 2001-12-07 | 2007-03-06 | Cisco Technology, Inc. | Statistics data collection mechanism for distributed, high-speed data processing environments |
US7516236B2 (en) * | 2001-12-21 | 2009-04-07 | Nokia Corporation | Method to improve perceived access speed to data network content using a multicast channel and local cache |
US7581026B2 (en) * | 2001-12-28 | 2009-08-25 | Intel Corporation | Communicating transaction types between agents in a computer system using packet headers including format and type fields |
US7099318B2 (en) | 2001-12-28 | 2006-08-29 | Intel Corporation | Communicating message request transaction types between agents in a computer system using multiple message groups |
US7184399B2 (en) * | 2001-12-28 | 2007-02-27 | Intel Corporation | Method for handling completion packets with a non-successful completion status |
US7191375B2 (en) * | 2001-12-28 | 2007-03-13 | Intel Corporation | Method and apparatus for signaling an error condition to an agent not expecting a completion |
US6944617B2 (en) * | 2001-12-28 | 2005-09-13 | Intel Corporation | Communicating transaction types between agents in a computer system using packet headers including an extended type/extended length field |
US7180887B1 (en) | 2002-01-04 | 2007-02-20 | Radisys Patent Properties | Routing and forwarding table management for network processor architectures |
US7386627B1 (en) * | 2002-01-29 | 2008-06-10 | Network Appliance, Inc. | Methods and apparatus for precomputing checksums for streaming media |
US7543087B2 (en) | 2002-04-22 | 2009-06-02 | Alacritech, Inc. | Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device |
US7149220B2 (en) | 2002-04-25 | 2006-12-12 | International Business Machines Corporation | System, method, and product for managing data transfers in a network |
US7388851B2 (en) * | 2002-04-26 | 2008-06-17 | Spyder Navigations, L.L.C. | Proactive seamless service provisioning in mobile networks through transferring of application context |
US7376125B1 (en) * | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
US7161904B2 (en) * | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
US7203192B2 (en) * | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US7116665B2 (en) * | 2002-06-04 | 2006-10-03 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US7177311B1 (en) * | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US7743065B2 (en) * | 2002-06-27 | 2010-06-22 | Siebel Systems, Inc. | System and method for cross-referencing information in an enterprise system |
US7096383B2 (en) | 2002-08-29 | 2006-08-22 | Cosine Communications, Inc. | System and method for virtual router failover in a network routing system |
KR100454813B1 (ko) * | 2002-09-09 | 2004-11-03 | 한국전자통신연구원 | 분산 공유메모리 환경의 다단계 버스망을 위한 동적라우팅 방법 |
US7353538B2 (en) | 2002-11-08 | 2008-04-01 | Federal Network Systems Llc | Server resource management, analysis, and intrusion negation |
US7376732B2 (en) | 2002-11-08 | 2008-05-20 | Federal Network Systems, Llc | Systems and methods for preventing intrusion at a web host |
US7286483B2 (en) * | 2002-11-14 | 2007-10-23 | Intel Corporation | Electronic data transfer based on selective storage of incoming packets |
US7266120B2 (en) * | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US20040103179A1 (en) * | 2002-11-26 | 2004-05-27 | Alcatel Canada Inc. | Topology management of dual ring network |
KR100453825B1 (ko) * | 2002-12-12 | 2004-10-20 | 한국전자통신연구원 | Ip망에서 큐오에스 제공을 위한 자원 관리 방법 |
US20040122964A1 (en) * | 2002-12-20 | 2004-06-24 | Teh Jin Teik | Record transport protocol for data communication in wireless delivery systems |
ATE309577T1 (de) * | 2002-12-26 | 2005-11-15 | Cit Alcatel | Datenverarbeitungsgerät |
EP1434395A1 (en) * | 2002-12-26 | 2004-06-30 | Alcatel | Multiprotocol label switching label distribution method including a DSLAM and a BRAS |
DE60229277D1 (de) * | 2002-12-26 | 2008-11-20 | Alcatel Lucent | MPLS Etikettenverteilerverfahren |
US6996763B2 (en) | 2003-01-10 | 2006-02-07 | Qualcomm Incorporated | Operation of a forward link acknowledgement channel for the reverse link data |
US7782784B2 (en) * | 2003-01-10 | 2010-08-24 | Cisco Technology, Inc. | Port analyzer adapter |
US7899048B1 (en) | 2003-01-15 | 2011-03-01 | Cisco Technology, Inc. | Method and apparatus for remotely monitoring network traffic through a generic network |
US20060195405A1 (en) * | 2003-01-27 | 2006-08-31 | Kouji Miura | Digital content distribution system |
EP1595404B1 (en) | 2003-02-18 | 2014-10-22 | Nokia Corporation | Picture decoding method |
US7660282B2 (en) | 2003-02-18 | 2010-02-09 | Qualcomm Incorporated | Congestion control in a wireless data network |
US8391249B2 (en) | 2003-02-18 | 2013-03-05 | Qualcomm Incorporated | Code division multiplexing commands on a code division multiplexed channel |
MXPA05008404A (es) | 2003-02-18 | 2005-10-05 | Nokia Corp | Metodo de codificacion de imagen. |
US20040160922A1 (en) | 2003-02-18 | 2004-08-19 | Sanjiv Nanda | Method and apparatus for controlling data rate of a reverse link in a communication system |
US7155236B2 (en) | 2003-02-18 | 2006-12-26 | Qualcomm Incorporated | Scheduled and autonomous transmission and acknowledgement |
US7536477B2 (en) * | 2003-02-25 | 2009-05-19 | Iowa State University Research Foundation, Inc. | Access mechanisms for efficient sharing in a network |
US7249162B2 (en) | 2003-02-25 | 2007-07-24 | Microsoft Corporation | Adaptive junk message filtering system |
US7215930B2 (en) * | 2003-03-06 | 2007-05-08 | Qualcomm, Incorporated | Method and apparatus for providing uplink signal-to-noise ratio (SNR) estimation in a wireless communication |
US8705588B2 (en) | 2003-03-06 | 2014-04-22 | Qualcomm Incorporated | Systems and methods for using code space in spread-spectrum communications |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US9451422B2 (en) | 2003-03-17 | 2016-09-20 | Nokia Technologies Oy | Method, system and network device for routing a message to a temporarily unavailable network user |
US7466687B2 (en) * | 2003-04-28 | 2008-12-16 | International Business Machines Corporation | Packet classification using modified range labels |
US8477592B2 (en) | 2003-05-14 | 2013-07-02 | Qualcomm Incorporated | Interference and noise estimation in an OFDM system |
US7899929B1 (en) * | 2003-06-05 | 2011-03-01 | Juniper Networks, Inc. | Systems and methods to perform hybrid switching and routing functions |
KR100548154B1 (ko) * | 2003-06-11 | 2006-01-31 | (주)엔텔스 | 유무선 통신망에서의 패킷 전송 제어 및 패킷 과금 데이터생성을 위한 방법 및 장치 |
US7340312B2 (en) * | 2003-06-26 | 2008-03-04 | International Business Machines Corporation | Method and system for monitoring and control of complex systems based on a programmable network processor |
US8046809B2 (en) * | 2003-06-30 | 2011-10-25 | World Wide Packets, Inc. | Multicast services control system and method |
US7580354B2 (en) * | 2003-07-21 | 2009-08-25 | Qlogic, Corporation | Multi-speed cut through operation in fibre channel switches |
US7684401B2 (en) | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US8489949B2 (en) | 2003-08-05 | 2013-07-16 | Qualcomm Incorporated | Combining grant, acknowledgement, and rate control commands |
US7720095B2 (en) | 2003-08-27 | 2010-05-18 | Fortinet, Inc. | Heterogeneous media packet bridging |
ES2338331T3 (es) | 2003-09-02 | 2010-05-06 | Nokia Corporation | Transmision de informacion integrada relacionada con calidad de servicio. |
US8165136B1 (en) | 2003-09-03 | 2012-04-24 | Cisco Technology, Inc. | Virtual port based SPAN |
US7474666B2 (en) | 2003-09-03 | 2009-01-06 | Cisco Technology, Inc. | Switch port analyzers |
US8554860B1 (en) * | 2003-09-05 | 2013-10-08 | Sprint Communications Company L.P. | Traffic segmentation |
US7464181B2 (en) * | 2003-09-11 | 2008-12-09 | International Business Machines Corporation | Method for caching lookups based upon TCP traffic flow characteristics |
US20050065915A1 (en) * | 2003-09-23 | 2005-03-24 | Allen Wayne J. | Method and system to add protocol support for network traffic tools |
KR100999107B1 (ko) * | 2003-11-17 | 2010-12-08 | 삼성전자주식회사 | 디지털 방송에서 확장된 식별자를 이용한 목적 수신장치의소프트웨어 업데이트 방법 |
US20050201471A1 (en) | 2004-02-13 | 2005-09-15 | Nokia Corporation | Picture decoding method |
US7296205B2 (en) | 2004-02-18 | 2007-11-13 | Nokia Corporation | Data repair |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US8243633B2 (en) | 2004-03-16 | 2012-08-14 | Nokia Corporation | Enhanced uplink dedicated channel—application protocol over lub/lur |
US7376078B1 (en) * | 2004-03-24 | 2008-05-20 | Juniper Networks, Inc. | Selective replay of a state information within a computing device |
US7725826B2 (en) * | 2004-03-26 | 2010-05-25 | Harman International Industries, Incorporated | Audio-related system node instantiation |
US7333493B2 (en) * | 2004-05-20 | 2008-02-19 | International Business Machines Corporation | Method for prevention of out-of-order delivery of data packets |
US20060000094A1 (en) * | 2004-07-01 | 2006-01-05 | Garesche Carl E | Forged aluminum vehicle wheel and associated method of manufacture and alloy |
US7940746B2 (en) | 2004-08-24 | 2011-05-10 | Comcast Cable Holdings, Llc | Method and system for locating a voice over internet protocol (VoIP) device connected to a network |
US7499419B2 (en) * | 2004-09-24 | 2009-03-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US8295299B2 (en) * | 2004-10-01 | 2012-10-23 | Qlogic, Corporation | High speed fibre channel switch element |
US9124907B2 (en) | 2004-10-04 | 2015-09-01 | Nokia Technologies Oy | Picture buffering method |
US20060098673A1 (en) * | 2004-11-09 | 2006-05-11 | Alcatel | Input queue packet switch architecture and queue service discipline |
US7643515B2 (en) | 2004-11-10 | 2010-01-05 | Qualcomm Incorporated | Method and apparatus for deriving transmission timing of a downlink control channel in support of enhanced uplink operation |
US7808904B2 (en) | 2004-11-18 | 2010-10-05 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US8660112B2 (en) * | 2004-12-27 | 2014-02-25 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive router architecture using logical internal addressing |
US7940652B1 (en) * | 2005-02-14 | 2011-05-10 | Brixham Solutions Ltd. | Pseudowire protection using a standby pseudowire |
US7697536B2 (en) * | 2005-04-01 | 2010-04-13 | International Business Machines Corporation | Network communications for operating system partitions |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US9160658B1 (en) | 2005-07-12 | 2015-10-13 | Brixham Solutions Ltd. | Proxies for pseudo-wire allocation and distribution |
US20070053385A1 (en) * | 2005-09-07 | 2007-03-08 | Battelle Memorial Institute | Cascade switch for network traffic aggregation |
US8588061B2 (en) | 2005-10-07 | 2013-11-19 | Brixham Solutions Ltd. | Application wire |
US8213311B2 (en) * | 2005-10-12 | 2012-07-03 | Brixham Solutions Ltd. | Control plane to data plane binding |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
KR100726175B1 (ko) * | 2005-12-09 | 2007-06-11 | 한국전자통신연구원 | 무선 휴대 인터넷 시스템에서 상위 프로토콜 메시지의 방송 전송 방법 및 장치 |
US9367832B2 (en) | 2006-01-04 | 2016-06-14 | Yahoo! Inc. | Synchronizing image data among applications and devices |
US7668920B2 (en) * | 2006-03-01 | 2010-02-23 | Fortinet, Inc. | Electronic message and data tracking system |
KR101046739B1 (ko) | 2006-03-28 | 2011-07-05 | 파나소닉 전공 주식회사 | 네트워크 시스템 |
FR2902256B1 (fr) * | 2006-06-12 | 2009-09-25 | Airbus France Sa | Procede de routage de liens virtuels dans un reseau a commutation de trames |
CN101473654B (zh) * | 2006-06-19 | 2011-08-03 | 艾利森电话股份有限公司 | 媒体频道管理 |
US20080026750A1 (en) * | 2006-07-27 | 2008-01-31 | Harris John M | Method and system for managing allocation of connection identifiers (CIDs) to a wireless device in a network |
US8848711B1 (en) | 2006-08-04 | 2014-09-30 | Brixham Solutions Ltd. | Global IP-based service-oriented network architecture |
US7552312B2 (en) * | 2007-02-09 | 2009-06-23 | International Business Machines Corporation | Identifying messaging completion in a parallel computer by checking for change in message received and transmitted count at each node |
JP4810457B2 (ja) * | 2007-02-15 | 2011-11-09 | 富士通株式会社 | ゲートウェイ装置 |
US8718030B2 (en) | 2007-03-26 | 2014-05-06 | Qualcomm Incorporated | Methods and apparatus for performing channel tree operations |
US9084277B2 (en) * | 2007-05-04 | 2015-07-14 | Qualcomm Incorporated | Method and apparatus for UL ACK allocation |
US7890662B2 (en) * | 2007-08-14 | 2011-02-15 | Cisco Technology, Inc. | System and method for providing unified IP presence |
US8189476B1 (en) * | 2007-08-20 | 2012-05-29 | F5 Networks, Inc. | Dynamic trunk distribution on egress |
TWI338479B (en) * | 2007-08-24 | 2011-03-01 | Ralink Technology Corp | Packet-processing apparatus |
FR2920623B1 (fr) * | 2007-09-03 | 2011-09-23 | Airbus France | Dispositif de commutation de trames pour reseau afdx. |
KR101138520B1 (ko) | 2007-10-31 | 2012-04-25 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 노드들 간의 다중 경로들을 갖는 네트워크들 및 그러한 네트워크를 위한 노드들 |
US7826455B2 (en) * | 2007-11-02 | 2010-11-02 | Cisco Technology, Inc. | Providing single point-of-presence across multiple processors |
US8036230B2 (en) * | 2007-11-05 | 2011-10-11 | Cisco Technology, Inc. | System and method for providing single IP tunnel |
US20090168779A1 (en) * | 2007-12-31 | 2009-07-02 | Nguyen Loc Q | Integration of multi-protocol label switching (MPLS) |
US8893141B2 (en) * | 2008-01-28 | 2014-11-18 | Microsoft Corporation | System and method for describing applications for manageability and efficient scale-up deployment |
US8483223B2 (en) | 2008-02-01 | 2013-07-09 | Qualcomm Incorporated | Packet transmission via multiple links in a wireless communication system |
US9032503B2 (en) * | 2008-05-20 | 2015-05-12 | Shakeel Mustafa | Diversity string based pattern matching |
JPWO2009147785A1 (ja) * | 2008-06-02 | 2011-10-20 | パナソニック株式会社 | データ通信システム、データ通信要求装置及びデータ通信応答装置 |
JP5379134B2 (ja) * | 2008-06-20 | 2013-12-25 | パナソニック株式会社 | データ通信システム、通信装置及び通信方法 |
CN101849380B (zh) * | 2008-07-22 | 2014-12-03 | 松下电器产业株式会社 | 通信系统、通信装置及通信方法 |
US8325194B1 (en) | 2009-06-10 | 2012-12-04 | Nvidia Corporation | Mitigating main crossbar load using dedicated connections for certain traffic types |
US8065465B1 (en) * | 2009-06-10 | 2011-11-22 | Nvidia Corporation | Mitigating main crossbar load using dedicated connections for certain traffic types |
US9367487B1 (en) | 2009-06-10 | 2016-06-14 | Nvidia Corporation | Mitigating main crossbar load using dedicated connections for certain traffic types |
US10177934B1 (en) | 2009-09-04 | 2019-01-08 | Amazon Technologies, Inc. | Firmware updates inaccessible to guests |
US8887144B1 (en) | 2009-09-04 | 2014-11-11 | Amazon Technologies, Inc. | Firmware updates during limited time period |
US9565207B1 (en) | 2009-09-04 | 2017-02-07 | Amazon Technologies, Inc. | Firmware updates from an external channel |
US8214653B1 (en) | 2009-09-04 | 2012-07-03 | Amazon Technologies, Inc. | Secured firmware updates |
US8601170B1 (en) | 2009-09-08 | 2013-12-03 | Amazon Technologies, Inc. | Managing firmware update attempts |
US8971538B1 (en) | 2009-09-08 | 2015-03-03 | Amazon Technologies, Inc. | Firmware validation from an external channel |
US8300641B1 (en) | 2009-09-09 | 2012-10-30 | Amazon Technologies, Inc. | Leveraging physical network interface functionality for packet processing |
US8959611B1 (en) | 2009-09-09 | 2015-02-17 | Amazon Technologies, Inc. | Secure packet management for bare metal access |
US8381264B1 (en) | 2009-09-10 | 2013-02-19 | Amazon Technologies, Inc. | Managing hardware reboot and reset in shared environments |
KR101333097B1 (ko) | 2009-09-17 | 2013-12-26 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 광 전송 네트워크에서의 동적 히트리스 리사이징 |
CN101771618B (zh) * | 2010-03-11 | 2014-04-09 | 中兴通讯股份有限公司 | 一种分组传送网络接入环中主机路由可达的方法及系统 |
CN102340441B (zh) | 2010-07-20 | 2015-08-12 | 中兴通讯股份有限公司 | 信元交换的控制方法和装置 |
US8428087B1 (en) | 2010-09-17 | 2013-04-23 | Amazon Technologies, Inc. | Framework for stateless packet tunneling |
US8549539B2 (en) * | 2010-12-13 | 2013-10-01 | International Business Machines Corporation | Programmatic modification of a message flow during runtime |
KR101624474B1 (ko) * | 2011-01-13 | 2016-05-26 | 닛본 덴끼 가부시끼가이샤 | 네트워크 시스템 및 경로 제어 방법 |
US8774213B2 (en) | 2011-03-30 | 2014-07-08 | Amazon Technologies, Inc. | Frameworks and interfaces for offload device-based packet processing |
US8462780B2 (en) * | 2011-03-30 | 2013-06-11 | Amazon Technologies, Inc. | Offload device-based stateless packet processing |
US9462628B2 (en) * | 2011-07-11 | 2016-10-04 | Qualcomm Incorporated | Apparatus and method for maintaining a circuit-switched voice call in a multi-RAB wireless communication system in an area of weak coverage |
WO2013022370A1 (ru) * | 2011-08-11 | 2013-02-14 | Rjumin Evgenij Valeryevich | Автомат для бесплатной выдачи образцов продукции или изделий и фасованного продукта |
CA2851214A1 (en) | 2011-10-05 | 2013-04-11 | Nec Corporation | Load reducing system and load reducing method |
CN102347955A (zh) * | 2011-11-01 | 2012-02-08 | 杭州依赛通信有限公司 | 一种基于虚拟通道的可靠数据传输协议 |
CN102608973B (zh) * | 2012-03-14 | 2015-02-25 | 湖南银宝科技发展有限公司 | 基于云端服务网络的智能家居控制系统 |
CN103378998A (zh) * | 2012-04-27 | 2013-10-30 | 中兴通讯股份有限公司 | 以太网端口环回检测方法及装置 |
CN103490967B (zh) * | 2012-06-13 | 2018-04-27 | 中兴通讯股份有限公司 | 别名、多链路透明互连trill报文处理方法及装置 |
SG11201402086WA (en) * | 2012-07-04 | 2014-10-30 | Huawei Tech Co Ltd | Method, device and system for recording multimedia data |
CN103780481B (zh) | 2012-10-18 | 2017-10-27 | 中兴通讯股份有限公司 | 一种数据通信网络中报文修改与转发的方法及装置 |
US9178815B2 (en) | 2013-03-05 | 2015-11-03 | Intel Corporation | NIC flow switching |
US9219684B2 (en) * | 2013-09-09 | 2015-12-22 | Grigori Dzekon | Methods and systems for packet delivery based upon embedded instructions |
US8811459B1 (en) * | 2013-10-21 | 2014-08-19 | Oleumtech Corporation | Robust and simple to configure cable-replacement system |
US9929939B2 (en) | 2013-12-26 | 2018-03-27 | Coriant Operations, Inc. | Systems, apparatuses, and methods for rerouting network traffic |
CN104811982B (zh) * | 2014-01-24 | 2018-08-21 | 索尼公司 | 无线通信系统、无线通信系统中的装置和方法 |
US9760511B2 (en) * | 2014-10-08 | 2017-09-12 | International Business Machines Corporation | Efficient interruption routing for a multithreaded processor |
US9769036B1 (en) * | 2014-10-23 | 2017-09-19 | VCE IP Holding Company LLC | Port assignment of network devices reference and management |
US9781753B2 (en) * | 2015-01-09 | 2017-10-03 | Acer Incorporated | Proximity map request method, server and network entity using the same, proximity request validating method, and server and network entity using the same |
US9843492B2 (en) * | 2015-04-15 | 2017-12-12 | Cisco Technology, Inc. | Ethernet data rate selection based on cable parameters |
CN105049419B (zh) * | 2015-06-19 | 2018-09-11 | 中国人民解放军信息工程大学 | 基于异构多样性的拟态网络逐级交换路由系统 |
MX2018002037A (es) * | 2015-08-18 | 2018-04-13 | Thomson Licensing | Metodo y aparato para controlar un circuito de filtro en un disppositivo de comunicacion de señal. |
RU172157U1 (ru) * | 2017-03-22 | 2017-06-29 | Акционерное общество "МЦСТ" | Контроллер межпроцессорного канала обмена данными второго поколения (IPCC2) |
CN109587065B (zh) | 2017-09-28 | 2021-02-23 | 北京金山云网络技术有限公司 | 转发报文的方法、装置、交换机、设备及存储介质 |
US11477289B2 (en) * | 2018-10-09 | 2022-10-18 | Nokia Solutions And Networks Oy | Supporting a routing protocol with a transport layer protocol |
EP3952234A4 (en) * | 2019-04-17 | 2022-05-18 | Huawei Technologies Co., Ltd. | METHOD AND DEVICE FOR ADJUSTING A VIRTUAL CHANNEL OF A DATA STREAM |
CN112235329A (zh) * | 2020-12-17 | 2021-01-15 | 杭州优云科技有限公司 | 一种识别syn报文真实性的方法、装置及网络设备 |
US20230236992A1 (en) * | 2022-01-21 | 2023-07-27 | Arm Limited | Data elision |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740156A (en) * | 1986-09-16 | 1998-04-14 | Hitachi, Ltd. | Packet switching system having self-routing switches |
US4979118A (en) * | 1989-03-10 | 1990-12-18 | Gte Laboratories Incorporated | Predictive access-control and routing system for integrated services telecommunication networks |
JPH04290349A (ja) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 交換機のインサービス立ち上げ処理方式 |
US5379297A (en) * | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
US5623489A (en) * | 1991-09-26 | 1997-04-22 | Ipc Information Systems, Inc. | Channel allocation system for distributed digital switching network |
ATE163120T1 (de) * | 1992-08-25 | 1998-02-15 | Siemens Ag | Switching-control-system zur steuerung der physikalischen verbindungsstrukturen in einem vermittlungssystem |
US5444702A (en) * | 1992-09-14 | 1995-08-22 | Network Equipment Technologies, Inc. | Virtual network using asynchronous transfer mode |
JPH07107990B2 (ja) * | 1992-11-12 | 1995-11-15 | 日本電気株式会社 | Atm方式による送信装置及び通信システム |
US5452297A (en) * | 1993-12-20 | 1995-09-19 | At&T Corp. | Access switches for large ATM networks |
US5528592A (en) * | 1994-01-27 | 1996-06-18 | Dsc Communications Corporation | Method and apparatus for route processing asynchronous transfer mode cells |
US5483527A (en) * | 1994-12-21 | 1996-01-09 | At&T Corp. | Terminal adapter for interfacing an ATM network with a STM network |
JPH08242240A (ja) * | 1995-03-06 | 1996-09-17 | Hitachi Ltd | Atm交換機およびパス切替方法 |
JPH0946782A (ja) * | 1995-08-01 | 1997-02-14 | Fujitsu Ltd | 通信装置における設定情報及び監視情報の送受方法 |
US5771237A (en) * | 1996-01-23 | 1998-06-23 | Lite-On Communications Corp. | Multiple rate waveshaping technique for fast ethernet media driver |
US5802052A (en) * | 1996-06-26 | 1998-09-01 | Level One Communication, Inc. | Scalable high performance switch element for a shared memory packet or ATM cell switch fabric |
-
1997
- 1997-01-30 BR BR9707253A patent/BR9707253A/pt not_active IP Right Cessation
- 1997-01-30 US US08/792,183 patent/US5920705A/en not_active Expired - Lifetime
- 1997-01-30 CN CN97192716.2A patent/CN1104687C/zh not_active Expired - Fee Related
- 1997-01-30 AU AU18514/97A patent/AU734747B2/en not_active Ceased
- 1997-01-30 EP EP97904145A patent/EP1012730A1/en not_active Ceased
- 1997-01-30 CA CA002243359A patent/CA2243359A1/en not_active Abandoned
- 1997-01-30 JP JP52785397A patent/JP2002516042A/ja active Pending
- 1997-01-30 WO PCT/US1997/001595 patent/WO1997028505A1/en not_active Application Discontinuation
- 1997-01-30 RU RU98116258/09A patent/RU2189072C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5920705A (en) | 1999-07-06 |
AU1851497A (en) | 1997-08-22 |
WO1997028505A1 (en) | 1997-08-07 |
RU2189072C2 (ru) | 2002-09-10 |
CN1213444A (zh) | 1999-04-07 |
CA2243359A1 (en) | 1997-08-07 |
AU734747B2 (en) | 2001-06-21 |
BR9707253A (pt) | 1999-06-01 |
EP1012730A1 (en) | 2000-06-28 |
JP2002516042A (ja) | 2002-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1104687C (zh) | 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备 | |
CN1310478C (zh) | 具有独立协议堆栈体系结构的多业务网络交换机 | |
CN1194558C (zh) | 异步传递模式交换机及其控制方法 | |
CN1197305C (zh) | 联网系统 | |
CN1181654C (zh) | 使用网络处理器的网络交换机和方法 | |
CN1204509C (zh) | 通信网络装置 | |
CN1239984C (zh) | Vlsi网络处理器和方法 | |
CN1084122C (zh) | 蜂窝电信中建立下行的虚电路的方法 | |
US7646759B2 (en) | Apparatus and method for configuring data plane behavior on network forwarding elements | |
CN1160637C (zh) | 数据业务的方法和装置 | |
CN1204503C (zh) | 用于通信网络的装置、系统及其操作方法 | |
CN1275283A (zh) | 在执行ip转发和atm交换的设备中的服务设施质量 | |
CN1260655A (zh) | 网络管理方法和网络管理系统 | |
CN1511279A (zh) | 数据网络中路由器之间每类资源的基于策略的同步 | |
CN1539221A (zh) | 传送装置和传送方法 | |
CN1132881A (zh) | 交换机适配器、计算机和数据交换方法 | |
CN1695127A (zh) | 网络接口和协议 | |
CN1543142A (zh) | 路由器和地址标识信息管理服务器 | |
CN1578947A (zh) | 一种多媒体通信的系统、方法和数据结构 | |
CN1350677A (zh) | 通信网中的方法和设备 | |
CN1341313A (zh) | 多业务网络交换机 | |
CN1096775C (zh) | 短信元多路复用设备 | |
CN1207619A (zh) | 用于在信元交换机中实现信元连续性诊断的方法和系统 | |
CN1968205A (zh) | 一种半网状网的路由方法及其系统 | |
CN1853379A (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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |