PS:在Quora上看到的,将openstack,openflow,opendaylight解释的还不错。学习一下。
OpenStack is a Cloud Management System which is just a facade that provides a uniform API for provisioning Compute, Network, Storage in a DataCenter. There are different plugins for each of these areas that can plugin into an OpenStack deployment and do the real provisioning work underneath.
Open DayLight is a SDN controller that provisions the network policies as specified and sends that information to the HYpervisor. As a controller it also performs the role of maintaining those policies in spite of the changes happening in the network, recomputing policies and pushing to Hypervisors.
OpenFlow is the protocol used to program the Hypervisor vSwitches( which traffic to send where etc) and is the protocol via which an SDN controller communicates with the hypervisors.
OpenVSwitch is the implementation of a virtual switch in the Hypervisor that exposes OpenFlow protocol for flow information and uses the so called information provided via this protocol ot make packet forwarding decisions.