US20020016856A1 - Dynamic application port service provisioning for packet switch - Google Patents
Dynamic application port service provisioning for packet switch Download PDFInfo
- Publication number
- US20020016856A1 US20020016856A1 US09/861,013 US86101301A US2002016856A1 US 20020016856 A1 US20020016856 A1 US 20020016856A1 US 86101301 A US86101301 A US 86101301A US 2002016856 A1 US2002016856 A1 US 2002016856A1
- Authority
- US
- United States
- Prior art keywords
- session
- application port
- packet switching
- forwarding
- switching node
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2458—Modification of priorities while in transit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
- H04L49/602—Multilayer or multiprotocol switching, e.g. IP switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5045—Making service definitions prior to deployment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
Definitions
- the present application is related to packet switching, and particularly to a method and apparatus for providing dynamic application port service provisioning for a packet switch.
- Applications are determinable by reference to a TCP/UDP application port number in each packet.
- packets originating from the host will apply the application port number to a destination port field, whereas packets originating from the server will apply the application port number to a source port field.
- These application port numbers may either be standardized port numbers that have been statically assigned to applications by the IETF or non-standard port numbers that are dynamically negotiated between the host and the server on a per session basis.
- Packet switching nodes can be statically configured to provide customized application-level QoS and billing for sessions utilizing standardized application port numbers. However, for sessions utilizing non-standard application port numbers that are dynamically negotiated, the application to which the session relates must be resolved in order to provide application-level QoS and billing for packets within the session.
- a packet switching node for receiving and transmitting packets.
- the packet switching node receives and transmits packets for one or more sessions.
- the packet switching node comprises an inspection engine, and first and second forwarding engines.
- the inspection engine is used to determine an application port by monitoring a first session in which the application port is negotiated.
- the first and second forwarding engines are interconnected on a first path dependent on the inspection engine and a second path independent of the inspection engine.
- the first forwarding engine identifies the first session, and directs the first session to the first path.
- a method of assigning an application port to one or more sessions is provided.
- a first forwarding engine receives a plurality of packets for the sessions, and identifies a first session in which the application port is to be negotiated.
- the first session is directed to an inspection engine.
- the inspection engine determines the application port for a second session by monitoring the application port negotiation.
- FIG. 1 illustrates a network environment including a packet switching node in which one embodiment of the present invention may be used
- FIG. 2 is a block diagram of a switching interface in an embodiment according to the present invention.
- FIG. 3 is a block diagram of a programmable packet switching controller in an embodiment according to the present invention.
- FIG. 4 is a block diagram of a packet switching node in an embodiment according to the present invention coupled to a host and a server;
- FIG. 5 is a flow diagram of dynamic application port service provisioning in an embodiment according to the present invention.
- the packet switching node 10 may also be referred to as a switch, a data communication node or a data communication switch.
- the packet switching node 10 includes switching interfaces 14 , 16 and 18 interconnected to respective groups of LANs 30 , 32 , 34 , and interconnected to one another over data paths 20 , 22 , 24 via switching backplane 12 .
- the switching backplane 12 preferably includes switching fabric.
- the switching interfaces may also be coupled to one another over control paths 26 and 28 .
- the switching interfaces 14 , 16 , 18 preferably forward packets to and from their respective groups of LANs 30 , 32 , 34 in accordance with one or more operative communication protocols, such as, for example, media access control (MAC) bridging and Internet Protocol (IP) routing.
- MAC media access control
- IP Internet Protocol
- the switching node 10 is shown for illustrative purposes only. In practice, packet switching nodes may include more or less than three switching interfaces. Further, the packet switching nodes may also interface with computer networks other than LANs, such as, for example, WANs (Wide Area Networks) and MANs (Metropolitan Area Networks).
- FIG. 2 is a block diagram of a switching interface 50 in an embodiment according to the present invention.
- the switching interface 50 may be similar, for example, to the switching interfaces 14 , 16 , 18 of FIG. 1.
- the switching interface 50 includes an access controller 54 coupled between LANs and a packet switching controller 52 .
- the access controller 54 which may, for example, include a media access controller (MAC), preferably receives inbound packets off LANs, performs flow-independent physical and MAC layer operations on the inbound packets and transmits the inbound packets to the packet switching controller 52 for flow-dependent processing.
- the access controller 54 preferably also receives outbound packets from the packet switching controller 52 and transmits the packets on LANs.
- the access controller 54 may also perform physical and MAC layer operations on the outbound packets prior to transmitting them on LANs.
- the packet switching controller 52 preferably is programmable for handling packets having wide variety of communications protocols.
- the packet switching controller 52 preferably receives inbound packets, classifies the packets, modifies the packets in accordance with flow information and transmits the modified packets on switching backplane, such as the switching backplane 12 of FIG. 1.
- the packet switching controller 52 preferably also receives packets modified by other packet switching controllers via the switching backplane and transmits them to the access controller 54 for forwarding on LANs.
- the packet switching controller 52 may also subject selected ones of the packets to egress processing prior to transmitting them to the access controller 54 for forwarding on LANs.
- FIG. 3 is a block diagram of a programmable packet switching controller 60 in an embodiment according to the present invention.
- the programmable packet switching controller 60 may be similar to the packet switching controller 52 of FIG. 2.
- the programmable packet switching controller 60 preferably has flow resolution logic for classifying and routing incoming flows of packets. Due to its programmable nature, the programmable packet switching controller preferably provides flexibility in handling many different protocols and/or field upgradeability.
- the programmable packet switching controller may also be referred to as a packet switching controller, a switching controller, a programmable packet processor, a network processor, a communications processor or as another designation commonly used by those skilled in the art.
- the programmable packet switching controller 60 includes a packet buffer 62 , a packet classification engine 64 , an application engine 66 and a policing engine 80 .
- Packet switching controllers in other embodiments may include more or less components.
- a packet switching controller in another embodiment may include a pattern match module for comparing packet portions against a predetermined pattern to look for a match.
- the packet switching controller in yet another embodiment may include an edit module for editing inbound packets to generate outbound packets.
- the packet switching controller in still other embodiments may contain more than one of one or more of the packet buffer, the packet classification engine, the application engine, the policing engine, and/or other components for array switching, in which packets are processed in multiple processing paths.
- the programmable packet switching controller 60 preferably receives inbound packets 68 .
- the packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units.
- the packet buffer 62 may receive inbound packets from one or more Media Access Control (MAC) Layer interfaces over the Ethernet.
- MAC Media Access Control
- the received packets preferably are stored in the packet buffer 62 .
- the packet buffer 62 may include a packet FIFO for receiving and temporarily storing the packets.
- the packet buffer 62 preferably provides the stored packets or portions thereof to the packet classification engine 64 and the application engine 66 for processing.
- the packet buffer 62 may also include an edit module for editing the packets prior to forwarding them out of the switching controller as outbound packets 78 .
- the edit module may include an edit program construction engine for creating edit programs real-time and/or an edit engine for modifying the packets.
- the application engine 66 preferably provides application data 76 , which may include a disposition decision for the packet, to the packet buffer 62 , and the edit program construction engine preferably uses the application data to create the edit programs.
- the outbound packets 78 may be transmitted over a switching fabric interface, such as, for example, the switching backplane 12 of FIG. 1, to communication networks, such as, for example, the Ethernet.
- the packet buffer 62 may also include either or both a header data extractor and a header data cache.
- the header data extractor preferably is used to extract one or more fields from the packets, and to store the extracted fields in the header data cache as extracted header data.
- the extracted header data may include, but are not limited to, some or all of the packet header. In an Ethernet system, for example, the header data cache may also store first N bytes of each frame.
- the extracted header data preferably is provided in an output signal 70 to the packet classification engine 64 for processing.
- the application engine may also request and receive the extracted header data over an interface 74 .
- the extracted header data may include, but are not limited to, one or more of Layer 2 MAC addresses, 802.1P/Q tag status, Layer 2 encapsulation type, Layer 3 protocol type, Layer 3 addresses, ToS (type of service) values and Layer 4 port numbers.
- the output signal 70 may include the whole inbound packet, instead of or in addition to the extracted header data.
- the packet classification engine 64 may be used to edit the extracted header data to be placed in a format suitable for use by the application engine, and/or to load data into the header data cache.
- the packet classification engine 64 preferably includes a programmable microcode-driven embedded processing engine.
- the packet classification engine 64 preferably is coupled to an instruction RAM (IRAM) (not shown).
- IRAM instruction RAM
- the packet classification engine preferably reads and executes instructions stored in the IRAM. In one embodiment, many of the instructions executed by the packet classification engine are conditional jumps.
- the classification logic includes a decision tree with leaves at the end points that preferably indicate different types of packet classifications. Further, branches of the decision tree preferably are selected based on comparisons between the conditions of the instructions and the header fields stored in the header data cache. In other embodiments, the classification logic may not be based on a decision tree.
- the application engine 66 preferably has a pipelined architecture wherein multiple programmable sub-engines are pipelined in series. Each programmable sub-engine preferably performs an action on the packet, and preferably forwards the packet to the next programmable sub-engine in a “bucket brigade” fashion.
- the packet classification engine preferably starts the pipelined packet processing by starting the first programmable sub-engine in the application engine using a start signal 72 .
- the start signal 72 may include identification of one or more programs to be executed in the application engine 66 .
- the start signal 72 may also include packet classification information.
- the programmable sub-engines in the application engine preferably have direct access to the header data and the extracted fields stored in the header data cache over the interface 74 .
- the application engine may include other processing stages not performed by the programmable sub-engines, however, the decision-making stages preferably are performed by the programmable sub-engines to increase flexibility. In other embodiments, the application engine may include other processing architectures.
- the disposition decision included in the application data 76 preferably is also provided to the policing engine 80 .
- the policing engine 80 preferably also receives one or more policing IDs 84 .
- the policing engine 80 preferably uses the disposition decision and the policing IDs to generate one or more policing recommendations 82 .
- the policing recommendations may be a type of disposition recommendation, and may also be referred to as policing results.
- the policing recommendations preferably are provided to the application engine 66 to be used together with other disposition recommendations to generate application data, which may include the disposition decision.
- FIG. 4 is a block diagram of a packet switching node 102 in an embodiment according to the present invention, coupled to a host 100 and a server 104 .
- the packet switching node 102 may be a part of one or more LANs, WANs, MANs, and may be coupled to other LANs, WANs, MANs, hosts, servers, and the like, over a computer network, such as, for example, the Internet or an Intranet.
- the host 100 and the server 104 may be a part of the same LAN or they may be a part of different LANs. Further, there may be one or more other packet switching nodes, in addition to the packet switching node 102 , between the host 100 and the server 104 .
- the packet switching node 102 includes a forwarding engine 106 , an inspection engine 108 and a forwarding engine 110 .
- the packet switching node 102 may also include other components (not shown), such as, for example, one or more of, without being limited to, a switching fabric, media access controllers (MACs), CPUs, memories (e.g., databases), and the like, to facilitate conversations between the host 100 and the server 104 as well as other hosts and servers, which may be coupled to the packet switching node 102 .
- MACs media access controllers
- CPUs central processing unit
- memories e.g., databases
- the inspection engine 108 may be implemented in a CPU subsystem in an embodiment according to the present invention. Inspection engines in other embodiments may be implemented in hardware (e.g., ASIC) or may be implemented as a combination of hardware and software.
- the forwarding engines 106 and 110 may be similar to the packet switching controller 52 of FIG. 2 and/or the packet switching controller 60 of FIG. 3. Accordingly, the forwarding engines 106 and 110 may include other components (not shown), such as, for example, one or more of, without being limited to, a classification engine, a policing engine, an editing engine, databases, and the like, for classifying and routing packets with appropriate editing and policing. Further, the packet switching node 102 may include additional forwarding engines. For example, packet switching nodes in other embodiments may include 4 , 8 , 12 , 16 , 32 , 64 or different number of forwarding engines.
- Both the host 100 and the server 104 preferably send and receive packets directed to one another.
- the packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. Therefore, for example, both the host 100 and the server 104 may include a media access controller (MAC) for receiving and transmitting Ethernet frames.
- MAC media access controller
- the host 100 may request a Web page from the server 104 by sending one or more packets requesting the Web page using TCP/IP protocol.
- the server 104 may then send the Web page to the host 100 as one or more packets.
- the host 100 may then send one or more packets back to the server 104 to acknowledge the receipt of the Web page.
- These transmission and receiving of packetized information are performed via the packet switching node 102 .
- a series of one or more transmission and receiving of packets between the host 100 and the server 104 may be referred to as a session.
- the forwarding engines 106 , 110 and the inspection engine 108 may be viewed as forming two paths for packets between the host 100 and the server 104 , in which the packets may enter from either the host 100 or the server 104 .
- a path from the forwarding engine 106 via the inspection engine 108 to the forwarding engine 110 may be viewed as a first path
- a path from the forwarding engine 106 directly to the forwarding engine 110 may be viewed as a second path.
- a conversation between the host 100 and the server 104 preferably are bi-directional.
- the host 100 preferably applies the application port number to a destination port field, whereas the server 104 preferably applies the application port number to a source port field.
- the forwarding engine 106 or the forwarding engine 110 receives one or more packets from the host 100 or the server 104 , respectively. If the packet belongs to an application in which the application port number has been statically assigned, the receiving forwarding engine preferably determines the static application port number, and preferably transmits the packet directly to the other forwarding engine over the second path, and the session is directed to the second path.
- HTTP Hypertext Transfer Protocol
- HTTP Hypertext Transfer Protocol
- the receiving forwarding engine preferably sends the packet to the inspection engine 108 on the first path, and the session preferably is directed to the first path.
- the forwarding engine 106 preferably receives a packet from the host 100 .
- the forwarding engine 106 preferably detects a start of a control session for an application that is going to negotiate the application port dynamically.
- the forwarding engine 110 preferably detects the start of a control session.
- multiple sessions e.g., two sessions, are typically established, including the control session and a data session.
- the control session as described above, is a session between the host 100 and the server 104 that negotiates the dynamic port for the data session.
- the control session typically uses a well-known port, which may also be referred to as a static port.
- the data session uses the dynamic port that has been negotiated between the host 100 and the server 104 .
- most of the data transfer between the host 100 and the server 104 takes place during the data session.
- the applications that use dynamic application port negotiation may include one or more of, but are not limited to, File Transfer Protocol (FTP) and Voice over IP (VoIP).
- FTP File Transfer Protocol
- VoIP Voice over IP
- Different QoS, statistics group, policing, bandwidth, provisioning, and the like may be provided to these and other different applications. These different treatments may also be based on the customer using the service, in addition to, or instead of the type of application being used.
- the statistics group typically comprises, but is not limited to, amount of traffic, size of file transfer, time of day, customer identification, and/or number of bytes.
- the statistics group may be used for one or more of billing, auditing, network management, traffic profiling, and the like.
- the control session for each of these applications preferably takes place using an associated well-known (or static) port.
- file transfer protocol FTP
- FTP file transfer protocol
- IETF Internet Engineering Task Force
- RRC Request for Comments
- a node When a node (host 100 or server 104 ) wants to request a file from the other node using FTP, it preferably initiates a control session using the well-known port.
- the node-side forwarding engine looks for the start of the control session directed at the well-known control port for the FTP that indicates start of the dynamic application port negotiation.
- the start of the control session may be detected by looking for setting of a SYN (synchronization) flag in the TCP header in an embodiment according to the present invention.
- the initiating node (the host or server) preferably sends an initial packet with the SYN bit set
- the responder the host or server
- a SYN ACK synchronization acknowledgement
- the host 100 and the server 104 use the semantics as defined by FTP to dynamically negotiate an application port, which may be different for different sessions.
- the control session preferably is discontinued, and both the host 100 and the server 104 preferably switch over to a data session, during which the FTP file transfer takes place, using the application port number that was negotiated during the control session.
- the traffic between the host 100 and the server 104 is redirected from the first path to the second path.
- VOIP Voice over IP
- a control session may be used to negotiate an application port that will carry voice data and once the application port has been negotiated, then the negotiated application port may be used to actually carry the voice data.
- the inspection engine 108 preferably captures those frames, inspects them and forwards them unedited, except for single hop routing edits if required.
- the inspection engine does not affect the dynamic negotiation; rather, it monitors the dynamic negotiation between the host and the server. This technique of monitoring application control session used in an embodiment according to the present invention may be referred to as “Stateful Inspection”.
- the inspection engine 108 preferably discovers the result of the negotiation. For example, the inspection engine 108 preferably determines the application port (or data port), which is the dynamic port that will become the port of the data session. Once the inspection engine 108 observes the dynamic negotiation and discovers what the new port number is going to be, then the inspection engine preferably advises the forwarding engines 106 and 110 of the new application port to use for the data session. The forwarding engines 106 and 110 then place the application port number in their respective database so that appropriate policies, for example, may be applied to the data being transferred during the data session.
- the inspection engine 108 preferably determines the application port (or data port), which is the dynamic port that will become the port of the data session.
- the inspection engine 108 preferably advises the forwarding engines 106 and 110 of the new application port to use for the data session.
- the forwarding engines 106 and 110 then place the application port number in their respective database so that appropriate policies, for example, may be applied to the data being transferred during the data session.
- a policing engine which may be similar to, for example, the policing engine 80 of FIG. 3, may be used to apply the policies (services levels) to the data.
- the policies may include one or more of, but are not limited to, Quality of Service (QoS) level, statistics group, the policing, and the like, whatever is programmed in the policy matrix of the respective forwarding engine.
- QoS Quality of Service
- the packet switching node preferably has pre-configured itself to treat the incoming traffic (of the data session) appropriately.
- the service level for the session preferably is configured upon a database in each forwarding engine used during the data session.
- the database preferably contains the policy matrix, which contains policy parameters, such as, for example, QoS, statistics group, policing, bandwidth and/or provisioning.
- policy parameters such as, for example, QoS, statistics group, policing, bandwidth and/or provisioning.
- the policy matrix may allow for keeping track of accounting number for billing purposes and/or keeping track of a data rate for, e.g., policing purposes.
- the dynamically negotiated application port number (and therefore the session using the port number) preferably is associated with the parameters in the policy matrix.
- the packet switching nodes in this or other embodiments may include additional inspection engines to support additional forwarding engines since a single inspection engine may be overwhelmed by multiple dynamic negotiations of applications port numbers it needs to monitor.
- FIG. 5 is a flow diagram of dynamic application port negotiation in an embodiment according to the present invention.
- a packet switching node such as, for example, the packet switching node 102 , receives packets from a host or a server, such as, for example, the host 100 or server 104 of FIG. 1.
- a forwarding engine such as, for example, the forwarding engine 106 or the forwarding engine 110 receives and forwards the packets.
- One or more of the received packets may belong to a control session in which the application port number is to be assigned dynamically (i.e., a dynamic port session).
- the forwarding engine preferably identifies an initial packet (e.g., the first packet) that has a well-known port number indicative of the initiation of a dynamic application port number negotiation.
- the forwarding engine preferably directs packets for the control session to an inspection engine, such as, for example, the inspection engine 108 of FIG. 1, on an inspection engine path (a first path).
- the inspection engine preferably monitors dynamic port negotiation.
- the inspection engine preferably determines an application port number for a data session through monitoring.
- the forwarding engines preferably are configured with a service level for the session.
- the service level configuration may include, for example, but is not limited to, associating the dynamic application port number on the forwarding engines with one or more of a QoS, policing, statistics group, and the like, and/or a customer.
- the packets belonging to the dynamic port session preferably are directed to the forwarding engines on an inspection engine-independent path (a second path).
- the forwarding engines preferably forward the packets on the second path, and updates customer statistics per configured associations.
- the customer statistics may include length of a phone call, local or long distance, and may include billing treatment and provisioning used for accounting purposes.
- the amount of data being sent by the customer should be tracked so that the customer does not send more data than he is allowed to. If and when the customer goes over his service limit, a corrective action, such as, for example, limiting his bandwidth, may be needed to be taken.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
A packet switching node has first and second forwarding engines interconnected over a first path dependent on an inspection engine and a second path independent of the inspection engine. The first forwarding engine identifies a first session in which an application port number is to be dynamically negotiated for a second session and directs the first session to the first path. The inspection engine monitors a dynamic application port number negotiation for the first session, determines a dynamic application port number for the second session, configures a service level for the second session on the forwarding engines and directs the second session to the second path. The first forwarding engine also identifies a third session in which an application port number is statically assigned and directs the third session to the second path.
Description
- The present application claims the priority of U.S. Provisional Application No. 60/206,996 entitled “Flow Resolution Logic System and Method” filed May 24, 2000, U.S. Provisional Application No. 60/206,617 entitled “System and Method for Enhanced Line Cards” filed May 24, 2000, and U.S. Provisional Application No. 60/220,335 entitled “Programmable Packet Processor” filed Jul. 24, 2000, the contents of all of which are fully incorporated by reference herein. The present application contains subject matter related to the subject matter disclosed in U.S. patent application Ser. No. 09/751,194 entitled “Programmable Packet Processor with Flow Resolution Logic” filed Dec. 28, 2000, the contents of which are fully incorporated by reference herein.
- The present application is related to packet switching, and particularly to a method and apparatus for providing dynamic application port service provisioning for a packet switch.
- There is an increasing desire to tailor packet switched networks to the individualized needs of customers. Two areas of customization of packet switched networks to meet individualized needs are application-level Quality of Service (QoS) and billing. In order to provide application-level QoS and billing in packet switched networks, packet switching nodes in the network should be able to determine the application to which each packet relates and provide QoS and billing for the packet in accordance with the application.
- Applications are determinable by reference to a TCP/UDP application port number in each packet. When a conversation occurs between a host and a server, packets originating from the host will apply the application port number to a destination port field, whereas packets originating from the server will apply the application port number to a source port field. These application port numbers may either be standardized port numbers that have been statically assigned to applications by the IETF or non-standard port numbers that are dynamically negotiated between the host and the server on a per session basis. Packet switching nodes can be statically configured to provide customized application-level QoS and billing for sessions utilizing standardized application port numbers. However, for sessions utilizing non-standard application port numbers that are dynamically negotiated, the application to which the session relates must be resolved in order to provide application-level QoS and billing for packets within the session.
- The process of dynamically negotiating application port numbers is often complex. Different dynamic application port numbers are assigned each session and assignment is often based on random components. Additionally, each application typically employs a different negotiating technique. For some applications, the negotiation spans multiple packets so that “state” must be monitored in the packet switching node in order to correctly determine the application port number resulting from the negotiation.
- There is therefore a need for a packet switching node that can efficiently and non-intrusively provide application-level QoS and billing for sessions employing dynamically negotiated application port numbers.
- In one embodiment of the present invention, a packet switching node for receiving and transmitting packets is provided. The packet switching node receives and transmits packets for one or more sessions. The packet switching node comprises an inspection engine, and first and second forwarding engines. The inspection engine is used to determine an application port by monitoring a first session in which the application port is negotiated. The first and second forwarding engines are interconnected on a first path dependent on the inspection engine and a second path independent of the inspection engine. The first forwarding engine identifies the first session, and directs the first session to the first path.
- In another embodiment of the present invention, a method of assigning an application port to one or more sessions is provided. A first forwarding engine receives a plurality of packets for the sessions, and identifies a first session in which the application port is to be negotiated. The first session is directed to an inspection engine. The inspection engine determines the application port for a second session by monitoring the application port negotiation.
- These and other aspects of the invention may be understood by reference to the following detailed description, taken in conjunction with the accompanying drawings, which are briefly described below.
- FIG. 1 illustrates a network environment including a packet switching node in which one embodiment of the present invention may be used;
- FIG. 2 is a block diagram of a switching interface in an embodiment according to the present invention;
- FIG. 3 is a block diagram of a programmable packet switching controller in an embodiment according to the present invention;
- FIG. 4 is a block diagram of a packet switching node in an embodiment according to the present invention coupled to a host and a server; and
- FIG. 5 is a flow diagram of dynamic application port service provisioning in an embodiment according to the present invention.
- I. Overview
- In FIG. 1, network environment including a
packet switching node 10 is illustrated. The packet switching node may also be referred to as a switch, a data communication node or a data communication switch. Thepacket switching node 10 includesswitching interfaces LANs data paths switching backplane 12. The switchingbackplane 12 preferably includes switching fabric. The switching interfaces may also be coupled to one another overcontrol paths - The
switching interfaces LANs switching node 10 is shown for illustrative purposes only. In practice, packet switching nodes may include more or less than three switching interfaces. Further, the packet switching nodes may also interface with computer networks other than LANs, such as, for example, WANs (Wide Area Networks) and MANs (Metropolitan Area Networks). - FIG. 2 is a block diagram of a
switching interface 50 in an embodiment according to the present invention. Theswitching interface 50 may be similar, for example, to theswitching interfaces switching interface 50 includes anaccess controller 54 coupled between LANs and a packet switching controller 52. Theaccess controller 54, which may, for example, include a media access controller (MAC), preferably receives inbound packets off LANs, performs flow-independent physical and MAC layer operations on the inbound packets and transmits the inbound packets to the packet switching controller 52 for flow-dependent processing. Theaccess controller 54 preferably also receives outbound packets from the packet switching controller 52 and transmits the packets on LANs. Theaccess controller 54 may also perform physical and MAC layer operations on the outbound packets prior to transmitting them on LANs. - The packet switching controller52 preferably is programmable for handling packets having wide variety of communications protocols. The packet switching controller 52 preferably receives inbound packets, classifies the packets, modifies the packets in accordance with flow information and transmits the modified packets on switching backplane, such as the switching
backplane 12 of FIG. 1. The packet switching controller 52 preferably also receives packets modified by other packet switching controllers via the switching backplane and transmits them to theaccess controller 54 for forwarding on LANs. The packet switching controller 52 may also subject selected ones of the packets to egress processing prior to transmitting them to theaccess controller 54 for forwarding on LANs. - FIG. 3 is a block diagram of a programmable
packet switching controller 60 in an embodiment according to the present invention. The programmablepacket switching controller 60, for example, may be similar to the packet switching controller 52 of FIG. 2. The programmablepacket switching controller 60 preferably has flow resolution logic for classifying and routing incoming flows of packets. Due to its programmable nature, the programmable packet switching controller preferably provides flexibility in handling many different protocols and/or field upgradeability. The programmable packet switching controller may also be referred to as a packet switching controller, a switching controller, a programmable packet processor, a network processor, a communications processor or as another designation commonly used by those skilled in the art. - The programmable
packet switching controller 60 includes apacket buffer 62, apacket classification engine 64, anapplication engine 66 and apolicing engine 80. Packet switching controllers in other embodiments may include more or less components. For example, a packet switching controller in another embodiment may include a pattern match module for comparing packet portions against a predetermined pattern to look for a match. The packet switching controller in yet another embodiment may include an edit module for editing inbound packets to generate outbound packets. The packet switching controller in still other embodiments may contain more than one of one or more of the packet buffer, the packet classification engine, the application engine, the policing engine, and/or other components for array switching, in which packets are processed in multiple processing paths. - The programmable
packet switching controller 60 preferably receivesinbound packets 68. The packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. For example, thepacket buffer 62 may receive inbound packets from one or more Media Access Control (MAC) Layer interfaces over the Ethernet. - The received packets preferably are stored in the
packet buffer 62. Thepacket buffer 62 may include a packet FIFO for receiving and temporarily storing the packets. Thepacket buffer 62 preferably provides the stored packets or portions thereof to thepacket classification engine 64 and theapplication engine 66 for processing. - The
packet buffer 62 may also include an edit module for editing the packets prior to forwarding them out of the switching controller asoutbound packets 78. The edit module may include an edit program construction engine for creating edit programs real-time and/or an edit engine for modifying the packets. Theapplication engine 66 preferably providesapplication data 76, which may include a disposition decision for the packet, to thepacket buffer 62, and the edit program construction engine preferably uses the application data to create the edit programs. Theoutbound packets 78 may be transmitted over a switching fabric interface, such as, for example, the switchingbackplane 12 of FIG. 1, to communication networks, such as, for example, the Ethernet. - The
packet buffer 62 may also include either or both a header data extractor and a header data cache. The header data extractor preferably is used to extract one or more fields from the packets, and to store the extracted fields in the header data cache as extracted header data. The extracted header data may include, but are not limited to, some or all of the packet header. In an Ethernet system, for example, the header data cache may also store first N bytes of each frame. - The extracted header data preferably is provided in an
output signal 70 to thepacket classification engine 64 for processing. The application engine may also request and receive the extracted header data over aninterface 74. The extracted header data may include, but are not limited to, one or more of Layer 2 MAC addresses, 802.1P/Q tag status, Layer 2 encapsulation type, Layer 3 protocol type, Layer 3 addresses, ToS (type of service) values and Layer 4 port numbers. In other embodiments, theoutput signal 70 may include the whole inbound packet, instead of or in addition to the extracted header data. In still other embodiments, thepacket classification engine 64 may be used to edit the extracted header data to be placed in a format suitable for use by the application engine, and/or to load data into the header data cache. - The
packet classification engine 64 preferably includes a programmable microcode-driven embedded processing engine. Thepacket classification engine 64 preferably is coupled to an instruction RAM (IRAM) (not shown). The packet classification engine preferably reads and executes instructions stored in the IRAM. In one embodiment, many of the instructions executed by the packet classification engine are conditional jumps. In this embodiment, the classification logic includes a decision tree with leaves at the end points that preferably indicate different types of packet classifications. Further, branches of the decision tree preferably are selected based on comparisons between the conditions of the instructions and the header fields stored in the header data cache. In other embodiments, the classification logic may not be based on a decision tree. - In an embodiment according to the present invention, the
application engine 66 preferably has a pipelined architecture wherein multiple programmable sub-engines are pipelined in series. Each programmable sub-engine preferably performs an action on the packet, and preferably forwards the packet to the next programmable sub-engine in a “bucket brigade” fashion. The packet classification engine preferably starts the pipelined packet processing by starting the first programmable sub-engine in the application engine using astart signal 72. Thestart signal 72 may include identification of one or more programs to be executed in theapplication engine 66. Thestart signal 72 may also include packet classification information. The programmable sub-engines in the application engine preferably have direct access to the header data and the extracted fields stored in the header data cache over theinterface 74. - The application engine may include other processing stages not performed by the programmable sub-engines, however, the decision-making stages preferably are performed by the programmable sub-engines to increase flexibility. In other embodiments, the application engine may include other processing architectures.
- The disposition decision included in the
application data 76 preferably is also provided to thepolicing engine 80. Thepolicing engine 80 preferably also receives one ormore policing IDs 84. Thepolicing engine 80 preferably uses the disposition decision and the policing IDs to generate one ormore policing recommendations 82. The policing recommendations may be a type of disposition recommendation, and may also be referred to as policing results. The policing recommendations preferably are provided to theapplication engine 66 to be used together with other disposition recommendations to generate application data, which may include the disposition decision. - II. Dynamic Application Port Service Provisioning
- FIG. 4 is a block diagram of a
packet switching node 102 in an embodiment according to the present invention, coupled to ahost 100 and aserver 104. Thepacket switching node 102 may be a part of one or more LANs, WANs, MANs, and may be coupled to other LANs, WANs, MANs, hosts, servers, and the like, over a computer network, such as, for example, the Internet or an Intranet. Thehost 100 and theserver 104 may be a part of the same LAN or they may be a part of different LANs. Further, there may be one or more other packet switching nodes, in addition to thepacket switching node 102, between thehost 100 and theserver 104. - The
packet switching node 102 includes aforwarding engine 106, aninspection engine 108 and aforwarding engine 110. Thepacket switching node 102 may also include other components (not shown), such as, for example, one or more of, without being limited to, a switching fabric, media access controllers (MACs), CPUs, memories (e.g., databases), and the like, to facilitate conversations between thehost 100 and theserver 104 as well as other hosts and servers, which may be coupled to thepacket switching node 102. - The
inspection engine 108 may be implemented in a CPU subsystem in an embodiment according to the present invention. Inspection engines in other embodiments may be implemented in hardware (e.g., ASIC) or may be implemented as a combination of hardware and software. - The forwarding
engines packet switching controller 60 of FIG. 3. Accordingly, the forwardingengines packet switching node 102 may include additional forwarding engines. For example, packet switching nodes in other embodiments may include 4, 8, 12, 16, 32, 64 or different number of forwarding engines. - Both the
host 100 and theserver 104 preferably send and receive packets directed to one another. The packets may include, but are not limited to, Ethernet frames, ATM cells, TCP/IP and/or UDP/IP packets, and may also include other Layer 2 (Data Link/MAC Layer), Layer 3 (Network Layer) or Layer 4 (Transport Layer) data units. Therefore, for example, both thehost 100 and theserver 104 may include a media access controller (MAC) for receiving and transmitting Ethernet frames. - For instance, the
host 100 may request a Web page from theserver 104 by sending one or more packets requesting the Web page using TCP/IP protocol. Theserver 104 may then send the Web page to thehost 100 as one or more packets. Thehost 100 may then send one or more packets back to theserver 104 to acknowledge the receipt of the Web page. These transmission and receiving of packetized information are performed via thepacket switching node 102. A series of one or more transmission and receiving of packets between thehost 100 and theserver 104 may be referred to as a session. - The forwarding
engines inspection engine 108 may be viewed as forming two paths for packets between thehost 100 and theserver 104, in which the packets may enter from either thehost 100 or theserver 104. For example, a path from theforwarding engine 106 via theinspection engine 108 to theforwarding engine 110 may be viewed as a first path, and a path from theforwarding engine 106 directly to theforwarding engine 110 may be viewed as a second path. - In both the first and second paths, a conversation (transmission and receiving of packets) between the
host 100 and theserver 104 preferably are bi-directional. During the conversation between thehost 100 and theserver 104, thehost 100 preferably applies the application port number to a destination port field, whereas theserver 104 preferably applies the application port number to a source port field. In other embodiments, there may be more than two paths between thehost 100 and theserver 104. - During communications between the
host 100 and theserver 104, theforwarding engine 106 or theforwarding engine 110 receives one or more packets from thehost 100 or theserver 104, respectively. If the packet belongs to an application in which the application port number has been statically assigned, the receiving forwarding engine preferably determines the static application port number, and preferably transmits the packet directly to the other forwarding engine over the second path, and the session is directed to the second path. For example, Hypertext Transfer Protocol (HTTP) is a type of application where the application port number is typically statically assigned, and only one session (over the second path) is used to transfer data bi-directionally between thehost 100 and theserver 104. - On the other hand, however, if the packet belongs to an application in which the application port number is to be assigned dynamically, the receiving forwarding engine preferably sends the packet to the
inspection engine 108 on the first path, and the session preferably is directed to the first path. In an exemplary session, theforwarding engine 106 preferably receives a packet from thehost 100. Theforwarding engine 106 preferably detects a start of a control session for an application that is going to negotiate the application port dynamically. Similarly, when theserver 104 initiates the dynamic negotiation of application port, theforwarding engine 110 preferably detects the start of a control session. - For dynamic application port negotiation, multiple sessions, e.g., two sessions, are typically established, including the control session and a data session. The control session, as described above, is a session between the
host 100 and theserver 104 that negotiates the dynamic port for the data session. The control session typically uses a well-known port, which may also be referred to as a static port. Then, the data session uses the dynamic port that has been negotiated between thehost 100 and theserver 104. Typically, most of the data transfer between thehost 100 and theserver 104 takes place during the data session. - The applications that use dynamic application port negotiation may include one or more of, but are not limited to, File Transfer Protocol (FTP) and Voice over IP (VoIP). Different QoS, statistics group, policing, bandwidth, provisioning, and the like may be provided to these and other different applications. These different treatments may also be based on the customer using the service, in addition to, or instead of the type of application being used. The statistics group typically comprises, but is not limited to, amount of traffic, size of file transfer, time of day, customer identification, and/or number of bytes. The statistics group may be used for one or more of billing, auditing, network management, traffic profiling, and the like.
- The control session for each of these applications preferably takes place using an associated well-known (or static) port. For example, file transfer protocol (FTP) has a well-known port defined by IETF (Internet Engineering Task Force), e.g., in Request for Comments (RFC) 1700 entitled “Assigned Numbers,” which is well known to those skilled in the art. Thus, when the FTP is the application, the associated well-known port is used for the control session.
- When a node (host100 or server 104) wants to request a file from the other node using FTP, it preferably initiates a control session using the well-known port. The node-side forwarding engine looks for the start of the control session directed at the well-known control port for the FTP that indicates start of the dynamic application port negotiation. The start of the control session may be detected by looking for setting of a SYN (synchronization) flag in the TCP header in an embodiment according to the present invention. The initiating node (the host or server) preferably sends an initial packet with the SYN bit set, and the responder (the host or server) preferably sends an acknowledging packet with a SYN ACK (synchronization acknowledgement) bit set.
- During the control session, the
host 100 and theserver 104 use the semantics as defined by FTP to dynamically negotiate an application port, which may be different for different sessions. Once the dynamic port negotiation has been completed, the control session preferably is discontinued, and both thehost 100 and theserver 104 preferably switch over to a data session, during which the FTP file transfer takes place, using the application port number that was negotiated during the control session. In the transition between the control session and the data session, the traffic between thehost 100 and theserver 104 is redirected from the first path to the second path. - For another example, similar scheme may be used for Voice over IP (VOIP) application. In VOIP applications, a control session may be used to negotiate an application port that will carry voice data and once the application port has been negotiated, then the negotiated application port may be used to actually carry the voice data.
- Once the traffic is diverted to the first path (via the inspection engine), all of the frames (packets) for the control session going both directions between the
host 100 and theserver 104 go through theinspection engine 108. Theinspection engine 108 preferably captures those frames, inspects them and forwards them unedited, except for single hop routing edits if required. The inspection engine does not affect the dynamic negotiation; rather, it monitors the dynamic negotiation between the host and the server. This technique of monitoring application control session used in an embodiment according to the present invention may be referred to as “Stateful Inspection”. - Through monitoring the dynamic negotiation, the
inspection engine 108 preferably discovers the result of the negotiation. For example, theinspection engine 108 preferably determines the application port (or data port), which is the dynamic port that will become the port of the data session. Once theinspection engine 108 observes the dynamic negotiation and discovers what the new port number is going to be, then the inspection engine preferably advises the forwardingengines engines - A policing engine, which may be similar to, for example, the
policing engine 80 of FIG. 3, may be used to apply the policies (services levels) to the data. The policies may include one or more of, but are not limited to, Quality of Service (QoS) level, statistics group, the policing, and the like, whatever is programmed in the policy matrix of the respective forwarding engine. When the control session terminates and the host and the server switch over to the data session, the packet switching node preferably has pre-configured itself to treat the incoming traffic (of the data session) appropriately. - The service level for the session preferably is configured upon a database in each forwarding engine used during the data session. The database preferably contains the policy matrix, which contains policy parameters, such as, for example, QoS, statistics group, policing, bandwidth and/or provisioning. For example, the policy matrix may allow for keeping track of accounting number for billing purposes and/or keeping track of a data rate for, e.g., policing purposes. Accordingly, in the forwarding engines, the dynamically negotiated application port number (and therefore the session using the port number) preferably is associated with the parameters in the policy matrix.
- The packet switching nodes in this or other embodiments may include additional inspection engines to support additional forwarding engines since a single inspection engine may be overwhelmed by multiple dynamic negotiations of applications port numbers it needs to monitor.
- FIG. 5 is a flow diagram of dynamic application port negotiation in an embodiment according to the present invention. A packet switching node, such as, for example, the
packet switching node 102, receives packets from a host or a server, such as, for example, thehost 100 orserver 104 of FIG. 1. In the packet switching node, a forwarding engine, such as, for example, theforwarding engine 106 or theforwarding engine 110 receives and forwards the packets. - One or more of the received packets may belong to a control session in which the application port number is to be assigned dynamically (i.e., a dynamic port session). As shown in
step 200 of FIG. 5, the forwarding engine preferably identifies an initial packet (e.g., the first packet) that has a well-known port number indicative of the initiation of a dynamic application port number negotiation. Once the initial packet is determined, as shown instep 202 of FIG. 2, the forwarding engine preferably directs packets for the control session to an inspection engine, such as, for example, theinspection engine 108 of FIG. 1, on an inspection engine path (a first path). - In
step 204, the inspection engine preferably monitors dynamic port negotiation. Instep 206, the inspection engine preferably determines an application port number for a data session through monitoring. - In
step 208, the forwarding engines preferably are configured with a service level for the session. The service level configuration may include, for example, but is not limited to, associating the dynamic application port number on the forwarding engines with one or more of a QoS, policing, statistics group, and the like, and/or a customer. - In step210, the packets belonging to the dynamic port session preferably are directed to the forwarding engines on an inspection engine-independent path (a second path). The forwarding engines preferably forward the packets on the second path, and updates customer statistics per configured associations. For example, the customer statistics may include length of a phone call, local or long distance, and may include billing treatment and provisioning used for accounting purposes. When a customer purchases a service, which allows him to send a predetermined amount of data, the amount of data being sent by the customer should be tracked so that the customer does not send more data than he is allowed to. If and when the customer goes over his service limit, a corrective action, such as, for example, limiting his bandwidth, may be needed to be taken.
- It will be appreciated by those of ordinary skill in the art that the invention can be embodied in other specific forms without departing from the spirit or essential character hereof. The present description is therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims, and all changes that come within the meaning and range of equivalents thereof are intended to be embraced therein.
Claims (34)
1. A packet switching node for receiving and transmitting packets for one or more sessions, the packet switching node comprising:
an inspection engine for determining an application port by monitoring a first session in which the application port is negotiated; and
first and second forwarding engines interconnected on a first path dependent on the inspection engine and a second path independent of the inspection engine,
wherein the first forwarding engine identifies the first session, and directs the first session to the first path.
2. The packet switching node according to claim 1 , wherein the application port is dynamically negotiated between a server node and a host node.
3. The packet switching node according to claim 1 , wherein the first forwarding engine forwards a second session, for which the application port has been negotiated, over the second path.
4. The packet switching node according to claim 1 , wherein the first forwarding engine identifies a third session with a statically assigned application port, and wherein the first forwarding engine forwards the third session over the second path.
5. The packet switching node according to claim 1 , wherein the packets are forwarded via the inspection engine and at least one of the forwarding engines on the first path, and the packets are forwarded via at least one of the forwarding engines but not via the inspection engine on the second path.
6. The packet switching node according to claim 3 , wherein the inspection engine configures a service level for the second session on the first forwarding engine.
7. The packet switching node according to claim 6 , wherein the inspection engine configures the service level for the first session on the second forwarding engine.
8. The packet switching node according to claim 7 , wherein the configuration of the service level includes association of the application port with a quality of service (QoS) on at least one of the forwarding engines.
9. The packet switching node according to claim 7 , wherein the configuration of the service level includes association of the application port with a customer on at least one of the forwarding engines.
10. The packet switching node according to claim 7 , wherein the configuration of the service level includes association of the application port with a statistics group on at least one of the forwarding engines.
11. The packet switching node according to claim 10 , wherein the statistics group comprises amount of traffic, size of file transfer, time of day, customer identification or number of bytes.
12. The packet switching node according to claim 10 , wherein the statistics group is used to perform billing, auditing, network management or traffic profiling.
13. A method of assigning an application port to one or more sessions, the method comprising the steps of:
receiving a plurality of packets for the sessions on a first forwarding engine;
identifying a first session in which the application port is to be negotiated;
directing the first session to an inspection engine; and
determining the application port for a second session by monitoring the application port negotiation using the inspection engine.
14. The method of assigning an application port according to claim 13 , the method further comprising the step of:
forwarding the second session to a second forwarding engine without going through the inspection engine.
15. The method of assigning an application port according to claim 13 , the method further comprising the steps of:
identifying a third session in which the application port is statically assigned; and
forwarding the third session to a second forwarding engine without going through the inspection engine.
16. The method of assigning an application port according to claim 13 , the method further comprising the step of:
configuring a service level for the second session on the first forwarding engine.
17. The method of assigning an application port according to claim 16 , the method further comprising the step of:
configuring the service level for the second session on a second forwarding engine.
18. The method of assigning an application port according to claim 17 , wherein the steps of configuring a service level comprise the step of associating the application port with quality of service (QoS).
19. The method of assigning an application port according to claim 17 , wherein the steps of configuring a service level comprise the step of associating the application port with a customer.
20. The method of assigning an application port according to claim 17 , wherein the steps of configuring a service level comprises the step of associating the application port with a statistics group.
21. The packet switching node according to claim 20 , wherein the statistics group comprises amount of traffic, size of file transfer, time of day, customer identification or number of bytes.
22. The packet switching node according to claim 20 , wherein the statistics group is used to perform billing, auditing, network management or traffic profiling.
23. A packet switching node for receiving and transmitting packets for one or more sessions, the packet switching node comprising:
inspection means for determining an application port by monitoring a first session in which the application port is negotiated; and
first and second forwarding means interconnected on a first path dependent on the inspection means and a second path independent of the inspection means,
wherein the first forwarding means identifies the first session, and directs the first session to the first path.
24. The packet switching node according to claim 23 , wherein the application port is dynamically negotiated between a server node and a host node.
25. The packet switching node according to claim 23 , wherein the first forwarding means forwards a second session, for which the application port has been negotiated, over the second path.
26. The packet switching node according to claim 23 , wherein the first forwarding means identifies a third session with a statically assigned application port, and wherein the first forwarding means forwards the third session over the second path.
27. The packet switching node according to claim 23 , wherein the packets are forwarded via the inspection means and at least one of the forwarding means on the first path, and the packets are forwarded via at least one of the forwarding means but not via the inspection means on the second path.
28. The packet switching node according to claim 25 , wherein the inspection means configures a service level for the second session on the first forwarding means.
29. The packet switching node according to claim 28 , wherein the inspection means configures the service level for the first session on the second forwarding means.
30. The packet switching node according to claim 28 , wherein the configuration of the service level includes association of the application port with a quality of service (QoS) on at least one of the forwarding means.
31. The packet switching node according to claim 28 , wherein the configuration of the service level includes association of the application port with a customer on at least one of the forwarding means.
32. The packet switching node according to claim 28 , wherein the configuration of the service level includes association of the application port with a statistics group on at least one of the forwarding means.
33. The packet switching node according to claim 32 , wherein the statistics group comprises amount of traffic, size of file transfer, time of day, customer identification or number of bytes.
34. The packet switching node according to claim 32 , wherein the statistics group is used to perform billing, auditing, network management or traffic profiling.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/861,013 US20020016856A1 (en) | 2000-05-24 | 2001-05-18 | Dynamic application port service provisioning for packet switch |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20661700P | 2000-05-24 | 2000-05-24 | |
US20699600P | 2000-05-24 | 2000-05-24 | |
US22033500P | 2000-07-24 | 2000-07-24 | |
US09/861,013 US20020016856A1 (en) | 2000-05-24 | 2001-05-18 | Dynamic application port service provisioning for packet switch |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020016856A1 true US20020016856A1 (en) | 2002-02-07 |
Family
ID=27394964
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/751,194 Expired - Lifetime US7075926B2 (en) | 2000-05-24 | 2000-12-28 | Programmable packet processor with flow resolution logic |
US09/757,354 Abandoned US20010046229A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with real-time edit program construction engine |
US09/757,349 Abandoned US20010053150A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with programmable application logic |
US09/861,013 Abandoned US20020016856A1 (en) | 2000-05-24 | 2001-05-18 | Dynamic application port service provisioning for packet switch |
US11/428,616 Expired - Lifetime US7693149B2 (en) | 2000-05-24 | 2006-07-05 | Programmable packet processor with flow resolution logic |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/751,194 Expired - Lifetime US7075926B2 (en) | 2000-05-24 | 2000-12-28 | Programmable packet processor with flow resolution logic |
US09/757,354 Abandoned US20010046229A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with real-time edit program construction engine |
US09/757,349 Abandoned US20010053150A1 (en) | 2000-05-24 | 2001-01-08 | Packet processor with programmable application logic |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/428,616 Expired - Lifetime US7693149B2 (en) | 2000-05-24 | 2006-07-05 | Programmable packet processor with flow resolution logic |
Country Status (5)
Country | Link |
---|---|
US (5) | US7075926B2 (en) |
EP (5) | EP1158724A3 (en) |
JP (5) | JP2002051081A (en) |
CN (1) | CN1278524C (en) |
AU (1) | AU4620501A (en) |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002065717A1 (en) * | 2001-02-14 | 2002-08-22 | Dynarc Inc. Dba Dynamic Network Architecture Inc., In Ca | Dynamic packet processor architecture |
US20030028681A1 (en) * | 2001-08-02 | 2003-02-06 | International Business Machines Corporation | Apparatus and method for port sharing among a plurality of server processes |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
US20030126234A1 (en) * | 2001-11-20 | 2003-07-03 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US20050190694A1 (en) * | 2000-04-03 | 2005-09-01 | P-Cube | Method and apparatus for wire-speed application layer classification of upstream and downstream data packets |
US20050199292A1 (en) * | 2004-03-10 | 2005-09-15 | Stedman David W. | Fluid device actuator with manual override |
FR2878346A1 (en) * | 2004-11-22 | 2006-05-26 | France Telecom | METHOD AND SYSTEM FOR MEASURING THE USE OF AN APPLICATION |
US20060195556A1 (en) * | 2001-11-20 | 2006-08-31 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US20070160073A1 (en) * | 2006-01-10 | 2007-07-12 | Kunihiko Toumura | Packet communications unit |
US7286532B1 (en) * | 2001-02-22 | 2007-10-23 | Cisco Technology, Inc. | High performance interface logic architecture of an intermediate network node |
US7298746B1 (en) | 2002-02-11 | 2007-11-20 | Extreme Networks | Method and system for reassembling and parsing packets in a network environment |
US7321926B1 (en) | 2002-02-11 | 2008-01-22 | Extreme Networks | Method of and system for allocating resources to resource requests |
US7447777B1 (en) * | 2002-02-11 | 2008-11-04 | Extreme Networks | Switching system |
US20080279196A1 (en) * | 2004-04-06 | 2008-11-13 | Robert Friskney | Differential Forwarding in Address-Based Carrier Networks |
US20090119722A1 (en) * | 2007-11-01 | 2009-05-07 | Versteeg William C | Locating points of interest using references to media frames within a packet flow |
US20090217318A1 (en) * | 2004-09-24 | 2009-08-27 | Cisco Technology, Inc. | Ip-based stream splicing with content-specific splice points |
US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
US7817546B2 (en) | 2007-07-06 | 2010-10-19 | Cisco Technology, Inc. | Quasi RTP metrics for non-RTP media flows |
US7835406B2 (en) | 2007-06-18 | 2010-11-16 | Cisco Technology, Inc. | Surrogate stream for monitoring realtime media |
US7936695B2 (en) | 2007-05-14 | 2011-05-03 | Cisco Technology, Inc. | Tunneling reports for real-time internet protocol media streams |
US20110119546A1 (en) * | 2009-11-18 | 2011-05-19 | Cisco Technology, Inc. | Rtp-based loss recovery and quality monitoring for non-ip and raw-ip mpeg transport flows |
US7953885B1 (en) * | 2003-04-18 | 2011-05-31 | Cisco Technology, Inc. | Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause |
US7996520B2 (en) | 2007-09-19 | 2011-08-09 | Cisco Technology, Inc. | Behavioral classification of communication sessions using active session initiation |
US8023419B2 (en) | 2007-05-14 | 2011-09-20 | Cisco Technology, Inc. | Remote monitoring of real-time internet protocol media streams |
US8301789B2 (en) | 2007-06-18 | 2012-10-30 | Emc Corporation | Techniques for port hopping |
US20130182722A1 (en) * | 2010-11-01 | 2013-07-18 | Deepak Mysore Vishveswaraiah | Managing mac moves with secure port groups |
US20130198411A1 (en) * | 2012-01-27 | 2013-08-01 | Electronics And Telecommunications Research Institute | Packet processing apparatus and method for load balancing of multi-layered protocols |
US8661295B1 (en) * | 2011-03-31 | 2014-02-25 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US8819714B2 (en) | 2010-05-19 | 2014-08-26 | Cisco Technology, Inc. | Ratings and quality measurements for digital broadcast viewers |
US8937870B1 (en) | 2012-09-11 | 2015-01-20 | Amazon Technologies, Inc. | Network link monitoring and testing |
US20150072236A1 (en) * | 2013-04-19 | 2015-03-12 | CellMotive Co. Ltd. | Metal Foam for Electrode of Secondary Lithium Battery, Preparing Method Thereof, and Secondary Lithium Battery Including the Metal Foam |
US9001667B1 (en) | 2011-03-31 | 2015-04-07 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
CN104809158A (en) * | 2015-03-26 | 2015-07-29 | 小米科技有限责任公司 | Network content filter method and device |
US9104543B1 (en) | 2012-04-06 | 2015-08-11 | Amazon Technologies, Inc. | Determining locations of network failures |
US9118590B2 (en) | 2004-07-02 | 2015-08-25 | Rpx Clearinghouse Llc | VLAN support of differentiated services |
US9197495B1 (en) | 2013-02-11 | 2015-11-24 | Amazon Technologies, Inc. | Determining locations of network failures |
US9210038B1 (en) | 2013-02-11 | 2015-12-08 | Amazon Technologies, Inc. | Determining locations of network failures |
US20160006740A1 (en) * | 2014-07-03 | 2016-01-07 | Electronics And Telecommunications Research Institute | Method and system for extracting access control list |
US9356862B2 (en) | 2004-04-06 | 2016-05-31 | Rpx Clearinghouse Llc | Differential forwarding in address-based carrier networks |
US9385917B1 (en) | 2011-03-31 | 2016-07-05 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US20160219131A1 (en) * | 2007-04-11 | 2016-07-28 | Palo Alto Networks, Inc. | L2/l3 multi-mode switch including policy processing |
US20160260968A1 (en) * | 2015-03-03 | 2016-09-08 | United States Government, As Represented By The Secretary Of The Army | "B" AND "O" SITE DOPED AB2O4 SPINEL CATHODE MATERIAL, METHOD OF PREPARING THE SAME, AND RECHARGEABLE LITHIUM AND Li-ION ELECTROCHEMICAL SYSTEMS CONTAINING THE SAME |
US20160373351A1 (en) * | 2015-06-17 | 2016-12-22 | Brocade Communications Systems, Inc. | Architecture for a network visibility system |
US20170092964A1 (en) * | 2015-09-28 | 2017-03-30 | General Electric Company | Fuel cell module including heat exchanger and method of operating such module |
US9742638B1 (en) | 2013-08-05 | 2017-08-22 | Amazon Technologies, Inc. | Determining impact of network failures |
US20180362727A1 (en) * | 2015-11-11 | 2018-12-20 | 3M Innovative Properties Company | Conductive fluoropolymer compositions |
US20190072928A1 (en) * | 2016-05-09 | 2019-03-07 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10750387B2 (en) | 2015-03-23 | 2020-08-18 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7382736B2 (en) | 1999-01-12 | 2008-06-03 | Mcdata Corporation | Method for scoring queued frames for selective transmission through a switch |
US7996670B1 (en) | 1999-07-08 | 2011-08-09 | Broadcom Corporation | Classification engine in a cryptography acceleration chip |
JP4080169B2 (en) * | 2000-09-29 | 2008-04-23 | 株式会社リコー | Session establishment method |
US7596139B2 (en) | 2000-11-17 | 2009-09-29 | Foundry Networks, Inc. | Backplane interface adapter with error control and redundant fabric |
US7236490B2 (en) | 2000-11-17 | 2007-06-26 | Foundry Networks, Inc. | Backplane interface adapter |
US6735218B2 (en) * | 2000-11-17 | 2004-05-11 | Foundry Networks, Inc. | Method and system for encoding wide striped cells |
US7356030B2 (en) | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7002980B1 (en) | 2000-12-19 | 2006-02-21 | Chiaro Networks, Ltd. | System and method for router queue and congestion management |
FI114597B (en) * | 2001-01-24 | 2004-11-15 | Teliasonera Finland Oyj | Procedure for logging in |
US6606681B1 (en) * | 2001-02-23 | 2003-08-12 | Cisco Systems, Inc. | Optimized content addressable memory (CAM) |
US7146478B2 (en) * | 2001-03-19 | 2006-12-05 | International Business Machines Corporation | Cache entry selection method and apparatus |
US6910097B1 (en) * | 2001-04-09 | 2005-06-21 | Netlogic Microsystems, Inc. | Classless interdomain routing using binary content addressable memory |
JP2003018196A (en) * | 2001-04-27 | 2003-01-17 | Fujitsu Ltd | Packet transfer device, semiconductor device, and packet transfer system |
US7206283B2 (en) | 2001-05-15 | 2007-04-17 | Foundry Networks, Inc. | High-performance network switch |
US20020188732A1 (en) * | 2001-06-06 | 2002-12-12 | Buckman Charles R. | System and method for allocating bandwidth across a network |
US7095715B2 (en) * | 2001-07-02 | 2006-08-22 | 3Com Corporation | System and method for processing network packet flows |
US20030033519A1 (en) * | 2001-08-13 | 2003-02-13 | Tippingpoint Technologies,Inc. | System and method for programming network nodes |
US7170891B2 (en) * | 2001-08-30 | 2007-01-30 | Messenger Terabit Networks, Inc. | High speed data classification system |
US7424019B1 (en) | 2001-11-27 | 2008-09-09 | Marvell Israel (M.I.S.L) Ltd. | Packet header altering device |
US7239639B2 (en) * | 2001-12-27 | 2007-07-03 | 3Com Corporation | System and method for dynamically constructing packet classification rules |
KR100439185B1 (en) * | 2001-12-28 | 2004-07-05 | 한국전자통신연구원 | Method for loading programs in the active network model and hybrid active network node |
US6961808B1 (en) * | 2002-01-08 | 2005-11-01 | Cisco Technology, Inc. | Method and apparatus for implementing and using multiple virtual portions of physical associative memories |
SE525183C2 (en) * | 2002-04-04 | 2004-12-21 | Xelerated Ab | Procedure and means for processing by pipelining of data packets |
US7468975B1 (en) | 2002-05-06 | 2008-12-23 | Foundry Networks, Inc. | Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability |
US7266117B1 (en) | 2002-05-06 | 2007-09-04 | Foundry Networks, Inc. | System architecture for very fast ethernet blade |
US7187687B1 (en) | 2002-05-06 | 2007-03-06 | Foundry Networks, Inc. | Pipeline method and system for switching packets |
US7649885B1 (en) | 2002-05-06 | 2010-01-19 | Foundry Networks, Inc. | Network routing system for enhanced efficiency and monitoring capability |
US20120155466A1 (en) | 2002-05-06 | 2012-06-21 | Ian Edward Davis | Method and apparatus for efficiently processing data packets in a computer network |
US7548541B2 (en) * | 2002-06-04 | 2009-06-16 | Alcatel-Lucent Usa Inc. | Managing VLAN traffic in a multiport network node using customer-specific identifiers |
US7167913B2 (en) * | 2002-06-05 | 2007-01-23 | Universal Electronics Inc. | System and method for managing communication links |
US7644190B2 (en) | 2002-07-19 | 2010-01-05 | Xelerated Ab | Method and apparatus for pipelined processing of data packets |
US7403542B1 (en) * | 2002-07-19 | 2008-07-22 | Qlogic, Corporation | Method and system for processing network data packets |
US7411904B2 (en) * | 2002-07-22 | 2008-08-12 | Lucent Technologies Inc. | Multiprotocol label switching (MPLS) edge service extraction |
WO2004017221A1 (en) | 2002-08-14 | 2004-02-26 | Drs Technical Services, Inc. | Method and apparatus for monitoring and controlling the allocation of network bandwidth |
US20040042463A1 (en) * | 2002-08-30 | 2004-03-04 | Intel Corporation | Method and apparatus for address lookup |
DE60202863T2 (en) * | 2002-08-30 | 2005-06-30 | Errikos Pitsos | Method, gateway and system for data transmission between a network device in a public network and a network device in a private network |
US20040057433A1 (en) * | 2002-09-24 | 2004-03-25 | Daniel Wayne T. | Methods and systems for prioritizing packets of data in a communications system |
JP4598354B2 (en) * | 2002-09-30 | 2010-12-15 | 株式会社エヌ・ティ・ティ・ドコモ | COMMUNICATION SYSTEM, RELAY DEVICE, AND COMMUNICATION CONTROL METHOD |
US20040123120A1 (en) * | 2002-12-18 | 2004-06-24 | Broadcom Corporation | Cryptography accelerator input interface data handling |
US7568110B2 (en) * | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
US20040196840A1 (en) * | 2003-04-04 | 2004-10-07 | Bharadwaj Amrutur | Passive measurement platform |
US6901072B1 (en) | 2003-05-15 | 2005-05-31 | Foundry Networks, Inc. | System and method for high speed packet transmission implementing dual transmit and receive pipelines |
US7240041B2 (en) * | 2003-11-25 | 2007-07-03 | Freescale Semiconductor, Inc. | Network message processing using inverse pattern matching |
US7613775B2 (en) | 2003-11-25 | 2009-11-03 | Freescale Semiconductor, Inc. | Network message filtering using hashing and pattern matching |
US8181258B2 (en) * | 2003-11-26 | 2012-05-15 | Agere Systems Inc. | Access control list constructed as a tree of matching tables |
US7644085B2 (en) * | 2003-11-26 | 2010-01-05 | Agere Systems Inc. | Directed graph approach for constructing a tree representation of an access control list |
US7903555B2 (en) * | 2003-12-17 | 2011-03-08 | Intel Corporation | Packet tracing |
US7535899B2 (en) * | 2003-12-18 | 2009-05-19 | Intel Corporation | Packet classification |
US7496684B2 (en) * | 2004-01-20 | 2009-02-24 | International Business Machines Corporation | Developing portable packet processing applications in a network processor |
US7817659B2 (en) | 2004-03-26 | 2010-10-19 | Foundry Networks, Llc | Method and apparatus for aggregating input data streams |
US8161270B1 (en) | 2004-03-30 | 2012-04-17 | Extreme Networks, Inc. | Packet data modification processor |
US7292591B2 (en) | 2004-03-30 | 2007-11-06 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7385984B2 (en) * | 2004-03-30 | 2008-06-10 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7304996B1 (en) | 2004-03-30 | 2007-12-04 | Extreme Networks, Inc. | System and method for assembling a data packet |
US8730961B1 (en) | 2004-04-26 | 2014-05-20 | Foundry Networks, Llc | System and method for optimizing router lookup |
US7813263B2 (en) | 2004-06-30 | 2010-10-12 | Conexant Systems, Inc. | Method and apparatus providing rapid end-to-end failover in a packet switched communications network |
US7760719B2 (en) * | 2004-06-30 | 2010-07-20 | Conexant Systems, Inc. | Combined pipelined classification and address search method and apparatus for switching environments |
US20060080467A1 (en) * | 2004-08-26 | 2006-04-13 | Sensory Networks, Inc. | Apparatus and method for high performance data content processing |
US7657703B1 (en) | 2004-10-29 | 2010-02-02 | Foundry Networks, Inc. | Double density content addressable memory (CAM) lookup scheme |
US20060198375A1 (en) * | 2004-12-07 | 2006-09-07 | Baik Kwang H | Method and apparatus for pattern matching based on packet reassembly |
US7990966B2 (en) * | 2004-12-13 | 2011-08-02 | Electronics And Telecommunications Research Institute | Apparatus for changing MAC address to identify subscriber and method thereof |
DE602004023338D1 (en) | 2004-12-21 | 2009-11-05 | Ericsson Telefon Ab L M | ARRANGEMENT AND METHODS RELATING TO THE FLOW OF PACKAGES IN COMMUNICATION SYSTEMS |
WO2006068595A1 (en) | 2004-12-22 | 2006-06-29 | Xelerated Ab | A method for reducing buffer capacity in a pipeline processor |
US7882280B2 (en) * | 2005-04-18 | 2011-02-01 | Integrated Device Technology, Inc. | Packet processing switch and methods of operation thereof |
CN100446505C (en) * | 2005-06-06 | 2008-12-24 | 华为技术有限公司 | Realization method for improving backbone network security |
JP2006345406A (en) | 2005-06-10 | 2006-12-21 | Ntt Docomo Inc | Portable communication terminal, storage medium |
US8498297B2 (en) | 2005-08-26 | 2013-07-30 | Rockstar Consortium Us Lp | Forwarding table minimisation in ethernet switches |
US7639715B1 (en) | 2005-09-09 | 2009-12-29 | Qlogic, Corporation | Dedicated application interface for network systems |
US20070136209A1 (en) * | 2005-12-06 | 2007-06-14 | Shabbir Khan | Digital object title authentication |
US9686183B2 (en) * | 2005-12-06 | 2017-06-20 | Zarbaña Digital Fund Llc | Digital object routing based on a service request |
US8448162B2 (en) | 2005-12-28 | 2013-05-21 | Foundry Networks, Llc | Hitless software upgrades |
US7596142B1 (en) * | 2006-05-12 | 2009-09-29 | Integrated Device Technology, Inc | Packet processing in a packet switch with improved output data distribution |
US7817652B1 (en) | 2006-05-12 | 2010-10-19 | Integrated Device Technology, Inc. | System and method of constructing data packets in a packet switch |
US7747904B1 (en) | 2006-05-12 | 2010-06-29 | Integrated Device Technology, Inc. | Error management system and method for a packet switch |
US7706387B1 (en) | 2006-05-31 | 2010-04-27 | Integrated Device Technology, Inc. | System and method for round robin arbitration |
US20070291768A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS |
US8064464B2 (en) * | 2006-06-16 | 2011-11-22 | Harris Corporation | Method and system for inbound content-based QoS |
US7895331B1 (en) * | 2006-08-10 | 2011-02-22 | Bivio Networks, Inc. | Method for dynamically configuring network services |
US7903654B2 (en) | 2006-08-22 | 2011-03-08 | Foundry Networks, Llc | System and method for ECMP load sharing |
KR100847146B1 (en) | 2006-11-06 | 2008-07-18 | 한국전자통신연구원 | 2×10 giga bit ethernet application implementation apparatus |
US8179896B2 (en) * | 2006-11-09 | 2012-05-15 | Justin Mark Sobaje | Network processors and pipeline optimization methods |
US8238255B2 (en) | 2006-11-22 | 2012-08-07 | Foundry Networks, Llc | Recovering from failures without impact on data traffic in a shared bus architecture |
US8155011B2 (en) | 2007-01-11 | 2012-04-10 | Foundry Networks, Llc | Techniques for using dual memory structures for processing failure detection protocol packets |
WO2008134257A1 (en) * | 2007-04-24 | 2008-11-06 | Aclara Technologies | Improvements in the detection of outbound message signals in a power line two-way communications system |
US7693040B1 (en) | 2007-05-01 | 2010-04-06 | Integrated Device Technology, Inc. | Processing switch for orthogonal frequency division multiplexing |
US8271859B2 (en) * | 2007-07-18 | 2012-09-18 | Foundry Networks Llc | Segmented CRC design in high speed networks |
US8037399B2 (en) | 2007-07-18 | 2011-10-11 | Foundry Networks, Llc | Techniques for segmented CRC design in high speed networks |
EP2023533B1 (en) * | 2007-08-10 | 2011-04-06 | Alcatel Lucent | Method and system for classifying traffic in IP networks |
US8149839B1 (en) | 2007-09-26 | 2012-04-03 | Foundry Networks, Llc | Selection of trunk ports and paths using rotation |
US8190881B2 (en) | 2007-10-15 | 2012-05-29 | Foundry Networks Llc | Scalable distributed web-based authentication |
US8656451B2 (en) * | 2008-03-07 | 2014-02-18 | At&T Mobility Ii Llc | Policy application server for mobile data networks |
WO2009143224A2 (en) * | 2008-05-20 | 2009-11-26 | Fox Chase Center Center | Method for the treatment or prophylaxis of lymphangioleiomyomatosis (lam) and animal model for use in lam research |
SE532426C2 (en) * | 2008-05-26 | 2010-01-19 | Oricane Ab | Method for data packet classification in a data communication network |
US7864764B1 (en) * | 2008-09-16 | 2011-01-04 | Juniper Networks, Inc. | Accelerated packet processing in a network acceleration device |
US8539035B2 (en) * | 2008-09-29 | 2013-09-17 | Fujitsu Limited | Message tying processing method and apparatus |
US7916735B2 (en) | 2008-12-02 | 2011-03-29 | At&T Intellectual Property I, L.P. | Method for applying macro-controls onto IP networks using intelligent route indexing |
TWI378688B (en) * | 2009-02-10 | 2012-12-01 | Ralink Technology Corp | Method and apparatus for preloading packet headers and system using the same |
CN101808029B (en) * | 2009-02-13 | 2013-03-13 | 雷凌科技股份有限公司 | Method and device for preloading packet header and system using method |
US8090901B2 (en) | 2009-05-14 | 2012-01-03 | Brocade Communications Systems, Inc. | TCAM management approach that minimize movements |
US8284776B2 (en) * | 2009-06-10 | 2012-10-09 | Broadcom Corporation | Recursive packet header processing |
US8599850B2 (en) | 2009-09-21 | 2013-12-03 | Brocade Communications Systems, Inc. | Provisioning single or multistage networks using ethernet service instances (ESIs) |
CA2783952C (en) * | 2009-12-10 | 2016-10-04 | Redknee Inc. | Feedback loop for dynamic network resource allocation |
US8291058B2 (en) * | 2010-02-19 | 2012-10-16 | Intrusion, Inc. | High speed network data extractor |
KR101145389B1 (en) | 2010-09-28 | 2012-05-15 | 한국전자통신연구원 | Scalable centralized network architecture with de-centralization of network control and network switching apparatus therefor |
US9225656B2 (en) | 2011-02-07 | 2015-12-29 | Brocade Communications Systems, Inc. | Quality of service in a heterogeneous network |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US8730811B2 (en) * | 2011-04-07 | 2014-05-20 | Hewlett-Packard Development Company, L.P. | Managing network traffic |
JP5655692B2 (en) * | 2011-04-28 | 2015-01-21 | 富士通株式会社 | Communication apparatus and communication method |
US8830834B2 (en) * | 2011-12-21 | 2014-09-09 | Cisco Technology, Inc. | Overlay-based packet steering |
US9798588B1 (en) * | 2012-04-25 | 2017-10-24 | Significs And Elements, Llc | Efficient packet forwarding using cyber-security aware policies |
US9094459B2 (en) * | 2012-07-16 | 2015-07-28 | International Business Machines Corporation | Flow based overlay network |
KR101467942B1 (en) * | 2013-04-24 | 2014-12-02 | 주식회사 윈스 | Fast Application Recognition System and Processing Method Therof |
US9324039B2 (en) | 2013-11-27 | 2016-04-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Incremental updates for ordered multi-field classification rules when represented by a tree of longest prefix matching tables |
US9674102B2 (en) | 2013-12-18 | 2017-06-06 | Marvell Israel (M.I.S.L.) Ltd. | Methods and network device for oversubscription handling |
US9620213B2 (en) | 2013-12-27 | 2017-04-11 | Cavium, Inc. | Method and system for reconfigurable parallel lookups using multiple shared memories |
US9880844B2 (en) * | 2013-12-30 | 2018-01-30 | Cavium, Inc. | Method and apparatus for parallel and conditional data manipulation in a software-defined network processing engine |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
US9379963B2 (en) | 2013-12-30 | 2016-06-28 | Cavium, Inc. | Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine |
US11921658B2 (en) | 2014-03-08 | 2024-03-05 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
KR20160138448A (en) | 2014-03-08 | 2016-12-05 | 다이아만티 인코포레이티드 | Methods and systems for converged networking and storage |
US10635316B2 (en) | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US10628353B2 (en) | 2014-03-08 | 2020-04-21 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
CN105024846A (en) * | 2014-04-30 | 2015-11-04 | 中兴通讯股份有限公司 | Heterogeneous network management method and system, and network element management and network management systems |
US9503552B2 (en) * | 2014-05-09 | 2016-11-22 | Google Inc. | System and method for adapting to network protocol updates |
TWI726561B (en) * | 2019-12-31 | 2021-05-01 | 新唐科技股份有限公司 | Operating circuit and control method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678268B1 (en) * | 1998-09-18 | 2004-01-13 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) with rapid fault recovery capability |
US6728243B1 (en) * | 1999-10-28 | 2004-04-27 | Intel Corporation | Method for specifying TCP/IP packet classification parameters |
US6778546B1 (en) * | 2000-02-14 | 2004-08-17 | Cisco Technology, Inc. | High-speed hardware implementation of MDRR algorithm over a large number of queues |
US6781994B1 (en) * | 1997-12-25 | 2004-08-24 | Kabushiki Kaisha Toshiba | Distributing ATM cells to output ports based upon destination information using ATM switch core and IP forwarding |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0276349B1 (en) * | 1987-01-28 | 1992-03-25 | International Business Machines Corporation | Apparatus for switching information between channels for synchronous information traffic and asynchronous data packets |
JP2903059B2 (en) * | 1989-10-20 | 1999-06-07 | ケイディディ株式会社 | Protocol conversion method and device |
US5398245A (en) * | 1991-10-04 | 1995-03-14 | Bay Networks, Inc. | Packet processing method and apparatus |
US5430709A (en) * | 1992-06-17 | 1995-07-04 | Hewlett-Packard Company | Network monitoring method and apparatus |
GB9326476D0 (en) * | 1993-12-24 | 1994-02-23 | Newbridge Networks Corp | Network |
US5598410A (en) * | 1994-12-29 | 1997-01-28 | Storage Technology Corporation | Method and apparatus for accelerated packet processing |
US5563878A (en) * | 1995-01-05 | 1996-10-08 | International Business Machines Corporation | Transaction message routing in digital communication networks |
AUPO194696A0 (en) * | 1996-08-28 | 1996-09-19 | Canon Information Systems Research Australia Pty Ltd | A method of efficiently updating hashed page tables |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US5938736A (en) * | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
US6212183B1 (en) * | 1997-08-22 | 2001-04-03 | Cisco Technology, Inc. | Multiple parallel packet routing lookup |
WO1999027684A1 (en) * | 1997-11-25 | 1999-06-03 | Packeteer, Inc. | Method for automatically classifying traffic in a packet communications network |
US7466703B1 (en) * | 1998-05-01 | 2008-12-16 | Alcatel-Lucent Usa Inc. | Scalable high speed router apparatus |
US6628653B1 (en) * | 1998-06-04 | 2003-09-30 | Nortel Networks Limited | Programmable packet switching device |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6876653B2 (en) * | 1998-07-08 | 2005-04-05 | Broadcom Corporation | Fast flexible filter processor based architecture for a network device |
US6525850B1 (en) * | 1998-07-17 | 2003-02-25 | The Regents Of The University Of California | High-throughput, low-latency next generation internet networks using optical label switching and high-speed optical header generation, detection and reinsertion |
JP2000092118A (en) * | 1998-09-08 | 2000-03-31 | Hitachi Ltd | Programmable network |
US6567408B1 (en) * | 1999-02-01 | 2003-05-20 | Redback Networks Inc. | Methods and apparatus for packet classification with multi-level data structure |
US6611524B2 (en) * | 1999-06-30 | 2003-08-26 | Cisco Technology, Inc. | Programmable data packet parser |
WO2001001272A2 (en) * | 1999-06-30 | 2001-01-04 | Apptitude, Inc. | Method and apparatus for monitoring traffic in a network |
JP3643507B2 (en) * | 1999-09-20 | 2005-04-27 | 株式会社東芝 | Packet processing apparatus and packet processing method |
US6697380B1 (en) * | 1999-12-07 | 2004-02-24 | Advanced Micro Devices, Inc. | Multiple key lookup arrangement for a shared switching logic address table in a network switch |
US6977930B1 (en) * | 2000-02-14 | 2005-12-20 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
US6778534B1 (en) * | 2000-06-30 | 2004-08-17 | E. Z. Chip Technologies Ltd. | High-performance network processor |
US20030009466A1 (en) * | 2001-06-21 | 2003-01-09 | Ta John D. C. | Search engine with pipeline structure |
US20050232303A1 (en) * | 2002-04-26 | 2005-10-20 | Koen Deforche | Efficient packet processing pipeline device and method |
-
2000
- 2000-12-28 US US09/751,194 patent/US7075926B2/en not_active Expired - Lifetime
-
2001
- 2001-01-08 US US09/757,354 patent/US20010046229A1/en not_active Abandoned
- 2001-01-08 US US09/757,349 patent/US20010053150A1/en not_active Abandoned
- 2001-05-18 US US09/861,013 patent/US20020016856A1/en not_active Abandoned
- 2001-05-22 AU AU46205/01A patent/AU4620501A/en not_active Abandoned
- 2001-05-23 EP EP01112005A patent/EP1158724A3/en not_active Ceased
- 2001-05-23 EP EP01112008A patent/EP1158727A3/en not_active Withdrawn
- 2001-05-23 JP JP2001154080A patent/JP2002051081A/en not_active Withdrawn
- 2001-05-23 EP EP01112007A patent/EP1158726A3/en not_active Ceased
- 2001-05-23 EP EP01112009A patent/EP1158728A3/en not_active Withdrawn
- 2001-05-23 JP JP2001154076A patent/JP2002044150A/en not_active Withdrawn
- 2001-05-23 JP JP2001154081A patent/JP2002064563A/en not_active Withdrawn
- 2001-05-23 JP JP2001154078A patent/JP2002077269A/en not_active Withdrawn
- 2001-05-23 JP JP2001154079A patent/JP2002051080A/en not_active Withdrawn
- 2001-05-23 EP EP01112011A patent/EP1158730A3/en not_active Ceased
- 2001-05-24 CN CN01119067.1A patent/CN1278524C/en not_active Expired - Fee Related
-
2006
- 2006-07-05 US US11/428,616 patent/US7693149B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6781994B1 (en) * | 1997-12-25 | 2004-08-24 | Kabushiki Kaisha Toshiba | Distributing ATM cells to output ports based upon destination information using ATM switch core and IP forwarding |
US6678268B1 (en) * | 1998-09-18 | 2004-01-13 | The United States Of America As Represented By The Secretary Of The Navy | Multi-interface point-to-point switching system (MIPPSS) with rapid fault recovery capability |
US6728243B1 (en) * | 1999-10-28 | 2004-04-27 | Intel Corporation | Method for specifying TCP/IP packet classification parameters |
US6778546B1 (en) * | 2000-02-14 | 2004-08-17 | Cisco Technology, Inc. | High-speed hardware implementation of MDRR algorithm over a large number of queues |
Cited By (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7436830B2 (en) | 2000-04-03 | 2008-10-14 | P-Cube Ltd. | Method and apparatus for wire-speed application layer classification of upstream and downstream data packets |
US20050190694A1 (en) * | 2000-04-03 | 2005-09-01 | P-Cube | Method and apparatus for wire-speed application layer classification of upstream and downstream data packets |
WO2002065717A1 (en) * | 2001-02-14 | 2002-08-22 | Dynarc Inc. Dba Dynamic Network Architecture Inc., In Ca | Dynamic packet processor architecture |
US7286532B1 (en) * | 2001-02-22 | 2007-10-23 | Cisco Technology, Inc. | High performance interface logic architecture of an intermediate network node |
US20030028681A1 (en) * | 2001-08-02 | 2003-02-06 | International Business Machines Corporation | Apparatus and method for port sharing among a plurality of server processes |
US6950873B2 (en) * | 2001-08-02 | 2005-09-27 | International Business Machines Corporation | Apparatus and method for port sharing a plurality of server processes |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
US20030126234A1 (en) * | 2001-11-20 | 2003-07-03 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US20100333077A1 (en) * | 2001-11-20 | 2010-12-30 | Yuval Shachar | Apparatus, Method, and Software for Analyzing Network Traffic in a Service Aware Network |
US7844688B2 (en) | 2001-11-20 | 2010-11-30 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US9038035B2 (en) | 2001-11-20 | 2015-05-19 | Cisco Systems Israel, Inc. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US20060195556A1 (en) * | 2001-11-20 | 2006-08-31 | P-Cube Ltd. | Apparatus, method, and software for analyzing network traffic in a service aware network |
US7447777B1 (en) * | 2002-02-11 | 2008-11-04 | Extreme Networks | Switching system |
US7321926B1 (en) | 2002-02-11 | 2008-01-22 | Extreme Networks | Method of and system for allocating resources to resource requests |
US7298746B1 (en) | 2002-02-11 | 2007-11-20 | Extreme Networks | Method and system for reassembling and parsing packets in a network environment |
US8412838B1 (en) | 2002-02-11 | 2013-04-02 | Extreme Networks | Method of and system for analyzing the content of resource requests |
US8560693B1 (en) | 2002-02-11 | 2013-10-15 | Extreme Networks, Inc. | Method of and system for allocating resources to resource requests based on application of persistence policies |
US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
US7814204B1 (en) | 2002-02-11 | 2010-10-12 | Extreme Networks, Inc. | Method of and system for analyzing the content of resource requests |
US7953885B1 (en) * | 2003-04-18 | 2011-05-31 | Cisco Technology, Inc. | Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause |
US20050199292A1 (en) * | 2004-03-10 | 2005-09-15 | Stedman David W. | Fluid device actuator with manual override |
US20080279196A1 (en) * | 2004-04-06 | 2008-11-13 | Robert Friskney | Differential Forwarding in Address-Based Carrier Networks |
US9356862B2 (en) | 2004-04-06 | 2016-05-31 | Rpx Clearinghouse Llc | Differential forwarding in address-based carrier networks |
US8976793B2 (en) | 2004-04-06 | 2015-03-10 | Rockstar Consortium Us Lp | Differential forwarding in address-based carrier networks |
US8923292B2 (en) | 2004-04-06 | 2014-12-30 | Rockstar Consortium Us Lp | Differential forwarding in address-based carrier networks |
US9118590B2 (en) | 2004-07-02 | 2015-08-25 | Rpx Clearinghouse Llc | VLAN support of differentiated services |
US20090217318A1 (en) * | 2004-09-24 | 2009-08-27 | Cisco Technology, Inc. | Ip-based stream splicing with content-specific splice points |
US9197857B2 (en) | 2004-09-24 | 2015-11-24 | Cisco Technology, Inc. | IP-based stream splicing with content-specific splice points |
WO2006054032A1 (en) * | 2004-11-22 | 2006-05-26 | France Telecom | Method and system for measuring use of an application |
FR2878346A1 (en) * | 2004-11-22 | 2006-05-26 | France Telecom | METHOD AND SYSTEM FOR MEASURING THE USE OF AN APPLICATION |
US20070160073A1 (en) * | 2006-01-10 | 2007-07-12 | Kunihiko Toumura | Packet communications unit |
US8149705B2 (en) * | 2006-01-10 | 2012-04-03 | Alaxala Networks Corporation | Packet communications unit |
US9800697B2 (en) * | 2007-04-11 | 2017-10-24 | Palo Alto Networks, Inc. | L2/L3 multi-mode switch including policy processing |
US20160219131A1 (en) * | 2007-04-11 | 2016-07-28 | Palo Alto Networks, Inc. | L2/l3 multi-mode switch including policy processing |
US8023419B2 (en) | 2007-05-14 | 2011-09-20 | Cisco Technology, Inc. | Remote monitoring of real-time internet protocol media streams |
US8867385B2 (en) | 2007-05-14 | 2014-10-21 | Cisco Technology, Inc. | Tunneling reports for real-time Internet Protocol media streams |
US7936695B2 (en) | 2007-05-14 | 2011-05-03 | Cisco Technology, Inc. | Tunneling reports for real-time internet protocol media streams |
US8301789B2 (en) | 2007-06-18 | 2012-10-30 | Emc Corporation | Techniques for port hopping |
US7835406B2 (en) | 2007-06-18 | 2010-11-16 | Cisco Technology, Inc. | Surrogate stream for monitoring realtime media |
US7817546B2 (en) | 2007-07-06 | 2010-10-19 | Cisco Technology, Inc. | Quasi RTP metrics for non-RTP media flows |
US7996520B2 (en) | 2007-09-19 | 2011-08-09 | Cisco Technology, Inc. | Behavioral classification of communication sessions using active session initiation |
US20090119722A1 (en) * | 2007-11-01 | 2009-05-07 | Versteeg William C | Locating points of interest using references to media frames within a packet flow |
US9762640B2 (en) | 2007-11-01 | 2017-09-12 | Cisco Technology, Inc. | Locating points of interest using references to media frames within a packet flow |
US8966551B2 (en) | 2007-11-01 | 2015-02-24 | Cisco Technology, Inc. | Locating points of interest using references to media frames within a packet flow |
US8301982B2 (en) | 2009-11-18 | 2012-10-30 | Cisco Technology, Inc. | RTP-based loss recovery and quality monitoring for non-IP and raw-IP MPEG transport flows |
US20110119546A1 (en) * | 2009-11-18 | 2011-05-19 | Cisco Technology, Inc. | Rtp-based loss recovery and quality monitoring for non-ip and raw-ip mpeg transport flows |
US8819714B2 (en) | 2010-05-19 | 2014-08-26 | Cisco Technology, Inc. | Ratings and quality measurements for digital broadcast viewers |
US9148360B2 (en) * | 2010-11-01 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Managing MAC moves with secure port groups |
US20130182722A1 (en) * | 2010-11-01 | 2013-07-18 | Deepak Mysore Vishveswaraiah | Managing mac moves with secure port groups |
US10785093B2 (en) | 2011-03-31 | 2020-09-22 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US9385917B1 (en) | 2011-03-31 | 2016-07-05 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US9001667B1 (en) | 2011-03-31 | 2015-04-07 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US11575559B1 (en) | 2011-03-31 | 2023-02-07 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US12074756B2 (en) | 2011-03-31 | 2024-08-27 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US8661295B1 (en) * | 2011-03-31 | 2014-02-25 | Amazon Technologies, Inc. | Monitoring and detecting causes of failures of network paths |
US20130198411A1 (en) * | 2012-01-27 | 2013-08-01 | Electronics And Telecommunications Research Institute | Packet processing apparatus and method for load balancing of multi-layered protocols |
US9104543B1 (en) | 2012-04-06 | 2015-08-11 | Amazon Technologies, Inc. | Determining locations of network failures |
US8937870B1 (en) | 2012-09-11 | 2015-01-20 | Amazon Technologies, Inc. | Network link monitoring and testing |
US10103851B2 (en) | 2012-09-11 | 2018-10-16 | Amazon Technologies, Inc. | Network link monitoring and testing |
US9712290B2 (en) | 2012-09-11 | 2017-07-18 | Amazon Technologies, Inc. | Network link monitoring and testing |
US9210038B1 (en) | 2013-02-11 | 2015-12-08 | Amazon Technologies, Inc. | Determining locations of network failures |
US9197495B1 (en) | 2013-02-11 | 2015-11-24 | Amazon Technologies, Inc. | Determining locations of network failures |
US20150072236A1 (en) * | 2013-04-19 | 2015-03-12 | CellMotive Co. Ltd. | Metal Foam for Electrode of Secondary Lithium Battery, Preparing Method Thereof, and Secondary Lithium Battery Including the Metal Foam |
US9742638B1 (en) | 2013-08-05 | 2017-08-22 | Amazon Technologies, Inc. | Determining impact of network failures |
US9894074B2 (en) * | 2014-07-03 | 2018-02-13 | Electronics And Telecommunications Research Institute | Method and system for extracting access control list |
US20160006740A1 (en) * | 2014-07-03 | 2016-01-07 | Electronics And Telecommunications Research Institute | Method and system for extracting access control list |
US20160260968A1 (en) * | 2015-03-03 | 2016-09-08 | United States Government, As Represented By The Secretary Of The Army | "B" AND "O" SITE DOPED AB2O4 SPINEL CATHODE MATERIAL, METHOD OF PREPARING THE SAME, AND RECHARGEABLE LITHIUM AND Li-ION ELECTROCHEMICAL SYSTEMS CONTAINING THE SAME |
US10771475B2 (en) | 2015-03-23 | 2020-09-08 | Extreme Networks, Inc. | Techniques for exchanging control and configuration information in a network visibility system |
US10750387B2 (en) | 2015-03-23 | 2020-08-18 | Extreme Networks, Inc. | Configuration of rules in a network visibility system |
CN104809158A (en) * | 2015-03-26 | 2015-07-29 | 小米科技有限责任公司 | Network content filter method and device |
US20160373351A1 (en) * | 2015-06-17 | 2016-12-22 | Brocade Communications Systems, Inc. | Architecture for a network visibility system |
US10911353B2 (en) * | 2015-06-17 | 2021-02-02 | Extreme Networks, Inc. | Architecture for a network visibility system |
US20170092964A1 (en) * | 2015-09-28 | 2017-03-30 | General Electric Company | Fuel cell module including heat exchanger and method of operating such module |
US20180362727A1 (en) * | 2015-11-11 | 2018-12-20 | 3M Innovative Properties Company | Conductive fluoropolymer compositions |
US10739743B2 (en) | 2016-05-09 | 2020-08-11 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11067959B2 (en) | 2016-05-09 | 2021-07-20 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10627795B2 (en) | 2016-05-09 | 2020-04-21 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10551811B2 (en) | 2016-05-09 | 2020-02-04 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10551812B2 (en) | 2016-05-09 | 2020-02-04 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10545472B2 (en) * | 2016-05-09 | 2020-01-28 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial Internet of Things |
US10775758B2 (en) | 2016-05-09 | 2020-09-15 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10775757B2 (en) | 2016-05-09 | 2020-09-15 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10545473B2 (en) | 2016-05-09 | 2020-01-28 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10877449B2 (en) | 2016-05-09 | 2020-12-29 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10539940B2 (en) | 2016-05-09 | 2020-01-21 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10558187B2 (en) | 2016-05-09 | 2020-02-11 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11106188B2 (en) | 2016-05-09 | 2021-08-31 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11126153B2 (en) | 2016-05-09 | 2021-09-21 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11144025B2 (en) | 2016-05-09 | 2021-10-12 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11150621B2 (en) | 2016-05-09 | 2021-10-19 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11163283B2 (en) | 2016-05-09 | 2021-11-02 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11163282B2 (en) | 2016-05-09 | 2021-11-02 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11169497B2 (en) | 2016-05-09 | 2021-11-09 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11175642B2 (en) | 2016-05-09 | 2021-11-16 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US11327455B2 (en) | 2016-05-09 | 2022-05-10 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial Internet of Things |
US11340573B2 (en) | 2016-05-09 | 2022-05-24 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US10528018B2 (en) | 2016-05-09 | 2020-01-07 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
US20190072928A1 (en) * | 2016-05-09 | 2019-03-07 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for the industrial internet of things |
Also Published As
Publication number | Publication date |
---|---|
JP2002051081A (en) | 2002-02-15 |
US20010046229A1 (en) | 2001-11-29 |
US7693149B2 (en) | 2010-04-06 |
EP1158726A3 (en) | 2004-05-12 |
EP1158728A2 (en) | 2001-11-28 |
JP2002051080A (en) | 2002-02-15 |
CN1359217A (en) | 2002-07-17 |
US20060251069A1 (en) | 2006-11-09 |
US20020085560A1 (en) | 2002-07-04 |
JP2002064563A (en) | 2002-02-28 |
CN1278524C (en) | 2006-10-04 |
EP1158724A2 (en) | 2001-11-28 |
JP2002044150A (en) | 2002-02-08 |
EP1158724A3 (en) | 2004-06-23 |
AU4620501A (en) | 2001-11-29 |
US20010053150A1 (en) | 2001-12-20 |
JP2002077269A (en) | 2002-03-15 |
US7075926B2 (en) | 2006-07-11 |
EP1158727A3 (en) | 2004-05-19 |
EP1158726A2 (en) | 2001-11-28 |
EP1158730A3 (en) | 2004-06-30 |
EP1158727A2 (en) | 2001-11-28 |
EP1158728A3 (en) | 2004-05-19 |
EP1158730A2 (en) | 2001-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020016856A1 (en) | Dynamic application port service provisioning for packet switch | |
US8942242B2 (en) | Method and apparatus for self-learning of VPNS from combinations of unidirectional tunnels in MPLS/VPN networks | |
US8537818B1 (en) | Packet structure for mirrored traffic flow | |
US6141755A (en) | Firewall security apparatus for high-speed circuit switched networks | |
US7730521B1 (en) | Authentication device initiated lawful intercept of network traffic | |
US6614795B1 (en) | Network node apparatus and connection set-up method for setting up cut-through connection | |
US7729352B1 (en) | System and method for handling flows in a network | |
US10362132B2 (en) | System and method for diverting established communication sessions on the basis of content | |
US7031297B1 (en) | Policy enforcement switching | |
US20030141093A1 (en) | System and method for routing a media stream | |
US7720073B2 (en) | System and/or method for bidding | |
CA2632579A1 (en) | Electronic message delivery system including a network device | |
US6421734B1 (en) | System for managing dynamic processing resources in a network | |
US8014389B2 (en) | Bidding network | |
MXPA03004670A (en) | Network access system including a programmable access device having distributed service control. | |
US6615358B1 (en) | Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network | |
US10432519B2 (en) | Packet redirecting router | |
US8194701B2 (en) | System and/or method for downstream bidding | |
US20060268905A1 (en) | Method for controlling QoS and QoS policy converter | |
US7643496B1 (en) | Application specified steering policy implementation | |
KR100891208B1 (en) | A method of processing a packet data flow in a packet data network, an apparatus thereof, a system thereof and a computer readable recording medium having a computer program for performing the method | |
US7929443B1 (en) | Session based resource allocation in a core or edge networking device | |
JP2002368787A (en) | Explicit path designation relay device | |
Headquarters | WAN and Application Optimization Solution Guide Cisco Validated Design | |
de Souza Pereira et al. | Layers Optimization Proposal in a Post-IP Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALCATEL INTERNETWORKING (PE), INC., WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TALLEGAS, MATHIEU;CLEAR, DAVID;MICHELS, TIMOTHY S.;AND OTHERS;REEL/FRAME:012154/0948;SIGNING DATES FROM 20010802 TO 20010824 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |