Abstract:
Techniques are described to provide multicast service within a virtual network using a virtual network controller and endpoint replication without requiring multicast support in the underlying network. The virtual network controller is configured to create a multicast tree for endpoint devices of a multicast group in the virtual network at a centralized location instead of in a distributed fashion. The virtual network controller communicates the multicast tree to one or more of the endpoint devices of the multicast group to instruct the endpoint devices to replicate and forward multicast packets to other endpoint devices according to the multicast tree. The replication and forwarding of multicast packets is performed by virtual switches executed on the endpoint devices in the virtual network. No replication is performed within the underlying network. The techniques enable multicast service within a virtual network without requiring multicast support in the underlying network.
Abstract:
Techniques are described for facilitating flow symmetry using a scalable service platform that anchors the service chain. The scalable service platform may facilitate flow symmetry and, at least in some cases, flow stickiness for a first packet flow (a “forward packet flow” and a second, related packet flow (a “reverse packet flow”) both traversing the service chain in the forward and reverse directions, respectively. For example, a virtualized computing infrastructure may deploy a scalable service platform to perform load balancing of multiple forward packet flows, received from the gateway, among multiple parallel service instances for an ingress service in a service chain. For each corresponding reverse packet flows for the multiple forward packet flows, the scalable service platform load balances the reverse packet flow to the service instance for the egress service in the service chain that is applied to the corresponding forward packet flow.
Abstract:
Techniques are described for determining latency in a physical network that includes a number of network devices over which packets travel. A virtual network controller receives a plurality of messages from a plurality of network devices in a network, each of the messages including a packet signature comprising a hash of an invariant portion of an original packet that uniquely identifies the original packet, an identifier of one of the plurality of network devices from which the respective message was received, and a timestamp indicating a time an original packet was processed by the network device from which the respective message was received. The virtual network controller determines a latency of a physical network path in the network based on analysis of contents of the identified messages having a common packet signature.
Abstract:
Techniques are described for determining latency in a physical network that includes a number of network devices over which packets travel. A virtual network controller receives a plurality of messages from a plurality of network devices in a network, each of the messages including a packet signature comprising a hash of an invariant portion of an original packet that uniquely identifies the original packet, an identifier of one of the plurality of network devices from which the respective message was received, and a timestamp indicating a time an original packet was processed by the network device from which the respective message was received. The virtual network controller determines a latency of a physical network path in the network based on analysis of contents of the identified messages having a common packet signature.
Abstract:
In general, techniques are described for determining a physical network path taken by packets of a network packet flow. The techniques may be applied to determine, or “trace,” a physical network path in the virtualized network domain. In some examples, a network device includes one or more processors and a switch executed by the processors to forward packets of a packet flow to a physical network path. The network device also includes a flow trace module to generate one or more flow trace packets having incrementally increasing respective time-to-live (TTL) values, wherein the switch module forwards the flow trace packets on an outbound interface of the network device for the physical network path, and wherein the flow trace module receives corresponding time exceeded messages for the flow trace packets, wherein each of the time exceeded message includes a source network address of a network element on the physical network path.
Abstract:
In one example, a method includes by a Software Defined Networking (SDN) controller, receiving one or more virtual routes to virtual interfaces from a first virtual router agent managed by the SDN controller, the one or more virtual routes received via a messaging protocol session between the SDN controller and the first virtual router agent; storing, by the SDN controller, the one or more virtual routes to a data structure; in response to determining the messaging protocol session has closed, marking, by the SDN controller, the one or more virtual routes in the data structure as stale without deleting the one or more virtual routes from the data structure and without withdrawing the virtual routes from routing protocol peers of the SDN controller; and subsequent to marking the one or more virtual routes as stale, sending, by the SDN controller, the one or more virtual routes to a second virtual router agent.
Abstract:
In general, techniques are described for configuring and managing virtual networks. For example, a distributed virtual network controller is described that configures and manages an overlay network within a physical network formed by plurality of switches. A plurality of servers are interconnected by the switch fabric, each of the servers comprising an operating environment executing one or more virtual machines in communication via the overlay networks. The servers comprises a set of virtual switches that extends the overlay network as a virtual network to the operating environment of the virtual machines. The controller may instruct the servers and the virtual switches to perform various operations, such as determining a physical network path taken by packets of a network packet flow, determining latency through the network, re-routing traffic in the virtual network due to network events, replicating traffic for multicasting, providing multi-tenant services to support multiple virtual networks, monitoring and logging traffic characteristics within the virtual networks and other operations.
Abstract:
In one example, a network device includes a virtual network agent, and a network interface to send network packets to the virtual network controller using a default route for a physical network prior to establishing a communication session between a virtual network controller and the virtual network agent, wherein, after establishing the communication session between the virtual network controller device and the virtual network agent, the virtual network agent receives from the virtual network controller a command to install a new route at the network device, wherein the new route specifies encapsulation information to use for encapsulating network packets for sending the network packets to the virtual network controller over an overlay network, and wherein, responsive to detecting a failed link in the physical network, the virtual network agent sends packets to the virtual network controller on an alternate route in the overlay network.
Abstract:
In general, techniques are described for facilitating multi-tenancy of a server accessed by virtual networks of a data center. A device included within a data center comprising one or more processors may perform the techniques. The processors may be configured to execute a virtual switch that supports a number of virtual networks executing within the data center. The virtual switch may be configured to receive a request regarding data associated with an identifier that is unique within one of the virtual networks that originated the request. The virtual switch may then translate the identifier included within the request to generate a globally unique identifier that is unique within the plurality of virtual networks, update the request to replace the identifier included within the request with the globally unique identifier, and transmit the updated request to a server of the data center.
Abstract:
In general, techniques are described for automatically identifying likely faulty components in massively distributed complex systems. In some examples, snapshots of component parameters are automatically repeatedly fed to a pre-trained classifier and the classifier indicates whether each received snapshot is likely to belong to a fault and failure class or to a non-fault/failure class. Components whose snapshots indicate a high likelihood of fault or failure are investigated, restarted or taken off line as a pre-emptive measure. The techniques may be applied in a massively distributed complex system such as a data center.