Test 3 Flashcards
Why is traditional network configuration hard? (4)
1) Defining correctness is hard.
2) Interactions between protocols is unpredictable.
3) Operators make mistakes.
4) Configuration is distributed across many devices.
What does SDN provide to operators? (3)
1) Network-wide views of topology and traffic.
2) Ability to satisfy network-level objectives of load balance and security
3) Gives operator direct control of data plane
How does SDN change the role of routers?
Routers no longer need to compute routes. The routing can be logically centralized.
What are the two functions of a network and what do they do?
1) The Data Plane forwards packets to the destination.
2) The Control Plane computes the routing table. It is the logical that controls forwarding behavior.
How do the two functions of a network differ on traditional networks versus SDNs?
Traditionally, control and data planes are distributed across all of the routers. On SDNs, the control plane is
run on a logically central controller that controls all of the network.
What are the three main advantages of SDNs?
1) Easier to coordinate behavior
2) Behavior is easier to evolve / faster innovation
3) Behavior is easier to reason about and debug. You can apply typical CS techniques.
How does the infrastructure of the Control Plane and Data Plane differ on SDNs?
The control plane is written in a high level language that sends “control commands,” while the data plane is programmable hardware.
What four opportunities do SDN and plane separation provide?
1) Data centers - facilitates VM migration to adapt to fluctuating network demands.
2) Routing - more control over decision logic.
3) Enterprise networks - can write security applications that manage network access control.
4) Research - can virtualize networks so research networks and experimental protocols can coexist with production networking applications
What problem does SDN solve in data centers and how?
One cluster has many servers which have many VMs. These VMs need to be migrated across servers due to load. SDN allows for the switch states to be programmed easily from a central database to allow for this.
What are three challenges of SDN?
1) Scalability - control element may be responsible for hundreds to thousands of switches
2) Consistency - we want to replicate the controller, but we want to ensure the same view on all.
3) Security/Robustness - we want to make sure that the network functions correctly if a controller fails or is compromised.
What is the main advantage and disadvantage of Pox vs NOX?
Pox is written is Python, so control programs are easier to write and understand versus NOX’s C++. However, Python is slower.
What are the advantages/disadvantages of Ryu?
Supports later versions of OpenFlow, but it is written in Python and therefore slower.
What are the advantages/disadvantages of Floodlight?
Written in Java, fast, good documentation, REST API, but hard to learn.
What is the difference between a hub vs a switch?
A hub maintains no state about where packets should be forwarded and therefore forwards to every output port. A switch learns a forwarding table.
How does caching work in SDN?
1) The packets reach the controller if no flow table entry at switch.
2) When controller decides on action, installs entry on switch.
3) Decision is cached on switch.
What are the two consistency problems that arise with SDN?
1) Packet-level: updates may disrupt packets along an end-to-end path when switches receive updates at different times.
2) Flow-level: packets from the same flow may be disrupted
Why can’t OpenFlow deal with the problem of “Show all web server traffic except source 1.2.3.4” and what is the solution?
OpenFlow only uses simple match-action rules which do not allow you to express exceptions. The solution is to use “predicates.” These can be translated via a runtime system into low-level OpenFlow rules.
What is the problem dealing with the number of rules, and what is the solution?
There are too many possible rules, as every rule could apply to every IP address, port, etc. The solution is to dynamically unfold the rules as the traffic arrives.
What is the problem of “extra unexpected events,” and what is the solution?
The first packet of a flow gets send to the controller, and the controller installs a rule on the switches to deal with the packet. But if this doesn’t happen quickly enough, many packets of the flow will be sent to the controller.
The solution is to specify a Limit(1) rule to suppress all but the first packet to the controller.
What is the two-phase commit and how does it work?
It’s a solution to writing network configuration consistently. It ensures that packets are either subjected to the old configuration on all switches or the new configuration on all switches.
Packets are tagged with the network configuration when they enter. Switches maintain copies of both configurations and use the updated one when no more old configuration packets are being forwarded.
What is network virtualization?
It is an abstraction of a physical network where multiple “logical networks” can exist on a shared physical substrate.
It is analogous to multiple virtual machines running on shared hardware.
Why is network virtualization used?
It allowed for easier network evolution by letting multiple architectures exist in parallel.
It has also grown in practice due to multi-tenant data centers.
What is the difference between SDN and network virtualization?
Network virtualization can use SDN as a tool. Network visualization separates the logical network from the underlying physical network, while SDN separates the data plane of the network from the control plane.
How are nodes created in network virtualization?
A hypervisor slices the underlying hardware to provide the illusion of multiple guest nodes.
How do edges between nodes work in network virtualization?
Because nodes may be separated by an IP hop, ethernet packets are encapsulated in an IP packet and decapsulated at the destination. The physical hosts can host multiple virtual hosts, and therefore need a virtual switch to link them together.