US20110032942A1 - Fast path complex flow processing - Google Patents
Fast path complex flow processing Download PDFInfo
- Publication number
- US20110032942A1 US20110032942A1 US12/906,999 US90699910A US2011032942A1 US 20110032942 A1 US20110032942 A1 US 20110032942A1 US 90699910 A US90699910 A US 90699910A US 2011032942 A1 US2011032942 A1 US 2011032942A1
- Authority
- US
- United States
- Prior art keywords
- flow
- packet
- processing operation
- attributes
- complex
- 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
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
- H04L12/2869—Operational details of access network equipments
- H04L12/287—Remote access server, e.g. BRAS
- H04L12/2876—Handling of subscriber policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5691—Access to open networks; Ingress point selection, e.g. ISP selection
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- 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/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- 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/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- 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/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
Definitions
- Embodiments of the present invention are related to networking systems, and more particularly to a system and method for processing complex flows.
- CPE Customer Premises Equipment
- firewall services cuts into margins and forces significant up-front charges to be imposed on the customer.
- service providers In order to be successful in today's market, service providers must leverage the public network to offer high-value, differentiated services that maximize margins while controlling capital and operational costs. These services must be rapidly provisioned and centrally managed so that time-to-market and, more importantly, time-to-revenue are minimized.
- Traditional methods of data network service creation, deployment, and management present significant challenges to accomplishing these goals, calling for a new network service model to be implemented.
- Enterprise customers are increasingly demanding cost-effective, outsourced connectivity and security services, such as Virtual Private Networks (VPNs) and managed firewall services.
- Enterprise networks are no longer segregated from the outside world; IT managers are facing mounting pressure to connect disparate business units, satellite sites, business partners, and suppliers to their corporate network, and then to the Internet. This raises a multitude of security concerns that are often beyond the core competencies of enterprise IT departments. To compound the problem, skilled IT talent is an extremely scarce resource. Service providers, with expert staff and world-class technology and facilities, are well positioned to deliver these services to enterprise customers.
- a packet associated with a complex flow is received by a virtual router (VR) of a VR-based switch.
- the VR causes an Internet Protocol (IP) flow cache architecture of the VR-based switch to perform a first flow-based packet classification based on a first set of attributes of the packet.
- IP Internet Protocol
- a first flow processing operation is identified by performing a first flow cache lookup based on the first flow-based packet classification and the first flow processing operation is performed on the packet.
- the VR causes the IP flow cache architecture to perform a second flow-based packet classification of the packet based on a second set of attributes of the packet.
- a second flow processing operation is identified by performing a second flow cache lookup based on the second flow-based packet classification and the second flow processing operation is performed on the packet.
- the packet is sent to an egress interface of the VR-based switch.
- FIG. 1 is a block diagram illustrating an IP Service Delivery Platform in accordance with an embodiment of the present invention.
- FIG. 2 conceptually illustrates a POP access infrastructure in accordance with a network-based managed firewall service model of an embodiment of the present invention.
- FIG. 3 is a block diagram illustrating various services and functional units of an IPNOS in accordance with an embodiment of the present invention.
- FIG. 4 conceptually illustrates interactions among various Object Manager layers in accordance with an embodiment of the present invention.
- FIG. 5 conceptually illustrates an exemplary mapping of virtual routers onto processor elements.
- FIG. 6 conceptually illustrates segmentation of a switch across a number of different subscribers in accordance with an embodiment of the present invention.
- FIG. 7 is a block diagram illustrating two sub-layers of the network layer of the protocol stack in accordance with an embodiment of the present invention.
- FIG. 8 conceptually illustrates inter-module transfers during firewall flow processing in accordance with an embodiment of the present invention.
- FIG. 9 illustrates packet fragmentation and header content in accordance with an embodiment of the present invention.
- FIGS. 10 , 11 , 12 and 13 conceptually illustrate various forward and reverse flow scenarios in accordance with an embodiment of the present invention.
- FIG. 14 conceptually illustrates multi-point-to-point (MP-P) operation in accordance with an embodiment of the present invention.
- FIG. 15 is a flow diagram illustrating a process of allocating network resources in accordance with an embodiment of the present invention.
- FIG. 16 conceptually illustrates the performance of multiple flow cache lookups for complex flows in accordance with an embodiment of the present invention.
- IP Service Delivery Platform 10 includes three distinct components: an intelligent, highly scalable IP Service Processing Switch 12 , a comprehensive Service Management System (SMS) 14 and a powerful Customer Network Management (CNM) system 16 .
- SMS Service Management System
- CCM Customer Network Management
- SMS Service Management System
- CCM Customer Network Management
- the service provider replaces the high-capacity access concentration router at the POP with an IP Service Processing Switch 12 .
- This is a higher-capacity, more robust, and more intelligent access switch, with scalable processing up to 100+ RISC CPUs.
- additional customer access capacity is added via installing additional port access blades to the IP Service Processing Switch chassis. Unlike conventional access routers, however, additional processor blades can be added to switch 12 to ensure wire-speed performance and service processing.
- IP Service Processing Switch 12 eliminates the need to deploy CPE devices at each protected customer site. Deployment, configuration, and management of the managed firewall service all take place between IP Service Processing Switch 12 and its Service Management System 14 .
- Service Management System 14 resides on a high-end UNIX platform at the service provider NOC.
- the customer has the ability to initiate service provisioning and augmentation via a web-based Customer Network Management tool residing, e.g., at the customer's headquarters site.
- a web-based Customer Network Management tool residing, e.g., at the customer's headquarters site. This is an entirely different service delivery paradigm, requiring little or no truck rolls and little or no on-site intervention.
- switch 12 is a 26-slot services processing switch that marries scalable switching, routing and computing resources with an open software architecture to deliver computationally-intense IP services such as VPNs with scalable high performance.
- switch 12 has a high-speed 22 Gbps redundant dual counter-rotating ring midplane. Slots are configured with four types of Service Blades: Control, Access, Trunk and Processor blades with specialized processing which enables a range of high-performance services including route forwarding, encryption and firewalls.
- Switch 12 can use switch 12 's virtual routing capabilities, and its ability to turn IP services into discrete and customized objects, to segment and layer services for the first time for tens of thousands of discrete subscriber corporations.
- processor capacity can be added to switch 12 by adding new processor blades.
- switch 12 includes an operating system which dynamically distributes services to switch 12 processors.
- the 26-slot services processing switch corrects for failures using the redundant counter-rotating ring midplane.
- each Service Blade automatically fails-over to a backup.
- a switch 12 is described in U.S. patent application Ser. No. 09/661,637, filed on Sep. 13, 2000, now U.S. Pat. No. 7,44,398, which is hereby incorporated by reference in its entirety for all purposes.
- switch 12 is designed to integrate seamlessly into a SP's preexisting network, whether that be through support of open routing protocols or through its Frame Relay to IPSec interworking solution that integrates new IP-based networks into a corporation's preexisting Frame Relay cloud.
- switch 12 includes a network operating system (NOS) 20 .
- NOS network operating system
- network operating system 20 enables switch 12 to create discrete customized services to specific subscriber corporations by providing them each with a different configuration of service object groups.
- NOS 20 enables objects within these object groups to be distributed dynamically to customized processors so that application services are receiving the right level of computational support.
- NOS 20 is designed as an open Application Program Interface (API) that allows general-purpose software or new advanced IP services to be ported into the platform from best of breed third parties in a continual fashion, helping to enrich service provider' investment over time.
- API Application Program Interface
- NOS 20 includes a distributed messaging layer (DML) 22 component, an object manager (OM) component 24 layered over DML, control blade redundancy (CBR) 26 for redundant system controllers, a resource manager (RM) 28 for managing separate resource elements and a resource location service (RLS) 30 .
- DML distributed messaging layer
- OM object manager
- CBR control blade redundancy
- RM resource manager
- RLS resource location service
- Resource location service 30 provides load balancing across capable processor elements (PEs) to create an object. PE selection is based on predefined constraints.
- CBR 26 is layered over DML 22 and OM 24 as shown in FIG. 3 .
- Object Manager 24 consists of three layers as shown on FIG. 4 .
- the upper layer titled OM Controller and Database (OMCD) 40 is concerned with managing the VPN and VR configuration. This is the agent that deals with the configuration manager directly.
- Middle layer 42 entitled OM Object Routing and Interface Global is concerned with managing global (across the switch system) object groups and object configurations.
- Lower layer 44 entitled OM Object Routing and Interface (OMORI) is concerned with managing local objects and groups as well as routing control information between address spaces based on the location of objects, and interfacing with the object via method invocation.
- the IPSX object database consists of two types of databases: Global (managed on Master Control Blade by OMORIG) and distributed local databases (managed by OMORI agents on every PE present in the system).
- Global managed on Master Control Blade by OMORIG
- distributed local databases manufactured by OMORI agents on every PE present in the system.
- the global database is a superset of the extracts from local databases.
- objects represent a basic unit of management for purposes of fault tolerance, computational load balancing, etc.
- One or more adjacent protocol modules can be placed into a single object.
- a module can be split across two objects.
- VRs virtual routers
- each VR is logical mirror of a stand-alone hardware router.
- the virtual router (VR) construct is at the heart of the system 10 service segmentation and layering method.
- a VR has its own route-forwarding table.
- each VR manages a defined set of routing protocols and supports a number of interfaces.
- VRs support not only physical interfaces, but also Virtual Interfaces (VIs). This enables communication between VRs within the same switch 12 .
- VIPs Virtual Interfaces
- each switch 12 can support up to 10,000 VRs per switch.
- the system VR (ISPX VR) is no different than any other VR in its make-up. It differs from the other VRs, however, in that it is the router that aggregates traffic from all other VRs and forwards it out to another switch 12 or out to the Internet.
- the ISPX VR performs routing protocol isolation, for instance by interacting with the core via BGP-4, while running OSPF or RIP to a subscriber VR. It also allows the system to optimize resources, by keeping the subscriber VR routing tables small.
- a virtual router performs functions similar to a real/normal router.
- One or more VR would be setup for a subscriber. And like a normal router, VR will route IP traffic for the assigned customer.
- VPNs virtual private networks
- a VPN primarily comprises of Virtual Routers (VR) and Virtual Interfaces (VI).
- service and performance characteristics of a VPN are captured in a Service Level Agreement (SLA) associated with the VPN.
- SLA Service Level Agreement
- a virtual router can have multiple interfaces associated with it. These interfaces are termed Virtual Network Connections (VNC) or Virtual Interfaces (VI).
- VNC Virtual Network Connections
- VI Virtual Interfaces
- a VNC or VI corresponds to only one side of a network connection. Virtual Interfaces represent either connection end points for a subscriber or a connection between two virtual routers.
- a VI mostly captures the network layer properties of an interface (one example of such a property of a VI is its IP address).
- a VI is mapped to either a Logical Interface or another VI.
- each VNC/VI is characterized by bandwidth, latency, services, and a set of prioritized queues.
- VI Bandwidth is measured in bits per second (bps) and is the average number of bits per second transmitted over the VI during a sampling interval. Maximum absolute bandwidth may be set to enforce QOS commitments first then use additional capacity for overflow burst traffic. VI bandwidth can be a multiple of 56 Kbps or 64 Kbps.
- VNC/VI Services include Application Firewall, Packet Filter, Encryption, NAT, Tunnel Termination, Tunnel origination and authentication (identification of the Virtual RADIUS Server), certificate authority, Accounting. Multiple VNC Services may be configured for the same VNC, directly from the VPN Manager.
- VNC/VI Queues are used to prioritize different traffic types within a VNC.
- Each VNC Queue is characterized by bandwidth, latency, and traffic type. The sum of the bandwidth allocated on all VNC Queues for a particular VNC is equal to the VNC Bandwidth for that VNC.
- IP data traffic authorized for a particular VPN Queue is identified by using one or more of the following parameters: Source IP Network Address, Destination IP Network Address, IP Protocol Type, Port # and the Differentiated Services Byte.
- a VI may be mapped into a Logical Interface (L1).
- L1 can be a PPP link, a PVC or SVC of FrameRelay or ATM, an Ethernet or an IP tunnel etc.
- a LI may be mapped into a physical interface; it is not mandatory for every LI to be mapped to a physical interface.
- a subscriber's access to each VPN is captured using a Logical Interface (LI) terminating on an Access Blade port.
- LI Logical Interface
- One or more VRs are created and associated with a VPN to route subscribers IP traffic as per the subscriber requirements.
- a subscriber's LI terminating on an Access Blade port is linked with a VR using a Virtual Interface (VI).
- VIP Virtual Interface
- One or more virtual network connections (VNCs) are associated with Vis to define subscriber's connectivity to the other end, which for example could be internet, intranet; subscribers regional office etc.
- Internet Access VNCs may be used to connect a subscriber's VPN Router to the ISP's Internet backbone, thereby providing users at the subscriber premise with secure, dedicated Internet access.
- VPN Intranet VNCs may be used to connect different subscriber locations securely across an IP backbone or the Internet.
- VPN Extranet VNCs may be used to connect a subscriber's VPN Router to the VPN Router of another corporation or community of interest to allow access between the entities.
- VPN RAS VNCs may be used to connect a subscriber's VPN router to an ISP's dial-up remote access server (such as Ascend MAX, Cisco 5800, etc.).
- the remote access servers (RAS) and/or the dial-in client initiates either a PPTP or L2TP tunnel to the Orion, with or without encryption.
- FIG. 5 shows a blade 28 having four processor elements (PEs) 30 .
- Each processor element 30 includes a CPU and memory.
- each PE 30 is connected to the other PEs 30 and to the rest of switch 12 through connection fabric 32 .
- two virtual routers 34 are mapped on blade 28 . It should be noted that, in one embodiment, more than one virtual router can be mapped to a single PE 30 , and vice versa. Blade 28 can, therefore, be a shared resource among two or more subscribers.
- switch 12 The segmenting of switch 12 across a number of different subscribers is shown in FIG. 6 .
- each VR is divided into a discrete object group, which has many functions and services associated with it; for instance routing, packet filtering and firewall each are individual objects.
- NA T Network Address Translation
- VR Virtual Routers
- VI Virtual Interfaces
- AKA services the permissible transformations of the packet flows.
- NOS 20 still, however, has to provide mechanisms to efficiently direct packets from ingress port through protocol stack to Application service thread.
- the OS also has to provide mechanisms to efficiently direct packets from Application service thread through protocol stack to egress port.
- the configured VR/VI system defines a semi-static topology within the device boundary (which hereafter is referred to as the Configured Topology). Based on traffic patterns, the configured topology could induce a dynamic topology comprising of shortcuts (which hereafter is referred to as the Flow Topology).
- NOS 20 supports a dynamic flow based topology as discussed below.
- the nominal Protocol Stack configuration places topological constraints on packet flows. First, the standard protocol profile and related topology will be described. Then, the issues that arise when the protocol stack is distributed are described.
- Packet Flow All packets with a common set of attributes comprises a packet flow. Depending on the attributes, the flow may be L3 or L4 flow.
- Layer 3 Flow Only Layer 3 attributes are used to identify a packet flow.
- the Layer 3 attributes used are ⁇ Destination IP Address, Source IP Address, IP Protocol>.
- L4 Flow When possible, both Layer 3 and Layer 4 attributes are used to identify a packet flow. Typically, multiple L4 flows comprise a single L3 flow. If the IP Protocol is TCP or UDP the Layer 4 attributes used are ⁇ Destination Port, Source Port>.
- Routing Table A common table of routing information that is used by Routing Protocols (e.g. BGP, OSPF, ISIS, RIP). The entries are usually tagged with origin, routing protocol attributes etc. This is also known as RIB (Routing Information Base).
- RIB Ring Information Base
- Forming Table A table of best next-hop for prefixes, consulted in the packet forwarding function and derived from the Routing Table. This is also known as FIB (Forwarding Information Base).
- Flow Topology Based on the actual dynamic flow of L3 and L4 packets a graph of software/services and the communication links between the software/services can be constructed. This graph is the flow topology. The flow topology is derived from and would be a sub-graph of the configured topology if shortcuts are not employed. When shortcuts are employed, there is no direct graph theoretic correlation between the configured and flow topologies.
- the Network layer is the loci of all packets received, sent or forwarded.
- the network layer i.e. IP itself
- IP Interfaces are the link service access points (LSAP in OSI-speak).
- L3 flows For IP, a packet flow is identified by ⁇ Source, Destination, Protocol>. These will be referred to as L3 flows. These attributes of a packet are preserved across all packet fragments. Preserve the temporal order of L3 flows received on an IP Interface. This reduces the resequencing delay of stream based protocols (such as TCP). Many datagram based applications are intolerant of packet re-ordering (which is not unreasonable if the application is transported via a UDP tunnel without order preservation guarantees).
- IP Packet ID which is critical for packet fragmentation and reassembly, should be unique within a L3 flow originating from local applications. (This is actually required by RFC-791, Section 2.3, page 8).
- Packet forwarding needs to consult the Forwarding Table or Forwarding Information Base (FIB). Most implementations maintain a single forwarding table. High performance implementations typically maintain multiple synchronized instances of the forwarding table.
- FIB Forwarding Information Base
- the processing sequence is:
- IP Local sends packet to subscriber
- IP Fwd module Subscriber IP Fwd forwards it to ISP IP Fwd module
- ISP IP Fwd module sends it to ISP line interface
- steps 2, 3, 4, 5, 6 require an inter-PE transfer. Each of these steps may represent a backplane crossing.
- the receiver may receive the fragments in arbitrary order. Thus the receiver may only use ⁇ Source, Destination, Protocol> to determine the packet flow. The receiver can not create per packet flow state which uses the ID field to decide on the L4 flow for all fragments on the false assumption that the first fragment contains L4 information.
- Fragmented packets are reassembled before the L4 flow can be inferred. This has implications for L4 oriented services like NAT. For NAT to work correctly, the gateway must reassemble every fragmented packet before it can perform its packet transformation. This is a tremendous burden and many NAT implementations (including IPSX) simply do not transform the fragments subsequent to the first.
- the forward flows are shown as originating at a Subscriber interface and ending at an ISP interface in the upper half of FIGS. 10-13 .
- the reverse flow is shown in the lower half of each figure.
- objects communicate with each other in 1 of 2 ways—namely Object IOCTLs and Object Channels.
- the Object Channel is point-to-point (P-P), light weight inter-object communication transport. This maps well into the Configured Topology.
- MP-P multi-point-to-point
- MP-P can be constructed in parallel to the P-P Object Channel. This permits the co-existence of the 2 communication models. This is shown in FIG. 14 .
- Both ends of a P-P use the initialization function obj_init_channel( ).
- the initialization function is obj_mpp_tx_init_channel( ).
- the initialization function is obj_mpp_rx_init_channel( ).
- CEP 1 is initialized as both an MP-P receiver and as a P-P receiver/sender. When CEP 1 was initialized as an MP-P receiver, it got assigned a globally unique address.
- CEP 2 is initialized solely as a P-P receiver/sender.
- CEP 10 and 11 are initialized as MP-P sender with target address of CEP 1 's MP-P address. Note that a MP-P sender can not be initialized as a P-P receiver/sender. Additionally, modules that have CEP 1 's MP-P address cans send anonymously.
- the IP Forwarding agent uses the Forwarding Information Base (FIB) to make its forwarding decision.
- FIB Forwarding Information Base
- VR Virtual Router
- IP Forwarding agents This requires the IP Forwarding agents to maintain a Replicated FIB.
- the Replicated FIB need not be constrained to only IP Forwarding agents within a VR.
- a Replicated FIB may be used by other objects of a VR to make forwarding decisions to support shortcuts.
- FIG. 8 shows one possible functional decomposition of NOS 20 functionally distributed protocol stack. The functional decomposition simply cuts the protocol stack at convenient horizontal planes with no duplication of function.
- a different functional decomposition of the protocol stack is proposed. This will duplicate functionality in multiple objects.
- Table 1 contrasts the assignment of functionality to objects under the two models of Distributed Protocol Stack. It is a logical extension of the VR flow cache that is employed to speed up packet forwarding.
- Object Manager 24 consists of three layers as shown on FIG. 4 .
- the upper layer titled OM Controller and Database (OMCD) 40 is concerned with managing the VPN and VR configuration. This is the agent that deals with the configuration manager directly.
- Middle layer 42 entitled OM Object Routing and Interface Global is concerned with managing global (across the switch system) object groups and object configurations.
- Lower layer 44 entitled OM Object Routing and Interface (OMORI) is concerned with managing local objects and groups as well as routing control information between address spaces based on the location of objects, and interfacing with the object via method invocation.
- the IPSX object database consists of two types of databases: Global (managed on Master Control Blade by OMORIG) and distributed local databases (managed by OMORI agents on every PE present in the system).
- Global managed on Master Control Blade by OMORIG
- distributed local databases manufactured by OMORI agents on every PE present in the system.
- the global database is a superset of the extracts from local databases.
- Objects represent a basic unit of management for purposes of fault tolerance, computational load balancing, etc.
- One or more adjacent protocol modules can be placed into a single object. It is also possible that a module is split across two objects.
- a configuration management system connected to OMCD 40 is used to configure the VPNs and VRs as shown in Appendix A and is described in U.S. patent application Ser. No. 09/663,485, filed Sep. 13, 2000, now U.S. Pat. No. 7,272,643, which is incorporated herein by reference in its entirety for all purposes.
- System 10 instead of deploying CPE firewalls remotely at the enterprise subscriber site, System 10 provides Network Associates, Incorporated's (NAI's) Gauntlet Application Proxy Firewalls from the SP POP where they can be centrally managed and supported. NOS 20 is the foundation that enables third-party applications like Gauntlet to be delivered on switch 12 .
- NAI's Network Associates, Incorporated's
- the application proxy firewall model offers far superior security control because it provides full application-level awareness of attempted connections by examining everything at the highest layer of the protocol stack.
- Gauntlet Once NAI's Gauntlet Application Proxy Firewall is configured, it offers the most robust form of access control on the market. Gauntlet lets access control policies to be established at Layer 7 and thus enables specific application-based rules to be made. For instance, users coming into the network from the Internet are allowed to do an FTP “get,” but not a “put.” Additionally, because the Gauntlet firewall is a proxy solution that acts as the intermediary, preventing the end-stations from communicating directly with the firewall. As a result, this solution offers significantly better protection against OS directed denial of service attacks. Another important aspect of the Application Proxy Firewall is the incremental services provided by switch 12 such as Intrusion Detection and Anti-virus scanning, which are not available in firewall application models such as stateful inspection.
- FIG. 15 is a flow diagram illustrating a process of allocating network resources in accordance with an embodiment of the present invention.
- a virtual router (VR)-based switch configured for operation at an Internet point-of-presence (POP) of a service provider is provided.
- POP Internet point-of-presence
- a network operating system is provided on each of the processing elements of the VR-based switch.
- resources of the VR-based switch are segmented among multiple subscribers.
- the resources are segmented between a first subscriber of the service provider and a second subscriber of the service provider.
- a first set of VRs of the VR-based switch are associated with the first subscriber.
- a second set of VRs of the VR-based switch are associated with the second subscriber.
- a system VR is defined within the VR-based switch.
- the system VR may aggregate traffic from the first set of VRs and the second set of VRs and transfer the aggregated traffic across the Internet.
- the first set of VRs are mapped onto a first set of processing elements (PEs) of the VR-based switch.
- PEs processing elements
- the first set of VRs are mapped onto a first set of PEs of the VR-based switch. According to one embodiment, at least one of the first set of VRs spans two or more of the PEs of the VR-based switch.
- the second set of VRs are mapped onto a second set of PEs of the VR-based switch.
- a shared processing element is part of the first set of PEs and the second set of PEs.
- at least one of the second set of VRs spans two or more of the PEs of the VR-based switch.
- a first set of customized services is configured to be provided by the VR-based switch on behalf of the first subscriber.
- a first service object group is allocated to the first set of VRs.
- the first service object group may include a service object corresponding to each service of the first set of customized services and the service objects may be dynamically distributed by the NOS to customized processors of the first set of PEs to achieve desired computational support.
- the first set of customized services includes various combinations of firewalling, virtual private networking, encryption, traffic shaping, routing and network address translation (NAT).
- a second set of customized services is configured to be provided by the VR-based switch on behalf of the second subscriber.
- a second service object group is allocated to the second set of VRs.
- the second service object group may include a service object corresponding to each service of the second set of customized services and the service objects may be dynamically distributed by the NOS to customized processors of the second set of PEs to achieve desired computational support.
- the second set of customized services includes various combinations of firewalling, virtual private networking, encryption, traffic shaping, routing and network address translation (NAT).
- a first configured topology is defined among the first set of VRs by configuring virtual interfaces (VIs) of the first set of VRs to provide desired paths for packet flows associated with the first subscriber and permissible transformations of the packet flows associated with the first subscriber.
- VIPs virtual interfaces
- a second configured topology is defined among the second set of VRs by configuring virtual interfaces (VIs) of the second set of VRs to provide desired paths for packet flows associated with the second subscriber and permissible transformations of the packet flows associated with the second subscriber.
- VIPs virtual interfaces
- FIG. 16 conceptually illustrates the performance of multiple flow cache lookups for complex flows in accordance with an embodiment of the present invention.
- Complex flows including, but not limited to, strict L3 flows, tunneled flows and encrypted flows add another level of complexity to flow processing.
- a packet's L3 and L4 attributes transform from one type to the other.
- the IP flow cache architecture applies packet classifications multiple times as the L3 and L4 attributes change. This results in multiple cache lookups for the same ingress flow and enables a VR to finish processing of packets through cache operations only, whereas traditional routers would normally switch to the slow path (i.e., exception processing) to process more complex packet flows.
- processing of ingress flow 1610 involves three lookups into flow cache 1600 .
- the first cache lookup 1611 results in a cache flow hit that identifies a cache flow entry 1601 directing the VR to reassemble the fragmented packets.
- the second cache lookup results in a cache flow hit 1612 that identifies a cache flow entry 1602 directing the VR to decrypt the IPSec tunneled packet.
- the third cache lookup results in a cache flow hit 1613 that identifies a cache flow entry 1603 directing the VR to forward the inner IP packet.
- each packet associated with a complex flow such as ingress flow 1610 , is processed through operations defined only by the flow cache 1600 thereby avoiding slow path processing.
- the service provider's security staff consults with the customer in order to understand the corporate network infrastructure and to develop appropriate security policies (Note: this is a similar process to the CPE model).
- the NOC security staff remotely accesses the IP Service Processing Switch (using the Service Management System) at the regional POP serving the enterprise customer, and the firewall service is provisioned and configured remotely.
- IP Service Processing Switch using the Service Management System
- the firewall service is provisioned and configured remotely.
- Firewall inspection and access control functions take place at the IP Service Processing Switch and across the WAN, while the enterprise's secure leased line or Frame Relay PVC access link remains in place.
- the customer interface is between its router and the IP Service Processing Switch (acting as an access router), just as it was prior to the rollout of the managed firewall service. Additionally, the customer has visibility into and control over its segment of the network via the CNM that typically resides at the headquarters site.
- the network-based firewall model also enables service providers to quickly and cost-effectively roll out managed firewall solutions at all enterprise customer sites. As a result, secure Internet access can be provided to every site, eliminating the performance and complexity issues associated with backhauling Internet traffic across the WAN to and from a centralized secure access point.
- IP Service Delivery Platform is designed to enable value-added public network services, it is a carrier-grade system that is more robust and higher-capacity than traditional access routers, and an order of magnitude more scaleable and manageable than CPE-based systems.
- the platform's Service Management System enables managed firewall services, as well as a host of other managed network services, to be provisioned, configured, and managed with point-and-click simplicity, minimizing the need for expensive, highly skilled security professionals and significantly cutting service rollout lead-times.
- the Service Management System is capable of supporting a fleet of IP Service Processing Switches and tens of thousands of enterprise networks, and interfaces to the platform at the POP from the NOC via IP address. Support for incremental additional platforms and customers is added via modular software add-ons. Services can be provisioned via the SMS system's simple point and click menus, as well as requested directly by the customer via the CNM system.
- IP Service Delivery Platform in the carrier network enables service providers to rapidly turn-up high value, managed network-based services at a fraction of the capital and operational costs of CPE-based solutions. This enables service providers to gain a least-cost service delivery and support structure. Additionally, it enables them to gain higher margins and more market share than competitors utilizing traditional service delivery mechanisms—even while offering managed firewall services at a lower customer price point.
- Managed, network-based firewall services provide the same feature/functionality of a CPE-based service while greatly reducing capital and operational costs, as well as complexity.
- the managed, network-based firewall service model enables WAN service providers to minimize service creation and delivery costs. This model virtually eliminates the need for onsite installation, configuration, and troubleshooting truck rolls, drastically reducing operational costs. This lower cost structure creates opportunities to increase revenues and/or gain market share by value-pricing the service. Services can be rapidly provisioned via a centralized services management system, shortening delivery cycles and enabling service providers to begin billing immediately. Additional services can be rapidly crafted and deployed via the same efficient delivery mechanism.
- the network-based service model is a rapid and cost-effective way for service providers to deploy high-value managed firewall solutions.
- This model requires a comprehensive service delivery platform consisting of robust network hardware, an intelligent and scaleable services management system, and a feature-rich Customer Network Management (CNM) tool to mitigate customers' fears of losing control of network security.
- CCM Customer Network Management
- computer is defined to include any digital or analog data processing unit. Examples include any personal computer, workstation, set top box, mainframe, server, supercomputer, laptop or personal digital assistant capable of embodying the inventions described herein.
- Examples of articles comprising computer readable media are floppy disks, hard drives, CD-ROM or DVD media or any other read-write or read-only memory device.
Abstract
Methods and systems for processing complex flows are provided. According to one embodiment, a packet associated with a complex flow is received. A first flow-based packet classification is performed based on a first set of attributes of the packet. A first flow processing operation is identified by performing a first flow cache lookup based on the first flow-based packet classification and the first flow processing operation is performed on the packet. After performing the first flow processing operation on the packet, a second flow-based packet classification of the packet is performed based on a second set of attributes of the packet. A second flow processing operation is identified by performing a second flow cache lookup based on the second flow-based packet classification and the second flow processing operation is performed on the packet. Finally, the packet is sent to an egress interface.
Description
- This application is a continuation of U.S. patent application Ser. No. 12/140,249, filed Jun. 16, 2008, which is a continuation of U.S. patent application Ser. No. 09/661,130, filed Sep. 13, 2000, now U.S. Pat. No. 7,389,358, both of which are hereby incorporated by reference in their entirety for all purposes.
- Embodiments of the present invention are related to networking systems, and more particularly to a system and method for processing complex flows.
- Internet or WAN service providers are operating in a crowded marketplace where cost effectiveness is critical. Operational costs present a significant challenge to service providers. Cumbersome, manual provisioning processes are the primary culprits. Customer orders must be manually entered and processed through numerous antiquated back-end systems that have been pieced together. Once the order has been processed, a truck roll is required for onsite installation and configuration of Customer Premises Equipment (CPE), as well as subsequent troubleshooting tasks.
- Presently, the delivery of firewall services requires the deployment of a specialized piece of Customer Premises Equipment (CPE) to every network to be protected. This model of service delivery creates an expensive up-front capital investment, as well as significant operational expenses that are associated with onsite installation and management of thousands of distributed devices. The results are service delivery delays, increased customer start-up costs and/or thinner service provider margins.
- The slow and expensive process of deploying firewall services cuts into margins and forces significant up-front charges to be imposed on the customer. In order to be successful in today's market, service providers must leverage the public network to offer high-value, differentiated services that maximize margins while controlling capital and operational costs. These services must be rapidly provisioned and centrally managed so that time-to-market and, more importantly, time-to-revenue are minimized. Traditional methods of data network service creation, deployment, and management present significant challenges to accomplishing these goals, calling for a new network service model to be implemented.
- Enterprise customers are increasingly demanding cost-effective, outsourced connectivity and security services, such as Virtual Private Networks (VPNs) and managed firewall services. Enterprise networks are no longer segregated from the outside world; IT managers are facing mounting pressure to connect disparate business units, satellite sites, business partners, and suppliers to their corporate network, and then to the Internet. This raises a multitude of security concerns that are often beyond the core competencies of enterprise IT departments. To compound the problem, skilled IT talent is an extremely scarce resource. Service providers, with expert staff and world-class technology and facilities, are well positioned to deliver these services to enterprise customers.
- Methods and systems are described for processing complex flows. According to one embodiment, a packet associated with a complex flow is received by a virtual router (VR) of a VR-based switch. The VR causes an Internet Protocol (IP) flow cache architecture of the VR-based switch to perform a first flow-based packet classification based on a first set of attributes of the packet. A first flow processing operation is identified by performing a first flow cache lookup based on the first flow-based packet classification and the first flow processing operation is performed on the packet. After performing the first flow processing operation on the packet, the VR causes the IP flow cache architecture to perform a second flow-based packet classification of the packet based on a second set of attributes of the packet. A second flow processing operation is identified by performing a second flow cache lookup based on the second flow-based packet classification and the second flow processing operation is performed on the packet. Finally, the packet is sent to an egress interface of the VR-based switch.
- Other features of embodiments of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
- Embodiments of the present invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
-
FIG. 1 is a block diagram illustrating an IP Service Delivery Platform in accordance with an embodiment of the present invention. -
FIG. 2 conceptually illustrates a POP access infrastructure in accordance with a network-based managed firewall service model of an embodiment of the present invention. -
FIG. 3 is a block diagram illustrating various services and functional units of an IPNOS in accordance with an embodiment of the present invention. -
FIG. 4 . conceptually illustrates interactions among various Object Manager layers in accordance with an embodiment of the present invention. -
FIG. 5 conceptually illustrates an exemplary mapping of virtual routers onto processor elements. -
FIG. 6 conceptually illustrates segmentation of a switch across a number of different subscribers in accordance with an embodiment of the present invention. -
FIG. 7 is a block diagram illustrating two sub-layers of the network layer of the protocol stack in accordance with an embodiment of the present invention. -
FIG. 8 conceptually illustrates inter-module transfers during firewall flow processing in accordance with an embodiment of the present invention. -
FIG. 9 illustrates packet fragmentation and header content in accordance with an embodiment of the present invention. -
FIGS. 10 , 11, 12 and 13 conceptually illustrate various forward and reverse flow scenarios in accordance with an embodiment of the present invention. -
FIG. 14 conceptually illustrates multi-point-to-point (MP-P) operation in accordance with an embodiment of the present invention. -
FIG. 15 is a flow diagram illustrating a process of allocating network resources in accordance with an embodiment of the present invention. -
FIG. 16 conceptually illustrates the performance of multiple flow cache lookups for complex flows in accordance with an embodiment of the present invention. - In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
- Some portions of the detailed descriptions which follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar computing device, that manipulates and transforms data represented as physical (e.g., electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
- While IT managers clearly see the value in utilizing managed network services, there are still barriers to adoption. Perhaps the most significant of these is the fear of losing control of the network to the service provider. In order to ease this fear, a successful managed network service offering must provide comprehensive visibility to the customer, enabling them to view configurations and performance statistics, as well as to request updates and changes. By providing IT managers with powerful Customer Network Management (CNM) tools, one can bolsters confidence in the managed network service provider and can actually streamline the service provisioning and maintenance cycle.
- While service providers recognize the tremendous revenue potential of managed firewall services, the cost of deploying, managing and maintaining such services via traditional CPE-based methods is somewhat daunting. Service providers are now seeking new service delivery mechanisms that minimize capital and operational costs while enabling high-margin, value-added public network services that are easily provisioned, managed, and repeated. Rolling out a network-based managed firewall service is a promising means by which to accomplish this. Deploying an IP Service Delivery Platform in the service provider network brings the intelligence of a managed firewall service out of the customer premises and into the service provider's realm of control.
- One such IP
Service Delivery Platform 10 is shown inFIG. 1 . In the embodiment shown inFIG. 1 , IPService Delivery Platform 10 includes three distinct components: an intelligent, highly scalable IPService Processing Switch 12, a comprehensive Service Management System (SMS) 14 and a powerful Customer Network Management (CNM)system 16. Service Management System (SMS) 14 is used to enable rapid service provisioning and centralized system management. Customer Network Management (CNM)system 16 provides enterprise customers with detailed network and service performance systems, enable self-provisioning. At the same time,system 16 eases IT managers' fears of losing control of managed network services. - In one embodiment, such as is shown in
FIG. 2 for a network-based managed firewall service model, the service provider replaces the high-capacity access concentration router at the POP with an IPService Processing Switch 12. This is a higher-capacity, more robust, and more intelligent access switch, with scalable processing up to 100+ RISC CPUs. Just as with the access router, additional customer access capacity is added via installing additional port access blades to the IP Service Processing Switch chassis. Unlike conventional access routers, however, additional processor blades can be added to switch 12 to ensure wire-speed performance and service processing. - The intelligence resident in IP
Service Processing Switch 12 eliminates the need to deploy CPE devices at each protected customer site. Deployment, configuration, and management of the managed firewall service all take place between IPService Processing Switch 12 and itsService Management System 14. In the embodiment shown inFIG. 2 ,Service Management System 14 resides on a high-end UNIX platform at the service provider NOC. - In one embodiment, the customer has the ability to initiate service provisioning and augmentation via a web-based Customer Network Management tool residing, e.g., at the customer's headquarters site. This is an entirely different service delivery paradigm, requiring little or no truck rolls and little or no on-site intervention.
- In one embodiment, switch 12 is a 26-slot services processing switch that marries scalable switching, routing and computing resources with an open software architecture to deliver computationally-intense IP services such as VPNs with scalable high performance. In one embodiment, switch 12 has a high-
speed 22 Gbps redundant dual counter-rotating ring midplane. Slots are configured with four types of Service Blades: Control, Access, Trunk and Processor blades with specialized processing which enables a range of high-performance services including route forwarding, encryption and firewalls. - Service providers can use
switch 12's virtual routing capabilities, and its ability to turn IP services into discrete and customized objects, to segment and layer services for the first time for tens of thousands of discrete subscriber corporations. In addition, processor capacity can be added to switch 12 by adding new processor blades. - In one
embodiment switch 12 includes an operating system which dynamically distributes services to switch 12 processors. - In one embodiment, the 26-slot services processing switch corrects for failures using the redundant counter-rotating ring midplane.
- In one embodiment, each Service Blade automatically fails-over to a backup. One embodiment of a
switch 12 is described in U.S. patent application Ser. No. 09/661,637, filed on Sep. 13, 2000, now U.S. Pat. No. 7,44,398, which is hereby incorporated by reference in its entirety for all purposes. - In one embodiment, switch 12 is designed to integrate seamlessly into a SP's preexisting network, whether that be through support of open routing protocols or through its Frame Relay to IPSec interworking solution that integrates new IP-based networks into a corporation's preexisting Frame Relay cloud.
- The operating system will be described next.
- In one embodiment, switch 12 includes a network operating system (NOS) 20. In one embodiment,
network operating system 20 enablesswitch 12 to create discrete customized services to specific subscriber corporations by providing them each with a different configuration of service object groups.NOS 20 enables objects within these object groups to be distributed dynamically to customized processors so that application services are receiving the right level of computational support. - In one embodiment,
NOS 20 is designed as an open Application Program Interface (API) that allows general-purpose software or new advanced IP services to be ported into the platform from best of breed third parties in a continual fashion, helping to enrich service provider' investment over time. - In one embodiment,
NOS 20 includes a distributed messaging layer (DML) 22 component, an object manager (OM)component 24 layered over DML, control blade redundancy (CBR) 26 for redundant system controllers, a resource manager (RM) 28 for managing separate resource elements and a resource location service (RLS) 30. Resource location service 30 provides load balancing across capable processor elements (PEs) to create an object. PE selection is based on predefined constraints. - In one embodiment,
CBR 26 is layered overDML 22 andOM 24 as shown inFIG. 3 . - In one embodiment,
Object Manager 24 consists of three layers as shown onFIG. 4 . The upper layer titled OM Controller and Database (OMCD) 40 is concerned with managing the VPN and VR configuration. This is the agent that deals with the configuration manager directly.Middle layer 42 entitled OM Object Routing and Interface Global is concerned with managing global (across the switch system) object groups and object configurations.Lower layer 44 entitled OM Object Routing and Interface (OMORI) is concerned with managing local objects and groups as well as routing control information between address spaces based on the location of objects, and interfacing with the object via method invocation. - In one embodiment, the IPSX object database consists of two types of databases: Global (managed on Master Control Blade by OMORIG) and distributed local databases (managed by OMORI agents on every PE present in the system). In one such embodiment, the global database is a superset of the extracts from local databases.
- One such
network operating system 20 is described in U.S. patent application Ser. No. 09/663,483, filed Sep. 13, 2000, now U.S. Pat. No. 7,487,232, which is hereby incorporated by reference in its entirety for all purposes. - In one embodiment, objects represent a basic unit of management for purposes of fault tolerance, computational load balancing, etc. One or more adjacent protocol modules can be placed into a single object. In addition, it is also possible that a module can be split across two objects.
- In one embodiment, virtual routers (VRs) are mapped onto the physical processor elements of
switch 12. In one such embodiment, each VR is logical mirror of a stand-alone hardware router. The virtual router (VR) construct is at the heart of thesystem 10 service segmentation and layering method. By enabling each subscriber entity to have a pool of VRs across multiple POPs for its VPN, the system is able to support tens of thousands of discrete entities within a single platform. - Just like a traditional router, a VR has its own route-forwarding table. In addition, each VR manages a defined set of routing protocols and supports a number of interfaces. In one embodiment, VRs support not only physical interfaces, but also Virtual Interfaces (VIs). This enables communication between VRs within the
same switch 12. - In one embodiment, each
switch 12 can support up to 10,000 VRs per switch. Fundamentally, the system VR (ISPX VR) is no different than any other VR in its make-up. It differs from the other VRs, however, in that it is the router that aggregates traffic from all other VRs and forwards it out to anotherswitch 12 or out to the Internet. By isolating the subscriber level VRs from a direct Internet adjacency,system 10 is able to minimize its complexity to one element in the system. In addition, the ISPX VR performs routing protocol isolation, for instance by interacting with the core via BGP-4, while running OSPF or RIP to a subscriber VR. It also allows the system to optimize resources, by keeping the subscriber VR routing tables small. - A virtual router performs functions similar to a real/normal router. One or more VR would be setup for a subscriber. And like a normal router, VR will route IP traffic for the assigned customer.
- In one embodiment, virtual private networks (VPNs) are logical abstractions. Each VPN represents the logical part of network visible or associated with a subscriber or ISP. A VPN primarily comprises of Virtual Routers (VR) and Virtual Interfaces (VI). In one such embodiment, service and performance characteristics of a VPN are captured in a Service Level Agreement (SLA) associated with the VPN.
- In one embodiment, a virtual router can have multiple interfaces associated with it. These interfaces are termed Virtual Network Connections (VNC) or Virtual Interfaces (VI). A VNC or VI corresponds to only one side of a network connection. Virtual Interfaces represent either connection end points for a subscriber or a connection between two virtual routers. A VI mostly captures the network layer properties of an interface (one example of such a property of a VI is its IP address). A VI is mapped to either a Logical Interface or another VI. In one such embodiment, each VNC/VI is characterized by bandwidth, latency, services, and a set of prioritized queues.
- VI Bandwidth is measured in bits per second (bps) and is the average number of bits per second transmitted over the VI during a sampling interval. Maximum absolute bandwidth may be set to enforce QOS commitments first then use additional capacity for overflow burst traffic. VI bandwidth can be a multiple of 56 Kbps or 64 Kbps.
- VNC/VI Services include Application Firewall, Packet Filter, Encryption, NAT, Tunnel Termination, Tunnel origination and authentication (identification of the Virtual RADIUS Server), certificate authority, Accounting. Multiple VNC Services may be configured for the same VNC, directly from the VPN Manager.
- VNC/VI Queues are used to prioritize different traffic types within a VNC. Each VNC Queue is characterized by bandwidth, latency, and traffic type. The sum of the bandwidth allocated on all VNC Queues for a particular VNC is equal to the VNC Bandwidth for that VNC. IP data traffic authorized for a particular VPN Queue is identified by using one or more of the following parameters: Source IP Network Address, Destination IP Network Address, IP Protocol Type, Port # and the Differentiated Services Byte.
- A VI may be mapped into a Logical Interface (L1). A LI can be a PPP link, a PVC or SVC of FrameRelay or ATM, an Ethernet or an IP tunnel etc. A LI may be mapped into a physical interface; it is not mandatory for every LI to be mapped to a physical interface.
- In one embodiment, a subscriber's access to each VPN is captured using a Logical Interface (LI) terminating on an Access Blade port. One or more VRs are created and associated with a VPN to route subscribers IP traffic as per the subscriber requirements. In one embodiment, a subscriber's LI terminating on an Access Blade port is linked with a VR using a Virtual Interface (VI). One or more virtual network connections (VNCs) are associated with Vis to define subscriber's connectivity to the other end, which for example could be internet, intranet; subscribers regional office etc.
- For instance, Internet Access VNCs may be used to connect a subscriber's VPN Router to the ISP's Internet backbone, thereby providing users at the subscriber premise with secure, dedicated Internet access.
- VPN Intranet VNCs may be used to connect different subscriber locations securely across an IP backbone or the Internet.
- VPN Extranet VNCs may be used to connect a subscriber's VPN Router to the VPN Router of another corporation or community of interest to allow access between the entities.
- VPN RAS VNCs may be used to connect a subscriber's VPN router to an ISP's dial-up remote access server (such as Ascend MAX, Cisco 5800, etc.). The remote access servers (RAS) and/or the dial-in client initiates either a PPTP or L2TP tunnel to the Orion, with or without encryption.
- The way that virtual routers map on processor elements can be understood in the context of
FIG. 5 .FIG. 5 shows ablade 28 having four processor elements (PEs) 30. Each processor element 30 includes a CPU and memory. In addition, each PE 30 is connected to the other PEs 30 and to the rest ofswitch 12 throughconnection fabric 32. In the embodiment shown inFIG. 5 , two virtual routers 34 are mapped onblade 28. It should be noted that, in one embodiment, more than one virtual router can be mapped to a single PE 30, and vice versa.Blade 28 can, therefore, be a shared resource among two or more subscribers. - The segmenting of
switch 12 across a number of different subscribers is shown inFIG. 6 . - In one embodiment, each VR is divided into a discrete object group, which has many functions and services associated with it; for instance routing, packet filtering and firewall each are individual objects. By being able to create a new object such as Network Address Translation (NA T), it is simply added as another part of the object group and activated. This action can be achieved without making any changes to the physical configuration of the Service Blade supporting the VR and thus maintaining network uptime.
- The configuration of Virtual Routers (VR) and their corresponding Virtual Interfaces (VI) provides the desired constraints (or paths) for packet flows and the permissible transformations (AKA services) of the packet flows.
NOS 20 still, however, has to provide mechanisms to efficiently direct packets from ingress port through protocol stack to Application service thread. The OS also has to provide mechanisms to efficiently direct packets from Application service thread through protocol stack to egress port. - In one embodiment, the configured VR/VI system defines a semi-static topology within the device boundary (which hereafter is referred to as the Configured Topology). Based on traffic patterns, the configured topology could induce a dynamic topology comprising of shortcuts (which hereafter is referred to as the Flow Topology).
- In one embodiment, flows strictly follow the configured paths. This results in inefficient utilization of inter-connect bandwidth, memory and CPU time. In another embodiment,
NOS 20 supports a dynamic flow based topology as discussed below. - The nominal Protocol Stack configuration places topological constraints on packet flows. First, the standard protocol profile and related topology will be described. Then, the issues that arise when the protocol stack is distributed are described.
- The following terms are used throughout:
- “Packet Flow”—All packets with a common set of attributes comprises a packet flow. Depending on the attributes, the flow may be L3 or L4 flow.
- “L3 Flow”—
Only Layer 3 attributes are used to identify a packet flow. TheLayer 3 attributes used are <Destination IP Address, Source IP Address, IP Protocol>. - “L4 Flow”—When possible, both
Layer 3 andLayer 4 attributes are used to identify a packet flow. Typically, multiple L4 flows comprise a single L3 flow. If the IP Protocol is TCP or UDP theLayer 4 attributes used are <Destination Port, Source Port>. - “Routing Table”—A common table of routing information that is used by Routing Protocols (e.g. BGP, OSPF, ISIS, RIP). The entries are usually tagged with origin, routing protocol attributes etc. This is also known as RIB (Routing Information Base).
- “Forwarding Table”—A table of best next-hop for prefixes, consulted in the packet forwarding function and derived from the Routing Table. This is also known as FIB (Forwarding Information Base).
- “Configured Topology”—Given a Subscriber VR and its ISP VR, consider the associated graph. This graph's nodes are the PE's executing software/services and the edges of the graph are the communication links between the software/services. This graph is the configured topology.
- “Flow Topology”—Based on the actual dynamic flow of L3 and L4 packets a graph of software/services and the communication links between the software/services can be constructed. This graph is the flow topology. The flow topology is derived from and would be a sub-graph of the configured topology if shortcuts are not employed. When shortcuts are employed, there is no direct graph theoretic correlation between the configured and flow topologies.
- Topological Constraints imposed by Protocol Stack
- The Network layer is the loci of all packets received, sent or forwarded. Conceptually, the network layer (i.e. IP itself) can be thought of as being 2 sub-layers, namely the Forwarding and Local sub-layers. The functionality encompassed by the 2 IP sub-layers is shown in
FIG. 7 . IP Interfaces are the link service access points (LSAP in OSI-speak). - Traditional networking wisdom recommends: For IP, a packet flow is identified by <Source, Destination, Protocol>. These will be referred to as L3 flows. These attributes of a packet are preserved across all packet fragments. Preserve the temporal order of L3 flows received on an IP Interface. This reduces the resequencing delay of stream based protocols (such as TCP). Many datagram based applications are intolerant of packet re-ordering (which is not unreasonable if the application is transported via a UDP tunnel without order preservation guarantees).
- The IP Packet ID, which is critical for packet fragmentation and reassembly, should be unique within a L3 flow originating from local applications. (This is actually required by RFC-791, Section 2.3, page 8).
- Traditional implementations generally impose stronger restrictions than required, by:
- Ensuring strict temporal order across all L3 flows received on an IP Interface.
- Ensuring unique IP Packet ID across all L3 flows originating from local applications. Packet forwarding needs to consult the Forwarding Table or Forwarding Information Base (FIB). Most implementations maintain a single forwarding table. High performance implementations typically maintain multiple synchronized instances of the forwarding table.
- An example of what would happen in the context of IPNOS 1.x is now described for typical application flows. The inter-module transfers are shown in
FIG. 8 . - The processing sequence is:
- 1. Packet is received from the subscriber line interface
- 2. Processed by IP Fwd module and passed to IP Local module
- 3. Demux'ed by IP Local and passed on to the Application
- 4. Application process data and sends transformed data
- 5. IP Local sends packet to subscriber
- 6. IP Fwd module Subscriber IP Fwd forwards it to ISP IP Fwd module
- 7. ISP IP Fwd module sends it to ISP line interface
- Note that steps 2, 3, 4, 5, 6 require an inter-PE transfer. Each of these steps may represent a backplane crossing.
-
FIG. 9 shows the contents that can be used to determine a L4 packet flow when the packet is unfragmented (determined by the condition (MF==0 && Offset==0)). It also shows the contents that can be used to determine a L3 packet flow when the packet is fragmented. - When a packet gets fragmented, it should be noted that the ID field is preserved across all fragments of the packet. However, the receiver may receive the fragments in arbitrary order. Thus the receiver may only use <Source, Destination, Protocol> to determine the packet flow. The receiver can not create per packet flow state which uses the ID field to decide on the L4 flow for all fragments on the false assumption that the first fragment contains L4 information.
- Fragmented packets are reassembled before the L4 flow can be inferred. This has implications for L4 oriented services like NAT. For NAT to work correctly, the gateway must reassemble every fragmented packet before it can perform its packet transformation. This is a tremendous burden and many NAT implementations (including IPSX) simply do not transform the fragments subsequent to the first.
- There are several specific flows that are optimized in accordance with embodiments of the present invention. The forward flows are shown as originating at a Subscriber interface and ending at an ISP interface in the upper half of
FIGS. 10-13 . The reverse flow is shown in the lower half of each figure. - In one embodiment of
NOS 20, objects communicate with each other in 1 of 2 ways—namely Object IOCTLs and Object Channels. The Object Channel is point-to-point (P-P), light weight inter-object communication transport. This maps well into the Configured Topology. - When shortcuts are created, an Object Channel termination will receive traffic from multiple Object Channel sources. Consequently, according to one embodiment, a multi-point-to-point (MP-P) Object Channel is used in the Flow Topology.
- The essential idea behind the MP-P Object Channel is that MP-P can be constructed in parallel to the P-P Object Channel. This permits the co-existence of the 2 communication models. This is shown in
FIG. 14 . - Both ends of a P-P use the initialization function obj_init_channel( ). For MP-P, there will be 2 separate initialization functions. For MP-P transmit, the initialization function is obj_mpp_tx_init_channel( ). For MP-P receive, the initialization function is obj_mpp_rx_init_channel( ). There is also an anonymous mpp_send( ) function that can be used (and which is bound to the channel end point by obj_mpp_tx_init_channel( ) to send anonymously to a channel end point without using the Object Channel abstraction.
- In
FIG. 14 , Object Channel End Point (CEP) of both P-P and MP-P are shown.CEP 1 is initialized as both an MP-P receiver and as a P-P receiver/sender. WhenCEP 1 was initialized as an MP-P receiver, it got assigned a globally unique address.CEP 2 is initialized solely as a P-P receiver/sender.CEP CEP 1's MP-P address. Note that a MP-P sender can not be initialized as a P-P receiver/sender. Additionally, modules that haveCEP 1's MP-P address cans send anonymously. - Another approach is to use a replicated FIB. The IP Forwarding agent uses the Forwarding Information Base (FIB) to make its forwarding decision. When the Virtual Router (VR) terminates links on multiple blades, the VR has to have multiple IP Forwarding agents. This requires the IP Forwarding agents to maintain a Replicated FIB. This feature has been referred to variously as Multi-FIB, Distributed FIB and Split FIB . . . none of which reflects the actual operation.
- The Replicated FIB need not be constrained to only IP Forwarding agents within a VR. A Replicated FIB may be used by other objects of a VR to make forwarding decisions to support shortcuts.
- It should be noted that there are a host other data structures that also may be replicated. These are Packet Filters (PF) (both dynamic and static), the Security Policy Database (SPD) and Security Association Database (SAD), and Network Address Translation (NA T) tables. Another approach is to use a Distributed Protocol Stack.
FIG. 8 shows one possible functional decomposition ofNOS 20 functionally distributed protocol stack. The functional decomposition simply cuts the protocol stack at convenient horizontal planes with no duplication of function. - According to one embodiment, to support a Flow Topology, a different functional decomposition of the protocol stack is proposed. This will duplicate functionality in multiple objects. Table 1 contrasts the assignment of functionality to objects under the two models of Distributed Protocol Stack. It is a logical extension of the VR flow cache that is employed to speed up packet forwarding.
-
TABLE 1 Functional Decomposition of Distributed Protocol Stacks IPNOS 1.1 Distributed Proposed Distributed Protocol Stack Protocol Stack Objects in VR (Configured Topology) (Flow Topology) IP Forwarding IP input, IP output, IP IP input, IP output, IP Forwarding, IP Reassembly Forwarding, IP Reassembly (ESP and AH only), IP (ESP and AH only), IP Demux (ESP and AH only) Demux (ESP and AH only) IP Local IP Reassembly, IP receive IP input, IP output, IP and send, IP Demux, TCP, Reassembly, IP receive UDP, GRE, Socket Lower, and send, IP Demux, TCP, Routing protocols UDP, GRE, Socket Lower, Routing protocols Crypto Crypto services IP input, IP output, IP Forwarding, IP Reassembly (ESP and AH only), IP Demux (ESP and AH only), Crypto services Socket Upper Socket Upper IP input, IP output, IP Reassembly, IP receive and send, IP Demux, TCP, UDP, GRE, Socket Lower, Socket Upper Application Application Application - In the Flow based model, there are multiple objects that implement the IP functions. This requires that the FIB be replicated not only at the IP Forwarding object, but also in a host of other objects that implement the IP Forwarding layer functionality.
- In one embodiment,
Object Manager 24 consists of three layers as shown onFIG. 4 . The upper layer titled OM Controller and Database (OMCD) 40 is concerned with managing the VPN and VR configuration. This is the agent that deals with the configuration manager directly.Middle layer 42 entitled OM Object Routing and Interface Global is concerned with managing global (across the switch system) object groups and object configurations.Lower layer 44 entitled OM Object Routing and Interface (OMORI) is concerned with managing local objects and groups as well as routing control information between address spaces based on the location of objects, and interfacing with the object via method invocation. - In one embodiment, the IPSX object database consists of two types of databases: Global (managed on Master Control Blade by OMORIG) and distributed local databases (managed by OMORI agents on every PE present in the system). In one such embodiment, the global database is a superset of the extracts from local databases.
- Objects represent a basic unit of management for purposes of fault tolerance, computational load balancing, etc. One or more adjacent protocol modules can be placed into a single object. It is also possible that a module is split across two objects.
- In one embodiment, a configuration management system connected to OMCD 40 is used to configure the VPNs and VRs as shown in Appendix A and is described in U.S. patent application Ser. No. 09/663,485, filed Sep. 13, 2000, now U.S. Pat. No. 7,272,643, which is incorporated herein by reference in its entirety for all purposes.
- In one embodiment, instead of deploying CPE firewalls remotely at the enterprise subscriber site,
System 10 provides Network Associates, Incorporated's (NAI's) Gauntlet Application Proxy Firewalls from the SP POP where they can be centrally managed and supported.NOS 20 is the foundation that enables third-party applications like Gauntlet to be delivered onswitch 12. - The application proxy firewall model offers far superior security control because it provides full application-level awareness of attempted connections by examining everything at the highest layer of the protocol stack.
- Once NAI's Gauntlet Application Proxy Firewall is configured, it offers the most robust form of access control on the market. Gauntlet lets access control policies to be established at
Layer 7 and thus enables specific application-based rules to be made. For instance, users coming into the network from the Internet are allowed to do an FTP “get,” but not a “put.” Additionally, because the Gauntlet firewall is a proxy solution that acts as the intermediary, preventing the end-stations from communicating directly with the firewall. As a result, this solution offers significantly better protection against OS directed denial of service attacks. Another important aspect of the Application Proxy Firewall is the incremental services provided byswitch 12 such as Intrusion Detection and Anti-virus scanning, which are not available in firewall application models such as stateful inspection. -
FIG. 15 is a flow diagram illustrating a process of allocating network resources in accordance with an embodiment of the present invention. Atblock 1510, a virtual router (VR)-based switch configured for operation at an Internet point-of-presence (POP) of a service provider is provided. - At
block 1520, a network operating system (NOS) is provided on each of the processing elements of the VR-based switch. - At
block 1530, resources of the VR-based switch are segmented among multiple subscribers. In the present example, the resources are segmented between a first subscriber of the service provider and a second subscriber of the service provider. - At
block 1540, a first set of VRs of the VR-based switch are associated with the first subscriber. - At
block 1550, a second set of VRs of the VR-based switch are associated with the second subscriber. In one embodiment, a system VR is defined within the VR-based switch. In such an embodiment, the system VR may aggregate traffic from the first set of VRs and the second set of VRs and transfer the aggregated traffic across the Internet. Atblock 1560, the first set of VRs are mapped onto a first set of processing elements (PEs) of the VR-based switch. - At
block 1560, the first set of VRs are mapped onto a first set of PEs of the VR-based switch. According to one embodiment, at least one of the first set of VRs spans two or more of the PEs of the VR-based switch. - At
block 1570, the second set of VRs are mapped onto a second set of PEs of the VR-based switch. In one embodiment, a shared processing element is part of the first set of PEs and the second set of PEs. According to one embodiment, at least one of the second set of VRs spans two or more of the PEs of the VR-based switch. - At
block 1580, a first set of customized services is configured to be provided by the VR-based switch on behalf of the first subscriber. According to one embodiment, a first service object group is allocated to the first set of VRs. The first service object group may include a service object corresponding to each service of the first set of customized services and the service objects may be dynamically distributed by the NOS to customized processors of the first set of PEs to achieve desired computational support. In one embodiment, the first set of customized services includes various combinations of firewalling, virtual private networking, encryption, traffic shaping, routing and network address translation (NAT). - At
block 1590, a second set of customized services is configured to be provided by the VR-based switch on behalf of the second subscriber. According to one embodiment, a second service object group is allocated to the second set of VRs. The second service object group may include a service object corresponding to each service of the second set of customized services and the service objects may be dynamically distributed by the NOS to customized processors of the second set of PEs to achieve desired computational support. In one embodiment, the second set of customized services includes various combinations of firewalling, virtual private networking, encryption, traffic shaping, routing and network address translation (NAT). - In one embodiment, a first configured topology is defined among the first set of VRs by configuring virtual interfaces (VIs) of the first set of VRs to provide desired paths for packet flows associated with the first subscriber and permissible transformations of the packet flows associated with the first subscriber.
- In one embodiment, a second configured topology is defined among the second set of VRs by configuring virtual interfaces (VIs) of the second set of VRs to provide desired paths for packet flows associated with the second subscriber and permissible transformations of the packet flows associated with the second subscriber.
-
FIG. 16 conceptually illustrates the performance of multiple flow cache lookups for complex flows in accordance with an embodiment of the present invention. Complex flows, including, but not limited to, strict L3 flows, tunneled flows and encrypted flows add another level of complexity to flow processing. During flow processing, a packet's L3 and L4 attributes transform from one type to the other. In order to keep flow processing within the scope of flow cache operations and thereby keep the flow processing on the fast path, in one embodiment, the IP flow cache architecture applies packet classifications multiple times as the L3 and L4 attributes change. This results in multiple cache lookups for the same ingress flow and enables a VR to finish processing of packets through cache operations only, whereas traditional routers would normally switch to the slow path (i.e., exception processing) to process more complex packet flows. - As an example, consider
ingress flow 1610, an L3 ingress flow consisting of host addressed, encrypted, tunneled and fragmented packets (i.e., P1, P2 and P3). According to the present example, processing ofingress flow 1610 involves three lookups intoflow cache 1600. Thefirst cache lookup 1611 results in a cache flow hit that identifies acache flow entry 1601 directing the VR to reassemble the fragmented packets. The second cache lookup results in a cache flow hit 1612 that identifies acache flow entry 1602 directing the VR to decrypt the IPSec tunneled packet. The third cache lookup results in a cache flow hit 1613 that identifies acache flow entry 1603 directing the VR to forward the inner IP packet. As such according to the present example, each packet associated with a complex flow, such asingress flow 1610, is processed through operations defined only by theflow cache 1600 thereby avoiding slow path processing. - In one embodiment, the service provider's security staff consults with the customer in order to understand the corporate network infrastructure and to develop appropriate security policies (Note: this is a similar process to the CPE model). Once this has been accomplished, the NOC security staff remotely accesses the IP Service Processing Switch (using the Service Management System) at the regional POP serving the enterprise customer, and the firewall service is provisioned and configured remotely. Such a model enables the service provider to leverage the enterprise's existing services infrastructure (leased lines and Frame Relay PVCs) to deliver new, value-added services without the requirement of a truck roll. All firewall and VPN functionality resides on the IP Service Processing Switch at the POP, thus freeing the service provider from onsite systems integration and configuration and effectively hiding the technology from the enterprise customer. Firewall inspection and access control functions, as well as VPN tunneling and encryption, take place at the IP Service Processing Switch and across the WAN, while the enterprise's secure leased line or Frame Relay PVC access link remains in place. The customer interface is between its router and the IP Service Processing Switch (acting as an access router), just as it was prior to the rollout of the managed firewall service. Additionally, the customer has visibility into and control over its segment of the network via the CNM that typically resides at the headquarters site.
- The network-based firewall model also enables service providers to quickly and cost-effectively roll out managed firewall solutions at all enterprise customer sites. As a result, secure Internet access can be provided to every site, eliminating the performance and complexity issues associated with backhauling Internet traffic across the WAN to and from a centralized secure access point. As the IP Service Delivery Platform is designed to enable value-added public network services, it is a carrier-grade system that is more robust and higher-capacity than traditional access routers, and an order of magnitude more scaleable and manageable than CPE-based systems. The platform's Service Management System enables managed firewall services, as well as a host of other managed network services, to be provisioned, configured, and managed with point-and-click simplicity, minimizing the need for expensive, highly skilled security professionals and significantly cutting service rollout lead-times. The Service Management System is capable of supporting a fleet of IP Service Processing Switches and tens of thousands of enterprise networks, and interfaces to the platform at the POP from the NOC via IP address. Support for incremental additional platforms and customers is added via modular software add-ons. Services can be provisioned via the SMS system's simple point and click menus, as well as requested directly by the customer via the CNM system. Deployment of a robust IP Service Delivery Platform in the carrier network enables service providers to rapidly turn-up high value, managed network-based services at a fraction of the capital and operational costs of CPE-based solutions. This enables service providers to gain a least-cost service delivery and support structure. Additionally, it enables them to gain higher margins and more market share than competitors utilizing traditional service delivery mechanisms—even while offering managed firewall services at a lower customer price point.
- As enterprise customers gain confidence in the WAN providers' ability to deliver managed firewall services, a more scaleable and cost-effective service delivery model must be employed. Moving the intelligence of the service off of the customer premises and into the WAN is an effective strategy to accomplish this. Managed, network-based firewall services provide the same feature/functionality of a CPE-based service while greatly reducing capital and operational costs, as well as complexity.
- The managed, network-based firewall service model enables WAN service providers to minimize service creation and delivery costs. This model virtually eliminates the need for onsite installation, configuration, and troubleshooting truck rolls, drastically reducing operational costs. This lower cost structure creates opportunities to increase revenues and/or gain market share by value-pricing the service. Services can be rapidly provisioned via a centralized services management system, shortening delivery cycles and enabling service providers to begin billing immediately. Additional services can be rapidly crafted and deployed via the same efficient delivery mechanism.
- The network-based service model is a rapid and cost-effective way for service providers to deploy high-value managed firewall solutions. This model requires a comprehensive service delivery platform consisting of robust network hardware, an intelligent and scaleable services management system, and a feature-rich Customer Network Management (CNM) tool to mitigate customers' fears of losing control of network security.
- In the above discussion and in the attached appendices, the term “computer” is defined to include any digital or analog data processing unit. Examples include any personal computer, workstation, set top box, mainframe, server, supercomputer, laptop or personal digital assistant capable of embodying the inventions described herein.
- Examples of articles comprising computer readable media are floppy disks, hard drives, CD-ROM or DVD media or any other read-write or read-only memory device.
- Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
Claims (20)
1. A method comprising:
receiving, by a virtual router (VR) of a VR-based switch, a packet associated with a complex flow;
causing, by the VR an Internet Protocol (IP) flow cache architecture of the VR-based switch to perform a first flow-based packet classification based on a first set of attributes of the packet;
identifying a first flow processing operation by performing a first flow cache lookup based on the first flow-based packet classification;
performing the first flow processing operation on the packet;
after performing the first flow processing operation on the packet, causing the IP flow cache architecture to perform a second flow-based packet classification of the packet based on a second set of attributes of the packet;
identifying a second flow processing operation by performing a second flow cache lookup based on the second flow-based packet classification;
performing the second flow processing operation on the packet;
sending the packet to an egress interface of the VR-based switch.
2. The method of claim 1 , further comprising:
after performing the second flow processing operation on the packet and before sending the packet to the egress interface, causing the IP flow cache architecture to perform a third flow-based packet classification of the packet based on a third set of attributes of the packet;
identifying a third flow processing operation by performing a third flow cache lookup based on the second flow-based packet classification; and
performing the third flow processing operation on the packet.
3. The method of claim 1 , wherein the complex flow is a strict layer 3 flow.
4. The method of claim 1 , wherein the complex flow is a tunneled flow.
5. The method of claim 1 , wherein the complex flow is an encrypted flow.
6. The method of claim 2 , wherein the first flow processing operation comprises reassembling a plurality of IP fragments, the second flow processing operation comprises decrypting the packet and the third flow processing operation comprises looking up forwarding information for the packet.
7. The method of claim 2 , wherein the first set of attributes comprise layer 3 attributes.
8. The method of claim 2 , wherein the second set of attributes comprise layer 4 attributes.
9. A method comprising:
receiving, by an ingress interface of a switching device, a plurality of packets associated with a complex ingress flow;
performing fast path processing of the plurality of packets by the switching device by causing each of the plurality of packets to be classified multiple times, performing multiple flow cache lookups for each of the plurality of packets and applying packet transformations identified by the multiple flow cache lookups to the plurality of packets; and
transmitting, by an egress interface of the switching device, the plurality of packets.
10. The method of claim 9 , wherein the complex ingress flow is a strict layer 3 flow.
11. The method of claim 9 , wherein the complex ingress flow is a tunneled flow.
12. The method of claim 9 , wherein the complex ingress flow is an encrypted flow.
13. The method of claim 10 , wherein said applying packet transformations identified by the multiple flow cache lookups comprises one or more of reassembling a plurality of Internet Protocol fragments, decrypting the plurality of packets and the forwarding the plurality of packets.
14. The method of claim 10 , wherein said performing multiple flow cache lookups for each of the plurality of packets comprises extracting a first set of attributes from the packet for a first lookup of the multiple flow cache lookups and extracting a second set of attributes from the packet for a second lookup of the multiple flow cache lookups.
15. The method of claim 14 , wherein the first set of attributes comprise layer 4 attributes and the second set of attributes comprise layer 3 attributes.
16. A computer-readable storage medium readable by one or more processing elements of a plurality of processing elements of a virtual router (VR)-based switch, the computer-readable storage medium tangibly embodying a set of instructions executable by one or more processors of the plurality of processing elements to perform method for performing fast path processing of complex flows, the method comprising:
receiving a packet associated with a complex flow;
performing a first flow-based packet classification based on a first set of attributes of the packet;
identifying a first flow processing operation by performing a first flow cache lookup based on the first flow-based packet classification;
performing the first flow processing operation on the packet;
after performing the first flow processing operation on the packet, performing a second flow-based packet classification of the packet based on a second set of attributes of the packet;
identifying a second flow processing operation by performing a second flow cache lookup based on the second flow-based packet classification;
performing the second flow processing operation on the packet;
sending the packet to an egress interface of the VR-based switch.
17. The computer-readable storage medium of claim 16 , wherein the method further comprises:
after performing the second flow processing operation on the packet and before sending the packet to the egress interface, performing a third flow-based packet classification of the packet based on a third set of attributes of the packet;
identifying a third flow processing operation by performing a third flow cache lookup based on the second flow-based packet classification; and
performing the third flow processing operation on the packet.
18. The computer-readable storage medium of claim 16 , wherein the complex flow is a strict layer 3 flow, a tunneled flow or an encrypted flow.
19. The computer-readable storage medium of claim 16 , wherein the first set of attributes comprise layer 3 attributes and the second set of attributes comprises layer 4 attributes.
20. The computer-readable storage medium of claim 17 , wherein the first flow processing operation comprises reassembling a plurality of Internet Protocol (IP) fragments, the second flow processing operation comprises decrypting the packet and the third flow processing operation comprises looking up forwarding information for the packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/906,999 US20110032942A1 (en) | 2000-09-13 | 2010-10-18 | Fast path complex flow processing |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/661,130 US7389358B1 (en) | 2000-09-13 | 2000-09-13 | Distributed virtual system to support managed, network-based services |
US12/140,249 US7818452B2 (en) | 2000-09-13 | 2008-06-16 | Distributed virtual system to support managed, network-based services |
US12/906,999 US20110032942A1 (en) | 2000-09-13 | 2010-10-18 | Fast path complex flow processing |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/140,249 Continuation US7818452B2 (en) | 2000-09-13 | 2008-06-16 | Distributed virtual system to support managed, network-based services |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110032942A1 true US20110032942A1 (en) | 2011-02-10 |
Family
ID=39510512
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/661,130 Expired - Lifetime US7389358B1 (en) | 2000-09-13 | 2000-09-13 | Distributed virtual system to support managed, network-based services |
US12/140,249 Expired - Fee Related US7818452B2 (en) | 2000-09-13 | 2008-06-16 | Distributed virtual system to support managed, network-based services |
US12/906,999 Abandoned US20110032942A1 (en) | 2000-09-13 | 2010-10-18 | Fast path complex flow processing |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/661,130 Expired - Lifetime US7389358B1 (en) | 2000-09-13 | 2000-09-13 | Distributed virtual system to support managed, network-based services |
US12/140,249 Expired - Fee Related US7818452B2 (en) | 2000-09-13 | 2008-06-16 | Distributed virtual system to support managed, network-based services |
Country Status (1)
Country | Link |
---|---|
US (3) | US7389358B1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070064704A1 (en) * | 2002-06-04 | 2007-03-22 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US20080219254A1 (en) * | 2000-07-10 | 2008-09-11 | Alterwan, Inc. | Wide area network using internet with high quality of service |
US20100142527A1 (en) * | 2004-09-24 | 2010-06-10 | Fortinet, Inc. | Scalable IP-Services Enabled Multicast Forwarding with Efficient Resource Utilization |
US20100189016A1 (en) * | 2001-06-28 | 2010-07-29 | Fortinet, Inc. | Identifying nodes in a ring network |
US20110142047A1 (en) * | 2009-12-10 | 2011-06-16 | Electronics and Telecommunications Rearch Institute | Backbone edge switching apparatus and packet processing method of the backbone edge switching apparatus |
US20130223221A1 (en) * | 2012-02-27 | 2013-08-29 | Verizon Patent And Licensing Inc. | Traffic Policing For MPLS-Based Network |
US20150200860A1 (en) * | 2014-01-14 | 2015-07-16 | Marvell International Ltd. | Method and apparatus for packet classification |
US9185073B2 (en) | 2011-10-06 | 2015-11-10 | Qualcomm Incorporated | Systems and methods for data packet processing |
US20170201810A1 (en) * | 2016-01-07 | 2017-07-13 | Cisco Technology, Inc. | Network Telemetry with Byte Distribution and Cryptographic Protocol Data Elements |
US10594734B1 (en) * | 2017-04-21 | 2020-03-17 | Palo Alto Networks, Inc. | Dynamic per subscriber policy enablement for security platforms within service provider network environments |
US10601776B1 (en) * | 2017-04-21 | 2020-03-24 | Palo Alto Networks, Inc. | Security platform for service provider network environments |
US11665087B2 (en) | 2021-09-15 | 2023-05-30 | International Business Machines Corporation | Transparent service-aware multi-path networking with a feature of multiplexing |
Families Citing this family (255)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651087B1 (en) | 1999-01-28 | 2003-11-18 | Bellsouth Intellectual Property Corporation | Method and system for publishing an electronic file attached to an electronic mail message |
US8250357B2 (en) | 2000-09-13 | 2012-08-21 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
US7487232B1 (en) * | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US7111072B1 (en) * | 2000-09-13 | 2006-09-19 | Cosine Communications, Inc. | Packet routing system and method |
US7272643B1 (en) * | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7389358B1 (en) * | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US7441017B2 (en) * | 2001-06-29 | 2008-10-21 | Thomas Lee Watson | System and method for router virtual networking |
USRE43383E1 (en) * | 2001-12-12 | 2012-05-15 | Samsung Electronics Co., Ltd. | Method for sharing hybrid resources in a wireless independent network, a station for the method, and a data format for the method and the station |
KR100450795B1 (en) * | 2001-12-12 | 2004-10-01 | 삼성전자주식회사 | Method for sharing source in hybrid in wireless independent network, station for the method, and data format for the method and the station |
US7177311B1 (en) * | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US7376125B1 (en) * | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
US7203192B2 (en) * | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US7161904B2 (en) * | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
US7162740B2 (en) * | 2002-07-22 | 2007-01-09 | General Instrument Corporation | Denial of service defense by proxy |
US7096383B2 (en) * | 2002-08-29 | 2006-08-22 | Cosine Communications, Inc. | System and method for virtual router failover in a network routing system |
FR2846169B1 (en) * | 2002-10-22 | 2005-02-04 | At & T Corp | PRIVATE VIRTUAL NETWORK BASED ON THE LABEL PERMUTATION PROCEDURE (MPLS) ADAPTED TO MEASURE TRAFFIC EXCHANGE BETWEEN SINGLE TARIFF ZONES |
US7266120B2 (en) | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
AU2003246146A1 (en) * | 2003-05-30 | 2005-01-21 | Lg Electronics, Inc. | Home network system and its configuration system |
WO2004107657A1 (en) * | 2003-05-30 | 2004-12-09 | Lg Electronics, Inc. | Home network system |
KR100605218B1 (en) * | 2003-05-30 | 2006-07-31 | 엘지전자 주식회사 | Network adaptor |
KR100605216B1 (en) * | 2003-05-30 | 2006-07-31 | 엘지전자 주식회사 | 0network device |
KR100638017B1 (en) * | 2003-05-30 | 2006-10-23 | 엘지전자 주식회사 | Network device |
JP2006526305A (en) * | 2003-05-30 | 2006-11-16 | エルジー エレクトロニクス インコーポレイティド | Home network system |
KR100596755B1 (en) * | 2003-05-30 | 2006-07-04 | 엘지전자 주식회사 | Home network system |
US20070061406A1 (en) * | 2003-05-30 | 2007-03-15 | Seung-Myun Baek | Home network system |
US20070115979A1 (en) * | 2004-11-18 | 2007-05-24 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US7808904B2 (en) | 2004-11-18 | 2010-10-05 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US7620981B2 (en) | 2005-05-26 | 2009-11-17 | Charles William Frank | Virtual devices and virtual bus tunnels, modules and methods |
US8819092B2 (en) | 2005-08-16 | 2014-08-26 | Rateze Remote Mgmt. L.L.C. | Disaggregated resources and access methods |
US8924524B2 (en) | 2009-07-27 | 2014-12-30 | Vmware, Inc. | Automated network configuration of virtual machines in a virtual lab data environment |
US8892706B1 (en) | 2010-06-21 | 2014-11-18 | Vmware, Inc. | Private ethernet overlay networks over a shared ethernet in a virtual environment |
US8619771B2 (en) | 2009-09-30 | 2013-12-31 | Vmware, Inc. | Private allocated networks over shared communications infrastructure |
US8460256B2 (en) | 2009-07-15 | 2013-06-11 | Allegiance Corporation | Collapsible fluid collection and disposal system and related methods |
US9889239B2 (en) | 2007-03-23 | 2018-02-13 | Allegiance Corporation | Fluid collection and disposal system and related methods |
WO2008118397A1 (en) | 2007-03-23 | 2008-10-02 | Allegiance Corporation | Fluid collection and disposal system having internchangeable collection and other features and methods relating thereof |
US8006297B2 (en) * | 2007-04-25 | 2011-08-23 | Oracle America, Inc. | Method and system for combined security protocol and packet filter offload and onload |
CN104113433B (en) | 2007-09-26 | 2018-04-10 | Nicira股份有限公司 | Management and the network operating system of protection network |
US20090097492A1 (en) * | 2007-10-12 | 2009-04-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Support of triple play services in user devices |
US8862706B2 (en) * | 2007-12-14 | 2014-10-14 | Nant Holdings Ip, Llc | Hybrid transport—application network fabric apparatus |
JP5006452B2 (en) * | 2007-12-19 | 2012-08-22 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | PUBLISH / SUBSCRIBE network |
US8195774B2 (en) | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
US8549281B2 (en) * | 2008-10-21 | 2013-10-01 | Cohesive Flexible Technologies Corporation | System and methods for enabling customer network control in third-party computing environments |
US7607174B1 (en) * | 2008-12-31 | 2009-10-20 | Kaspersky Lab Zao | Adaptive security for portable information devices |
US9137209B1 (en) * | 2008-12-10 | 2015-09-15 | Amazon Technologies, Inc. | Providing local secure network access to remote services |
US8054832B1 (en) | 2008-12-30 | 2011-11-08 | Juniper Networks, Inc. | Methods and apparatus for routing between virtual resources based on a routing location policy |
US8565118B2 (en) | 2008-12-30 | 2013-10-22 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US8190769B1 (en) | 2008-12-30 | 2012-05-29 | Juniper Networks, Inc. | Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification |
US8331362B2 (en) | 2008-12-30 | 2012-12-11 | Juniper Networks, Inc. | Methods and apparatus for distributed dynamic network provisioning |
US8255496B2 (en) | 2008-12-30 | 2012-08-28 | Juniper Networks, Inc. | Method and apparatus for determining a network topology during network provisioning |
US8130641B2 (en) * | 2009-03-13 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Methods and systems for managing network traffic within a virtual network system |
KR101460848B1 (en) | 2009-04-01 | 2014-11-20 | 니시라, 인크. | Method and apparatus for implementing and managing virtual switches |
US8953603B2 (en) | 2009-10-28 | 2015-02-10 | Juniper Networks, Inc. | Methods and apparatus related to a distributed switch fabric |
US8442048B2 (en) | 2009-11-04 | 2013-05-14 | Juniper Networks, Inc. | Methods and apparatus for configuring a virtual network switch |
CN102088703B (en) * | 2009-12-03 | 2014-02-19 | 华为技术有限公司 | Method, device and system for distributing resources |
US9425986B2 (en) * | 2010-03-03 | 2016-08-23 | Iwebgate Technology Limited | System and method for multiple concurrent virtual networks |
US8615014B2 (en) * | 2010-03-03 | 2013-12-24 | Iwebgate Technology Limited | System and method for multiple concurrent virtual networks |
US9552478B2 (en) | 2010-05-18 | 2017-01-24 | AO Kaspersky Lab | Team security for portable information devices |
EP2586137B1 (en) | 2010-06-23 | 2017-03-22 | Telefonaktiebolaget LM Ericsson (publ) | Reference signal interference management in heterogeneous network deployments |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US8964528B2 (en) | 2010-07-06 | 2015-02-24 | Nicira, Inc. | Method and apparatus for robust packet distribution among hierarchical managed switching elements |
US10103939B2 (en) | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
US8718070B2 (en) | 2010-07-06 | 2014-05-06 | Nicira, Inc. | Distributed network virtualization apparatus and method |
US9525647B2 (en) | 2010-07-06 | 2016-12-20 | Nicira, Inc. | Network control apparatus and method for creating and modifying logical switching elements |
US8891406B1 (en) | 2010-12-22 | 2014-11-18 | Juniper Networks, Inc. | Methods and apparatus for tunnel management within a data center |
US9043452B2 (en) | 2011-05-04 | 2015-05-26 | Nicira, Inc. | Network control apparatus and method for port isolation |
US9209998B2 (en) | 2011-08-17 | 2015-12-08 | Nicira, Inc. | Packet processing in managed interconnection switching elements |
CN103890751B (en) | 2011-08-17 | 2017-05-17 | Nicira股份有限公司 | Logical L3 routing |
US9203701B2 (en) | 2011-10-25 | 2015-12-01 | Nicira, Inc. | Network virtualization apparatus and method with scheduling capabilities |
US9288104B2 (en) | 2011-10-25 | 2016-03-15 | Nicira, Inc. | Chassis controllers for converting universal flows |
US9154433B2 (en) | 2011-10-25 | 2015-10-06 | Nicira, Inc. | Physical controller |
US9137107B2 (en) | 2011-10-25 | 2015-09-15 | Nicira, Inc. | Physical controllers for converting universal flows |
EP3373560B1 (en) | 2011-11-15 | 2022-08-10 | Nicira Inc. | Network control system for configuring middleboxes |
AU2013249154B2 (en) | 2012-04-18 | 2015-12-10 | Nicira, Inc. | Exchange of network state information between forwarding elements |
US8775599B2 (en) * | 2012-06-19 | 2014-07-08 | Microsoft Corporation | Multi-tenant middleware cloud service technology |
US9231892B2 (en) | 2012-07-09 | 2016-01-05 | Vmware, Inc. | Distributed virtual switch configuration and state management |
US9288162B2 (en) * | 2012-08-03 | 2016-03-15 | Cisco Technology, Inc. | Adaptive infrastructure for distributed virtual switch |
US9930066B2 (en) | 2013-02-12 | 2018-03-27 | Nicira, Inc. | Infrastructure level LAN security |
US9225638B2 (en) | 2013-05-09 | 2015-12-29 | Vmware, Inc. | Method and system for service switching using service tags |
US9432215B2 (en) | 2013-05-21 | 2016-08-30 | Nicira, Inc. | Hierarchical network managers |
US9686192B2 (en) | 2013-06-28 | 2017-06-20 | Niciria, Inc. | Network service slotting |
US9571304B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Reconciliation of network state across physical domains |
US9432252B2 (en) | 2013-07-08 | 2016-08-30 | Nicira, Inc. | Unified replication mechanism for fault-tolerance of state |
US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9282019B2 (en) | 2013-07-12 | 2016-03-08 | Nicira, Inc. | Tracing logical network packets through physical network |
US9407580B2 (en) | 2013-07-12 | 2016-08-02 | Nicira, Inc. | Maintaining data stored with a packet |
US9344349B2 (en) | 2013-07-12 | 2016-05-17 | Nicira, Inc. | Tracing network packets by a cluster of network controllers |
US9887960B2 (en) | 2013-08-14 | 2018-02-06 | Nicira, Inc. | Providing services for logical networks |
US9952885B2 (en) | 2013-08-14 | 2018-04-24 | Nicira, Inc. | Generation of configuration files for a DHCP module executing within a virtualized container |
US9973382B2 (en) | 2013-08-15 | 2018-05-15 | Nicira, Inc. | Hitless upgrade for network control applications |
US20150055456A1 (en) | 2013-08-26 | 2015-02-26 | Vmware, Inc. | Traffic and load aware dynamic queue management |
US9548965B2 (en) | 2013-08-26 | 2017-01-17 | Nicira, Inc. | Proxy methods for suppressing broadcast traffic in a network |
US9577845B2 (en) | 2013-09-04 | 2017-02-21 | Nicira, Inc. | Multiple active L3 gateways for logical networks |
US9503371B2 (en) | 2013-09-04 | 2016-11-22 | Nicira, Inc. | High availability L3 gateways for logical networks |
US9602398B2 (en) | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
US10033693B2 (en) | 2013-10-01 | 2018-07-24 | Nicira, Inc. | Distributed identity-based firewalls |
US9596126B2 (en) | 2013-10-10 | 2017-03-14 | Nicira, Inc. | Controller side method of generating and updating a controller assignment list |
US9785455B2 (en) | 2013-10-13 | 2017-10-10 | Nicira, Inc. | Logical router |
US10063458B2 (en) | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
US9998530B2 (en) | 2013-10-15 | 2018-06-12 | Nicira, Inc. | Distributed global load-balancing system for software-defined data centers |
US9967199B2 (en) | 2013-12-09 | 2018-05-08 | Nicira, Inc. | Inspecting operations of a machine to detect elephant flows |
US10193771B2 (en) | 2013-12-09 | 2019-01-29 | Nicira, Inc. | Detecting and handling elephant flows |
US9569368B2 (en) | 2013-12-13 | 2017-02-14 | Nicira, Inc. | Installing and managing flows in a flow table cache |
US9996467B2 (en) | 2013-12-13 | 2018-06-12 | Nicira, Inc. | Dynamically adjusting the number of flows allowed in a flow table cache |
US11349806B2 (en) | 2013-12-19 | 2022-05-31 | Vmware, Inc. | Methods, apparatuses and systems for assigning IP addresses in a virtualized environment |
US10120722B2 (en) | 2014-01-31 | 2018-11-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Reordering workflows for network provisioning by using blocking penalty and compounded failure risk values for tasks |
US9215214B2 (en) | 2014-02-20 | 2015-12-15 | Nicira, Inc. | Provisioning firewall rules on a firewall enforcing device |
US9419855B2 (en) | 2014-03-14 | 2016-08-16 | Nicira, Inc. | Static routes for logical routers |
US9313129B2 (en) | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
US9225597B2 (en) | 2014-03-14 | 2015-12-29 | Nicira, Inc. | Managed gateways peering with external router to attract ingress packets |
US9590901B2 (en) | 2014-03-14 | 2017-03-07 | Nicira, Inc. | Route advertisement by managed gateways |
US20150271268A1 (en) * | 2014-03-20 | 2015-09-24 | Cox Communications, Inc. | Virtual customer networks and decomposition and virtualization of network communication layer functionality |
US9503321B2 (en) | 2014-03-21 | 2016-11-22 | Nicira, Inc. | Dynamic routing for logical routers |
US9647883B2 (en) | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US9338091B2 (en) | 2014-03-27 | 2016-05-10 | Nicira, Inc. | Procedures for efficient cloud service access in a system with multiple tenant logical networks |
US9794186B2 (en) | 2014-03-27 | 2017-10-17 | Nicira, Inc. | Distributed network address translation for efficient cloud service access |
US9825854B2 (en) | 2014-03-27 | 2017-11-21 | Nicira, Inc. | Host architecture for efficient cloud service access |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US9413644B2 (en) | 2014-03-27 | 2016-08-09 | Nicira, Inc. | Ingress ECMP in virtual distributed routing environment |
US9906494B2 (en) | 2014-03-31 | 2018-02-27 | Nicira, Inc. | Configuring interactions with a firewall service virtual machine |
US9385954B2 (en) | 2014-03-31 | 2016-07-05 | Nicira, Inc. | Hashing techniques for use in a network environment |
US10193806B2 (en) | 2014-03-31 | 2019-01-29 | Nicira, Inc. | Performing a finishing operation to improve the quality of a resulting hash |
US9582308B2 (en) | 2014-03-31 | 2017-02-28 | Nicira, Inc. | Auto detecting legitimate IP addresses using spoofguard agents |
US9503427B2 (en) | 2014-03-31 | 2016-11-22 | Nicira, Inc. | Method and apparatus for integrating a service virtual machine |
US9985896B2 (en) | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
US9215210B2 (en) | 2014-03-31 | 2015-12-15 | Nicira, Inc. | Migrating firewall connection state for a firewall service virtual machine |
US10091120B2 (en) | 2014-05-05 | 2018-10-02 | Nicira, Inc. | Secondary input queues for maintaining a consistent network state |
US9729512B2 (en) | 2014-06-04 | 2017-08-08 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
US9825913B2 (en) | 2014-06-04 | 2017-11-21 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
US9742881B2 (en) | 2014-06-30 | 2017-08-22 | Nicira, Inc. | Network virtualization using just-in-time distributed capability for classification encoding |
US9613218B2 (en) | 2014-06-30 | 2017-04-04 | Nicira, Inc. | Encryption system in a virtualized environment |
US9547516B2 (en) | 2014-08-22 | 2017-01-17 | Nicira, Inc. | Method and system for migrating virtual machines in virtual infrastructure |
US9774537B2 (en) | 2014-09-30 | 2017-09-26 | Nicira, Inc. | Dynamically adjusting load balancing |
US9768980B2 (en) | 2014-09-30 | 2017-09-19 | Nicira, Inc. | Virtual distributed bridging |
US10516568B2 (en) | 2014-09-30 | 2019-12-24 | Nicira, Inc. | Controller driven reconfiguration of a multi-layered application or service model |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US10020960B2 (en) | 2014-09-30 | 2018-07-10 | Nicira, Inc. | Virtual distributed bridging |
US10250443B2 (en) | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US10511458B2 (en) | 2014-09-30 | 2019-12-17 | Nicira, Inc. | Virtual distributed bridging |
US9755898B2 (en) | 2014-09-30 | 2017-09-05 | Nicira, Inc. | Elastically managing a service node group |
US10469342B2 (en) | 2014-10-10 | 2019-11-05 | Nicira, Inc. | Logical network traffic analysis |
US11533255B2 (en) | 2014-11-14 | 2022-12-20 | Nicira, Inc. | Stateful services on stateless clustered edge |
US9876714B2 (en) | 2014-11-14 | 2018-01-23 | Nicira, Inc. | Stateful services on stateless clustered edge |
US9866473B2 (en) | 2014-11-14 | 2018-01-09 | Nicira, Inc. | Stateful services on stateless clustered edge |
US10044617B2 (en) | 2014-11-14 | 2018-08-07 | Nicira, Inc. | Stateful services on stateless clustered edge |
US9692727B2 (en) | 2014-12-02 | 2017-06-27 | Nicira, Inc. | Context-aware distributed firewall |
US9891940B2 (en) | 2014-12-29 | 2018-02-13 | Nicira, Inc. | Introspection method and apparatus for network access filtering |
US9787605B2 (en) | 2015-01-30 | 2017-10-10 | Nicira, Inc. | Logical router with multiple routing components |
US10594743B2 (en) | 2015-04-03 | 2020-03-17 | Nicira, Inc. | Method, apparatus, and system for implementing a content switch |
US10038628B2 (en) | 2015-04-04 | 2018-07-31 | Nicira, Inc. | Route server mode for dynamic routing between logical and physical networks |
US9967134B2 (en) | 2015-04-06 | 2018-05-08 | Nicira, Inc. | Reduction of network churn based on differences in input state |
US9806948B2 (en) | 2015-06-30 | 2017-10-31 | Nicira, Inc. | Providing firewall rules for workload spread across multiple data centers |
US10348625B2 (en) | 2015-06-30 | 2019-07-09 | Nicira, Inc. | Sharing common L2 segment in a virtual distributed router environment |
US10129142B2 (en) | 2015-08-11 | 2018-11-13 | Nicira, Inc. | Route configuration for logical router |
US10075363B2 (en) | 2015-08-31 | 2018-09-11 | Nicira, Inc. | Authorization for advertised routes among logical routers |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US10095535B2 (en) | 2015-10-31 | 2018-10-09 | Nicira, Inc. | Static route types for logical routers |
US10324746B2 (en) | 2015-11-03 | 2019-06-18 | Nicira, Inc. | Extended context delivery for context-based authorization |
US10333849B2 (en) | 2016-04-28 | 2019-06-25 | Nicira, Inc. | Automatic configuration of logical routers on edge nodes |
US10135727B2 (en) | 2016-04-29 | 2018-11-20 | Nicira, Inc. | Address grouping for distributed service rules |
US10348685B2 (en) | 2016-04-29 | 2019-07-09 | Nicira, Inc. | Priority allocation for distributed service rules |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
US10841273B2 (en) | 2016-04-29 | 2020-11-17 | Nicira, Inc. | Implementing logical DHCP servers in logical networks |
US10484515B2 (en) | 2016-04-29 | 2019-11-19 | Nicira, Inc. | Implementing logical metadata proxy servers in logical networks |
US10091161B2 (en) | 2016-04-30 | 2018-10-02 | Nicira, Inc. | Assignment of router ID for logical routers |
US11171920B2 (en) | 2016-05-01 | 2021-11-09 | Nicira, Inc. | Publication of firewall configuration |
US10944722B2 (en) | 2016-05-01 | 2021-03-09 | Nicira, Inc. | Using activities to manage multi-tenant firewall configuration |
CN106060183B (en) * | 2016-05-03 | 2019-05-07 | 新华三技术有限公司 | A kind of address distribution method and device |
US11258761B2 (en) | 2016-06-29 | 2022-02-22 | Nicira, Inc. | Self-service firewall configuration |
US10153973B2 (en) | 2016-06-29 | 2018-12-11 | Nicira, Inc. | Installation of routing tables for logical router in route server mode |
US10560320B2 (en) | 2016-06-29 | 2020-02-11 | Nicira, Inc. | Ranking of gateways in cluster |
US11082400B2 (en) | 2016-06-29 | 2021-08-03 | Nicira, Inc. | Firewall configuration versioning |
US10798073B2 (en) | 2016-08-26 | 2020-10-06 | Nicira, Inc. | Secure key management protocol for distributed network encryption |
US9762619B1 (en) | 2016-08-30 | 2017-09-12 | Nicira, Inc. | Multi-layer policy definition and enforcement framework for network virtualization |
US10938837B2 (en) | 2016-08-30 | 2021-03-02 | Nicira, Inc. | Isolated network stack to manage security for virtual machines |
US10454758B2 (en) | 2016-08-31 | 2019-10-22 | Nicira, Inc. | Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP |
US10341236B2 (en) | 2016-09-30 | 2019-07-02 | Nicira, Inc. | Anycast edge service gateways |
US10341255B2 (en) | 2016-10-28 | 2019-07-02 | Hewlett Packard Enterprise Development Lp | Switch resource manager |
US10193862B2 (en) | 2016-11-29 | 2019-01-29 | Vmware, Inc. | Security policy analysis based on detecting new network port connections |
WO2018106612A1 (en) | 2016-12-06 | 2018-06-14 | Nicira, Inc. | Performing context-rich attribute-based services on a host |
US10237123B2 (en) | 2016-12-21 | 2019-03-19 | Nicira, Inc. | Dynamic recovery from a split-brain failure in edge nodes |
US10212071B2 (en) | 2016-12-21 | 2019-02-19 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10742746B2 (en) | 2016-12-21 | 2020-08-11 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10805332B2 (en) | 2017-07-25 | 2020-10-13 | Nicira, Inc. | Context engine model |
US10803173B2 (en) | 2016-12-22 | 2020-10-13 | Nicira, Inc. | Performing context-rich attribute-based process control services on a host |
US11032246B2 (en) | 2016-12-22 | 2021-06-08 | Nicira, Inc. | Context based firewall services for data message flows for multiple concurrent users on one machine |
US10616045B2 (en) | 2016-12-22 | 2020-04-07 | Nicira, Inc. | Migration of centralized routing components of logical router |
US10812451B2 (en) | 2016-12-22 | 2020-10-20 | Nicira, Inc. | Performing appID based firewall services on a host |
US10581960B2 (en) | 2016-12-22 | 2020-03-03 | Nicira, Inc. | Performing context-rich attribute-based load balancing on a host |
US10503536B2 (en) | 2016-12-22 | 2019-12-10 | Nicira, Inc. | Collecting and storing threat level indicators for service rule processing |
US10200306B2 (en) | 2017-03-07 | 2019-02-05 | Nicira, Inc. | Visualization of packet tracing operation results |
US10681000B2 (en) | 2017-06-30 | 2020-06-09 | Nicira, Inc. | Assignment of unique physical network addresses for logical network addresses |
US10637800B2 (en) | 2017-06-30 | 2020-04-28 | Nicira, Inc | Replacement of logical network addresses with physical network addresses |
US11570092B2 (en) | 2017-07-31 | 2023-01-31 | Nicira, Inc. | Methods for active-active stateful network service cluster |
US11296984B2 (en) | 2017-07-31 | 2022-04-05 | Nicira, Inc. | Use of hypervisor for active-active stateful network service cluster |
US10951584B2 (en) | 2017-07-31 | 2021-03-16 | Nicira, Inc. | Methods for active-active stateful network service cluster |
US10652281B1 (en) * | 2017-08-31 | 2020-05-12 | Vmware, Inc. | Network policy implementation in a tag-based policy architecture |
US10608887B2 (en) | 2017-10-06 | 2020-03-31 | Nicira, Inc. | Using packet tracing tool to automatically execute packet capture operations |
US10797966B2 (en) | 2017-10-29 | 2020-10-06 | Nicira, Inc. | Service operation chaining |
CN107908447B (en) * | 2017-10-31 | 2021-06-11 | 北京小鸟看看科技有限公司 | Application switching method and device and virtual reality device |
US10511459B2 (en) | 2017-11-14 | 2019-12-17 | Nicira, Inc. | Selection of managed forwarding element for bridge spanning multiple datacenters |
US10374827B2 (en) | 2017-11-14 | 2019-08-06 | Nicira, Inc. | Identifier that maps to different networks at different datacenters |
US11012420B2 (en) | 2017-11-15 | 2021-05-18 | Nicira, Inc. | Third-party service chaining using packet encapsulation in a flow-based forwarding element |
US10778651B2 (en) | 2017-11-15 | 2020-09-15 | Nicira, Inc. | Performing context-rich attribute-based encryption on a host |
US10797910B2 (en) | 2018-01-26 | 2020-10-06 | Nicira, Inc. | Specifying and utilizing paths through a network |
US10802893B2 (en) | 2018-01-26 | 2020-10-13 | Nicira, Inc. | Performing process control services on endpoint machines |
US10659252B2 (en) | 2018-01-26 | 2020-05-19 | Nicira, Inc | Specifying and utilizing paths through a network |
US10862773B2 (en) | 2018-01-26 | 2020-12-08 | Nicira, Inc. | Performing services on data messages associated with endpoint machines |
US11153122B2 (en) | 2018-02-19 | 2021-10-19 | Nicira, Inc. | Providing stateful services deployed in redundant gateways connected to asymmetric network |
US10728174B2 (en) | 2018-03-27 | 2020-07-28 | Nicira, Inc. | Incorporating layer 2 service between two interfaces of gateway device |
US10805192B2 (en) | 2018-03-27 | 2020-10-13 | Nicira, Inc. | Detecting failure of layer 2 service using broadcast messages |
US11184327B2 (en) | 2018-07-05 | 2021-11-23 | Vmware, Inc. | Context aware middlebox services at datacenter edges |
US10999220B2 (en) | 2018-07-05 | 2021-05-04 | Vmware, Inc. | Context aware middlebox services at datacenter edge |
US10944673B2 (en) | 2018-09-02 | 2021-03-09 | Vmware, Inc. | Redirection of data messages at logical network gateway |
US11595250B2 (en) | 2018-09-02 | 2023-02-28 | Vmware, Inc. | Service insertion at logical network gateway |
US10931560B2 (en) | 2018-11-23 | 2021-02-23 | Vmware, Inc. | Using route type to determine routing protocol behavior |
US10735541B2 (en) | 2018-11-30 | 2020-08-04 | Vmware, Inc. | Distributed inline proxy |
US10797998B2 (en) | 2018-12-05 | 2020-10-06 | Vmware, Inc. | Route server for distributed routers using hierarchical routing protocol |
US10938788B2 (en) | 2018-12-12 | 2021-03-02 | Vmware, Inc. | Static routes for policy-based VPN |
US11086654B2 (en) | 2019-02-22 | 2021-08-10 | Vmware, Inc. | Providing services by using multiple service planes |
US11310202B2 (en) | 2019-03-13 | 2022-04-19 | Vmware, Inc. | Sharing of firewall rules among multiple workloads in a hypervisor |
CN110417668B (en) * | 2019-07-24 | 2021-11-02 | 新华三大数据技术有限公司 | Message transmission method and network equipment |
US11095480B2 (en) | 2019-08-30 | 2021-08-17 | Vmware, Inc. | Traffic optimization using distributed edge services |
US11140218B2 (en) | 2019-10-30 | 2021-10-05 | Vmware, Inc. | Distributed service chain across multiple clouds |
US11283717B2 (en) | 2019-10-30 | 2022-03-22 | Vmware, Inc. | Distributed fault tolerant service chain |
US11641305B2 (en) | 2019-12-16 | 2023-05-02 | Vmware, Inc. | Network diagnosis in software-defined networking (SDN) environments |
US11539718B2 (en) | 2020-01-10 | 2022-12-27 | Vmware, Inc. | Efficiently performing intrusion detection |
US11223494B2 (en) | 2020-01-13 | 2022-01-11 | Vmware, Inc. | Service insertion for multicast traffic at boundary |
US11283699B2 (en) | 2020-01-17 | 2022-03-22 | Vmware, Inc. | Practical overlay network latency measurement in datacenter |
US11659061B2 (en) | 2020-01-20 | 2023-05-23 | Vmware, Inc. | Method of adjusting service function chains to improve network performance |
US11153406B2 (en) | 2020-01-20 | 2021-10-19 | Vmware, Inc. | Method of network performance visualization of service function chains |
US11496437B2 (en) | 2020-04-06 | 2022-11-08 | Vmware, Inc. | Selective ARP proxy |
US11438257B2 (en) | 2020-04-06 | 2022-09-06 | Vmware, Inc. | Generating forward and reverse direction connection-tracking records for service paths at a network edge |
US11616755B2 (en) | 2020-07-16 | 2023-03-28 | Vmware, Inc. | Facilitating distributed SNAT service |
US11606294B2 (en) | 2020-07-16 | 2023-03-14 | Vmware, Inc. | Host computer configured to facilitate distributed SNAT service |
US11108728B1 (en) | 2020-07-24 | 2021-08-31 | Vmware, Inc. | Fast distribution of port identifiers for rule processing |
US11611613B2 (en) | 2020-07-24 | 2023-03-21 | Vmware, Inc. | Policy-based forwarding to a load balancer of a load balancing cluster |
US11451413B2 (en) | 2020-07-28 | 2022-09-20 | Vmware, Inc. | Method for advertising availability of distributed gateway service and machines at host computer |
US11902050B2 (en) | 2020-07-28 | 2024-02-13 | VMware LLC | Method for providing distributed gateway service at host computer |
US11196628B1 (en) | 2020-07-29 | 2021-12-07 | Vmware, Inc. | Monitoring container clusters |
US11558426B2 (en) | 2020-07-29 | 2023-01-17 | Vmware, Inc. | Connection tracking for container cluster |
US11570090B2 (en) | 2020-07-29 | 2023-01-31 | Vmware, Inc. | Flow tracing operation in container cluster |
US11829793B2 (en) | 2020-09-28 | 2023-11-28 | Vmware, Inc. | Unified management of virtual machines and bare metal computers |
US11734043B2 (en) | 2020-12-15 | 2023-08-22 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11611625B2 (en) | 2020-12-15 | 2023-03-21 | Vmware, Inc. | Providing stateful services in a scalable manner for machines executing on host computers |
US11736436B2 (en) | 2020-12-31 | 2023-08-22 | Vmware, Inc. | Identifying routes with indirect addressing in a datacenter |
US11336533B1 (en) | 2021-01-08 | 2022-05-17 | Vmware, Inc. | Network visualization of correlations between logical elements and associated physical elements |
US11805101B2 (en) | 2021-04-06 | 2023-10-31 | Vmware, Inc. | Secured suppression of address discovery messages |
US11687210B2 (en) | 2021-07-05 | 2023-06-27 | Vmware, Inc. | Criteria-based expansion of group nodes in a network topology visualization |
US11711278B2 (en) | 2021-07-24 | 2023-07-25 | Vmware, Inc. | Visualization of flow trace operation across multiple sites |
US11855862B2 (en) | 2021-09-17 | 2023-12-26 | Vmware, Inc. | Tagging packets for monitoring and analysis |
US11799761B2 (en) | 2022-01-07 | 2023-10-24 | Vmware, Inc. | Scaling edge services with minimal disruption |
US11962564B2 (en) | 2022-02-15 | 2024-04-16 | VMware LLC | Anycast address for network address translation at edge |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
Citations (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667323A (en) * | 1985-09-03 | 1987-05-19 | Allen-Bradley Company, Inc. | Industrialized token passing network |
US4667287A (en) * | 1982-10-28 | 1987-05-19 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4726018A (en) * | 1986-08-25 | 1988-02-16 | International Business Machines Corporation | Method of providing priority access to a transmission communication ring |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
US5491691A (en) * | 1994-08-16 | 1996-02-13 | Motorola, Inc. | Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission |
US5568525A (en) * | 1993-08-19 | 1996-10-22 | International Business Machines Corporation | System and method for connection of multiple protocol terminals |
US5598414A (en) * | 1991-02-06 | 1997-01-28 | Walser; Robert A. | Access to transmit on a message priority basis |
US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
US5825772A (en) * | 1995-11-15 | 1998-10-20 | Cabletron Systems, Inc. | Distributed connection-oriented services for switched communications networks |
US5875290A (en) * | 1997-03-27 | 1999-02-23 | International Business Machines Corporation | Method and program product for synchronizing operator initiated commands with a failover process in a distributed processing system |
US5941973A (en) * | 1992-02-18 | 1999-08-24 | Hitachi, Ltd. | Bus control system incorporating the coupling of two split-transaction busses of different hierarchy |
US5963555A (en) * | 1996-09-03 | 1999-10-05 | Hitachi Ltd | Router apparatus using ATM switch |
US6014382A (en) * | 1996-04-04 | 2000-01-11 | Hitachi, Ltd. | ATM switching system including a switching control portion for distributing call set-up requirement signals |
US6047330A (en) * | 1998-01-20 | 2000-04-04 | Netscape Communications Corporation | Virtual router discovery system |
US6069895A (en) * | 1997-08-29 | 2000-05-30 | Nortel Networks Corporation | Distributed route server |
US6085238A (en) * | 1996-04-23 | 2000-07-04 | Matsushita Electric Works, Ltd. | Virtual LAN system |
US6098110A (en) * | 1996-12-30 | 2000-08-01 | Compaq Computer Corporation | Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses |
US6169793B1 (en) * | 1996-12-24 | 2001-01-02 | Evolving Systems, Inc. | Systems and methods for providing order and service mediation for telecommunications systems |
US6169739B1 (en) * | 1997-01-08 | 2001-01-02 | Nec Corporation | ATM VLAN multi-protocol client-server system using layer-3 header of packets for transporting connectionless and connection-oriented traffic |
US6175867B1 (en) * | 1998-03-23 | 2001-01-16 | Mci World Com, Inc. | System and method for managing networks addressed via common network addresses |
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
US6212556B1 (en) * | 1995-11-13 | 2001-04-03 | Webxchange, Inc. | Configurable value-added network (VAN) switching |
US6220768B1 (en) * | 1996-06-28 | 2001-04-24 | Sun Microsystems, Inc. | Network asset survey tool for gathering data about node equipment |
US6226788B1 (en) * | 1998-07-22 | 2001-05-01 | Cisco Technology, Inc. | Extensible network management system |
US6260073B1 (en) * | 1996-12-30 | 2001-07-10 | Compaq Computer Corporation | Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports |
US6260072B1 (en) * | 1997-06-12 | 2001-07-10 | Lucent Technologies Inc | Method and apparatus for adaptive routing in packet networks |
US6266695B1 (en) * | 1997-12-23 | 2001-07-24 | Alcatel Usa Sourcing, L.P. | Telecommunications switch management system |
US6269099B1 (en) * | 1998-07-01 | 2001-07-31 | 3Com Corporation | Protocol and method for peer network device discovery |
US6280638B1 (en) * | 1996-12-12 | 2001-08-28 | Belcho Alexandrov Belchev | Apparatus for continuous purification of liquids, dewatering and drying of the separated solids |
US6295297B1 (en) * | 1997-12-29 | 2001-09-25 | Samsung Electronics Co., Ltd. | Gateway for connecting ATM-based access network to existing network |
US6298130B1 (en) * | 1997-09-30 | 2001-10-02 | Genesys Telecommunications Laboratories Inc. | Metadata-based network routing |
US6304557B1 (en) * | 1994-09-01 | 2001-10-16 | Fujitsu Limited | Communication network configuration detecting method and communication line information table creating method |
US20010033580A1 (en) * | 1997-11-19 | 2001-10-25 | Dorsey Paul C. | Multi-protocol packet translator |
US20010043571A1 (en) * | 2000-03-24 | 2001-11-22 | Saqib Jang | Multiple subscriber videoconferencing system |
US6324583B1 (en) * | 1998-11-17 | 2001-11-27 | International Business Machines Corp. | Method and apparatus for enabling communication between dissimilar protocol stacks |
US6338092B1 (en) * | 1998-09-24 | 2002-01-08 | International Business Machines Corporation | Method, system and computer program for replicating data in a distributed computed environment |
US6339782B1 (en) * | 1997-11-21 | 2002-01-15 | International Business Machines Corporation | Persistence mechanism and method for objects |
US20020023171A1 (en) * | 2000-03-20 | 2002-02-21 | Garrett John W. | Service selection in a shared access network using policy routing |
US20020062344A1 (en) * | 1998-09-11 | 2002-05-23 | Tatu Ylonen | Method and arrangement for secure tunneling of data between virtual routers |
US20020066034A1 (en) * | 2000-10-24 | 2002-05-30 | Schlossberg Barry J. | Distributed network security deception system |
US6405262B1 (en) * | 1995-07-14 | 2002-06-11 | Microsoft Corporation | Efficient inter-process object and interface pinging |
US6414595B1 (en) * | 2000-06-16 | 2002-07-02 | Ciena Corporation | Method and system for processing alarm objects in a communications network |
US20020097872A1 (en) * | 2001-01-24 | 2002-07-25 | Maliszewski Richard L. | Method of providing secure content-based user experience enhancement within a content protection architecture |
US6434619B1 (en) * | 1998-04-29 | 2002-08-13 | Alcatel Canada Inc. | Internet-enabled service management system and method |
US6449650B1 (en) * | 1999-02-01 | 2002-09-10 | Redback Networks Inc. | Methods and apparatus for deploying quality of service policies on a data communication network |
US6463061B1 (en) * | 1997-12-23 | 2002-10-08 | Cisco Technology, Inc. | Shared communications network employing virtual-private-network identifiers |
US6466976B1 (en) * | 1998-12-03 | 2002-10-15 | Nortel Networks Limited | System and method for providing desired service policies to subscribers accessing the internet |
US20020152373A1 (en) * | 2000-09-13 | 2002-10-17 | Chih-Tang Sun | Tunnel interface for securing traffic over a network |
US6487666B1 (en) * | 1999-01-15 | 2002-11-26 | Cisco Technology, Inc. | Intrusion detection signature analysis using regular expressions and logical operators |
US20030026262A1 (en) * | 2001-07-31 | 2003-02-06 | Patrik Jarl | Channel resource allocation arrangement and method |
US20030033401A1 (en) * | 1999-04-02 | 2003-02-13 | Matthew W. Poisson | Monitoring a virtual private network |
US20030115308A1 (en) * | 2001-12-19 | 2003-06-19 | Michael Best | Network management system architecture |
US20030131228A1 (en) * | 2002-01-10 | 2003-07-10 | Twomey John E. | System on a chip for network storage devices |
US6625650B2 (en) * | 1998-06-27 | 2003-09-23 | Intel Corporation | System for multi-layer broadband provisioning in computer networks |
US20030212735A1 (en) * | 2002-05-13 | 2003-11-13 | Nvidia Corporation | Method and apparatus for providing an integrated network of processors |
US20040037279A1 (en) * | 2002-08-23 | 2004-02-26 | David Zelig | Virtual private LAN service using a multicast protocol |
US6701449B1 (en) * | 2000-04-20 | 2004-03-02 | Ciprico, Inc. | Method and apparatus for monitoring and analyzing network appliance status information |
US20040042416A1 (en) * | 2002-08-27 | 2004-03-04 | Ngo Chuong Ngoc | Virtual Local Area Network auto-discovery methods |
US6738371B1 (en) * | 1999-09-28 | 2004-05-18 | Ericsson Inc. | Ingress data queue management in a packet data router |
US20040095934A1 (en) * | 2002-11-18 | 2004-05-20 | Cosine Communications, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US6785691B1 (en) * | 1999-10-13 | 2004-08-31 | Avaya Technology Corp. | Object oriented processing system and data sharing environment for applications therein |
US6785224B2 (en) * | 2000-03-06 | 2004-08-31 | Fujitsu Limited | Ring configuring method and node apparatus used in the ring |
US6816462B1 (en) * | 2000-08-02 | 2004-11-09 | International Business Machines Corporation | System and method to determine connectivity of a VPN secure tunnel |
US20050002417A1 (en) * | 2003-07-02 | 2005-01-06 | Kelly Thomas J. | Systems and methods for performing protocol conversions in a work machine |
US20050055306A1 (en) * | 1998-09-22 | 2005-03-10 | Science Applications International Corporation | User-defined dynamic collaborative environments |
US6877661B2 (en) * | 2000-08-16 | 2005-04-12 | Richard M. Webb | Scannable barcode display and methods for using the same |
US20050081059A1 (en) * | 1997-07-24 | 2005-04-14 | Bandini Jean-Christophe Denis | Method and system for e-mail filtering |
US6883170B1 (en) * | 2000-08-30 | 2005-04-19 | Aspect Communication Corporation | Method and system to maintain a hierarchy of instantiated application objects and to enable recovery from an applications failure |
US20050108340A1 (en) * | 2003-05-15 | 2005-05-19 | Matt Gleeson | Method and apparatus for filtering email spam based on similarity measures |
US20050113114A1 (en) * | 2003-11-26 | 2005-05-26 | Nokia Corporation | Method and apparatus to provide efficient routing of packets for a network initiated data session |
US6920580B1 (en) * | 2000-07-25 | 2005-07-19 | Network Appliance, Inc. | Negotiated graceful takeover in a node cluster |
US7044362B2 (en) * | 2001-10-10 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Electronic ticketing system and method |
US20060206713A1 (en) * | 2005-03-14 | 2006-09-14 | Yahoo! Inc. | Associating a postmark with a message to indicate trust |
US7116665B2 (en) * | 2002-06-04 | 2006-10-03 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US7149216B1 (en) * | 2000-09-05 | 2006-12-12 | Cisco Technology, Inc. | M-trie based packet processing |
US7181547B1 (en) * | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US7243371B1 (en) * | 2001-11-09 | 2007-07-10 | Cisco Technology, Inc. | Method and system for configurable network intrusion detection |
US20070208810A1 (en) * | 2004-04-05 | 2007-09-06 | Miraj Mostafa | Message Handling |
US7293355B2 (en) * | 2005-04-21 | 2007-11-13 | Endicott Interconnect Technologies, Inc. | Apparatus and method for making circuitized substrates in a continuous manner |
US7499419B2 (en) * | 2004-09-24 | 2009-03-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US7555284B2 (en) * | 2002-05-21 | 2009-06-30 | Nokia Corporation | Method and a device for providing digital tickets in a mobile communications environment |
US20090222459A1 (en) * | 2008-02-21 | 2009-09-03 | Joseph Steinberg | System for allowing multiple relationship/membership identifiers to be consolidated to a single identifying device |
US20100042546A1 (en) * | 2005-10-23 | 2010-02-18 | Roger Humbel | Multimedia (VO) IP Solution for Mobile Telephones |
US7720053B2 (en) * | 2002-06-04 | 2010-05-18 | Fortinet, Inc. | Service processing switch |
US20100122872A1 (en) * | 2008-11-17 | 2010-05-20 | Peter Korevaar | Scaffold elevator |
US20100146098A1 (en) * | 2001-04-24 | 2010-06-10 | Hitachi, Ltd | Intergrated service management system |
US20100146627A1 (en) * | 2006-03-01 | 2010-06-10 | Fortinet, Inc. | Electronic message and data tracking system |
US7761743B2 (en) * | 2002-08-29 | 2010-07-20 | Fortinet, Inc. | Fault tolerant routing in a non-hot-standby configuration of a network routing system |
US20100219234A1 (en) * | 2005-04-25 | 2010-09-02 | Mobiqa Limited | Mobile ticket authentication |
US20100220741A1 (en) * | 2003-08-27 | 2010-09-02 | Fortinet, Inc. | Heterogeneous media packet bridging |
US7961615B2 (en) * | 2004-11-18 | 2011-06-14 | Fortinet, Inc. | Managing hierarchically organized subscriber profiles |
Family Cites Families (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590468A (en) | 1983-03-10 | 1986-05-20 | Western Digital Corporation | Token access controller protocol and architecture |
US6453406B1 (en) | 1990-10-17 | 2002-09-17 | Compaq Computer Corporation | Multiprocessor system with fiber optic bus interconnect for interprocessor communications |
US5371852A (en) | 1992-10-14 | 1994-12-06 | International Business Machines Corporation | Method and apparatus for making a cluster of computers appear as a single host on a network |
US5581705A (en) * | 1993-12-13 | 1996-12-03 | Cray Research, Inc. | Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system |
US5550816A (en) | 1994-12-29 | 1996-08-27 | Storage Technology Corporation | Method and apparatus for virtual switching |
US6058307A (en) | 1995-11-30 | 2000-05-02 | Amsc Subsidiary Corporation | Priority and preemption service system for satellite related communication using central controller |
US6542502B1 (en) | 1996-01-26 | 2003-04-01 | International Business Machines Corporation | Multicasting using a wormhole routing switching element |
JP2002516042A (en) | 1996-01-31 | 2002-05-28 | イプシロン ネットワークス インコーポレイテッド | Method and apparatus for dynamically shifting between packet routing and switching in a transmission network |
US5892924A (en) | 1996-01-31 | 1999-04-06 | Ipsilon Networks, Inc. | Method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
US5841973A (en) | 1996-03-13 | 1998-11-24 | Cray Research, Inc. | Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory |
US5964847A (en) | 1997-03-10 | 1999-10-12 | International Business Machines Corporation | Mobile client computer interacting with docking device |
JP3575225B2 (en) | 1997-05-19 | 2004-10-13 | 株式会社日立製作所 | Packet switch, packet switching network, and packet switching method |
US6108699A (en) | 1997-06-27 | 2000-08-22 | Sun Microsystems, Inc. | System and method for modifying membership in a clustered distributed computer system and updating system configuration |
US7117358B2 (en) | 1997-07-24 | 2006-10-03 | Tumbleweed Communications Corp. | Method and system for filtering communication |
US7162738B2 (en) | 1998-11-03 | 2007-01-09 | Tumbleweed Communications Corp. | E-mail firewall with stored key encryption/decryption |
US6256295B1 (en) | 1997-09-25 | 2001-07-03 | Nortel Networks Limited | Method and apparatus for determining multiple minimally-overlapping paths between nodes in a network |
US6631402B1 (en) | 1997-09-26 | 2003-10-07 | Worldcom, Inc. | Integrated proxy interface for web based report requester tool set |
US6014669A (en) | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6894994B1 (en) | 1997-11-03 | 2005-05-17 | Qualcomm Incorporated | High data rate wireless packet data communications system |
US6343083B1 (en) | 1998-04-09 | 2002-01-29 | Alcatel Usa Sourcing, L.P. | Method and apparatus for supporting a connectionless communication protocol over an ATM network |
US6269452B1 (en) | 1998-04-27 | 2001-07-31 | Cisco Technology, Inc. | System and method for fault recovery for a two line bi-directional ring network |
CN1214689C (en) | 1998-06-19 | 2005-08-10 | 杜松网络公司 | Device for performing IP forwarding and ATM switching |
US6680922B1 (en) | 1998-07-10 | 2004-01-20 | Malibu Networks, Inc. | Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system |
US6640248B1 (en) | 1998-07-10 | 2003-10-28 | Malibu Networks, Inc. | Application-aware, quality of service (QoS) sensitive, media access control (MAC) layer |
US6769124B1 (en) | 1998-07-22 | 2004-07-27 | Cisco Technology, Inc. | Persistent storage of information objects |
US6286038B1 (en) | 1998-08-03 | 2001-09-04 | Nortel Networks Limited | Method and apparatus for remotely configuring a network device |
US6920146B1 (en) | 1998-10-05 | 2005-07-19 | Packet Engines Incorporated | Switching device with multistage queuing scheme |
US6493349B1 (en) | 1998-11-13 | 2002-12-10 | Nortel Networks Limited | Extended internet protocol virtual private network architectures |
US6609153B1 (en) * | 1998-12-24 | 2003-08-19 | Redback Networks Inc. | Domain isolation through virtual network machines |
US6654787B1 (en) | 1998-12-31 | 2003-11-25 | Brightmail, Incorporated | Method and apparatus for filtering e-mail |
US6738821B1 (en) | 1999-01-26 | 2004-05-18 | Adaptec, Inc. | Ethernet storage protocol networks |
US7116679B1 (en) * | 1999-02-23 | 2006-10-03 | Alcatel | Multi-service network switch with a generic forwarding interface |
US6789118B1 (en) * | 1999-02-23 | 2004-09-07 | Alcatel | Multi-service network switch with policy based routing |
US6674756B1 (en) * | 1999-02-23 | 2004-01-06 | Alcatel | Multi-service network switch with multiple virtual routers |
US6246682B1 (en) | 1999-03-05 | 2001-06-12 | Transwitch Corp. | Method and apparatus for managing multiple ATM cell queues |
US6658013B1 (en) | 1999-03-23 | 2003-12-02 | Nortel Networks Limited | Method and apparatus for ensuring survivability of inter-ring traffic |
EP1041776A1 (en) * | 1999-03-30 | 2000-10-04 | International Business Machines Corporation | Multiple ARP functionality for an IP data transmission system |
US6542515B1 (en) | 1999-05-19 | 2003-04-01 | Sun Microsystems, Inc. | Profile service |
US6807181B1 (en) | 1999-05-19 | 2004-10-19 | Sun Microsystems, Inc. | Context based control data |
JP4110671B2 (en) | 1999-05-27 | 2008-07-02 | 株式会社日立製作所 | Data transfer device |
US6553423B1 (en) | 1999-05-27 | 2003-04-22 | Cisco Technology, Inc. | Method and apparatus for dynamic exchange of capabilities between adjacent/neighboring networks nodes |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6694437B1 (en) | 1999-06-22 | 2004-02-17 | Institute For Information Technology | System and method for on-demand access concentrator for virtual private networks |
US7058716B1 (en) | 1999-07-02 | 2006-06-06 | Covad Communications Group, Inc. | Automatic configuration and provisioning of virtual circuits for initial installation of high bandwidth connections |
US6990103B1 (en) | 1999-07-13 | 2006-01-24 | Alcatel Canada Inc. | Method and apparatus for providing distributed communication routing |
US6597956B1 (en) | 1999-08-23 | 2003-07-22 | Terraspring, Inc. | Method and apparatus for controlling an extensible computing system |
US6532088B1 (en) | 1999-09-10 | 2003-03-11 | Alcatel | System and method for packet level distributed routing in fiber optic rings |
US7376827B1 (en) | 1999-11-05 | 2008-05-20 | Cisco Technology, Inc. | Directory-enabled network elements |
US6934292B1 (en) * | 1999-11-09 | 2005-08-23 | Intel Corporation | Method and system for emulating a single router in a switch stack |
US6775267B1 (en) | 1999-12-30 | 2004-08-10 | At&T Corp | Method for billing IP broadband subscribers |
US6775284B1 (en) | 2000-01-07 | 2004-08-10 | International Business Machines Corporation | Method and system for frame and protocol classification |
JP2001202371A (en) | 2000-01-19 | 2001-07-27 | Sony Corp | Data communication system and receiver to be used therefor |
US6496935B1 (en) | 2000-03-02 | 2002-12-17 | Check Point Software Technologies Ltd | System, device and method for rapid packet filtering and processing |
US6977917B2 (en) | 2000-03-10 | 2005-12-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for mapping an IP address to an MSISDN number within a service network |
US7096495B1 (en) | 2000-03-31 | 2006-08-22 | Intel Corporation | Network session management |
US7181766B2 (en) | 2000-04-12 | 2007-02-20 | Corente, Inc. | Methods and system for providing network services using at least one processor interfacing a base network |
US7028333B2 (en) | 2000-04-12 | 2006-04-11 | Corente, Inc. | Methods and systems for partners in virtual networks |
US7062642B1 (en) | 2000-05-20 | 2006-06-13 | Ciena Corporation | Policy based provisioning of network device resources |
US6732314B1 (en) | 2000-05-26 | 2004-05-04 | 3Com Corporation | Method and apparatus for L2TP forward error correction |
FI20001574A (en) | 2000-06-30 | 2001-12-31 | Nokia Corp | Resource allocation and service forwarding over a wireless network |
US6668282B1 (en) | 2000-08-02 | 2003-12-23 | International Business Machines Corporation | System and method to monitor and determine if an active IPSec tunnel has become disabled |
US7216179B2 (en) | 2000-08-16 | 2007-05-08 | Semandex Networks Inc. | High-performance addressing and routing of data packets with semantically descriptive labels in a computer network |
US7174372B1 (en) | 2000-09-13 | 2007-02-06 | Fortinet, Inc. | System and method for managing router metadata |
US7111072B1 (en) | 2000-09-13 | 2006-09-19 | Cosine Communications, Inc. | Packet routing system and method |
US7272643B1 (en) | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7263106B2 (en) | 2000-09-13 | 2007-08-28 | Fortinet, Inc. | System and protocol for frame relay service over the internet |
US7389358B1 (en) * | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US7487232B1 (en) | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US7444398B1 (en) | 2000-09-13 | 2008-10-28 | Fortinet, Inc. | System and method for delivering security services |
US6822958B1 (en) | 2000-09-25 | 2004-11-23 | Integrated Device Technology, Inc. | Implementation of multicast in an ATM switch |
US6985447B2 (en) * | 2000-10-20 | 2006-01-10 | Nortel Networks Limited | Label switched traffic routing and signaling in a label switched communication packet network |
WO2002061525A2 (en) | 2000-11-02 | 2002-08-08 | Pirus Networks | Tcp/udp acceleration |
US7313614B2 (en) | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US6985956B2 (en) | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
KR100703499B1 (en) | 2000-12-09 | 2007-04-03 | 삼성전자주식회사 | Database structure for implementing traffic engineering function in multi protocol label switching system and constructing method thereof |
US6885667B1 (en) * | 2000-12-26 | 2005-04-26 | Cisco Technology, Inc. | Redirection to a virtual router |
US7159031B1 (en) | 2001-01-26 | 2007-01-02 | Fortinet, Inc. | Remote customer management of virtual routers allocated to the customer |
US7225259B2 (en) | 2001-02-21 | 2007-05-29 | Nokia Inc. | Service tunnel over a connectionless network |
US7042843B2 (en) | 2001-03-02 | 2006-05-09 | Broadcom Corporation | Algorithm for time based queuing in network traffic engineering |
US7325249B2 (en) | 2001-04-30 | 2008-01-29 | Aol Llc | Identifying unwanted electronic messages |
US7042848B2 (en) | 2001-05-04 | 2006-05-09 | Slt Logic Llc | System and method for hierarchical policing of flows and subflows of a data stream |
US6922774B2 (en) | 2001-05-14 | 2005-07-26 | The United States Of America As Represented By The National Security Agency | Device for and method of secure computing using virtual machines |
US6952397B2 (en) | 2001-06-07 | 2005-10-04 | Corrigent Systems Ltd. | Communication in a bidirectional ring network with single-direction receiving |
US7020143B2 (en) | 2001-06-18 | 2006-03-28 | Ericsson Inc. | System for and method of differentiated queuing in a routing system |
US6940864B2 (en) | 2001-07-16 | 2005-09-06 | International Business Machines Corporation | Network access traffic sorter |
US7054311B2 (en) | 2001-07-27 | 2006-05-30 | 4198638 Canada Inc. | Methods and apparatus for storage and processing of routing information |
US20030055920A1 (en) | 2001-09-17 | 2003-03-20 | Deepak Kakadia | Method and apparatus for automatic quality of service configuration based on traffic flow and other network parameters |
US7342917B2 (en) | 2001-10-02 | 2008-03-11 | Comverse, Inc. | Multimedia personalized call management (MPCM) |
US7316029B1 (en) | 2001-10-25 | 2008-01-01 | Sprint Communications Company L.P. | Network security services architecture |
US7484003B2 (en) | 2001-11-17 | 2009-01-27 | Redback Networks Inc. | Method and apparatus for multiple contexts and layer 3 virtual private networks |
CA2365681A1 (en) | 2001-12-19 | 2003-06-19 | Alcatel Canada Inc. | System and method for managing information for elements in a communication network |
US6982987B2 (en) | 2002-01-10 | 2006-01-03 | Harris Corporation | Wireless communication network including data prioritization and packet reception error determination features and related methods |
US20030174650A1 (en) | 2002-03-15 | 2003-09-18 | Broadcom Corporation | Weighted fair queuing (WFQ) shaper |
US20030185221A1 (en) | 2002-03-29 | 2003-10-02 | Alan Deikman | Network controller with shadowing of software routing tables to hardware routing tables |
US7082477B1 (en) | 2002-04-30 | 2006-07-25 | Cisco Technology, Inc. | Virtual application of features to electronic messages |
US7221945B2 (en) | 2002-05-03 | 2007-05-22 | Leapstone Systems, Inc. | System and method for establishing and controlling access to network resources |
US7161904B2 (en) | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
US7340535B1 (en) | 2002-06-04 | 2008-03-04 | Fortinet, Inc. | System and method for controlling routing in a virtual router system |
US7177311B1 (en) | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
US7187676B2 (en) | 2002-06-04 | 2007-03-06 | Sun Microsystems, Inc. | Apparatus and method for steering a communication to an open stream |
US7203192B2 (en) | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US20040006601A1 (en) | 2002-07-01 | 2004-01-08 | Bernstein David B. | Method and system for optimized persistent messaging |
US6907039B2 (en) | 2002-07-20 | 2005-06-14 | Redback Networks Inc. | Method and apparatus for routing and forwarding between virtual routers within a single network element |
US20040019651A1 (en) | 2002-07-29 | 2004-01-29 | Andaker Kristian L. M. | Categorizing electronic messages based on collaborative feedback |
US20040078772A1 (en) | 2002-10-16 | 2004-04-22 | Cosine Communications, Inc. | Dynamic route exchange |
WO2004036371A2 (en) | 2002-10-16 | 2004-04-29 | Rocksteady Networks, Inc. | System and method for dynamic bandwidth provisioning |
US20040203752A1 (en) | 2002-11-18 | 2004-10-14 | Toshiba America Information Systems, Inc. | Mobility communications system |
US20040199569A1 (en) | 2003-02-18 | 2004-10-07 | Mohan Kalkunte | Method and system for handling traffic for server systems |
US7499398B2 (en) | 2003-04-16 | 2009-03-03 | International Business Machines Corporation | Method and system for oversubscribing bandwidth in a communications network |
US7386010B2 (en) | 2003-06-13 | 2008-06-10 | Corrigent Systems Ltd | Multiprotocol media conversion |
US7839843B2 (en) | 2003-09-18 | 2010-11-23 | Cisco Technology, Inc. | Distributed forwarding in virtual network devices |
CN100496189C (en) * | 2003-11-13 | 2009-06-03 | 诺基亚有限公司 | Flexible connector with printed circuit lines encircling two axes |
US8289906B2 (en) | 2004-03-26 | 2012-10-16 | Samsung Electronics Co. Ltd. | Method and system for assigning servers based on server status in a wireless network |
ATE451806T1 (en) | 2004-05-24 | 2009-12-15 | Computer Ass Think Inc | SYSTEM AND METHOD FOR AUTOMATICALLY CONFIGURING A MOBILE DEVICE |
DE602004012336T2 (en) | 2004-10-05 | 2009-03-19 | Telefonaktiebolaget Lm Ericsson (Publ) | ARRANGEMENT AND METHOD FOR SERVICE MANAGEMENT CONTROL |
US7378827B2 (en) * | 2005-08-24 | 2008-05-27 | Micrel, Incorporated | Analog internal soft-start and clamp circuit for switching regulator |
JP4740775B2 (en) | 2006-03-20 | 2011-08-03 | 日産自動車株式会社 | Engine intake air amount control device |
US7545740B2 (en) | 2006-04-07 | 2009-06-09 | Corrigent Systems Ltd. | Two-way link aggregation |
-
2000
- 2000-09-13 US US09/661,130 patent/US7389358B1/en not_active Expired - Lifetime
-
2008
- 2008-06-16 US US12/140,249 patent/US7818452B2/en not_active Expired - Fee Related
-
2010
- 2010-10-18 US US12/906,999 patent/US20110032942A1/en not_active Abandoned
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667287A (en) * | 1982-10-28 | 1987-05-19 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4667323A (en) * | 1985-09-03 | 1987-05-19 | Allen-Bradley Company, Inc. | Industrialized token passing network |
US4726018A (en) * | 1986-08-25 | 1988-02-16 | International Business Machines Corporation | Method of providing priority access to a transmission communication ring |
US5598414A (en) * | 1991-02-06 | 1997-01-28 | Walser; Robert A. | Access to transmit on a message priority basis |
US5941973A (en) * | 1992-02-18 | 1999-08-24 | Hitachi, Ltd. | Bus control system incorporating the coupling of two split-transaction busses of different hierarchy |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
US5568525A (en) * | 1993-08-19 | 1996-10-22 | International Business Machines Corporation | System and method for connection of multiple protocol terminals |
US5745778A (en) * | 1994-01-26 | 1998-04-28 | Data General Corporation | Apparatus and method for improved CPU affinity in a multiprocessor system |
US5491691A (en) * | 1994-08-16 | 1996-02-13 | Motorola, Inc. | Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission |
US6304557B1 (en) * | 1994-09-01 | 2001-10-16 | Fujitsu Limited | Communication network configuration detecting method and communication line information table creating method |
US6405262B1 (en) * | 1995-07-14 | 2002-06-11 | Microsoft Corporation | Efficient inter-process object and interface pinging |
US6212556B1 (en) * | 1995-11-13 | 2001-04-03 | Webxchange, Inc. | Configurable value-added network (VAN) switching |
US5825772A (en) * | 1995-11-15 | 1998-10-20 | Cabletron Systems, Inc. | Distributed connection-oriented services for switched communications networks |
US6014382A (en) * | 1996-04-04 | 2000-01-11 | Hitachi, Ltd. | ATM switching system including a switching control portion for distributing call set-up requirement signals |
US6085238A (en) * | 1996-04-23 | 2000-07-04 | Matsushita Electric Works, Ltd. | Virtual LAN system |
US6220768B1 (en) * | 1996-06-28 | 2001-04-24 | Sun Microsystems, Inc. | Network asset survey tool for gathering data about node equipment |
US5963555A (en) * | 1996-09-03 | 1999-10-05 | Hitachi Ltd | Router apparatus using ATM switch |
US6280638B1 (en) * | 1996-12-12 | 2001-08-28 | Belcho Alexandrov Belchev | Apparatus for continuous purification of liquids, dewatering and drying of the separated solids |
US6169793B1 (en) * | 1996-12-24 | 2001-01-02 | Evolving Systems, Inc. | Systems and methods for providing order and service mediation for telecommunications systems |
US6260073B1 (en) * | 1996-12-30 | 2001-07-10 | Compaq Computer Corporation | Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports |
US6098110A (en) * | 1996-12-30 | 2000-08-01 | Compaq Computer Corporation | Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses |
US6169739B1 (en) * | 1997-01-08 | 2001-01-02 | Nec Corporation | ATM VLAN multi-protocol client-server system using layer-3 header of packets for transporting connectionless and connection-oriented traffic |
US5875290A (en) * | 1997-03-27 | 1999-02-23 | International Business Machines Corporation | Method and program product for synchronizing operator initiated commands with a failover process in a distributed processing system |
US6260072B1 (en) * | 1997-06-12 | 2001-07-10 | Lucent Technologies Inc | Method and apparatus for adaptive routing in packet networks |
US20050081059A1 (en) * | 1997-07-24 | 2005-04-14 | Bandini Jean-Christophe Denis | Method and system for e-mail filtering |
US6069895A (en) * | 1997-08-29 | 2000-05-30 | Nortel Networks Corporation | Distributed route server |
US6298130B1 (en) * | 1997-09-30 | 2001-10-02 | Genesys Telecommunications Laboratories Inc. | Metadata-based network routing |
US20010033580A1 (en) * | 1997-11-19 | 2001-10-25 | Dorsey Paul C. | Multi-protocol packet translator |
US6339782B1 (en) * | 1997-11-21 | 2002-01-15 | International Business Machines Corporation | Persistence mechanism and method for objects |
US6463061B1 (en) * | 1997-12-23 | 2002-10-08 | Cisco Technology, Inc. | Shared communications network employing virtual-private-network identifiers |
US6266695B1 (en) * | 1997-12-23 | 2001-07-24 | Alcatel Usa Sourcing, L.P. | Telecommunications switch management system |
US6295297B1 (en) * | 1997-12-29 | 2001-09-25 | Samsung Electronics Co., Ltd. | Gateway for connecting ATM-based access network to existing network |
US6047330A (en) * | 1998-01-20 | 2000-04-04 | Netscape Communications Corporation | Virtual router discovery system |
US6175867B1 (en) * | 1998-03-23 | 2001-01-16 | Mci World Com, Inc. | System and method for managing networks addressed via common network addresses |
US6434619B1 (en) * | 1998-04-29 | 2002-08-13 | Alcatel Canada Inc. | Internet-enabled service management system and method |
US6625650B2 (en) * | 1998-06-27 | 2003-09-23 | Intel Corporation | System for multi-layer broadband provisioning in computer networks |
US6269099B1 (en) * | 1998-07-01 | 2001-07-31 | 3Com Corporation | Protocol and method for peer network device discovery |
US6226788B1 (en) * | 1998-07-22 | 2001-05-01 | Cisco Technology, Inc. | Extensible network management system |
US20020062344A1 (en) * | 1998-09-11 | 2002-05-23 | Tatu Ylonen | Method and arrangement for secure tunneling of data between virtual routers |
US20050055306A1 (en) * | 1998-09-22 | 2005-03-10 | Science Applications International Corporation | User-defined dynamic collaborative environments |
US6338092B1 (en) * | 1998-09-24 | 2002-01-08 | International Business Machines Corporation | Method, system and computer program for replicating data in a distributed computed environment |
US6324583B1 (en) * | 1998-11-17 | 2001-11-27 | International Business Machines Corp. | Method and apparatus for enabling communication between dissimilar protocol stacks |
US6466976B1 (en) * | 1998-12-03 | 2002-10-15 | Nortel Networks Limited | System and method for providing desired service policies to subscribers accessing the internet |
US6487666B1 (en) * | 1999-01-15 | 2002-11-26 | Cisco Technology, Inc. | Intrusion detection signature analysis using regular expressions and logical operators |
US6449650B1 (en) * | 1999-02-01 | 2002-09-10 | Redback Networks Inc. | Methods and apparatus for deploying quality of service policies on a data communication network |
US6192051B1 (en) * | 1999-02-26 | 2001-02-20 | Redstone Communications, Inc. | Network router search engine using compressed tree forwarding table |
US20030033401A1 (en) * | 1999-04-02 | 2003-02-13 | Matthew W. Poisson | Monitoring a virtual private network |
US6738371B1 (en) * | 1999-09-28 | 2004-05-18 | Ericsson Inc. | Ingress data queue management in a packet data router |
US6785691B1 (en) * | 1999-10-13 | 2004-08-31 | Avaya Technology Corp. | Object oriented processing system and data sharing environment for applications therein |
US6785224B2 (en) * | 2000-03-06 | 2004-08-31 | Fujitsu Limited | Ring configuring method and node apparatus used in the ring |
US20020023171A1 (en) * | 2000-03-20 | 2002-02-21 | Garrett John W. | Service selection in a shared access network using policy routing |
US20010043571A1 (en) * | 2000-03-24 | 2001-11-22 | Saqib Jang | Multiple subscriber videoconferencing system |
US6701449B1 (en) * | 2000-04-20 | 2004-03-02 | Ciprico, Inc. | Method and apparatus for monitoring and analyzing network appliance status information |
US6414595B1 (en) * | 2000-06-16 | 2002-07-02 | Ciena Corporation | Method and system for processing alarm objects in a communications network |
US6920580B1 (en) * | 2000-07-25 | 2005-07-19 | Network Appliance, Inc. | Negotiated graceful takeover in a node cluster |
US6816462B1 (en) * | 2000-08-02 | 2004-11-09 | International Business Machines Corporation | System and method to determine connectivity of a VPN secure tunnel |
US6877661B2 (en) * | 2000-08-16 | 2005-04-12 | Richard M. Webb | Scannable barcode display and methods for using the same |
US6883170B1 (en) * | 2000-08-30 | 2005-04-19 | Aspect Communication Corporation | Method and system to maintain a hierarchy of instantiated application objects and to enable recovery from an applications failure |
US7149216B1 (en) * | 2000-09-05 | 2006-12-12 | Cisco Technology, Inc. | M-trie based packet processing |
US20020152373A1 (en) * | 2000-09-13 | 2002-10-17 | Chih-Tang Sun | Tunnel interface for securing traffic over a network |
US20020066034A1 (en) * | 2000-10-24 | 2002-05-30 | Schlossberg Barry J. | Distributed network security deception system |
US20020097872A1 (en) * | 2001-01-24 | 2002-07-25 | Maliszewski Richard L. | Method of providing secure content-based user experience enhancement within a content protection architecture |
US20100146098A1 (en) * | 2001-04-24 | 2010-06-10 | Hitachi, Ltd | Intergrated service management system |
US7181547B1 (en) * | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US20100189016A1 (en) * | 2001-06-28 | 2010-07-29 | Fortinet, Inc. | Identifying nodes in a ring network |
US7890663B2 (en) * | 2001-06-28 | 2011-02-15 | Fortinet, Inc. | Identifying nodes in a ring network |
US20030026262A1 (en) * | 2001-07-31 | 2003-02-06 | Patrik Jarl | Channel resource allocation arrangement and method |
US7044362B2 (en) * | 2001-10-10 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Electronic ticketing system and method |
US7243371B1 (en) * | 2001-11-09 | 2007-07-10 | Cisco Technology, Inc. | Method and system for configurable network intrusion detection |
US20030115308A1 (en) * | 2001-12-19 | 2003-06-19 | Michael Best | Network management system architecture |
US20030131228A1 (en) * | 2002-01-10 | 2003-07-10 | Twomey John E. | System on a chip for network storage devices |
US20030212735A1 (en) * | 2002-05-13 | 2003-11-13 | Nvidia Corporation | Method and apparatus for providing an integrated network of processors |
US7555284B2 (en) * | 2002-05-21 | 2009-06-30 | Nokia Corporation | Method and a device for providing digital tickets in a mobile communications environment |
US20100220732A1 (en) * | 2002-06-04 | 2010-09-02 | Fortinet, Inc. | Service processing switch |
US7116665B2 (en) * | 2002-06-04 | 2006-10-03 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US7720053B2 (en) * | 2002-06-04 | 2010-05-18 | Fortinet, Inc. | Service processing switch |
US20040037279A1 (en) * | 2002-08-23 | 2004-02-26 | David Zelig | Virtual private LAN service using a multicast protocol |
US20040042416A1 (en) * | 2002-08-27 | 2004-03-04 | Ngo Chuong Ngoc | Virtual Local Area Network auto-discovery methods |
US7761743B2 (en) * | 2002-08-29 | 2010-07-20 | Fortinet, Inc. | Fault tolerant routing in a non-hot-standby configuration of a network routing system |
US7925920B2 (en) * | 2002-08-29 | 2011-04-12 | Wilson Talaugon | Fault tolerant routing in a non-hot-standby configuration of a network routing system |
US7933269B2 (en) * | 2002-11-18 | 2011-04-26 | Fortinet, Inc. | Hardware-accelerated packet multicasting in a virtual routing system |
US20040095934A1 (en) * | 2002-11-18 | 2004-05-20 | Cosine Communications, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
US20050108340A1 (en) * | 2003-05-15 | 2005-05-19 | Matt Gleeson | Method and apparatus for filtering email spam based on similarity measures |
US20050002417A1 (en) * | 2003-07-02 | 2005-01-06 | Kelly Thomas J. | Systems and methods for performing protocol conversions in a work machine |
US7957407B2 (en) * | 2003-08-27 | 2011-06-07 | Fortinet, Inc. | Heterogeneous media packet bridging |
US20100220741A1 (en) * | 2003-08-27 | 2010-09-02 | Fortinet, Inc. | Heterogeneous media packet bridging |
US20050113114A1 (en) * | 2003-11-26 | 2005-05-26 | Nokia Corporation | Method and apparatus to provide efficient routing of packets for a network initiated data session |
US20070208810A1 (en) * | 2004-04-05 | 2007-09-06 | Miraj Mostafa | Message Handling |
US7499419B2 (en) * | 2004-09-24 | 2009-03-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US7881244B2 (en) * | 2004-09-24 | 2011-02-01 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US20100142527A1 (en) * | 2004-09-24 | 2010-06-10 | Fortinet, Inc. | Scalable IP-Services Enabled Multicast Forwarding with Efficient Resource Utilization |
US7961615B2 (en) * | 2004-11-18 | 2011-06-14 | Fortinet, Inc. | Managing hierarchically organized subscriber profiles |
US20060206713A1 (en) * | 2005-03-14 | 2006-09-14 | Yahoo! Inc. | Associating a postmark with a message to indicate trust |
US7293355B2 (en) * | 2005-04-21 | 2007-11-13 | Endicott Interconnect Technologies, Inc. | Apparatus and method for making circuitized substrates in a continuous manner |
US20100219234A1 (en) * | 2005-04-25 | 2010-09-02 | Mobiqa Limited | Mobile ticket authentication |
US20100042546A1 (en) * | 2005-10-23 | 2010-02-18 | Roger Humbel | Multimedia (VO) IP Solution for Mobile Telephones |
US20100146627A1 (en) * | 2006-03-01 | 2010-06-10 | Fortinet, Inc. | Electronic message and data tracking system |
US20090222459A1 (en) * | 2008-02-21 | 2009-09-03 | Joseph Steinberg | System for allowing multiple relationship/membership identifiers to be consolidated to a single identifying device |
US20100122872A1 (en) * | 2008-11-17 | 2010-05-20 | Peter Korevaar | Scaffold elevator |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080219254A1 (en) * | 2000-07-10 | 2008-09-11 | Alterwan, Inc. | Wide area network using internet with high quality of service |
US8595478B2 (en) * | 2000-07-10 | 2013-11-26 | AlterWAN Inc. | Wide area network with high quality of service |
US8208409B2 (en) | 2001-06-28 | 2012-06-26 | Fortinet, Inc. | Identifying nodes in a ring network |
US20100189016A1 (en) * | 2001-06-28 | 2010-07-29 | Fortinet, Inc. | Identifying nodes in a ring network |
US8085776B2 (en) | 2002-06-04 | 2011-12-27 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US20070064704A1 (en) * | 2002-06-04 | 2007-03-22 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US20110122872A1 (en) * | 2004-09-24 | 2011-05-26 | Fortinet, Inc. | Scalable ip-services enabled multicast forwarding with efficient resource utilization |
US8213347B2 (en) | 2004-09-24 | 2012-07-03 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US8369258B2 (en) | 2004-09-24 | 2013-02-05 | Fortinet, Inc. | Scalable IP-services enabled multicast forwarding with efficient resource utilization |
US20100142527A1 (en) * | 2004-09-24 | 2010-06-10 | Fortinet, Inc. | Scalable IP-Services Enabled Multicast Forwarding with Efficient Resource Utilization |
US20110142047A1 (en) * | 2009-12-10 | 2011-06-16 | Electronics and Telecommunications Rearch Institute | Backbone edge switching apparatus and packet processing method of the backbone edge switching apparatus |
US8582575B2 (en) * | 2009-12-10 | 2013-11-12 | Electronics And Telecommunications Research Institute | Backbone edge switching apparatus and packet processing method of the backbone edge switching apparatus |
US9185073B2 (en) | 2011-10-06 | 2015-11-10 | Qualcomm Incorporated | Systems and methods for data packet processing |
US20130223221A1 (en) * | 2012-02-27 | 2013-08-29 | Verizon Patent And Licensing Inc. | Traffic Policing For MPLS-Based Network |
US9059912B2 (en) * | 2012-02-27 | 2015-06-16 | Verizon Patent And Licensing Inc. | Traffic policing for MPLS-based network |
US20150200860A1 (en) * | 2014-01-14 | 2015-07-16 | Marvell International Ltd. | Method and apparatus for packet classification |
US10050892B2 (en) * | 2014-01-14 | 2018-08-14 | Marvell International Ltd. | Method and apparatus for packet classification |
US11477548B2 (en) * | 2016-01-07 | 2022-10-18 | Cisco Technology, Inc. | Network telemetry with byte distribution and cryptographic protocol data elements |
US10362373B2 (en) * | 2016-01-07 | 2019-07-23 | Cisco Technology, Inc. | Network telemetry with byte distribution and cryptographic protocol data elements |
US20170201810A1 (en) * | 2016-01-07 | 2017-07-13 | Cisco Technology, Inc. | Network Telemetry with Byte Distribution and Cryptographic Protocol Data Elements |
US20240007774A1 (en) * | 2016-01-07 | 2024-01-04 | Cisco Technology, Inc. | Network Telemetry with Byte Distribution and Cryptographic Protocol Data Elements |
US10932017B2 (en) * | 2016-01-07 | 2021-02-23 | Cisco Technology, Inc. | Network telemetry with byte distribution and cryptographic protocol data elements |
US11800260B2 (en) | 2016-01-07 | 2023-10-24 | Cisco Technology, Inc. | Network telemetry with byte distribution and cryptographic protocol data elements |
US11272268B2 (en) * | 2016-01-07 | 2022-03-08 | Cisco Technology, Inc. | Network telemetry with byte distribution and cryptographic protocol data elements |
US20220232299A1 (en) * | 2016-01-07 | 2022-07-21 | Cisco Technology, Inc. | Network Telemetry with Byte Distribution and Cryptographic Protocol Data Elements |
US10594734B1 (en) * | 2017-04-21 | 2020-03-17 | Palo Alto Networks, Inc. | Dynamic per subscriber policy enablement for security platforms within service provider network environments |
US11528253B2 (en) | 2017-04-21 | 2022-12-13 | Palo Alto Networks, Inc. | Security platform for service provider network environments |
US11777994B2 (en) | 2017-04-21 | 2023-10-03 | Palo Alto Networks, Inc. | Dynamic per subscriber policy enablement for security platforms within service provider network environments |
US11233829B2 (en) | 2017-04-21 | 2022-01-25 | Palo Alto Networks, Inc. | Dynamic per subscriber policy enablement for security platforms within service provider network environments |
US10601776B1 (en) * | 2017-04-21 | 2020-03-24 | Palo Alto Networks, Inc. | Security platform for service provider network environments |
US11665087B2 (en) | 2021-09-15 | 2023-05-30 | International Business Machines Corporation | Transparent service-aware multi-path networking with a feature of multiplexing |
Also Published As
Publication number | Publication date |
---|---|
US20080259934A1 (en) | 2008-10-23 |
US7389358B1 (en) | 2008-06-17 |
US7818452B2 (en) | 2010-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7389358B1 (en) | Distributed virtual system to support managed, network-based services | |
US11646964B2 (en) | System, apparatus and method for providing a virtual network edge and overlay with virtual control plane | |
US20230224246A1 (en) | System, apparatus and method for providing a virtual network edge and overlay with virtual control plane | |
US10523593B2 (en) | System, apparatus and method for providing a virtual network edge and overlay | |
EP2225663B1 (en) | Providing services to packet flows in a network | |
US9929964B2 (en) | System, apparatus and method for providing aggregation of connections with a secure and trusted virtual network overlay | |
US7738457B2 (en) | Method and system for virtual routing using containers | |
US7489700B2 (en) | Virtual access router | |
EP1712056B1 (en) | Tunneled security groups | |
US9225638B2 (en) | Method and system for service switching using service tags | |
US8743696B2 (en) | Mobile transport solution for offloading to an alternate network | |
US20100100616A1 (en) | Method and apparatus for controlling traffic between different entities on a network | |
US20040223497A1 (en) | Communications network with converged services | |
EP1062784B1 (en) | Providing secure access to network services | |
US8526435B2 (en) | Packet node for applying service path routing at the MAC layer | |
WO2017004693A1 (en) | System, apparatus and method for providing a virtual network edge and overlay | |
Albuquerque et al. | Global information grid (GIG) edge network interface architecture | |
Cisco | Introduction to Cisco MPLS VPN Technology | |
Cisco | Introduction to MPLS VPN Technology | |
MXPA03008476A (en) | System, method and apparatus that isolate virtual private network (vpn) and best effort traffic to resist denial of service attacks. | |
Vacca | Virtual Private Networks: Secure Remote Access Over the Internet | |
Vacca | VPNs: Secure Remote Access over the Internet | |
Redlich et al. | IP services creation in a programmable router | |
ALGhamdi | Virtual Private Networks | |
Sirisukha | The Advantages A Virtual Private Network For Computer Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |