[go: up one dir, main page]

WO2000056113A1 - Internet protocol switch and method - Google Patents

Internet protocol switch and method Download PDF

Info

Publication number
WO2000056113A1
WO2000056113A1 PCT/FI1999/000197 FI9900197W WO0056113A1 WO 2000056113 A1 WO2000056113 A1 WO 2000056113A1 FI 9900197 W FI9900197 W FI 9900197W WO 0056113 A1 WO0056113 A1 WO 0056113A1
Authority
WO
WIPO (PCT)
Prior art keywords
cut
switch
default
output
packet
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.)
Ceased
Application number
PCT/FI1999/000197
Other languages
French (fr)
Inventor
Timo Soirinsuo
Pasi VÄÄNÄNEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Networks Oy
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Networks Oy filed Critical Nokia Networks Oy
Priority to GB0121292A priority Critical patent/GB2363031A/en
Priority to PCT/FI1999/000197 priority patent/WO2000056113A1/en
Priority to AU29360/99A priority patent/AU2936099A/en
Publication of WO2000056113A1 publication Critical patent/WO2000056113A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/251Cut-through or wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching

Definitions

  • This invention relates in general to Network Layer switching, and more particularly to a flow management protocol that provides a default cut-through having the characteristics of both default channels and cut-throughs without internodal signaling for flow establishment.
  • LANs have been proliferating. This has created a recurring problem of how to minimize congestion and optimize throughput that must be solved by network managers.
  • An early solution was to simply divide Local Area Networks into multiple smaller networks serving smaller populations. These segments were connected by bridges to form a single Local Area Network with traffic being segregated locally to each segment.
  • the evolution of new network types and Wide Area Networks created a need for routers. Routers added filtering and firewalling capability to provide more control over broadcast domains, limit broadcast traffic and enhance security. A router is able to chose the best path through the network due to embedded intelligence. This added intelligence also allowed routers to build redundant paths to destinations when possible.
  • Ethernet One of the most popular network types is termed Ethernet.
  • Ethernet switches only supported 10 Mbps data rates. However, the need for higher throughput led the way for the development of Ethernet switches. Ethernet switches proved to be popular due to their low cost and ease of use in providing increased throughput and congestion relief. Ethernet switches enabled fine-grained network segmentation and delivered dedicated bandwidth per segment. Similar to bridges, switches made simple forwarding decisions based on link-layer addresses contained in each packet. Thus, Ethernet switches provided very low latency.
  • ATM Asynchronous Transfer Mode
  • FDDI Fiber Distributed Data Interface
  • connection identifiers do not have a global significance when compared to other networking technologies such as Ethernet, token-ring, etc.
  • One of the principle features of ATM is its ability to support integrated multimedia and quality of service.
  • Current ATM switching engines can scale to provide higher per port data rates with total throughputs at or near Gigabit levels.
  • ATM is designed to work well with LANs as well as WANs. While LAN switching provides finer segmentation and more affordable high bandwidth, the network hierarchy is flattened, thereby causing switch networks to suffer from broadcast storms and poor security. Accordingly, routers are required in the backbone of the resulting virtual LANs . Yet most routers are too slow to keep pace with increased throughput of high speed switches such as ATM switches.
  • IP Internet Protocol
  • An internet is a set of networks connected by gateways, which are sometimes referred to as routers .
  • the Internet Protocol is a Network Layer protocol that routes data across an internet.
  • the Internet Protocol was designed to accommodate the use of host and routers built by different vendors, encompass a growing variety of growing network types, enable the network to grow without interrupting servers, and support higher-layer of session and message-oriented services.
  • the internet protocol Network Layer allows integration of Local Area Network
  • Ipsilon Networks was the first to develop a new class of switch that combined the intelligence and control of IP routing with the high speed and capacity of ATM switching.
  • Ipsilon' s IP switch combines intelligent IP routing with high speed ATM switching hardware in a single scaleable platform that delivers several times the performance of conventional routers at a fraction of the price per port.
  • Gigabit Ethernet switching provides an alternative to IP switching
  • Ethernet switching is only useful for conventional data, not telephony, quality video, or other multimedia components.
  • proposed solutions such as classical IP over ATM, LAN emulation and multiprotocol over ATM have become bogged down in complexity, resulting not only in delayed implementations, but increasing market confusion and frustration.
  • LAN emulation and classical IP experience problems with scalability.
  • IP switching appears to be the best solution by providing the intelligence and control of IP routing with the high speed and capacity of ATM technology.
  • the IP switch developed by Ipsilon Networks marries the Internet Protocol routing software with ATM switching hardware. Extensions to the IP switching concept are contained in Request For Comments (RFCs) 1953 and 1954 as defined by Ipsilon Networks.
  • the Ipsilon Flow Management Protocol (IFMP) is a protocol for instructing an adjacent node to attach a Data Link Layer label to a specified IP flow. Ipsilon Flow Management is based on the concepts of a default channel, i.e., a channel in which the traffic destined to next hop is routed by default.
  • the Default Channel is terminated in the IP forwarding engine, which forwards every packet individually after examining the packet IP header and making a routing decision (connectionless approach) .
  • the forwarding engine performance requirement can be reduced by moving high volume or packet intensive traffic temporarily to separate channels, which are called cut-throughs. Cut-throughs are ATM connections that are dedicated for carrying traffic for certain IP session(s) . Cut- throughs are unidirectional and they are controlled by the downstream side of the link, which can establish and release them using IFMP.
  • Ipsilon Flow Management is not without its flaws. For example, flow establishment requires internodal signaling which impedes system performance.
  • the present invention solves the above-described problems by providing a flow management protocol that provides a default cut-through having the characteristics of both default channels and cut-throughs without internodal signaling for flow establishment .
  • a system in accordance with the principles of the present invention includes a switch for interfacing a plurality of input ports to a plurality of output ports, a controller for controlling the forwarding of packets received on the input ports from a transmitting node to the output ports, an input default cut-through mapping an input port through the switch to the controller and an output default cut-through mapping the controller to an output port leading to a next hop for the packets.
  • the controller determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut-through to bypass the controller to establish a cut-through connection in response to the first packet meeting the flow establishment criteria.
  • Other embodiments of a system in accordance with the principles of the invention may include alternative or additional aspects. One such aspect is that the controller maps a plurality of flows to the cut-through connection.
  • Another aspect of the present invention is that a second timer for counting a second predetermined time period is initiated upon assigning the output default cut-through to the input default cut-through.
  • Another aspect of the present invention is that the first period of time is greater than the second period of time.
  • Another aspect of the present invention is that a permanent cut-through is used to map an input port to an output port.
  • Still another aspect of the present invention is that a third timer is used for controlling the duration of the permanent cut-through.
  • controller includes statistical tools for gathering statistics on the default cut-through, and wherein the controller releases a default cut-through when the statistical tools indicate a lack of traffic for an interval equal to the second predetermined time period.
  • packets are routed rather than cut-through after the second timer counts to the second predetermined period of time.
  • controller further comprises an IP router for routing the packets to a next hop on the basis of an IP layer header.
  • controller uses an adjacency protocol to exchange configuration information between adjacent nodes.
  • the adjacency protocol advertises available default cut-throughs comprising a virtual channel connection having a range of virtual port identifier/virtual channel identifier (VPI/VCI) values .
  • the range of the VPI/VCI values are associated with a predetermined cut- through type implying a predetermined encapsulation method.
  • the adjacency protocol further comprises means for indicating whether support for Ipsilon Flow Management Protocol extensions is provided.
  • Another aspect of the present invention is that Ipsilon type flows are not established with the reception of the first packet when Ipsilon Flow Management Protocol extensions are supported.
  • Fig. 1 illustrates the seven layer Open Systems
  • OSI Interconnection
  • Fig. 2 illustrates a protocol reference model for ATM
  • Fig. 3 illustrates a matrix of the ATM sublayers and their functions
  • Fig. 4 illustrates the ATM cell structure
  • Fig. 5 illustrates a Virtual Channel Connection (VCC) between two endpoints
  • Fig. 6 illustrates a detailed diagram showing the relationship between virtual channels and virtual paths
  • Fig. 7 illustrates a comparison of an Internet Protocol stack with the OSI seven layer model
  • Fig. 8 illustrates an IP switch configuration
  • Fig. 9 illustrates the encapsulation of GSMP packets in an AAL-5 CPCS-PDU with an LLC/SNAP header
  • Fig. 10 illustrates the construction of an IP switch that provides IP forwarding and IP flow cut-through switching
  • Fig. 11 illustrates the switch cut-through process for the IP switch of Fig. 10; and Fig. 12 illustrates a functional block diagram of an IP switch that provides default cut-throughs without internodal signaling .
  • the present invention provides a flow management protocol that provides a default cut-through having the characteristics of both default channels and cut-throughs. While the invention may function in a fallback mode that uses the Ipsilon Flow Management Protocol, the default cut-through according to the present invention eliminates the need for internodal signaling.
  • the invention determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut-through to bypass the controller in response to the first packet meeting the flow establishment criteria.
  • a first timer is used for timing the period since the transmission of the first packet. This timer is restarted after each packet has been sent.
  • a second timer is used for measuring the period since the assignment of the output default cut-through to the input default cut- hrough.
  • Permanent cut-throughs may be used to map an input port to an output port for shortlived traffic.
  • a third timer may be provided for controlling the duration of permanent cut-throughs.
  • the controller may also route packets to a next hop on the basis of an IP layer header.
  • An adjacency protocol is used to exchange configuration information between adjacent nodes and advertise available default cut-throughs.
  • the flow management protocol that provides default cut-throughs and eliminates internodal signaling functions at the Network Layer of the seven layer Open Systems Interconnection (OSI) model.
  • the Network Layer provides routing and relaying of data through the network and will now be described with reference to the seven layer OSI model.
  • Fig. 1 illustrates the OSI model 100 which includes seven layers, including an Application Layer 110, Presentation Layer 120, Session Layer 130, Transport Layer 140, Network Layer 150, Data Link Layer 160, and Physical Layer 170.
  • the OSI model 100 was developed by the International Organization for
  • Each layer of the OSI model performs a specific data communications task, a service to and for the layer that precedes it (e.g., the Network Layer provides a service for the transport layer) .
  • the process can be likened to placing a letter in a series of envelopes before it is sent through the postal system.
  • Each succeeding envelope adds another layer of processing or overhead information necessary to process the transaction.
  • all the envelopes help make sure the letter gets to the right address and that the message received is identical to the message sent.
  • the envelopes are opened one by one until the letter itself emerges exactly as written. In a data communication transaction, however, each end user is unaware of the envelopes, which perform their functions transparently.
  • an automatic bank teller transaction can be tracked through the multi-layer OSI system.
  • One multiple layer system (Open System A) provides an application layer that is an interface to a person attempting a transaction
  • the other multiple layer system (Open System B) provides an application layer that interfaces with applications software in a bank's host computer.
  • the corresponding layers in Open Systems A and B are called peer layers and communicate through peer protocols . These peer protocols provide communication support for a user's application, performing transaction related tasks such as debiting an account, dispensing currency, or crediting an account.
  • Actual data flow between the two open systems is from top 180 to bottom 182 in one open system (Open System A, the source) , across the communications line, and then from bottom 182 to top 180 in the other open system (Open System B, the destination) .
  • Open System A the source
  • Open System B the destination
  • Each time that user application data passes downward from one layer to the next layer in the same system more processing information is added.
  • that information is removed and processed by the peer layer in the other system, it causes various tasks (error correction, flow control, etc.) to be performed.
  • the ISO has specifically defined all seven layers, which are summarized below in the order in which the data actually flows as they leave the source:
  • the Application Layer 110 provides for a user application (such as getting money from an automatic bank teller machine) to interface with the OSI application layer. That OSI application layer 110 has a corresponding peer layer in the other open system, the bank's host computer.
  • the Presentation Layer 120 makes sure the user information (a request for $50 in cash to be debited from your checking account) is in a format (i.e., syntax or sequence of ones and zeros) the destination open system can understand.
  • the Session Layer 130 provides synchronization control of data between the open systems (i.e., makes sure the bit configurations that pass through layer 5 at the source are the same as those that pass through layer 5 at the destination) .
  • Layer 4 the Transport Layer 140, ensures that an end-to- end connection has been established between the two open systems and is often reliable (i.e., layer 4 at the destination confirms the request for a connection, so to speak, that it has received from layer 4 at the source) .
  • Layer 3 the Network Layer 150, provides routing and relaying of data through the network (among other things, at layer 3 on the outbound side an address gets placed on the envelope which is then read by layer 3 at the destination) .
  • the Data Link Layer 160 includes flow control of data as messages pass down through this layer in one open system and up through the peer layer in the other open system.
  • Layer 1 the Physical Interface Layer 170, includes the ways in which data communications equipment is connected mechanically and electrically, and the means by which the data moves across those physical connections from layer 1 at the source to layer 1 at the destination.
  • ATM also has a developed protocol reference model 200 as illustrated in Fig. 2, consisting of a control plane 202, user plane 204 and management plane 206.
  • the model 200 also incorporates SAPs , SDUs and PDUs that are also mentioned in the OSI layered approach.
  • the user plane 204 (for information transfer) and control plane 202 (for call control) are structured in layers.
  • Layer 210 rests the ATM Layer 220 and the ATM Adaptation Layer (AAL) 230.
  • Management 206 provides network supervision.
  • Fig. 3 illustrates a matrix of the ATM sublayers and their functions 300.
  • the ATM Adaptation Layer 302 is subdivided into the Convergence Sublayer 304 and the Segmentation and Reassembly (SAR) sublayer 306.
  • the Convergence Sublayer 304 is service dependent and it performs convergence 308 which includes encapsulation of data arriving from upper layers, appending appropriate headers and preparing data for segmentation.
  • convergence 308 which includes encapsulation of data arriving from upper layers, appending appropriate headers and preparing data for segmentation.
  • each AAL has its own functions, in general the Convergence Sublayer 304 describes the services and functions needed for conversion between ATM and non-ATM protocols.
  • the Segmentation and Reassembly Sublayer 306 is the lower of two sublayers that make up the ATM Adaptation Layer (AAL) 302.
  • the SAR 306 performs segmentation and reassembly 310, which includes mapping data from the AAL Convergence Sublayer 304 into the cell payloads of an ATM cell stream.
  • the next layer is the ATM Layer 312.
  • the ATM Layer 312 may provide generic flow control 314, cell header generation and extraction 316, cell VPI/VCI translation 318 and cell multiplexing and demultiplexing 320.
  • the Physical Layer 322 includes the Transmission Convergence Sublayer 324 and the Physical Medium Sublayer 326.
  • the Transmission Convergence Sublayer 324 is responsible for cell-rate decoupling 328, HEC header generation and check 330, and cell delineation 332 which enables the ATM cells to be adapted into a stream of bits to be carried over the physical medium.
  • the Physical Medium Sublayer 326 provides the bit timing 334 and performs the actual transmission of the bits over the physical medium 336.
  • the ATM Layer 312 is responsible for transporting information across the network.
  • ATM uses virtual connections for information transport.
  • the connections are deemed virtual because although the users can connect end-to-end, resources are used only when a cell needs to be used.
  • the connection is not dedicated to the use of one conversation.
  • the connections are divided into two levels : the Virtual Path and the Virtual Channel. It is the properties of the VP and VC that allow cell multiplexing. There is a complication in that cell switching requires only the value of the VP identifier, VPI, to be known.
  • Fig. 4 illustrates the ATM cell structure 400.
  • the structure of the cell is important for the overall functionality of the ATM network. A large cell gives a better payload to overhead ratio, but at the expense of longer, more variable delays. Shorter packets overcome this problem, however the amount of information carried per packet is reduced. A compromise between these two conflicting requirements was reached, and a standard cell format 400 was chosen.
  • the ATM cell consists of a 5-octet header 402 and a 48-octet information field 404 after the header 402.
  • the information contained in the header 402 is dependent on whether the cell is carrying information from the user network to the first ATM public exchange (User-Network Interface - UNI), or between ATM exchanges in the trunk network (Network-Node Interface - NNI) .
  • Fig. 5 illustrates the connection between two endpoints 500 which is called a Virtual Channel Connection (VCC) 502.
  • the Virtual Channel Connection 502 is made up of a series of virtual channel links 504 that extend between VC switches 506.
  • the virtual channel is identified by a Virtual Channel Identifier (VCI) 508.
  • VCI Virtual Channel Identifier
  • the value of the VCI 508 will change as it enters a VC switch due to routing translation tables. Within a virtual channel link 504, the value of the VCI 508 remains constant.
  • the VCI 508 and VPI 510 are used in the switching environment to ensure that channels and paths are routed correctly. They provide a means for the switch to distinguish between different connections .
  • Virtual Channel Connections 502 There are many types of Virtual Channel Connections 502, including user-to-user applications, user-to-network applications and network-to-network applications.
  • User-to-user applications are applications between customer equipment at each end of the connection.
  • User-to-network applications are applications between customer equipment and network node.
  • network-to-network applications are applications between two network nodes and include traffic management and routing.
  • Virtual Channel Connections 502 include many properties.
  • a VCC 502 user is provided with a quality of service (QoS) specifying parameters such as cell-loss ratio
  • VCCs can be switched or be semi-permanent, and cell sequence integrity is maintained within a VCC. Further, traffic parameters can be enforced by the Usage Parameter Control (UPC) .
  • UPC Usage Parameter Control
  • a detailed diagram 600 showing the relationship between virtual channels and paths is shown in Fig. 6.
  • a virtual path (VP) 602 is a term for a bundle of virtual channel links that all have the same endpoints. As with VCs, virtual path links can be strung together to form a virtual path connection (VPC) .
  • VPC endpoint is where related VPIs are originated, terminated or translated.
  • Virtual paths 602 provide logical direct routes between switching nodes via intermediate cross-connect nodes.
  • a VP 602 provides the logical equivalent of a link between two switching nodes that are not necessarily directly connected on a physical link. It therefore allows a distinction between logical and physical network structure and provides the flexibility to rearrange the logical structure according to traffic requirements .
  • Virtual paths 602 are identified in the cell header with the VPI. Within an ATM cross-connect, information about individual virtual channels 604 within a virtual path 602 is not required, as all VCs within one path follow the same route as that path. As discussed above with reference to Fig. 3, the ATM
  • AAL Adaptation Layer
  • TA terminal adaptors
  • the ATM network is independent of the services it carries. Thus, the user payload is carried transparently by the ATM network.
  • the ATM network does not process, or know the structure of the payload. This is known as semantic independence.
  • Fig. 7 is a comparison 700 illustrating where the Internet Protocol Network Layer 702 fits in the OSI seven layer model 704.
  • the transport layers 710 provides data connection services to applications and may contains mechanisms that guarantee that data is delivered error-free, without omissions and in sequence.
  • the transport layer 710 in the TCP/IP model 712 sends segments by passing them to the IP layer 702, which routes them to the destination.
  • the transport layer 710 accepts incoming segments from IP 702, determines which application is the recipient, and passes the data to that application in the order in which it was sent.
  • the Internet Protocol 702 performs Network Layer functions and routes data between systems. Data may traverse a single link or may be relayed across several links in an internet.
  • Data is carried in units called datagrams, which include an IP header that contains layer 3 720 addressing information. Routers examine the destination address in the IP header in order to direct datagrams to their destinations .
  • the IP layer 702 is called connectionless because every datagram is routed independently and the IP layer 702 does not guarantee reliable or in-sequence delivery of datagrams.
  • the IP layer 702 routes its traffic without caring which application-to- application interaction a particular datagram belongs to.
  • the IP switch 800 implements the Internet Protocol Network Layer 802 on ATM hardware 804.
  • the IP switch 800 typically alternates between store-and-forward and cut-through switching based on traffic needs.
  • each IP node sets up a virtual channel on each of its ATM physical links that provide a default forwarding channel to the ATM hardware 804.
  • IP data traffic flows through the IP switch.
  • An ATM port inside the ATM hardware 804 receives the incoming traffic on the default channel and sends it to the IP switch software 802.
  • the IP switch software 802 forwards the packet in a normal manner over a default forwarding channel.
  • the IP switch software 802 also performs flow classification.
  • Flow classification is a decision-making process that enables IP switches 800 to optimize data traffic.
  • a flow is an extended IP conversation, comprising IP packets from a particular source to a particular destination sharing the same transfer protocol type, type of service, and other information as called for in the packet header.
  • the IP switch software 802 identifies longer duration flows which logically can be optimized by cut-through switching. Other traffic continues to use the default channel via hop-by-hop store-and-forward routing.
  • the IP switch software 802 requests the upstream node to label the traffic using a new virtual channel. If the upstream node approves, the traffic flows on the new virtual channel. Independently, the downstream node also requests that an outgoing virtual channel for the flow be setup by the IP switch software 802. The IP switch software 802 directs the switch to make the appropriate port mapping in the ATM switch hardware 804 when the flow is isolated to a particular input channel and a particular output channel . The flow then bypasses the IP switch software 802 and its associated processing overhead. Throughput remains optimized throughout the IP network since there is no need to reassemble ATM cells into IP packets at intermediate IP switches.
  • the General Switch Management Protocol as disclosed in IEFT Network Working Group RFC 1987, entitled Ipsilon' s General Switch Management Protocol Specification Version 1.1, dated August 1996, herein incorporated by reference, is a general purpose protocol to control an ATM switch.
  • GSMP is net essential for implementing an IP switch since other methods of providing simple commands to the ATM switch hardware would suffice. Nevertheless, by way of example, GSMP will be described briefly herein as one way of providing commands to the ATM switch.
  • GSMP packets 910 are variable length and are encapsulated directly between an AAL-5 CPCS-PDU 902 with an LLC 904/SNAP 906 header as illustrated in the GSMP packed protocol 900 of Fig. 9.
  • GSMP messages 910 allow a controller to establish and release connections across the switch; add and delete leaves on a point- to-multipoint connection; manage switch ports; request configuration information; and request statistics.
  • GSMP messages 910 also allow the switch to inform the controller of asynchronous events such as a link going down.
  • GSMP messages 910 run across an ATM link connecting the controller to the switch, on a control connection (virtual channel) established at initialization.
  • the GSMP protocol 900 is asymmetric, i.e., the controller is the master and the switch is the slave. Multiple switches may be controlled by a single controller using multiple instantiations of the protocol 900 over separate control connections .
  • a switch is assumed to contain multiple "ports". Each port is a combination of one "input port” and one "output port”. Some GSMP message 910 requests refer to the port as a whole, whereas other requests are specific to the input port or the output port.
  • ATM cells arrive at the switch from an external communication link on incoming virtual channels at an input port. ATM cells depart from the switch to an external communication link on outgoing virtual channels from an output port.
  • Virtual channel connections are referenced by the input port on which they arrive and the virtual path and virtual channel identifiers (VPI/VCI) of their incoming virtual channel. In general, a virtual channel is established with a certain quality of service. Unfortunately, this is a changing concept as new ideas make their way into hardware.
  • each virtual channel connection may be assigned a priority when it is established. For virtual channel connections that share the same output port, an ATM cell on a connection with a higher priority is much more likely to exit the switch before an ATM cell on a connection with a lower priority if they are both in the switch at the same time.
  • the number of priorities that each port of the switch supports may be obtained from the port configuration message.
  • GSMP messages 910 also provide for an adjacency protocol. The adjacency protocol is used to synchronize state across the link, to discover the identity of the entity at the other end of a link, and to detect when it changes.
  • IPv4 Management Protocol Specification for IPv4", Version 1.0, dated May 1996, herein incorporated by reference, is a protocol for instructing an adjacent node to attach a Data Link Layer label to a specified IP flow.
  • the label allows more efficient access to cached routing information for that flow and it allows the flow to be switched rather than routed in certain cases.
  • a network node's upstream and downstream links both redirect a flow at the node, then the node can switch the flow at the Data Link Layer rather than forwarding it at the Network Layer.
  • the label space is managed at the downstream end of each link and redirection messages are sent upstream to associate a particular flow with a given label. Each direction of transmission on a link is treated separately.
  • Each flow type specifies the set of fields from the packet header that are used to identify a flow. There must be an ordering amongst the different flow types such that a most specific match operation may be performed.
  • a particular flow is specified by a flow identifier.
  • the flow identifier for that flow gives the contents of the set of fields from the packet header as defined for the flow type to which it belongs.
  • the IFMP protocol for IPv4 is specified on a point-to-point link.
  • a flow is a sequence of packets that are sent from a particular source to a particular (unicast or multicast) destination and that are related in terms of their routing and any logical handling policy they may require.
  • a flow is identified by its flow identifier.
  • flow types can be defined. The particular set of fields from the packet header used to identify a flow constitutes the flow type. The values of these fields, for a particular flow, constitutes the flow identifier for that flow. The values of these fields must be invariant in all packets belonging to the same flow at any point in the network.
  • Flow types are sub-sets or super-sets of each other such that there is a clear hierarchy of flow types. This permits a most specific match operation to be performed. (If additional flow types are defined in the future that are not fully ordered, then the required behavior will be defined.) Each flow type also specifies an encapsulation that is to be used after a flow of this type is redirected. The encapsulations for each flow type are specified for each specific data link technology.
  • IPv4 datagrams over an ATM data link, both in a default manner and in the presence of flow labeling via IFMP is described in IEFT Network Working Group RFC 1954, entitled “Transmission of Flow Labeled IPv4 on ATM Data Links", Ipsilon Version 1.0, dated May 1996, and is herein incorporated by reference.
  • ATM specific functions such as Operations and Maintenance (OAM) cells, the Cell Loss Priority (CLP) bit, and Available Bit Rate (ABR) Resource Management (RM) cells are not used.
  • OAM Operations and Maintenance
  • CLP Cell Loss Priority
  • ABR Available Bit Rate
  • RM Resource Management
  • Fig. 10 illustrates the construction of an IP switch 1000 that uses IFMP to provide IP forwarding and IP flow cut-through switching via internodal signaling.
  • the hardware of an ATM switch 1002 is used without any modification, but for IP switching the ATM software resident in the control processor above AAL-5 is not used. Instead, an IP switch controller 1004 is used. However, those skilled in the art will recognize that both may coexist. Further, those skilled in the art will recognize that other Data Link Layer software could be used while providing Network Layer communication with any standard (L3) signaling procedures according to the present invention, e.g., frame relay.
  • L3 standard
  • a low-level control protocol called the Generic Switch Management Protocol (GSMP) 1010, as described above, is used to give the IP switch controller 1004 access to the switch hardware 1002.
  • the IP switch controller 1004 is a high-end processor running a standard IP router software package with IFMP extensions 1020 that allow it to make use of the switching hardware 1002.
  • the IFMP extensions 1020 associate IP flows with ATM virtual channels, include a flow classifier to decide whether to switch each flow, and provide GSMP 1010 to control the switch hardware 1002.
  • a default forwarding ATM virtual channel 1030 is established between the IP routing software running on the IP switch controller 1004 and that of each of its neighbors.
  • the default forwarding channel is used for the hop-by-hop connectionless forwarding of IP datagrams.
  • the ability to forward IP packets is provided.
  • a mechanism must associate an IP flow with a specific ATM label (virtual path and virtual channel identifier VPI/VCI) .
  • an IP flow is characterized according to the fields in the IP/TCP/UDP header that determine the routing decision such as: type of service, protocol, source address, destination address, source port, destination port, etc. Two packets belong to the same flow if the values of these fields are identical.
  • flow types may be defined, each characterized by a different set of header fields (though the set of flow types must be ordered so that a most specific match operation may be performed) .
  • IP control processor 1004 When a packet is received across a default forwarding channel 1030, it is reassembled and submitted to the IP control processor 1004 for forwarding.
  • the IP control processor 1004 forwards the packet in the normal manner, but it also performs a flow classi ication on the packet to determine whether future packets belonging to the same flow should be switched directly in the ATM hardware 1002 or continue to be forwarded hop-by-hop by the router software in the IP switch controller 1004.
  • Flow classification is a local policy decision.
  • the flow classifier in the IP switch controller 1004 inspects the contents of the fields that characterize the flow and makes its decision based upon a local policy expressed in a table. For example, by looking for well known source or destination port numbers, one can identify the application. Flows belonging to
  • File Transfer Protocol (FTP) data connections may be configured to be switched, but Domain Name System (DNS) queries could be forwarded as datagrams .
  • DNS Domain Name System
  • Fig. 11 illustrates the switch cut-through process 1100 for an IP switch using IFMP.
  • the controller 1102 decides that the flow should be switched, it selects a free label (label x) 1104 from the label space of the input port (port i) 1106 on which the packet was received. Virtual channels are assumed to be unidirectional, so the ATM label space (VPI/VCI range) of the incoming direction of each link is owned by the input port to which it is connected.
  • the controller 1102 also selects a free label (label x' ) 1110 on its control port (port c) 1112.
  • the control port is the port, either real or virtual, by which the control processor is connected to the switch.
  • the switch driver 1120 is then instructed to map label x 1104 on input port i 1106 to label x' 1110 on the control port c 1112.
  • the controller After making the entry in the translation table of the switch input port, the controller sends an IFMP redirection message upstream 1130 to the previous hop from which the packet came.
  • the redirection message 1130 contains the label x 1132, a flow identifier 1134, and a lifetime 1136.
  • the flow identifier 1134 contains the set of header fields that characterize the flow.
  • the redirection message 1130 requests the upstream host or router to transmit all further packets with header fields that match those specified in the flow identifier 1134 on the ATM virtual channel specified by the label 1132.
  • the lifetime field 1136 specifies the length of time for which this redirection is valid, i.e., the number of hops from the sending node that a packet will be forwarded. Unless the flow state is refreshed before the lifetime 1136 expires, this binding of flow and label is deleted and further packets belonging to the flow will be transmitted on the default forwarding channel.
  • packets belonging to the flow will arrive at the switch controller 1104, port c 1112, with the ATM VPI/VCI label x' 1110.
  • the packets will still be reassembled and forwarded by the IP forwarding software, but the process is accelerated because the previous routing decision for this flow was cached in the router software and can be indexed by the label x' 1110.
  • a significant benefit of switching is realized when the downstream router or host also runs the same redirection algorithm.
  • the router receives a redirection message 1140 from its downstream neighbor on port j 1156, redirecting the flow to label y 1158, it can switch all further traffic belonging to that flow directly within the ATM hardware 1120.
  • the controller 1102 does this by instructing the switch 1120 to map label x 1104 on port i 1106 to label y 1158 on port j 1156.
  • the traffic is no longer sent to the control processor 1102 but is switched directly to the required output port.
  • the downstream connection may be setup before the node sends the redirect request upstream.
  • an IP switch When an IP switch accepts a redirection message 1130, it may also changes the encapsulation it uses for the redirected flow.
  • the encapsulation used for IP packets on the default forwarding channel is the standard LLC/ SNAP encapsulation over AAL-5.
  • the encapsulation used for each IP packet on a flow redirected to a specific virtual channel removes all of the header fields that characterize the flow from the header of each packet.
  • the IP packet with the resulting compressed header is then encapsulated in AAL-5 and transmitted on the specified virtual channel.
  • the fields that are removed are stored by the router that issued the redirection and are associated with the specified ATM virtual channel.
  • the complete packet may be reconstructed using the incoming label to access the stored header fields .
  • Each IP switch 1100 maintains a background refresh timer. When the background refresh timer expires, the state of every flow is examined. If a flow has received traffic since the last refresh period, its state is refreshed. Flow state is refreshed by sending a redirect message upstream 1130 with the same label 1132 and flow identifier 1134 as the original and a new lifetime 1136. If a flow has received no traffic since the last refresh period, its cached state is removed. This will involve issuing an IFMP Reclaim message (not shown) upstream to reclaim the label for reuse. The flow state is not deleted until an IFMP Reclaim Ack message is received to acknowledge release of the requested label. Reclaim messages may also be used to release labels in use if the free label space is close to exhaustion.
  • control processor 1102 can examine its own state to see whether the flow has received any traffic in the previous refresh period. For flows that are switched, the control processor 1102 must query the switch hardware to discover whether a specific channel has recently been active.
  • the flow management protocol is advisory in nature.
  • the decision to accept a redirection request is local and redirection messages 1130 may be ignored. Redirection messages 1130 are not acknowledged since the first packet arriving on the new virtual channel will indicate acceptance of the request.
  • the protocol is also symmetric in that no distinction is made between a user interface (UNI) and a network interface (NNI) .
  • Fig. 12 illustrates a functional block diagram for a Network Layer switch 1200 according to an embodiment of the present invention. - While the preferred embodiment is described for an IP switch, those skilled in the art will recognize that the present invention may be implemented for any Data Link Layer that supports virtual connections, e.g., frame relay.
  • flow specific timers are run in both upstream and downstream nodes to decide when to release a cut-through connection, thereby moving from IP switching mode to an IP forwarding mode for a given flow. Permanent flows that do not use normal timeouts are also utilized for shortlived traffic.
  • the IP switch 1200 provides Default Cut- throughs 1202, which have characteristics of both default channels and a cut-throughs. Default Cut-throughs 1202 boost the system performance by eliminating internodal signaling for flow establishment. Each interface has a reasonably large number of VCCs 1202 readily configured and terminated to IP forwarding engine 1204.
  • VCCs 1202 which are hereinafter called default cut-throughs, are made known to adjacent nodes with the adjacency protocol described above.
  • the default cut-throughs may be viewed as default channels, with the exception that only packets belonging to one session will be sent on them within a certain time period.
  • adjacent nodes are made aware of existing default cut-throughs and their status. Whenever there is a packet for which no cut-through association for forwarding the packet to the next node, a free default cut-through advertised by a downstream node is picked by an upstream node, and the packet is sent to that channel (VCC) 1202. On sending of that packet, the upstream node starts timeout T upstream 1210.
  • the packet is forwarded 1212 on the basis of the IP layer header information, as is done in conventional routers.
  • packet forwarding if the applied flow establishment criteria defined below is met, a cut- through to a default output cut-through 1220 is established
  • Flow establishment involves picking a free default cut- through (VCC) on the outgoing port 1220 leading to next hop and mapping 1230 the incoming VCC 1202 to it.
  • VCC cut- through
  • the node starts a timeout T down ⁇ trea ⁇ 1240. Accordingly, the cut-through is established without any explicit internodal signaling.
  • the downstream node When timer T d ⁇ wnstream 1240 expires, the downstream node will check the statistics for VCC 1220 and, if it notices that there is no traffic, it will release the cut-through by reconnecting 1206 the incoming VCC 1202 to forwarding engine 1204. If there was traffic, timer T downst ream 1240 is restarted. If the upstream node sends a packet after T downstream 1240 is expired, the packet is forwarded by the forwarding engine 1204 in a normal way. Depending on the establishment criteria set in the flow classifier 1250, sending a packet may result in re-establishment of an expired cut-through. Thus, the release of a cut-through does not cause packet loss.
  • the upstream node is not allowed to send any packets belonging to a new session using a previously used default cut- through, until waiting at least T up ⁇ tream 1210 after having sent the last packet of the previous session. With timeouts, the following equation holds: T down stream 1240 ⁇ T upstre am 1210.
  • the flow classifier may establish a default cut-through immediately 1252, by protocol type 1254, or by packet count 1256. Where a default cut-through is to be established immediately 1252, a cut-through is always setup after receiving and forwarding the first packet. However, default cut-throughs may be established based upon the protocol type 1254. In addition, a default cut-through may be established up until or, alternatively, only when a certain number of packets belonging to a given session are forwarded within a certain time frame 1256.
  • the downstream node will release the cut-through 1220.
  • Release of cut-through 1220 involves connecting the incoming default cut-through VCC 1202 to forwarding engine 1204 and removing any association between cut- through 1202 and outgoing VCC 1220.
  • the outgoing VCC 1220 can be reused after timeout T up ⁇ tream 1210, which is started by the upstream node upon sending a packet on that cut-through connection.
  • Permanent cut-throughs 1260 are special cut-throughs in the sense .that they are not controlled with standard timeouts. There is either a considerably larger timeout duration for them or no timeout at all. This means that they are never released automatically, but, for example, are released through network management action. Permanent cut-throughs 1260 are VCCs that are used to access limited number of well known services like DNS, which are frequently needed but the traffic is normally very shortlived.
  • the Adjacency protocol must indicate the range of available VPI/VCI values (minimum and maximum values) . There might be more than one range in use, but within the range the VPI/VCI space is contiguous. Also, separate ranges can be specified for different cut-through types (implying different encapsulation methods) . Alternatively, the required information can be configured through the network management system, thereby eliminating the need for the adjacency protocol. Nevertheless, a downstream node will notify an upstream node on the availability of default cut-throughs 1202 and the value of timeout T downstre am 1240.
  • extensions can be implemented by either adding new message types or information elements to the existing IFMP protocol or by running these extensions as a separate protocol on a different VCC. Further, as the present invention in accordance with one embodiment may be viewed as a true extension of the IFMP, full support for standard Ipsilon Flow Management can still be implemented without interworking problems. Whether the interface supports extensions or not can either be configured or automatically detected with the help of the adjacency protocol.
  • the present invention provides preconfigured Data Link Layer connections to eliminate IFMP internodal signaling.
  • a flow management protocol according to the principles of the present invention provides default cut- throughs having the characteristics of both default channels and cut-throughs. The present invention determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut- through to bypass the controller in response to the first packet meeting the flow establishment criteria.
  • Flow specific timers are run in both upstream and downstream nodes to decide when to release a cut-through connection, thereby moving from IP switching mode to an IP forwarding mode for a given flow.
  • a first timer is used for timing the period since the transmission of the packet. This first timer is restarted after each packet has been sent .
  • a second timer is used for measuring the period since the assignment of the output default cut-through to the input default cut-through.
  • Permanent cut-throughs may be used to map an input port to an output port for shortlived traffic.
  • a third timer may be provided for controlling the duration of permanent cut-throughs.
  • the invention may also route packets to a next hop on the basis of an IP layer header.
  • An adjacency protocol is used to exchange configuration information between adjacent nodes and to advertise available default cut-throughs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A switch and switching method is disclosed. The switch provides default cut-throughs having the characteristics of both default channels and cut-throughs without internodal signaling for flow establishment. The switch includes switch hardware for interfacing a plurality of input ports to a plurality of output ports, a controller for controlling the forwarding of packets received on the input ports from a transmitting node to the output ports, and input default cut-through mapping an input port to the controller and an output default cut-through mapping the controller to an output port leading to a next hop for the packets. The controller determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut-through to bypass the controller to establish a cut-through connection in response to the first packet meeting the flow establishment criteria. The controller may also map a plurality of flows to the cut-through connection. A first timer is used for timing the period since the transmission of the packet. The first timer is restarted after each packet has been sent. A second timer is used for measuring the period since the assignement of the output default cut-through to the input default cut-through. Permanent cut-throughs may be used to map an input port to an output port for shortlived traffic. A third timer may be provided for controlling the duration of permanent cut-throughs. The controller may also route packets to a next hop on the basis of an IP layer header. An adjacency protocol is used to exchange configuration information between adjacent nodes and advertise available default cut-throughs.

Description

INTERNET PROTOCOL SWITCH AND METHOD
BACKGROUND OF THE INVENTION
1. Field of the Invention.
This invention relates in general to Network Layer switching, and more particularly to a flow management protocol that provides a default cut-through having the characteristics of both default channels and cut-throughs without internodal signaling for flow establishment.
2. Description of Related Art.
Today, an organization's computer network has become its circulatory system. Organizations have combined desktop work stations, servers, and hosts into Local Area Network (LAN) communities . These Local Area Networks have been connected to other Local Area Networks and to Wide Area Networks (WANs) . It has become a necessity of day-to-day operation that pairs of systems must be able to communicate when they need to, without regard to where they may be located in the network.
During the early years of network computing, proprietary networking protocols were the standard. However, the development of the Open Systems Interconnection Reference Model introduced by the International Organization for Standardization (ISO) has led to an impressive degree of interworking, which generally allows end-user applications to work very well between systems in a network. Implementations are based on written standards that have been made available by volunteers from dozens of computer vendors, hardware component vendors and independent software companies.
During the last decade, LANs have been proliferating. This has created a recurring problem of how to minimize congestion and optimize throughput that must be solved by network managers. An early solution was to simply divide Local Area Networks into multiple smaller networks serving smaller populations. These segments were connected by bridges to form a single Local Area Network with traffic being segregated locally to each segment. The evolution of new network types and Wide Area Networks created a need for routers. Routers added filtering and firewalling capability to provide more control over broadcast domains, limit broadcast traffic and enhance security. A router is able to chose the best path through the network due to embedded intelligence. This added intelligence also allowed routers to build redundant paths to destinations when possible. Nevertheless, the added complexity of best path selection capability accorded by the embedded intelligence increased the port cost of routers and caused substantial latency overhead. Shared-media networks comprising distributed client/ server data traffic, expanded user populations and more complex applications gave birth to new bandwidth bottlenecks. Such congestion produced unpredictable network response times, the inability to support the delay-sensitive applications and higher network failure rates. One of the most popular network types is termed Ethernet.
Originally, Ethernets only supported 10 Mbps data rates. However, the need for higher throughput led the way for the development of Ethernet switches. Ethernet switches proved to be popular due to their low cost and ease of use in providing increased throughput and congestion relief. Ethernet switches enabled fine-grained network segmentation and delivered dedicated bandwidth per segment. Similar to bridges, switches made simple forwarding decisions based on link-layer addresses contained in each packet. Thus, Ethernet switches provided very low latency.
Still, the search for improved network performance has led to the development of a number of additional advanced technologies. In fact, the vast number of technologies being developed suggests that the problem of inadequate network performance is substantial. The latest technologies include Asynchronous Transfer Mode (ATM) , Fast Ethernet (or 100 Megabit Ethernet) , and Fiber Distributed Data Interface (FDDI) . Each of these technologies is receiving a good deal of attention from those who need increased network performance. From among the higher speed technologies, ATM appears to be emerging as the front runner among high speed alternatives. ATM stands for "Asynchronous Transfer Mode" . ATM has been chosen as a transport technology for the B-ISDN (Broadband Integrated Services Digital Network) protocol stack. The ATM technology is connection oriented and exchanges fixed-length cells between two ATM stations over a virtual channel connection. Further, the connection identifiers do not have a global significance when compared to other networking technologies such as Ethernet, token-ring, etc. One of the principle features of ATM is its ability to support integrated multimedia and quality of service. Current ATM switching engines can scale to provide higher per port data rates with total throughputs at or near Gigabit levels. ATM is designed to work well with LANs as well as WANs. While LAN switching provides finer segmentation and more affordable high bandwidth, the network hierarchy is flattened, thereby causing switch networks to suffer from broadcast storms and poor security. Accordingly, routers are required in the backbone of the resulting virtual LANs . Yet most routers are too slow to keep pace with increased throughput of high speed switches such as ATM switches. Various solutions involving combining the functions of routing, LAN switching and ATM have been proposed. Nevertheless, networks and protocols in use today have been designed to operate using connection-less transmission technology based on global addressing. The most popular protocol of this type is the Internet Protocol (IP) . An internet is a set of networks connected by gateways, which are sometimes referred to as routers . The Internet Protocol is a Network Layer protocol that routes data across an internet. The Internet Protocol was designed to accommodate the use of host and routers built by different vendors, encompass a growing variety of growing network types, enable the network to grow without interrupting servers, and support higher-layer of session and message-oriented services. The internet protocol Network Layer allows integration of Local Area Network
"islands". Still, graphics and multimedia content are putting more demand on the performance of such networks . As the number of users increases network traffic, bandwidth becomes increasingly problematic. While the Internet continues to grow, so does the intranet as more and more private enterprise networks are being based on the internet protocol. Yet traditional network routers introduce delay and today's LAN switches don't always provide routing. Thus, there was a need to combine the intelligence and control of IP routing with the high speed and capacity of ATM switching .
Ipsilon Networks was the first to develop a new class of switch that combined the intelligence and control of IP routing with the high speed and capacity of ATM switching. Ipsilon' s IP switch combines intelligent IP routing with high speed ATM switching hardware in a single scaleable platform that delivers several times the performance of conventional routers at a fraction of the price per port. While Gigabit Ethernet switching provides an alternative to IP switching, Ethernet switching is only useful for conventional data, not telephony, quality video, or other multimedia components. Yet, proposed solutions such as classical IP over ATM, LAN emulation and multiprotocol over ATM have become bogged down in complexity, resulting not only in delayed implementations, but increasing market confusion and frustration. Furthermore, LAN emulation and classical IP experience problems with scalability. Accordingly, IP switching appears to be the best solution by providing the intelligence and control of IP routing with the high speed and capacity of ATM technology. The IP switch developed by Ipsilon Networks marries the Internet Protocol routing software with ATM switching hardware. Extensions to the IP switching concept are contained in Request For Comments (RFCs) 1953 and 1954 as defined by Ipsilon Networks. The Ipsilon Flow Management Protocol (IFMP) is a protocol for instructing an adjacent node to attach a Data Link Layer label to a specified IP flow. Ipsilon Flow Management is based on the concepts of a default channel, i.e., a channel in which the traffic destined to next hop is routed by default. The Default Channel is terminated in the IP forwarding engine, which forwards every packet individually after examining the packet IP header and making a routing decision (connectionless approach) . The forwarding engine performance requirement can be reduced by moving high volume or packet intensive traffic temporarily to separate channels, which are called cut-throughs. Cut-throughs are ATM connections that are dedicated for carrying traffic for certain IP session(s) . Cut- throughs are unidirectional and they are controlled by the downstream side of the link, which can establish and release them using IFMP.
This concept makes it possible to build high performance IP routing devices for ATM networks combining IP routing with ATM switching in the supposedly most effective way. However, Ipsilon Flow Management is not without its flaws. For example, flow establishment requires internodal signaling which impedes system performance.
It can be seen, then, that there is a need for additional extensions to the IFMP to provide improved system performance without internodal signaling. It can also be seen that there is a need to provide a default cut-through having the characteristics of both default channels and cut-throughs. SUMMARY OF THE INVENTION To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses an Internet Protocol switch and switching method.
The present invention solves the above-described problems by providing a flow management protocol that provides a default cut-through having the characteristics of both default channels and cut-throughs without internodal signaling for flow establishment .
A system in accordance with the principles of the present invention includes a switch for interfacing a plurality of input ports to a plurality of output ports, a controller for controlling the forwarding of packets received on the input ports from a transmitting node to the output ports, an input default cut-through mapping an input port through the switch to the controller and an output default cut-through mapping the controller to an output port leading to a next hop for the packets. The controller determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut-through to bypass the controller to establish a cut-through connection in response to the first packet meeting the flow establishment criteria. Other embodiments of a system in accordance with the principles of the invention may include alternative or additional aspects. One such aspect is that the controller maps a plurality of flows to the cut-through connection.
Another aspect of the present invention is that a first timer for counting a first predetermined period of time is initiated upon transmission of the packet to the input port. Another aspect of the present invention is that a packet belonging to a new session to be sent over the input default cut-through is prevented from reusing the cut-through connection for the first predetermined period of time after completion of the first session.
Another aspect of the present invention is that a second timer for counting a second predetermined time period is initiated upon assigning the output default cut-through to the input default cut-through.
Another aspect of the present invention is that the first period of time is greater than the second period of time.
Another aspect of the present invention is that a permanent cut-through is used to map an input port to an output port.
Still another aspect of the present invention is that a third timer is used for controlling the duration of the permanent cut-through.
Another aspect of the present invention is that the controller includes statistical tools for gathering statistics on the default cut-through, and wherein the controller releases a default cut-through when the statistical tools indicate a lack of traffic for an interval equal to the second predetermined time period. Another aspect of the present invention is that packets are routed rather than cut-through after the second timer counts to the second predetermined period of time.
Another aspect of the present invention is that the controller further comprises an IP router for routing the packets to a next hop on the basis of an IP layer header.
Another aspect of the present invention is that the controller uses an adjacency protocol to exchange configuration information between adjacent nodes.
Yet another aspect of the present invention is that the adjacency protocol advertises available default cut-throughs comprising a virtual channel connection having a range of virtual port identifier/virtual channel identifier (VPI/VCI) values . Another aspect of the present invention is that the range of the VPI/VCI values are associated with a predetermined cut- through type implying a predetermined encapsulation method.
Another aspect of the present invention is that the adjacency protocol further comprises means for indicating whether support for Ipsilon Flow Management Protocol extensions is provided.
Another aspect of the present invention is that Ipsilon type flows are not established with the reception of the first packet when Ipsilon Flow Management Protocol extensions are supported.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and which form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.
BRIEF DESCRIPTION OF THE DRAWINGS Referring now to the drawings in which like reference numbers represent corresponding parts throughout: Fig. 1 illustrates the seven layer Open Systems
Interconnection (OSI) model for network communications;
Fig. 2 illustrates a protocol reference model for ATM; Fig. 3 illustrates a matrix of the ATM sublayers and their functions ; Fig. 4 illustrates the ATM cell structure;
Fig. 5 illustrates a Virtual Channel Connection (VCC) between two endpoints;
Fig. 6 illustrates a detailed diagram showing the relationship between virtual channels and virtual paths; Fig. 7 illustrates a comparison of an Internet Protocol stack with the OSI seven layer model;
Fig. 8 illustrates an IP switch configuration;
Fig. 9 illustrates the encapsulation of GSMP packets in an AAL-5 CPCS-PDU with an LLC/SNAP header;
Fig. 10 illustrates the construction of an IP switch that provides IP forwarding and IP flow cut-through switching;
Fig. 11 illustrates the switch cut-through process for the IP switch of Fig. 10; and Fig. 12 illustrates a functional block diagram of an IP switch that provides default cut-throughs without internodal signaling .
DETAILED DESCRIPTION OF THE INVENTION
In the following description of the exemplary embodiment, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration the specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized as structural changes may be made without departing from the scope of the present invention.
The present invention provides a flow management protocol that provides a default cut-through having the characteristics of both default channels and cut-throughs. While the invention may function in a fallback mode that uses the Ipsilon Flow Management Protocol, the default cut-through according to the present invention eliminates the need for internodal signaling. The invention determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut-through to bypass the controller in response to the first packet meeting the flow establishment criteria. A first timer is used for timing the period since the transmission of the first packet. This timer is restarted after each packet has been sent. A second timer is used for measuring the period since the assignment of the output default cut-through to the input default cut- hrough. Permanent cut-throughs may be used to map an input port to an output port for shortlived traffic. A third timer may be provided for controlling the duration of permanent cut-throughs. The controller may also route packets to a next hop on the basis of an IP layer header. An adjacency protocol is used to exchange configuration information between adjacent nodes and advertise available default cut-throughs. According to the invention, the flow management protocol that provides default cut-throughs and eliminates internodal signaling functions at the Network Layer of the seven layer Open Systems Interconnection (OSI) model. The Network Layer provides routing and relaying of data through the network and will now be described with reference to the seven layer OSI model.
Fig. 1 illustrates the OSI model 100 which includes seven layers, including an Application Layer 110, Presentation Layer 120, Session Layer 130, Transport Layer 140, Network Layer 150, Data Link Layer 160, and Physical Layer 170. The OSI model 100 was developed by the International Organization for
Standardization (ISO) and is described in ISO 7498, entitled "The OSI Reference Model", and which is incorporated by reference herein.
Each layer of the OSI model performs a specific data communications task, a service to and for the layer that precedes it (e.g., the Network Layer provides a service for the transport layer) . The process can be likened to placing a letter in a series of envelopes before it is sent through the postal system. Each succeeding envelope adds another layer of processing or overhead information necessary to process the transaction. Together, all the envelopes help make sure the letter gets to the right address and that the message received is identical to the message sent. Once the entire package is received at its destination, the envelopes are opened one by one until the letter itself emerges exactly as written. In a data communication transaction, however, each end user is unaware of the envelopes, which perform their functions transparently. For example, an automatic bank teller transaction can be tracked through the multi-layer OSI system. One multiple layer system (Open System A) provides an application layer that is an interface to a person attempting a transaction, while the other multiple layer system (Open System B) provides an application layer that interfaces with applications software in a bank's host computer. The corresponding layers in Open Systems A and B are called peer layers and communicate through peer protocols . These peer protocols provide communication support for a user's application, performing transaction related tasks such as debiting an account, dispensing currency, or crediting an account.
Actual data flow between the two open systems (Open System A and Open System B) , however, is from top 180 to bottom 182 in one open system (Open System A, the source) , across the communications line, and then from bottom 182 to top 180 in the other open system (Open System B, the destination) . Each time that user application data passes downward from one layer to the next layer in the same system more processing information is added. When that information is removed and processed by the peer layer in the other system, it causes various tasks (error correction, flow control, etc.) to be performed.
The ISO has specifically defined all seven layers, which are summarized below in the order in which the data actually flows as they leave the source:
Layer 7, the Application Layer 110, provides for a user application (such as getting money from an automatic bank teller machine) to interface with the OSI application layer. That OSI application layer 110 has a corresponding peer layer in the other open system, the bank's host computer.
Layer 6, the Presentation Layer 120, makes sure the user information (a request for $50 in cash to be debited from your checking account) is in a format (i.e., syntax or sequence of ones and zeros) the destination open system can understand.
Layer 5, the Session Layer 130, provides synchronization control of data between the open systems (i.e., makes sure the bit configurations that pass through layer 5 at the source are the same as those that pass through layer 5 at the destination) .
Layer 4, the Transport Layer 140, ensures that an end-to- end connection has been established between the two open systems and is often reliable (i.e., layer 4 at the destination confirms the request for a connection, so to speak, that it has received from layer 4 at the source) .
Layer 3, the Network Layer 150, provides routing and relaying of data through the network (among other things, at layer 3 on the outbound side an address gets placed on the envelope which is then read by layer 3 at the destination) .
Layer 2, the Data Link Layer 160, includes flow control of data as messages pass down through this layer in one open system and up through the peer layer in the other open system.
Layer 1, the Physical Interface Layer 170, includes the ways in which data communications equipment is connected mechanically and electrically, and the means by which the data moves across those physical connections from layer 1 at the source to layer 1 at the destination.
In a similar way to the OSI 7-layer model, ATM also has a developed protocol reference model 200 as illustrated in Fig. 2, consisting of a control plane 202, user plane 204 and management plane 206. The model 200 also incorporates SAPs , SDUs and PDUs that are also mentioned in the OSI layered approach. The user plane 204 (for information transfer) and control plane 202 (for call control) are structured in layers. Above the Physical
Layer 210 rests the ATM Layer 220 and the ATM Adaptation Layer (AAL) 230. Management 206 provides network supervision.
The AAL and Physical layers are further divided into sublayers. Fig. 3 illustrates a matrix of the ATM sublayers and their functions 300. The ATM Adaptation Layer 302 is subdivided into the Convergence Sublayer 304 and the Segmentation and Reassembly (SAR) sublayer 306. The Convergence Sublayer 304 is service dependent and it performs convergence 308 which includes encapsulation of data arriving from upper layers, appending appropriate headers and preparing data for segmentation. Though each AAL has its own functions, in general the Convergence Sublayer 304 describes the services and functions needed for conversion between ATM and non-ATM protocols. The Segmentation and Reassembly Sublayer 306 is the lower of two sublayers that make up the ATM Adaptation Layer (AAL) 302. The SAR 306 performs segmentation and reassembly 310, which includes mapping data from the AAL Convergence Sublayer 304 into the cell payloads of an ATM cell stream.
The next layer is the ATM Layer 312. The ATM Layer 312 may provide generic flow control 314, cell header generation and extraction 316, cell VPI/VCI translation 318 and cell multiplexing and demultiplexing 320.
The Physical Layer 322 includes the Transmission Convergence Sublayer 324 and the Physical Medium Sublayer 326. The Transmission Convergence Sublayer 324 is responsible for cell-rate decoupling 328, HEC header generation and check 330, and cell delineation 332 which enables the ATM cells to be adapted into a stream of bits to be carried over the physical medium. The Physical Medium Sublayer 326 provides the bit timing 334 and performs the actual transmission of the bits over the physical medium 336.
The ATM Layer 312 is responsible for transporting information across the network. ATM uses virtual connections for information transport. The connections are deemed virtual because although the users can connect end-to-end, resources are used only when a cell needs to be used. The connection is not dedicated to the use of one conversation. The connections are divided into two levels : the Virtual Path and the Virtual Channel. It is the properties of the VP and VC that allow cell multiplexing. There is a complication in that cell switching requires only the value of the VP identifier, VPI, to be known.
Fig. 4 illustrates the ATM cell structure 400. The structure of the cell is important for the overall functionality of the ATM network. A large cell gives a better payload to overhead ratio, but at the expense of longer, more variable delays. Shorter packets overcome this problem, however the amount of information carried per packet is reduced. A compromise between these two conflicting requirements was reached, and a standard cell format 400 was chosen. The ATM cell consists of a 5-octet header 402 and a 48-octet information field 404 after the header 402. The information contained in the header 402 is dependent on whether the cell is carrying information from the user network to the first ATM public exchange (User-Network Interface - UNI), or between ATM exchanges in the trunk network (Network-Node Interface - NNI) .
Fig. 5 illustrates the connection between two endpoints 500 which is called a Virtual Channel Connection (VCC) 502. The Virtual Channel Connection 502 is made up of a series of virtual channel links 504 that extend between VC switches 506. The virtual channel is identified by a Virtual Channel Identifier (VCI) 508. The value of the VCI 508 will change as it enters a VC switch due to routing translation tables. Within a virtual channel link 504, the value of the VCI 508 remains constant. The VCI 508 and VPI 510 are used in the switching environment to ensure that channels and paths are routed correctly. They provide a means for the switch to distinguish between different connections .
There are many types of Virtual Channel Connections 502, including user-to-user applications, user-to-network applications and network-to-network applications. User-to-user applications are applications between customer equipment at each end of the connection. User-to-network applications are applications between customer equipment and network node. Finally, network-to-network applications are applications between two network nodes and include traffic management and routing.
Virtual Channel Connections 502 include many properties. For example, a VCC 502 user is provided with a quality of service (QoS) specifying parameters such as cell-loss ratio
(CLR) and cell-delay variation (CDV) . VCCs can be switched or be semi-permanent, and cell sequence integrity is maintained within a VCC. Further, traffic parameters can be enforced by the Usage Parameter Control (UPC) . A detailed diagram 600 showing the relationship between virtual channels and paths is shown in Fig. 6. A virtual path (VP) 602 is a term for a bundle of virtual channel links that all have the same endpoints. As with VCs, virtual path links can be strung together to form a virtual path connection (VPC) . A VPC endpoint is where related VPIs are originated, terminated or translated.
Virtual paths 602 provide logical direct routes between switching nodes via intermediate cross-connect nodes. A VP 602 provides the logical equivalent of a link between two switching nodes that are not necessarily directly connected on a physical link. It therefore allows a distinction between logical and physical network structure and provides the flexibility to rearrange the logical structure according to traffic requirements . Virtual paths 602 are identified in the cell header with the VPI. Within an ATM cross-connect, information about individual virtual channels 604 within a virtual path 602 is not required, as all VCs within one path follow the same route as that path. As discussed above with reference to Fig. 3, the ATM
Adaptation Layer (AAL) performs the necessary mapping between the ATM Layer and the higher layers. This task is usually performed in terminal equipment, or terminal adaptors (TA) at the edge of the ATM network. The ATM network is independent of the services it carries. Thus, the user payload is carried transparently by the ATM network. The ATM network does not process, or know the structure of the payload. This is known as semantic independence.
Fig. 7 is a comparison 700 illustrating where the Internet Protocol Network Layer 702 fits in the OSI seven layer model 704. In Fig. 7, the transport layers 710 provides data connection services to applications and may contains mechanisms that guarantee that data is delivered error-free, without omissions and in sequence. The transport layer 710 in the TCP/IP model 712 sends segments by passing them to the IP layer 702, which routes them to the destination. The transport layer 710 accepts incoming segments from IP 702, determines which application is the recipient, and passes the data to that application in the order in which it was sent. Thus, the Internet Protocol 702 performs Network Layer functions and routes data between systems. Data may traverse a single link or may be relayed across several links in an internet. Data is carried in units called datagrams, which include an IP header that contains layer 3 720 addressing information. Routers examine the destination address in the IP header in order to direct datagrams to their destinations . The IP layer 702 is called connectionless because every datagram is routed independently and the IP layer 702 does not guarantee reliable or in-sequence delivery of datagrams. The IP layer 702 routes its traffic without caring which application-to- application interaction a particular datagram belongs to.
Referring now to Fig. 8, there is provided an illustration of an IP switch configuration 800. The IP switch 800 implements the Internet Protocol Network Layer 802 on ATM hardware 804. The IP switch 800 typically alternates between store-and-forward and cut-through switching based on traffic needs.
At initialization, each IP node sets up a virtual channel on each of its ATM physical links that provide a default forwarding channel to the ATM hardware 804. IP data traffic flows through the IP switch. An ATM port inside the ATM hardware 804 receives the incoming traffic on the default channel and sends it to the IP switch software 802. The IP switch software 802 forwards the packet in a normal manner over a default forwarding channel. The IP switch software 802 also performs flow classification.
Flow classification is a decision-making process that enables IP switches 800 to optimize data traffic. A flow is an extended IP conversation, comprising IP packets from a particular source to a particular destination sharing the same transfer protocol type, type of service, and other information as called for in the packet header. The IP switch software 802 identifies longer duration flows which logically can be optimized by cut-through switching. Other traffic continues to use the default channel via hop-by-hop store-and-forward routing.
Once a flow is identified, the IP switch software 802 requests the upstream node to label the traffic using a new virtual channel. If the upstream node approves, the traffic flows on the new virtual channel. Independently, the downstream node also requests that an outgoing virtual channel for the flow be setup by the IP switch software 802. The IP switch software 802 directs the switch to make the appropriate port mapping in the ATM switch hardware 804 when the flow is isolated to a particular input channel and a particular output channel . The flow then bypasses the IP switch software 802 and its associated processing overhead. Throughput remains optimized throughout the IP network since there is no need to reassemble ATM cells into IP packets at intermediate IP switches.
Intelligence within the IP switch derives from the Generic Switch Management Protocol (GSMP) and the Ipsilon Flow
Management Protocol. The General Switch Management Protocol, as disclosed in IEFT Network Working Group RFC 1987, entitled Ipsilon' s General Switch Management Protocol Specification Version 1.1, dated August 1996, herein incorporated by reference, is a general purpose protocol to control an ATM switch. Those skilled in the art will recognize that GSMP is net essential for implementing an IP switch since other methods of providing simple commands to the ATM switch hardware would suffice. Nevertheless, by way of example, GSMP will be described briefly herein as one way of providing commands to the ATM switch.
GSMP packets 910 are variable length and are encapsulated directly between an AAL-5 CPCS-PDU 902 with an LLC 904/SNAP 906 header as illustrated in the GSMP packed protocol 900 of Fig. 9. GSMP messages 910 allow a controller to establish and release connections across the switch; add and delete leaves on a point- to-multipoint connection; manage switch ports; request configuration information; and request statistics. GSMP messages 910 also allow the switch to inform the controller of asynchronous events such as a link going down. GSMP messages 910 run across an ATM link connecting the controller to the switch, on a control connection (virtual channel) established at initialization. The GSMP protocol 900 is asymmetric, i.e., the controller is the master and the switch is the slave. Multiple switches may be controlled by a single controller using multiple instantiations of the protocol 900 over separate control connections .
A switch is assumed to contain multiple "ports". Each port is a combination of one "input port" and one "output port". Some GSMP message 910 requests refer to the port as a whole, whereas other requests are specific to the input port or the output port. ATM cells arrive at the switch from an external communication link on incoming virtual channels at an input port. ATM cells depart from the switch to an external communication link on outgoing virtual channels from an output port. Virtual channel connections are referenced by the input port on which they arrive and the virtual path and virtual channel identifiers (VPI/VCI) of their incoming virtual channel. In general, a virtual channel is established with a certain quality of service. Unfortunately, this is a changing concept as new ideas make their way into hardware. According to the GSMP protocol 900, each virtual channel connection may be assigned a priority when it is established. For virtual channel connections that share the same output port, an ATM cell on a connection with a higher priority is much more likely to exit the switch before an ATM cell on a connection with a lower priority if they are both in the switch at the same time. The number of priorities that each port of the switch supports may be obtained from the port configuration message. GSMP messages 910 also provide for an adjacency protocol. The adjacency protocol is used to synchronize state across the link, to discover the identity of the entity at the other end of a link, and to detect when it changes.
The Ipsilon Flow Management Protocol, as disclosed in IEFT Network Working Group RFC 1953, entitled "Ipsilon Flow
Management Protocol Specification for IPv4", Version 1.0, dated May 1996, herein incorporated by reference, is a protocol for instructing an adjacent node to attach a Data Link Layer label to a specified IP flow. The label allows more efficient access to cached routing information for that flow and it allows the flow to be switched rather than routed in certain cases.
If a network node's upstream and downstream links both redirect a flow at the node, then the node can switch the flow at the Data Link Layer rather than forwarding it at the Network Layer. The label space is managed at the downstream end of each link and redirection messages are sent upstream to associate a particular flow with a given label. Each direction of transmission on a link is treated separately.
If the flow is not refreshed by the time the lifetime field in the redirect message expires, then the association between the flow and the label is discarded. A flow is refreshed by sending a redirect message, identical to the original, before the lifetime expires . Several flow types may be specified. Each flow type specifies the set of fields from the packet header that are used to identify a flow. There must be an ordering amongst the different flow types such that a most specific match operation may be performed.
A particular flow is specified by a flow identifier. The flow identifier for that flow gives the contents of the set of fields from the packet header as defined for the flow type to which it belongs. The IFMP protocol for IPv4 is specified on a point-to-point link.
A flow is a sequence of packets that are sent from a particular source to a particular (unicast or multicast) destination and that are related in terms of their routing and any logical handling policy they may require. A flow is identified by its flow identifier. Several different flow types can be defined. The particular set of fields from the packet header used to identify a flow constitutes the flow type. The values of these fields, for a particular flow, constitutes the flow identifier for that flow. The values of these fields must be invariant in all packets belonging to the same flow at any point in the network.
Flow types are sub-sets or super-sets of each other such that there is a clear hierarchy of flow types. This permits a most specific match operation to be performed. (If additional flow types are defined in the future that are not fully ordered, then the required behavior will be defined.) Each flow type also specifies an encapsulation that is to be used after a flow of this type is redirected. The encapsulations for each flow type are specified for each specific data link technology. The manner for transmitting IPv4 datagrams over an ATM data link, both in a default manner and in the presence of flow labeling via IFMP is described in IEFT Network Working Group RFC 1954, entitled "Transmission of Flow Labeled IPv4 on ATM Data Links", Ipsilon Version 1.0, dated May 1996, and is herein incorporated by reference.
In transmitting IPv4 datagrams over an ATM data link, ATM specific functions such as Operations and Maintenance (OAM) cells, the Cell Loss Priority (CLP) bit, and Available Bit Rate (ABR) Resource Management (RM) cells are not used. There are no reserved VCIs other than VPI = 0, VCI = 0, which indicates an unassigned cell; and VPI = 0, VCI = 15, which is used for the default encapsulation. IFMP messages must be sent using the default encapsulation. Further, labels, as carried by IFMP, are realized on an ATM data link as specific VPI/VCIs.
Fig. 10 illustrates the construction of an IP switch 1000 that uses IFMP to provide IP forwarding and IP flow cut-through switching via internodal signaling. The hardware of an ATM switch 1002 is used without any modification, but for IP switching the ATM software resident in the control processor above AAL-5 is not used. Instead, an IP switch controller 1004 is used. However, those skilled in the art will recognize that both may coexist. Further, those skilled in the art will recognize that other Data Link Layer software could be used while providing Network Layer communication with any standard (L3) signaling procedures according to the present invention, e.g., frame relay.
A low-level control protocol, called the Generic Switch Management Protocol (GSMP) 1010, as described above, is used to give the IP switch controller 1004 access to the switch hardware 1002. The IP switch controller 1004 is a high-end processor running a standard IP router software package with IFMP extensions 1020 that allow it to make use of the switching hardware 1002. The IFMP extensions 1020 associate IP flows with ATM virtual channels, include a flow classifier to decide whether to switch each flow, and provide GSMP 1010 to control the switch hardware 1002.
At system startup, a default forwarding ATM virtual channel 1030 is established between the IP routing software running on the IP switch controller 1004 and that of each of its neighbors. The default forwarding channel is used for the hop-by-hop connectionless forwarding of IP datagrams. Thus, the ability to forward IP packets is provided. However, to gain the benefit of the switching hardware 1002 a mechanism must associate an IP flow with a specific ATM label (virtual path and virtual channel identifier VPI/VCI) .
As discussed above, an IP flow is characterized according to the fields in the IP/TCP/UDP header that determine the routing decision such as: type of service, protocol, source address, destination address, source port, destination port, etc. Two packets belong to the same flow if the values of these fields are identical. Several different flow types may be defined, each characterized by a different set of header fields (though the set of flow types must be ordered so that a most specific match operation may be performed) .
When a packet is received across a default forwarding channel 1030, it is reassembled and submitted to the IP control processor 1004 for forwarding. The IP control processor 1004 forwards the packet in the normal manner, but it also performs a flow classi ication on the packet to determine whether future packets belonging to the same flow should be switched directly in the ATM hardware 1002 or continue to be forwarded hop-by-hop by the router software in the IP switch controller 1004. Flow classification is a local policy decision. The flow classifier in the IP switch controller 1004 inspects the contents of the fields that characterize the flow and makes its decision based upon a local policy expressed in a table. For example, by looking for well known source or destination port numbers, one can identify the application. Flows belonging to
File Transfer Protocol (FTP) data connections may be configured to be switched, but Domain Name System (DNS) queries could be forwarded as datagrams .
Fig. 11 illustrates the switch cut-through process 1100 for an IP switch using IFMP. If the controller 1102 decides that the flow should be switched, it selects a free label (label x) 1104 from the label space of the input port (port i) 1106 on which the packet was received. Virtual channels are assumed to be unidirectional, so the ATM label space (VPI/VCI range) of the incoming direction of each link is owned by the input port to which it is connected. The controller 1102 also selects a free label (label x' ) 1110 on its control port (port c) 1112. The control port is the port, either real or virtual, by which the control processor is connected to the switch. The switch driver 1120 is then instructed to map label x 1104 on input port i 1106 to label x' 1110 on the control port c 1112.
After making the entry in the translation table of the switch input port, the controller sends an IFMP redirection message upstream 1130 to the previous hop from which the packet came. The redirection message 1130 contains the label x 1132, a flow identifier 1134, and a lifetime 1136. The flow identifier 1134 contains the set of header fields that characterize the flow. The redirection message 1130 requests the upstream host or router to transmit all further packets with header fields that match those specified in the flow identifier 1134 on the ATM virtual channel specified by the label 1132. The lifetime field 1136 specifies the length of time for which this redirection is valid, i.e., the number of hops from the sending node that a packet will be forwarded. Unless the flow state is refreshed before the lifetime 1136 expires, this binding of flow and label is deleted and further packets belonging to the flow will be transmitted on the default forwarding channel.
From this point, packets belonging to the flow will arrive at the switch controller 1104, port c 1112, with the ATM VPI/VCI label x' 1110. The packets will still be reassembled and forwarded by the IP forwarding software, but the process is accelerated because the previous routing decision for this flow was cached in the router software and can be indexed by the label x' 1110. A significant benefit of switching is realized when the downstream router or host also runs the same redirection algorithm. When the router receives a redirection message 1140 from its downstream neighbor on port j 1156, redirecting the flow to label y 1158, it can switch all further traffic belonging to that flow directly within the ATM hardware 1120. The controller 1102 does this by instructing the switch 1120 to map label x 1104 on port i 1106 to label y 1158 on port j 1156. Thus, the traffic is no longer sent to the control processor 1102 but is switched directly to the required output port. Those skilled in the art will recognize that the downstream connection may be setup before the node sends the redirect request upstream.
When an IP switch accepts a redirection message 1130, it may also changes the encapsulation it uses for the redirected flow. The encapsulation used for IP packets on the default forwarding channel is the standard LLC/ SNAP encapsulation over AAL-5. The encapsulation used for each IP packet on a flow redirected to a specific virtual channel removes all of the header fields that characterize the flow from the header of each packet. The IP packet with the resulting compressed header is then encapsulated in AAL-5 and transmitted on the specified virtual channel. The fields that are removed are stored by the router that issued the redirection and are associated with the specified ATM virtual channel. The complete packet may be reconstructed using the incoming label to access the stored header fields .
Each IP switch 1100 maintains a background refresh timer. When the background refresh timer expires, the state of every flow is examined. If a flow has received traffic since the last refresh period, its state is refreshed. Flow state is refreshed by sending a redirect message upstream 1130 with the same label 1132 and flow identifier 1134 as the original and a new lifetime 1136. If a flow has received no traffic since the last refresh period, its cached state is removed. This will involve issuing an IFMP Reclaim message (not shown) upstream to reclaim the label for reuse. The flow state is not deleted until an IFMP Reclaim Ack message is received to acknowledge release of the requested label. Reclaim messages may also be used to release labels in use if the free label space is close to exhaustion. For flows that are labeled, but not switched, the control processor 1102 can examine its own state to see whether the flow has received any traffic in the previous refresh period. For flows that are switched, the control processor 1102 must query the switch hardware to discover whether a specific channel has recently been active.
The flow management protocol is advisory in nature. The decision to accept a redirection request is local and redirection messages 1130 may be ignored. Redirection messages 1130 are not acknowledged since the first packet arriving on the new virtual channel will indicate acceptance of the request. The protocol is also symmetric in that no distinction is made between a user interface (UNI) and a network interface (NNI) .
However, IFMP slows system performance due to the internodal signaling. The present invention improves upon the above-described IP switching methodology that uses IFMP internodal signaling by providing preconfigured Data Link Layer connections and eliminating the IFMP internodal signaling. Fig. 12 illustrates a functional block diagram for a Network Layer switch 1200 according to an embodiment of the present invention. - While the preferred embodiment is described for an IP switch, those skilled in the art will recognize that the present invention may be implemented for any Data Link Layer that supports virtual connections, e.g., frame relay. According to the embodiment of the present invention, flow specific timers are run in both upstream and downstream nodes to decide when to release a cut-through connection, thereby moving from IP switching mode to an IP forwarding mode for a given flow. Permanent flows that do not use normal timeouts are also utilized for shortlived traffic. In Fig. 12, the IP switch 1200 provides Default Cut- throughs 1202, which have characteristics of both default channels and a cut-throughs. Default Cut-throughs 1202 boost the system performance by eliminating internodal signaling for flow establishment. Each interface has a reasonably large number of VCCs 1202 readily configured and terminated to IP forwarding engine 1204. The existence of these VCCs 1202, which are hereinafter called default cut-throughs, are made known to adjacent nodes with the adjacency protocol described above. The default cut-throughs may be viewed as default channels, with the exception that only packets belonging to one session will be sent on them within a certain time period. Through the adjacency protocol, adjacent nodes are made aware of existing default cut-throughs and their status. Whenever there is a packet for which no cut-through association for forwarding the packet to the next node, a free default cut-through advertised by a downstream node is picked by an upstream node, and the packet is sent to that channel (VCC) 1202. On sending of that packet, the upstream node starts timeout Tupstream 1210. Since the default cut-through 1202 is terminated 1206 in a forwarding engine 1204, the packet is forwarded 1212 on the basis of the IP layer header information, as is done in conventional routers. In addition to packet forwarding, if the applied flow establishment criteria defined below is met, a cut- through to a default output cut-through 1220 is established
1230. Flow establishment involves picking a free default cut- through (VCC) on the outgoing port 1220 leading to next hop and mapping 1230 the incoming VCC 1202 to it. On making this connection through the node, the node starts a timeout TdownΞtreaπι 1240. Accordingly, the cut-through is established without any explicit internodal signaling.
When timer Twnstream 1240 expires, the downstream node will check the statistics for VCC 1220 and, if it notices that there is no traffic, it will release the cut-through by reconnecting 1206 the incoming VCC 1202 to forwarding engine 1204. If there was traffic, timer Tdownstream 1240 is restarted. If the upstream node sends a packet after Tdownstream 1240 is expired, the packet is forwarded by the forwarding engine 1204 in a normal way. Depending on the establishment criteria set in the flow classifier 1250, sending a packet may result in re-establishment of an expired cut-through. Thus, the release of a cut-through does not cause packet loss.
The upstream node is not allowed to send any packets belonging to a new session using a previously used default cut- through, until waiting at least TupΞtream 1210 after having sent the last packet of the previous session. With timeouts, the following equation holds: Tdownstream 1240 < Tupstream 1210.
The flow classifier may establish a default cut-through immediately 1252, by protocol type 1254, or by packet count 1256. Where a default cut-through is to be established immediately 1252, a cut-through is always setup after receiving and forwarding the first packet. However, default cut-throughs may be established based upon the protocol type 1254. In addition, a default cut-through may be established up until or, alternatively, only when a certain number of packets belonging to a given session are forwarded within a certain time frame 1256.
If there are no packets associated with the cut-through sent within ToWnstream 1240, the downstream node will release the cut-through 1220. Release of cut-through 1220 involves connecting the incoming default cut-through VCC 1202 to forwarding engine 1204 and removing any association between cut- through 1202 and outgoing VCC 1220. The outgoing VCC 1220 can be reused after timeout TupΞtream 1210, which is started by the upstream node upon sending a packet on that cut-through connection.
Permanent cut-throughs 1260 are special cut-throughs in the sense .that they are not controlled with standard timeouts. There is either a considerably larger timeout duration for them or no timeout at all. This means that they are never released automatically, but, for example, are released through network management action. Permanent cut-throughs 1260 are VCCs that are used to access limited number of well known services like DNS, which are frequently needed but the traffic is normally very shortlived.
The Adjacency protocol must indicate the range of available VPI/VCI values (minimum and maximum values) . There might be more than one range in use, but within the range the VPI/VCI space is contiguous. Also, separate ranges can be specified for different cut-through types (implying different encapsulation methods) . Alternatively, the required information can be configured through the network management system, thereby eliminating the need for the adjacency protocol. Nevertheless, a downstream node will notify an upstream node on the availability of default cut-throughs 1202 and the value of timeout Tdownstream 1240.
These extensions can be implemented by either adding new message types or information elements to the existing IFMP protocol or by running these extensions as a separate protocol on a different VCC. Further, as the present invention in accordance with one embodiment may be viewed as a true extension of the IFMP, full support for standard Ipsilon Flow Management can still be implemented without interworking problems. Whether the interface supports extensions or not can either be configured or automatically detected with the help of the adjacency protocol.
If the node supports extensions at the incoming interface, it is desirable that the node not establish Ipsilon type flows on reception of the first flow eligible packet on the Ipsilon default channel. Failing to comply with this requirement is no means fatal, but results in setting up an IFMP flow that is not used. Accordingly, the present invention provides preconfigured Data Link Layer connections to eliminate IFMP internodal signaling. A flow management protocol according to the principles of the present invention provides default cut- throughs having the characteristics of both default channels and cut-throughs. The present invention determines whether a first packet meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut- through to bypass the controller in response to the first packet meeting the flow establishment criteria. Flow specific timers are run in both upstream and downstream nodes to decide when to release a cut-through connection, thereby moving from IP switching mode to an IP forwarding mode for a given flow. A first timer is used for timing the period since the transmission of the packet. This first timer is restarted after each packet has been sent . A second timer is used for measuring the period since the assignment of the output default cut-through to the input default cut-through. Permanent cut-throughs may be used to map an input port to an output port for shortlived traffic. A third timer may be provided for controlling the duration of permanent cut-throughs. The invention may also route packets to a next hop on the basis of an IP layer header. An adjacency protocol is used to exchange configuration information between adjacent nodes and to advertise available default cut-throughs. The foregoing description of the exemplary embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not with this detailed description, but rather by the claims appended hereto.

Claims

1. A switch, comprising: a switch for interfacing a plurality of input ports to a plurality of output ports; a controller, operatively coupled to the switch, for controlling the forwarding of packets received on the input ports from a transmitting node to the output ports; an input default cut-through mapping an input port through the switch to the controller; an output default cut-through mapping the controller to an output port leading to a next hop for the packets; and wherein the controller further determines whether a first packet of a first session meets predetermined flow establishment criteria and assigns the output default cut-through to the input default cut-through to bypass the controller to form a cut- through connection in response to the first packet meeting the flow establishment criteria.
2. The switch of claim 1 wherein the controller maps a plurality of flows to the cut-through connection.
3. The switch of claim 1 wherein the flow establishment criteria comprises an IP address.
4. The switch of claim 1 wherein the controller according to a first predetermined flow establishment criterion automatically assigns the output default cut-through to the input default cut-through after the first packet is received and forwarded.
5. The switch of claim 1 wherein the controller according to a second predetermined flow establishment criterion identifies the protocol type of the packets, determines whether the protocol type is an acceptable type for cut-through and assigns the output default cut-through to the input default cut- through when the protocol type is acceptable.
6. The switch of claim 1 wherein the controller according to a second predetermined flow establishment criterion counts packets belonging to a session, monitors a duration of the session, and assigns the output default cut-through to the input default cut-through when the a predetermined number of packets belonging to the session are forwarded within a predetermined time period.
7. The switch of claim 1 wherein a first timer for counting a first predetermined period of time is initiated upon transmission of the packet on the cut-through connection.
8. The switch of claim 7 wherein a packet belonging to a new session to be sent over the input default cut-through is prevented from reusing the cut-through connection for the first predetermined period of time after completion of the first session.
9. The switch of claim 7 wherein a second timer for counting a second predetermined time period is initiated upon assigning the output default cut-through to the input default cut-through.
10. The switch of claim 9 wherein the second timer is restarted after expiration and traffic statistics have been checked.
11. The switch of claim 9 wherein the first period of time is greater than the second period of time.
12. The switch of claim 11 further comprising a permanent cut-through mapping an input port to an output port.
13. The switch of claim 12 further comprising a third timer for controlling the duration of the permanent cut-through.
14. The switch of claim 13 wherein the third timer is set for a period of time greater than the first period of time.
15. The switch of claim 9 wherein the controller further comprises a statistics tool for gathering statistics for the output default cut-through, and wherein the controller releases the output default cut-through when the statistics tool indicates a lack of traffic for the output default cut-through for a interval equal to the second predetermined time period.
16. The switch of claim 9 wherein packets are routed rather than cut-through after the second timer counts to the second predetermined period of time.
17. The switch of claim 1 wherein the controller further comprises an IP router for routing the packets to a next hop on the basis of an IP layer header.
18. The switch of claim 1 further comprising a permanent cut-through mapping an input port to an output port.
19. The switch of claim 18 further comprising a third timer for controlling the duration of the permanent cut-through.
20. The switch of claim 19 wherein the third timer is set for a period of time greater than the first period of time.
21. The switch of claim 18 wherein the permanent cut- through is released only through network management action.
22. The switch of claim 1 wherein the controller further comprises an adjacency protocol for exchanging configuration information between adjacent nodes.
23. The switch of claim 22 wherein the adjacency protocol further comprises means for advertising available default cut- throughs, the advertisement of available default cut-throughs identifying a virtual channel connection having a range of VPI/VCI values.
24. The switch of claim 23 wherein the range of the
VPI/VCI values are associated with a predetermined cut-through type implying a predetermined encapsulation method.
25. The switch of claim 22 wherein the adjacency protocol further comprises means for indicating whether support for
Ipsilon Flow Management Protocol extensions is provided.
26. The switch of claim 25 wherein Ipsilon type flows are not established with the reception of the first packet when Ipsilon Flow Management Protocol extensions are supported.
27. The switch of claim 1 further comprising network management means for notifying an upstream node of the availability of a default cut-through and allowable session cut- through durations.
28. A method of providing packet switching, comprising the steps of: interfacing a plurality of input ports to a plurality of output ports through switch hardware; controlling the forwarding of packets received on the input ports from a transmitting node to the output ports using a control processor; mapping an input default cut-through from an input port through the switch hardware to the control processor; mapping an output default cut-through from the control processor to an output port leading to a next hop for the packets ; determining whether a first packet of a first session meets predetermined flow establishment criteria; and assigning the output default cut-through to the input default cut-through to bypass the controller to form a cut- through connection in response to the first packet meeting the predetermined flow establishment criteria.
29. The method of claim 28 further comprising the step of mapping a plurality of flows to the cut-through connection.
30. The method of claim 29 wherein the flow establishment criteria comprises an IP address.
31. The method of claim 28 wherein the predetermined flow establishment criteria comprises automatically assigning the output default cut-through to the input default cut-through after the first packet is received and forwarded.
32. The method of claim 28 wherein the predetermined flow establishment criteria comprises identifying the protocol type of the packet, determining whether the protocol type is an acceptable type for cut-through and assigning the output default cut-through to the input default cut-through when the protocol type is acceptable.
33. The method of claim 28 wherein the predetermined flow establishment criteria comprises counting packets belonging to a session, monitoring a duration of the session, and assigning the output default cut-through to the input default cut-through when predetermined number of packets belonging to the session are forwarded within a predetermined time period.
34. The method of claim 28 providing a first timer for counting a first predetermined period of time that is initiated upon transmission of the packet on the cut-through connection.
35. The method of claim 34 further comprising the step of prevent a packet belonging to a new session from reusing the cut-through connection for the first predetermined period of time after completion of the first session.
36. The method of claim 34 further comprising the step of providing a second timer for counting a second predetermined time period that is initiated upon assigning the output default cut-through to the input default cut-through.
37. The method of claim 36 further comprising the step of restarting the timer after the timer expires and traffic statistics have been checked.
38. The method of claim of claim 36 wherein the first period of time is greater than the second period of time.
39. The method of claim 36 further comprising the step of mapping an input port to an output port to establish a permanent cut-through.
40. The method of claim 39 further comprising the step of controlling the duration of the permanent cut-through using a third timer.
41. The method of claim 40 wherein the third timer is set for a period of time greater than the first period of time.
42. The method of claim 37 further comprising the steps of gathering statistics for the output default cut-through and releasing the output default cut-through when the output default cut-through lacks traffic for a interval equal to the second predetermined time period.
43. The method of claim 37 further comprising the step of routing packets rather than cut-throughs after the second timer counts to the second predetermined period of time.
44. The method of claim 28 further comprising the step of routing the packets to a next hop on the basis of an IP layer header rather than assigning a cut-through.
45. The method of claim 28 further comprising the step of mapping an input port to an output port to establish a permanent cut-through.
46. The method of claim 45 further comprising the step of controlling the duration of the permanent cut-through using a third timer.
47. The method of claim 46 wherein the third timer counts for a period of time greater than the first period of time.
48. The method of claim 45 further comprising the step of releasing the permanent cut-through only through network management action.
49. The method of claim 28 further comprising the step of exchanging configuration information between adjacent nodes using an adjacency protocol.
50. The method of claim 49 further comprising the step of advertising available default cut-throughs and indicating available default cut-throughs by identifying a virtual channel connection having a range of VPI/VCI values.
51. The method of claim 50 further comprising the step of associating a range of VPI/VCI values with a predetermined cut- through type, the cut-through type implying a predetermined encapsulation method.
52. The method of claim 49 further comprising the step of indicating whether support for Ipsilon Flow Management Protocol extensions is provided using the adjacency protocol.
53. The method of claim 52 further comprising the step of delaying Ipsilon type flows until determining that a first packet of a first session fails to meet the predetermined flow establishment criteria.
54. The method of claim 28 further comprising the step of notifying an upstream node of the availability of a default cut- through and allowable session cut-through durations.
PCT/FI1999/000197 1999-03-17 1999-03-17 Internet protocol switch and method Ceased WO2000056113A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB0121292A GB2363031A (en) 1999-03-17 1999-03-17 Internet protocol switch and method
PCT/FI1999/000197 WO2000056113A1 (en) 1999-03-17 1999-03-17 Internet protocol switch and method
AU29360/99A AU2936099A (en) 1999-03-17 1999-03-17 Internet protocol switch and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI1999/000197 WO2000056113A1 (en) 1999-03-17 1999-03-17 Internet protocol switch and method

Publications (1)

Publication Number Publication Date
WO2000056113A1 true WO2000056113A1 (en) 2000-09-21

Family

ID=8556739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FI1999/000197 Ceased WO2000056113A1 (en) 1999-03-17 1999-03-17 Internet protocol switch and method

Country Status (3)

Country Link
AU (1) AU2936099A (en)
GB (1) GB2363031A (en)
WO (1) WO2000056113A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005039134A1 (en) * 2003-10-15 2005-04-28 Qualcomm Incorporated Wireless lan protocol stack
US7818018B2 (en) 2004-01-29 2010-10-19 Qualcomm Incorporated Distributed hierarchical scheduling in an AD hoc network
US7882412B2 (en) 2004-10-05 2011-02-01 Sanjiv Nanda Enhanced block acknowledgement
US8116203B2 (en) 2001-07-23 2012-02-14 Broadcom Corporation Multiple virtual channels for use in network devices
US8315271B2 (en) 2004-03-26 2012-11-20 Qualcomm Incorporated Method and apparatus for an ad-hoc wireless communications system
US8355372B2 (en) 2004-05-07 2013-01-15 Qualcomm Incorporated Transmission mode and rate selection for a wireless communication system
TWI383302B (en) * 2003-10-15 2013-01-21 Qualcomm Inc Wireless area network protocol heap
US8401018B2 (en) 2004-06-02 2013-03-19 Qualcomm Incorporated Method and apparatus for scheduling in a wireless network
US8774098B2 (en) 2003-10-15 2014-07-08 Qualcomm Incorporated Method, apparatus, and system for multiplexing protocol data units
US8798091B2 (en) 1998-11-19 2014-08-05 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8842657B2 (en) 2003-10-15 2014-09-23 Qualcomm Incorporated High speed media access control with legacy system interoperability
US8903440B2 (en) 2004-01-29 2014-12-02 Qualcomm Incorporated Distributed hierarchical scheduling in an ad hoc network
US9072101B2 (en) 2003-10-15 2015-06-30 Qualcomm Incorporated High speed media access control and direct link protocol
US9137087B2 (en) 2003-10-15 2015-09-15 Qualcomm Incorporated High speed media access control
US9198194B2 (en) 2005-09-12 2015-11-24 Qualcomm Incorporated Scheduling with reverse direction grant in wireless communication systems
US9226308B2 (en) 2003-10-15 2015-12-29 Qualcomm Incorporated Method, apparatus, and system for medium access control
US9305159B2 (en) 2004-12-03 2016-04-05 Fortinet, Inc. Secure system for allowing the execution of authorized computer program code

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
EP0869695A1 (en) * 1997-04-04 1998-10-07 Lucent Technologies Inc. System for routing packet switched traffic
EP0880298A2 (en) * 1997-05-19 1998-11-25 Hitachi, Ltd. Packet switching system, network and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
EP0869695A1 (en) * 1997-04-04 1998-10-07 Lucent Technologies Inc. System for routing packet switched traffic
EP0880298A2 (en) * 1997-05-19 1998-11-25 Hitachi, Ltd. Packet switching system, network and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NEWMAN P., ET AL.: "IP SWITCHING AND GIGABIT ROUTERS.", IEEE COMMUNICATIONS MAGAZINE., IEEE SERVICE CENTER, PISCATAWAY., US, 1 January 1997 (1997-01-01), US, pages 64 - 69., XP002921562, ISSN: 0163-6804, DOI: 10.1109/35.568212 *
NEWMAN P., LYON T., MINSHALL G.: "FLOW LABELLED IPD A CONNECTIONLESS APPROACH TO ATM.", PROCEEDINGS OF IEEE INFOCOM 1996. CONFERENCE ON COMPUTER COMMUNICATIONS. FIFTEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES. NETWORKING THE NEXT GENERATION. SAN FRANCISCO, MAR. 24 - 28, 1996., LOS ALAMITOS, IEEE COMP, vol. 03., 24 March 1996 (1996-03-24), US, pages 1251 - 1260., XP000622261, ISBN: 978-0-8186-7293-4, DOI: 10.1109/INFCOM.1996.493071 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8798091B2 (en) 1998-11-19 2014-08-05 Broadcom Corporation Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
US8493857B2 (en) 2001-07-23 2013-07-23 Broadcom Corporation Multiple logical channels for use in network devices
US9036643B2 (en) 2001-07-23 2015-05-19 Broadcom Corporation Multiple logical channels for use in network devices
US8116203B2 (en) 2001-07-23 2012-02-14 Broadcom Corporation Multiple virtual channels for use in network devices
US9072101B2 (en) 2003-10-15 2015-06-30 Qualcomm Incorporated High speed media access control and direct link protocol
TWI383302B (en) * 2003-10-15 2013-01-21 Qualcomm Inc Wireless area network protocol heap
US9226308B2 (en) 2003-10-15 2015-12-29 Qualcomm Incorporated Method, apparatus, and system for medium access control
US9137087B2 (en) 2003-10-15 2015-09-15 Qualcomm Incorporated High speed media access control
WO2005039134A1 (en) * 2003-10-15 2005-04-28 Qualcomm Incorporated Wireless lan protocol stack
US8774098B2 (en) 2003-10-15 2014-07-08 Qualcomm Incorporated Method, apparatus, and system for multiplexing protocol data units
US8842657B2 (en) 2003-10-15 2014-09-23 Qualcomm Incorporated High speed media access control with legacy system interoperability
US8903440B2 (en) 2004-01-29 2014-12-02 Qualcomm Incorporated Distributed hierarchical scheduling in an ad hoc network
US7818018B2 (en) 2004-01-29 2010-10-19 Qualcomm Incorporated Distributed hierarchical scheduling in an AD hoc network
US8315271B2 (en) 2004-03-26 2012-11-20 Qualcomm Incorporated Method and apparatus for an ad-hoc wireless communications system
US8355372B2 (en) 2004-05-07 2013-01-15 Qualcomm Incorporated Transmission mode and rate selection for a wireless communication system
US8401018B2 (en) 2004-06-02 2013-03-19 Qualcomm Incorporated Method and apparatus for scheduling in a wireless network
US7882412B2 (en) 2004-10-05 2011-02-01 Sanjiv Nanda Enhanced block acknowledgement
US8578230B2 (en) 2004-10-05 2013-11-05 Qualcomm Incorporated Enhanced block acknowledgement
US9305159B2 (en) 2004-12-03 2016-04-05 Fortinet, Inc. Secure system for allowing the execution of authorized computer program code
US9198194B2 (en) 2005-09-12 2015-11-24 Qualcomm Incorporated Scheduling with reverse direction grant in wireless communication systems

Also Published As

Publication number Publication date
GB2363031A (en) 2001-12-05
GB0121292D0 (en) 2001-10-24
AU2936099A (en) 2000-10-04

Similar Documents

Publication Publication Date Title
US6351465B1 (en) System for routing packet switched traffic
US6598080B1 (en) Network interconnection apparatus network node apparatus and packet transfer method for high speed large capacity inter-network communication
US6826196B1 (en) Method and apparatus to allow connection establishment over diverse link types
US6148001A (en) Multipoint-to-point system which multiplexes complete packets comprised of ATM cells on to a single virtual channel connection
EP0849970B1 (en) Method of transferring internet protocol packets by the use of fast ATM cell transport and network for performing the method
US8582587B2 (en) VPN composing method, interwork router, packet communication method, data communication apparatus, and packet relaying apparatus
US6611522B1 (en) Quality of service facility in a device for performing IP forwarding and ATM switching
WO2000056113A1 (en) Internet protocol switch and method
US6028861A (en) Method and apparatus for performing packet synchronized switch-over
EP1021890B1 (en) Virtual path merging in a multipoint-to-point network tunneling protocol
US6032272A (en) Method and apparatus for performing packet based policing
WO1998024262A1 (en) Scaleable data network router
US20020159391A1 (en) Packet-transmission control method and packet-transmission control apparatus
JP2000253018A (en) ATM priority control IP gateway device, ATM priority control IP routing device, and processing method thereof
Fendick et al. The PacketStar™ 6400 IP switch—An IP switch for the converged network
GB2320396A (en) Data network router
EP1161818B1 (en) Method and apparatus for performing packet synchronized switch-over
Baldi et al. A Comparison of ATM Stream Merging Techniques
Bavant et al. IP switch over ATM LAN emulation (IP-Express/sup TM/)
Smallwood An introduction to ATM
Pavlou PRICIPLES OF TELECOMMUNICATION AND PACKET NETWORKS MSc MODULE EEM. ptn 2007-08
Adam Frame relay and ATM interworking
Durresi et al. Asynchronous Transfer Mode (ATM)
Nagami et al. Architecture of Cell Switch Router and Prototype System Implementation
WO1999022574A2 (en) Ip/atm network adapted to perform ip data flow classification and labelling for facilitating mapping of ip flows to atm virtual circuits

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: GB

Ref document number: 200121292

Kind code of ref document: A

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase