Software Defined Network week 2

学习目标:

  • 区分控制平面和数据平面
  • 识别论证平面功能
  • 能够距离
    Key Terms

Mininet: A network emulation platform that has the ability to create a virtual OpenFlow network; controllers, switches, hosts, and links on a single real or virtual network.
Controller: A software program (typically running as a separate entity on the network, such as a server) that executes the control logic for the network and sends commands to the data plane to affect forwarding behavior. Example controllers include POX, NOX, and Onix.
Control channel: The communications channel over which an SDN controller communicates with the underlying network switches. OpenFlow has a standard control channel that allows an OpenFlow controller to update the switch’s forwarding table entries.
Software Defined Network week 2Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Terms

OpenFlow Interface: a standard open interface between the OpenFlow controller and the OpenFlow programmable devices (i.e., switches etc)

OpenFlow Controller: sits above the OpenFlow interface. The OpenFlow reference distribution includes a controller that acts as an Ethernet learning switch in combination with an OpenFlow switch. You’ll run it and look at messages being sent.

OpenFlow Switch: sits below the OpenFlow interface. The OpenFlow reference distribution includes a user-space software switch. Open vSwitch is another software but kernel-based switch, while there is a number of hardware switches available from Broadcom (Stanford Indigo release), HP, NEC, and others.

dpctl: command-line utility that sends quick OpenFlow messages, useful for viewing switch port and flow stats, plus manually inserting flow entries.

Wireshark: general (non-OF-specific) graphical utility for viewing packets. The OpenFlow reference distribution includes a Wireshark dissector, which parses OpenFlow messages sent to the OpenFlow default port (6633) in a conveniently readable way.

iperf: general command-line utility for testing the speed of a single TCP connection.

Mininet: network emulation platform. Mininet creates a virtual OpenFlow network - controller, switches, hosts, and links - on a single real or virtual machine. More Mininet details can be found at the Mininet web page .

cbench: utility for testing the flow setup rate of OpenFlow controllers.

Using dpctl

dpctl is a utility that comes with the OpenFlow reference distribution and enables visibility and control over a single switch’s flow table. It is especially useful for debugging, by viewing flow state and flow counters. Most OpenFlow switches can start up with a passive listening port (in your current setup this is 6634), from which you can poll the switch, without having to add debugging code to the controller.

Create a second SSH window if you don’t already have one, and run:

$ dpctl show tcp:127.0.0.1:6634

The ’show’ command connects to the switch and dumps out its port state and capabilities. Here’s a more useful command:

$ dpctl dump-flows tcp:127.0.0.1:6634

Since we haven’t started any controller yet, the flow-table should be empty.
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
delay是一次的,rtt要四次
h2 ifconfig
When you do a ”dpctl dump-flows” you can see an ”idle timeout” option for each entry. This means that the flow will expire after this many secs if there is no incoming traffic. Run again respecting this limit, or install a flow-entry with longer timeout.

Software Defined Network week 2Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
So as we know, if a particular host wants to send traffic to another host IP address, it will use the address resolution protocol, or ARP, to send out a broadcast query that asks, who has a particular IP address? In other words, what is the MAC address for this particular IP address, that I would like to send to? And the trick here is that we don’t want the host, the destination host, to respond. Because it still thinks it has its old MAC address. What we can do in this case, because we have separate network control, is to use something they call a fabric manager, or a separate controller to basically intercept all of these r-queries. Or all these queries that are wanting to discover MAC addresses for particular IP addresses. So in this particular switch, receives a query that says, tell me the MAC address for a particular IP address. That switch can kick that query to a central controller or a fabric manager which can then reply with the topology dependent pseudo MAC, or P MAC. And then all of the traffic can be rewritten with the appropriate source and destination topology dependent MAC addresses. So that’s just one example of how a separate controller and a data center can allow a network administrator to get the best of both worlds. In terms of both topology dependencies and the benefits of a Layer 2 topology. We’ll look at data centers a lot more, in a particular module where we look at case studies of SDN later in the course. But this hopefully gives you a flavor of the types of benefits that separating control and data plane in a network can offer to network operators and administrators.
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
punt on 参与
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2

Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2

Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2
Software Defined Network week 2