The present invention, in some embodiments thereof, relates to control of electronic networks using software defined flow mapping and virtualized network functions and, more particularly, but not exclusively, to use of software defined flow mapping for scaling of virtualized network functions.
A recent Software Defined Networking (SDN) trend aims to increase network innovation and open it up to modernization and advanced new network services.
The basic principle of SDN is that by separating network control from physical forwarding and from physical topology, a veil of complexity is lifted, allowing greater flexibility and providing room for network innovation.
Specific standard technologies in use in networks in general include but are not limited to:
1) ONF OpenFlow: an interface that allows the control-forwarding touch point to be based on whole conversation flows rather than per packet, and allows for separation of control software from forwarding hardware and firmware.
2) IETF Location Identity Separation Protocol (LISP): a protocol initially conceived to preserve route-able IP addresses by allowing Internet Service Providers to use private addresses by specifying an Overlay and Mapping database service.
Initially conceived as a way to conserve routable addresses in the Internet the LISP architecture allows ISPs to allocate their own private unique address spaces and encapsulate packets that use these addresses in formal routable headers. To do that LISP introduces a global network mapping service that can map in real-time between identity addresses and location (routable) addresses.
3) ETSI Network Function Virtualization (NFV): a list of guidelines for the type of network functions network operators would like to see virtualized from proprietary boxes to software functions running on standard compute hardware.
The Overarching Problem of Network Functions
According to recent publications by key Network Operators [NFV White Paper] carriers are challenged by the fact that their infrastructure is “populated with a large and increasing variety of proprietary hardware appliances”. To paraphrase the problem expressed—launching new network services requires a variety of complex slow and costly procedures—from finding the space and power to accommodate new hardware units, hereinafter boxes, energy and capital investment, and the scarcity of skills necessary to design, integrate, connect and operate increasingly complex multi-generation functional appliances into the data-path. This reality requires operators to keep running in terms of CAPEX and OPEX efforts in order to stay in the same place as far as services and revenue. Current methodologies do not facilitate innovation in terms of services and business models very well—the kind clearly demonstrated by Internet and Over the Top providers.
Reasons for Virtualizing Network Functions
Operators would like to see their Network Functions virtualized, which in their expressed view means to consolidate many network equipment types onto industry standard servers, switches and storage, which could be located in Data Centers and Network Nodes. The above may enable:
Reduced equipment costs and power through consolidation and the use of COTS hardware and software.
Increased speed of maturation reducing Time to Market by minimizing the cycle of innovation.
Sharing of resources across services and across different customer bases.
Targeted service introduction based on geography & demographics, rapid scale out.
A wide variety of eco-systems; and
Encouragement of network openness.
Network functions may include a software-based DPI, providing advanced traffic analysis and multi-dimensional reporting, and showing the possibility of making off-the-shelf hardware work at actual line rates.
Software-based DPI can be pervasively deployed in the network using NFV, providing better analysis capabilities, as well as simpler mechanisms for deployment, update, testing, and to scale it to changing workloads since a virtual machine is used.
Unlike the Monolithic form factors, virtualized network functions can be unbundled both in terms of capacity, for example being able to serve only a few hundred end-customers using a few CPU cores, versus being able to serve a few hundreds of thousands of customers on a proprietary box with lots of blades of compute power and proprietary backplane, or being configured to apply only a limited set of functions versus turning on multiple in-line high-function options. Such downsizing of network functions allows for dynamic and elastic allocation of capacity, and a more flexible and adaptive programming of the functionality each network function type should apply. It also requires a relatively simple port of exiting code into a virtual machine form factor that holds both the existing logic, standard interfaces, and proprietary operating system used by the NFV supplier.
Why Virtualized Network Structure is Difficult
The problem statement of the proprietary box environment and related benefits of virtualization are so clear that they raise the question of why network operators infrastructure is not already organized like most other verticals i.e. IT Data-centers. Typical Data-Center applications do not need to introduce new physical boxes, integrated by complex switching-routing-steering rules just to add functionality. There are quite a few reasons why carrier applications are built this way, some are anchored historical and evolution aspects of the segment, but in fact until relatively recently such an opportunity was not very feasible technically due to basic performance inhibitors of standard servers, and standard IT technologies.
In recent years, the way in which basic server technology is able to meet Moor's performance curves has been by using multi-core/multi-threaded compute concurrency. As shown in
In order for key carrier functions such as Broadband Remote Access Server (BRAS), mobile evolved packet core (EPC), IP multimedia subsystem (IMS) etc. to migrate to virtualized form factor a more substantial migration is required, migration to a dynamic integration model that can engage standard servers at high average utilization versus today's typical utilization, and can make up for the efficiency loss while achieving the operations and innovation gains.
Dynamic application models that operate this way exist today and are in massive use by Internet service providers, however the software used by these providers is geared for dynamic mapping of function to compute from the ground up. The variety of Google, Yahoo, and Facebook applications are able to take advantage of points of presence, clusters, servers, and cores within each server to adapt quickly to changing demands as they are based on a common map-reduce infrastructure. Carriers which are regional by nature, and do not write their own application code do not have this luxury. Even if a number of vendors take the initiative, as a few startups have, and re-write some of the existing (millions of lines of) code that make up the carrier functions it would take years to fully test and debug the thousands of interoperable interfaces embedded in these functions. Such point efforts will limit the choice available today for each such function, and will not solve the innovation derived by combing and tailoring services using functional building blocks, for example serving consumers, businesses, humans, cars, surveillance cameras, and meters using the same physical infrastructure. There is a risk that quite a few functions may be left out and block the migration.
The present embodiments may combine SDN technologies together with concepts taken from LISP and distributed database technologies in order to provide scalable infrastructure enabling implementation of NFV concepts with minimal need to alter existing network function logic. The embodiments may thus leverage SDN to virtualize monolithic functions such as carrier network functions with minimal re-architecture or re-writes. This is achieved by offering north-south map-reduce and east-west flat-mobility as network services. It uses existing structures, including standards-based structures to scale size and capacity as building blocks for a solution which may be robust and provide scalability.
According to an aspect of some embodiments of the present invention there is provided a method for operating an electronic network, the network having a hardware layer comprising hardware components and requiring network functions, the method comprising:
virtualizing networking functions to virtual machines;
using an addressing overlay above a hardware layer of the network, the addressing overlay providing identities of the virtual machines, and mapping of the identities to hardware locations at which a respective virtual machine currently resides;
moving respective ones of the virtual machines around different hardware components of the network, mapping of the identities being updated with the moving of the virtual machines;
directing data flows around the network via the virtual machines using software defined flow switching, the flows being directed among the moving virtual machines using the identities.
The method may comprise providing the addressing overlay using a distributed hash table mapping service.
The method may comprise connecting respective hardware components to flow switches so that each virtual machine is associated with a given flow switch.
In an embodiment, the software defined flow mapping comprises flow handling, and flow switching through the flow switches.
In an embodiment, the software defined flow mapping carries out flow handling by determining which network function virtual machine is assigned to which data flow and directing an incoming data flow to a flow switch associated with the respectively assigned virtual machine.
In an embodiment, the software defined flow mapping is provided in a software defined aggregation overlay comprising software aggregation nodes, the nodes being connected by the flow switches and further comprising distributed controllers.
In an embodiment, the addressing overlay comprises publish and subscribe functionality for updating of mapping changes, each node subscribing to a connected virtual machine to receive mapping updates concerning the respective virtual machine.
The method may comprise providing an architecture of the addressing overlay that is accessible to all of the nodes.
The method may comprise defining a tier of the software defined flow mapping (SDN) based on an architecture of the addressing overlay, the defining comprising using a set of distributed nodes, placing at a top of each node a portion of a global mapping service, and subsequently retrieving key-values by hashing a key to find one of said distributed nodes that holds a portion of said global mapping service associated with a given virtual machine.
The method may comprise using flow handling to direct a data flow to a one of the nodes aggregating data for a given virtual machine assigned to the flow, the directing comprising tunneling to cross an arbitrary network, the directing using one member of the group consisting of an application specific identifier and a protocol specific identifier.
In an embodiment, the SDN tier utilizes information of physical connections linking any one of the distributed nodes to any other of the distributed nodes.
In an embodiment, the SDN tier tracks round trip and delay between the distributed nodes.
The mapping may use the LISP protocol, and/or the flow switches are configured using the openflow switch configuration protocol.
According to a second aspect of the present invention there is provided a method for operating an electronic network, the network having a hardware layer comprising hardware components and requiring network functions, the network being divided into subnets, the method comprising:
virtualizing networking functions to virtual machines;
using an addressing overlay above a hardware layer of the network, the addressing overlay providing identities to the virtual machines, the identities being mapped to hardware components respective running the virtual machines;
moving respective ones of the virtual machines around different hardware components in different subnets of the network, and updating mapping of the identities to accord with the moving of the virtual machines between the different subnets.
According to a third aspect of the present invention there is provided an electronic network using network functions to manage data flows on the network, the network comprising:
a hardware layer comprising hardware components;
a plurality of virtual machines operating on respective ones of the hardware components and mobile between the hardware components, the virtual machines configured to implement respective network functions;
an addressing overlay above a hardware layer of the network, the addressing overlay configured to provide identities to the virtual machines, the identities mapping to respective hardware locations on which the virtual machines currently reside, the mapping being updated upon moving of the virtual machines between hardware location so that the identities point to the new hardware locations of the virtual machines after the moving;
a flow controller configured to direct the data flows around the network via the virtual machines using software defined flow mapping, the flows being directed among the virtual machines using the moving identities.
According to a fourth aspect of the present invention there is provided a node networked with other nodes to form an electronic network, the network requiring network functions to be performed on data flows, the node having processing capacity and a software defined flow controller being a distributed instance of a network global flow control, the global flow control comprising virtual addressing overlaying the network and providing identities mapped to hardware locations of the processing capacity, the processing capacity being used to instantiate a first of the required network functions using a first virtual machine at a first location having a first identity, and the software defined flow controller being configured to aggregate data flows addressed to the first virtual machine using the first identity, and update mapping of the first identity upon moving of the virtual machine;
the node further being configured to send data flows not addressed to the first virtual machine to other virtual machines by determining a required network function, identifying an appropriate virtual machine and corresponding virtual address and mapping the corresponding virtual address to another one of the network nodes hosting the appropriate virtual machine.
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
Implementation of the method and/or system of embodiments of the invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of embodiments of the method and/or system of the invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
For example, hardware for performing selected tasks according to embodiments of the invention could be implemented as a chip or a circuit. As software, selected tasks according to embodiments of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In an exemplary embodiment of the invention, one or more tasks according to exemplary embodiments of method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions. Optionally, the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data. Optionally, a network connection is provided as well. A display and/or a user input device such as a keyboard or mouse are optionally provided as well.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
The present invention, in some embodiments thereof, relates to network flow control and, more particularly, but not exclusively, to using software defined flow control to scale network function virtualization.
The present embodiments may offer specific methods and an apparatus that allows software defined networks methodology to be used for virtualizing previously
Monolithic functions and applications, for example carrier applications such as Evolved Mobile Carrier Packet Cores (EPC), IP Multimedia Subsystem Cores (IMS) and similar. SDN can facilitate such virtualization without a major re-write and re-architecture of these functions so that they can run on standard compute platforms and standard virtual machines. The present embodiments may use a combination of proven standard technologies as components, technologies that offer the following capabilities: Flow based Switching, Distributed Encapsulated Overlays, Distributed In-Network Databases, combined together form a software defined network (SDN) solution for network functions virtualization (NFV).
Leveraging Server and Network Virtualization
Network and Server virtualization can play a key role in offering a scalable model for network function virtualization. The virtual machine (VM) offers a convenient porting mechanism of existing network function code to server executable format, including standard interfaces, and proprietary vendor operating systems, but excluding the high performance compute, proprietary backplanes, and hardware acceleration abilities.
So in fact for each function, network virtualization leads from specific hardware boxes that bundle X functions for Y amount of traffic, to many smaller, that is to say multiple cores, of downsized virtual boxes that can serve orders of magnitude less traffic and a potentially reduced set of functions. The question now becomes how to engage these “RISC” building blocks to high capacity high utilization dynamically programmable whole systems. For this task we turn to network virtualization and specifically to Software Defined Network virtualization and OpenFlow.
SDN as a general trend aims to increase networking innovation, addressing problems such as the one described above by a simple principle of decoupling network control from physical forwarding and decoupling network control from physical topology. Indeed using this principle SDN can solve the problem of producing high-capacity, high-function, and high-utilization solutions from micro partitioned virtualized network functions replacing monolithic deployment models. This can be done using a fully distributed, open, and standards based architecture of “Flow-Mapping”. Flow-Mapping is used to globally determine which virtualized network function VM (NFVM) is applied to what portion of the traffic, in what sequence, producing a whole solution without harming the existing code and long-lived embedded states, and without centralizing any of the components or assuming an any kind of all-knowing remote controller. Service chaining is one of the main NFV use cases.
Three basic tiers may be used to organize the solution. At the core is a traditional topological IP network that comprises a private backbone connecting points of presence and the spines connecting Data-Center racks. The topological IP network is built from the traditional layers 1-3 of networking capable of connecting the hundreds or thousands of standard compute locations that host the NFV's using standard bridging & routing protocols.
The second tier, an SDN tier, is used to aggregate standard compute resources and to insulate the standard bridging & routing from the vast amount of identities the SDN tier is aware of in order to make the right flow mapping/flow forwarding decisions. Depending on the SDN nodes aggregation capacity, the traditional and in-place core-spine network need only be aware of hundreds to thousands of these aggregation nodes. These SDN nodes form a distributed overlay and encapsulate the millions of forwarded flows between them.
The SDN nodes according to the present embodiments have three functional sub-tiers in order to be able to perform flow-mapping: A global mapping service, Flow handlers, and Flow Switching. These will be discussed in greater detail hereinbelow.
The third tier in the present embodiments is the NFV tier. The NFV tier hosts the now virtualized functions on physical standard server hardware. The NFV tier uses a Hyper-vizor operating system in order to allocate CPU cores, basic storage, and network interface capacity to each of the NFVM images running on the server. The NFVMs contain carrier subscriber and application management logic, and typically are able to deal with roughly a Gigabit of traffic each, depending on the compute intensity. Naturally once a specific NFV starts handling a specific subscriber for a specific application thread it may create in-memory and long lived (minutes) states in order to function properly. And so the mapping of which traffic flow reaches which NFVM in what sequence cannot be random and cannot depend on the specific interface it is originally received on.
The assumption is that every solution element; subscribers, applications, links, and virtual machines, moves. Hence, according to the present embodiments, the location identity separation protocol, LISP, may be used to provide overlay addresses for the virtual machines, which overlay addresses may remain with the virtual machines as they move. The data flows use the overlay addresses and thus are able to reach the correct NVF irrespective of it having moved.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
Referring now to the drawings,
The networked functions are virtualized 12 and implemented on virtual machines.
An addressing overlay is provided 14 above the hardware layer of the network, and provides identities to entities on the network, including the virtual machines. The identities are virtual identities but map to hardware locations on the underlying hardware layer, preferably via a network global mapping table or function. The mapping table may for example be implemented on a distributed database (DB) such as Cassandra, Aerospike, MongoDB or other NoSQL DB.
The virtual machines are able to and indeed are assumed 16 to move around the different hardware components of the network, and when they do, the identities provided by the addressing overlay move with the virtual machines. The mapping table however would be updated about the new hardware location.
Directing data flows around the network via the virtual machines is the subject of stages 18-24, and these are handled by flow handler 26. The flow handler 26 receives a data flow 18, uses software defined flow mapping to determine which function and which virtual machine the data flow is to be directed to 20, and then uses the ID to determine 22 where the selected virtual machine is. Finally, in stage 24 the flow handler wraps the flow to form a tunnel to the correct virtual machine, and the flow reaches the correct machine even if it has moved. More precisely, the flow handler may receive a trigger indication of the existence of new flows. Upon the reception of such a trigger it may perform the mapping as described and then may configure SDN switching hardware, for example OpenFlow switches, as discussed in greater detail below, with rules that define where the flow should be forwarded to. Any following traffic of that flow no longer needs to reach the flow handlers once the rules are in place. Encapsulation for tunneling may also be taken care of by the SDN switch.
The flow is not an individual packet but rather a series of packets all having the same header or other identification. Typically the series belongs to a single service being provided by one network entity to another.
The addressing overlay may comprise a distributed hash table mapping service where a key hashed at any location of the software defined flow mapping finds the SDN controlled flow switching node closest to and in control of the particular virtual machine.
The software defined flow mapping thus decouples network control from physical forwarding and from physical topology, since the network control is based on the IDs and the physical forwarding and the physical topology are not required until the IDs are hashed into physical addresses. Even so, the flow mapping may only know and monitor the routes between flow control nodes.
The software defined flow mapping may comprise flow handling, flow switching and global mapping.
The software defined flow mapping has locations as mentioned above. These locations may be provided in a software defined aggregation overlay comprising software aggregation nodes. The aggregation nodes in turn may be connected by openflow switches, which are a form of flow switching node or flow switch.
The addressing overlay may use publish and subscribe functionality for updating of mapping changes. Thus if a virtual machine moves, the global mapping table needs to be updated and the layer may thus publish the update to any node that subscribes to such updates.
An architecture of the addressing overlay may form an administrative domain cloud network that maps said flows.
A tier of the software defined flow mapping (SDN) may be based on an architecture of the addressing overlay. The nodes may be a set of symmetrically distributed nodes. At the top of each node a portion of a global mapping service may be located. Subsequently, it may be possible to retrieve hash values from keys, the keys being the IDs referred to above, by hashing a key at any of the nodes to provide the location of the desired virtual machine. The key is the ID of the virtual machine.
The flow handler 26 directs a flow to the node aggregating data for the given virtual machine assigned to the flow. The assignment uses an application specific identifier and/or a protocol specific identifier.
The SDN tier may be agnostic to the topology of the hardware layer, but, as explained, utilizes information of connections linking the distributed nodes.
The SDN tier may track round trip and delay between the distributed nodes, for example to help choose between alternative pathways offered by the hardware.
The software defined flow mapping may use the open flow protocol.—and the addressing protocol may use the LISP protocol.
Reference is now made to
The network comprises a hardware layer 30 comprising hardware components such as servers, a data center spine, switches, routers and points of presence (POPs).
Virtual machines are instantiated on the hardware components, typically servers, and can move around between the hardware components. The virtual machines implement different network functions. Although the virtual machines work on the hardware, they are in fact part of the NFV layer 32.
Layer 34 is the software defined networking layer and controls data flows and their movement around the network. Layer 34 is shown in greater detail in
The global mapping sublayer 36 is an addressing overlay above the hardware layer 30. The addressing overlay provides locations that go with the identities of the virtual machines and other network entities, their identities remaining with the virtual machines irrespective of which of the hardware components, such as servers, a respective virtual machine currently resides on.
A flow handler or controller 38 directs the data flows around the network via the virtual machines as discussed above using software defined flow switching. The flows are directed among the virtual machines using the identities to query the locations of the virtual machines.
Network Functions Virtualization (NFV layer) 32 is now considered in greater detail. The NFV layer is applicable to any data plane packet processing and control plane function in mobile and fixed networks. Potential examples of network functions that are or can be virtualized include (not in any particular order):
Moving now to the SDN layer 34, the present architecture is made of SDN aggregation nodes in various locations such as datacenter racks, blade-servers, and points of presence in each of which there are standard compute resources able to run virtualized network functions.
It does however open up the problem of which NFV instance does what to what portion of the traffic and when, which is addressed by the specific SDN aggregation architecture presented below.
Reference is now made to
1) A flow switching tier 40 at a lowest level is able to classify incoming flows and steer them either into an SDN aggregation node, or down to the aggregated NFV elements, or up towards the core of the network. Such a lowest level flow switching tier supports encapsulation-decapsulation of packets so that any IP network can be used to connect the SDN aggregation overlay, and so that the end-points are not aware of the existence of the SDN overlay network. More particularly, SDN aggregation nodes are interconnected via tunnels such as LISP, VXLAN, NVGRE, GRE or other types of well-known tunnels which allow forwarding traffic over an arbitrary underlying IP network. The flow switching tier can be implemented using OpenFlow switches. OpenFlow is a communications protocol that gives access to the forwarding plane of a network switch or router over the network, and separates control from forwarding; and
2) A mapping tier 36 at the top, able to look up and map any key to any range of values, and to do so in a distributed manner, e.g. direct mapping of queries to different map resolvers depending on the distributed hash value of that key, to avoid bottlenecks. The mapping tier may be implemented using LISP MMAP services. Lookup and posts of key-values mappings can optionally be published-subscribed. Thus, if the looked up values are changed an unsolicited notification of the new values is delivered. It should be noted that the mapping service allows the mapping of an ID to a location. The details of implementation of the mapping service are not explicitly defined by LISP but several options are proposed including DHT as well as hierarchical lookup mechanisms similar to DNS such as DDT. The use of DHT is a preferred option.
In each SDN aggregation node one may fit specific flow handlers—the intermediate tier 38—between the flow-switching tier and the mapping service. The handlers use the tiers as ordered to deliver the required SDN NFV assembly functionality in a modular and extendible manner. The SDN NFV functionality is basically the following:
Reference is now made to
To achieve this, upon the identification of the new packet flow or upon the indication of pending arrival of such a flow, for example from an orchestration system, each Flow Handler 56, 58 determines the service that the given mobile phone should receive. The service information may be retrieved from the mapping service or from another source of information such as a AAA, PCRF or orchestration system. Once the service information has been determined the Flow Handlers determine the specific Network Function VM instances to provide the service. This may be based on algorithmic logic or again on a lookup into the mapping service or other form of database.
Finally, once the desired NF VM instance has been established, its ID is used to query the mapping service in order to retrieve its location. The Flow Handlers can then configure the flow switches with new rules causing data packets coming from the mobile phone to reach the correct NF VM instances as desired: vXW and vGW.
The SDN overlay schematics may be modeled based on the IETF-LISP architecture [LISP Architecture RFC] shown in
The hardware core 70 is enveloped by the distributed edge overlay 72 which provides virtual identities for the hardware addresses. The mapping is global but distributed in segments 76 held at nodes 74. The nodes are hosts to hardware 78 here shown as PCs that host virtual machines 80.
The LISP mapping service is an in-network database, meaning it uses the standard network in order to scale the real time indexing capacity. The LISP architecture, with minor modifications such as publish-subscribe in addition to lookup, can be used to form a single administrative domain cloud network that maps flows and may solve the NFV scaling problem.
We can define the SDN tier based on the LISP architecture using a set of distributed nodes, as mentioned above. At the top of each node we place a portion of the global mapping service. Globally significant key-values can be retrieved by hashing each key to an SDN location address that holds the values. This quality will be used to linearly scale the flow-mapping capacity with the number of SDN aggregation nodes.
At the bottom of each SDN aggregation node we place a flow switching tier 40, as mentioned. Flows are a set of packet header patterns that have local scope only at the flow switch where they have been defined. Therefore each packet in every flow processed by a local SDN node may be encapsulated using a header and address that are meaningful to the core bridging & routing tier of in terms of how the flow should be forwarded. The global intent of the forwarding overlay using the core tier is derived from the global mapping resolutions by flow handlers.
Between the global-mapping and the flow-switching tiers of the SDN node we place flow handlers 38, as discussed. Flow handlers are registered in the local flow switch and use the global mapping in order to further provision the flow switching and steer flows appropriately. As discussed above in respect of
A flow handler 26, 38, may make sure that traffic destined to a specific NFVM will be encapsulated, by the flow switch it is connected to, to allow forwarding in a tunnel of the overlay network to the correct SDN node that aggregates that NFVM. That information is registered in the mapping service by the aggregating node, and is retrievable from the SDN nodes that are hashed as the key-store resolution coordinate. Similarly additional information such as specific access control considerations can be resolved by the handler using the mapping resolver service. More particularly, the location of a VM is registered in the mapping service by the SDN node aggregating the VM. When a VM moves to a new location, the new local SDN aggregation node learns about the presence of the VM either from the VM itself via explicit protocol or network activity (e.g. ARP packets) or via out of band messages from an orchestration system such as OpenStack or other form of Cloud Management System (CMS).
Such a default virtual layer 2 or VL2 flow handler is an obvious use and its benefits for generic cloud networking have been discussed considerably in other contexts using multiple global awareness methods. However horizontal flat networking is not enough to solve the NFV flow mapping problem. For that we need to enable the architecture to plug-in a variety of additional handlers that are able to map the right flows to the right NFV by a wide range of protocol and application specific identifiers.
To illustrate this point we can look at a basic example of virtualizing the mobile gateway functions of evolved packet cores (vEPC). When user traffic reaches the NFV POP or data-center it will typically be encapsulated by the topological address of the access eNB and the virtual address VIP of the Mobile Gateway.
The specific user traffic needs to reach the same NFV which handles its state even if the user traffic shows up in a different encapsulated tunnel (GTP), or if that same traffic ends up in a different data-center aggregation point because of a bridge/route/link topology change or because the previous rack is now down. The dynamic environment assumptions must now be considered the norm rather than the exception as was the case in large Monolithic solutions.
Moreover, the subscriber traffic may eventually end up NATed, that is connected, say from multiple devices using network address translation, and forwarded to the Internet using a public IP and a specific port range which know nothing about the multiple devices. On the return path from the Internet the traffic needs to reach that same NFVM that contains the subscribers mobility state and carrier specific credentials. These mappings; subscriber ID to best available initial vGW, subscriber ID to current vGW, vGW NFVM to location, IP-port to subscriber ID . . . require a powerful “Pull” type mapping service, and specific handler for each of the standard protocols terminated by NFVs, for example GTP, Diameter, SIP, etc. Additional and likely considerations for vEPC flow mappings include tenancy considerations for Mobile business services, overflow considerations to other data-centers, upcoming maintenance windows and software upgrades.
Flow Mapping Traffic Management
Reference is now made to
As described so far, flow-handlers make globally aware decisions and provision flow switching by using the distributed global mapping service. These decisions implement both vertical application specific map-reduce load-balancing features, and horizontal flat virtualization mappings. No other method need be applied in order to populate and retrieve global information such as affinity, location, health & load of NFVM. There is however an additional global awareness requirement that can only be derived in-line and cannot be derived from the global mapping, and that is the flow mapping traffic management.
The SDN overlay tier may be agnostic to the topology of the underlying core-spines network, and it is not aware of re-routing or link failures occurring within the core intermediate junctions. However the SDN tier may be aware of the end-to-end conditions at all times. e.g. any SDN node to any other node. Without such awareness the quality of the overlay solution will be poor and subject to potential thrashing during stress spikes.
When SDN overlays spine networks it is noted that modern data-center spine-leaf design may allow for multiple all-active paths between any of the rack locations. This is typically achieved by lining-up multiple spine switches, each with hundreds of ports, and each connecting to all the cluster racks. So for example if five spine switches are used to connect a cluster there are five different ways for each SDN aggregation node to connect to each of the other SDN aggregation nodes in the same cluster. It is therefore important for the SDN aggregation node to be aware of the multiple interfaces to the spine each node has, and that periodic in-line measured round trip delay (RTT) is used to determine queue buildup, and that the mapped flow counter information together with the queue build-up information is used to keep all available links balanced, and to quickly recover flow mapping from loss of any of the hundreds of links that connect the SDN tier to the datacenter spines.
When the SDN tier overlays core backbone links a close account of round trip delay and build up may be kept. In the wide area network, multiple paths are usually made available by network management static provision of multiple VPNs. These VPNs differentiate between the different interfaces each SDN node can use to overlay the core network. Such multi-link information is used in real-time to avoid costly loss of flow packets over the wide-area network (WAN) and may also be sampled into the mapping service so it can be used for flow mapping decisions that can select from a few remote location options for overflow or for specified processing.
To summarize, the SDN solution may help scale network function virtualization by allowing a simple port of existing functionality to down sized virtual machines. The overall solution is organized into three basic tiers; orchestrated NFVM endpoints, a managed spine-core topological network, otherwise referred to as the hardware layer, and dynamically programmable flow-mapping software defined networking tier in-between.
The proposed LISP based implementation of flow mapping offers a North-South semi-generic NFVM map-reduce service, and an East-West wire-speed flat connection-separation of VMs. The combined service by SDN to the NFVM is Recursive and can be applied per function and sub-function tailored per each possible branch. The solution may be Standards-Based, namely LISP and OpenFlow, and is open for extension using flow-handlers registered in the Flow Switching sub-tier and using the global Mapping sub-tier. The solution may be Fully-Distributed and can be Symmetrically Distributed for easy packaging. Such a distribution allows for dynamic Scale-out and resilient high-availability, important qualities for large carrier class solutions. The solution includes built-in flow mapping traffic management as an overlay, traffic management which is end-to-end round trip measurement based and does not add complex peer to peer signaling to the solution.
It is expected that during the life of a patent maturing from this application many relevant communications mapping and virtualization technologies will be developed and the scopes of the terms “software defined flow mapping” and “virtualized network functions” are intended to include all such new technologies a priori.
The terms “comprises”, “comprising”, “includes”, “including”, “having” and their conjugates mean “including but not limited to”.
The term “consisting of” means “including and limited to”.
As used herein, the singular form “a”, “an” and “the” include plural references unless the context clearly dictates otherwise.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment, and the above description is to be construed as if this combination were explicitly written. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention, and the above description is to be construed as if these separate embodiments were explicitly written. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention. To the extent that section headings are used, they should not be construed as necessarily limiting.
This application claims the benefit of priority under 35 USC §119(e) of U.S. Provisional Patent Application No. 61/763,539 filed Feb. 12, 2013, the contents of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61763539 | Feb 2013 | US |