Prep Guide Flashcards
IS-IS
Control Plane or Data Plane?
Control Plane
– IS-IS is used to calculate routes that allow routers to later forward data packets, but does not carry data for any application
IP
Control Plane or Data Plane?
Data Plane
– the actual IP packets that are forwarded by routers are the packets that contain application data
UDP
Control Plane or Data Plane?
Data Plane
– with UDP the actual packets contain application data
DHCP
Control Plane or Data Plane?
Control Plane
– DHCP is used to automatically assign IP addresses to end hosts, but DHCP messages do not contain any application data themselves
802.11 (WiFi)
Control Plane or Data Plane?
Data Plane
– 802.11 is a link layer protocol that carries data for applications or higher level protocols (which would be considered “data” by the link layer, even if they are not data at the application layer)
Name some situations/scenarios in which using SDN provides a benefit.
1) When things break
2) Network updates
3) Research or Testbed network
Explain how SDN provides a benefit when it comes to things breaking in a network.
- policies are centralized in an SDN controller, makes it easier to get a “big picture” of what is happening
- problems can be found and fixed more easily
Explain how SDN provides a benefit when it comes to updating a network.
- No new hardware, just update software
- Updating policies is easier and centralized
Explain how SDN is useful in a research or testbed network.
- No new hardware needed
- Easier
- Cheaper
- Rapid Iteration
Name some places where network virtualization is useful.
- multi-tenant data centers (“the cloud”)
- R&D environments
- computer networking classes
Name some places where network virtualization is not particularly useful.
- when cost outweighs benefits
- networks that are highly sensitive to latency
Explain how network virtualization provides a benefit in multi-tenant data centers
- allows each tenant the illusion that they have their own private network
- allows tenant to configure the network to their needs
Multi-tenant data centers are also known as ______.
“The Cloud”
Explain how network virtualization provides a benefit in R&D environments.
- isolates experiments from the rest of general network traffic
Explain how network virtualization provides a benefit in computer networking classes.
- allows learning and experimenting without affecting or breaking the rest of the network
When might network virtualization be overkill? Give an example.
- when the cost outweighs the benefits
Example: Home/small office networks used to connect to ISP
When is network virtualization a bad idea on networks that are highly sensitive to latency?
- system critical cyber-physical devices such as:
- launch space vehicles
- air traffic control
- nuclear reactor
Why use the Pyretic programming API when the hardware itself exposes the OpenFlow API?
- The Pyretic API provides a high-level abstraction for SDN programmers
- The OpenFlow API is a low level API, on the level of assembly language
- It is difficult to develop applications with the OpenFlow API
- the Pyretic runtime provides an efficient runtime that automatically installs generated low level rules on hardware devices throughout the network
How does a network policy implemented in python and executed on a Pyretic con-troller result in policies on OpenFlow switches?
1) programmer specifies a high level policy using Pyretic API
2) The Pyretic runtime connects via sockets to OpenFlow clients on the network
3) The Pyretic runtime interprets packets and using its socket connection to install OpenFlow rules
- these connections allow the Pyretic runtime to perform other actions, like proactively installing rules to reduce network latency, reading counters, etc
Describe the function of the following pyretic network policy function:
flood()
Returns one packet per local port on the network spanning tree.
Describe the function of the following pyretic network policy function:
match(dstip=‘192.168.1.15’) & match(srcip=‘192.168.1.120’)
Two separate match predicates are composed, the result matches any packet that has destination IP = 192.168.1.15 and source IP – 192.168.1.120
Describe the function of the following pyretic network policy function:
match(dstip=‘10.0.0.8’)»_space; fwd(12)
A single match predicate sequentially composed with another, the result of which matches packets any packet bound for IP 10.0.08 and forwards it along port 12. This effectively “filters out” all traffic not bound for IP 10.0.0.8.
Describe the function of the following pyretic network policy function:
match(dstip= ‘10.0.0.1’) >> ( match(srcip=‘10.0.0.15’) >> drop() + match(srcip= ‘10.0.0.25’) >> modify(dstip=‘10.0.0.30’) )
- all traffic not bound for IP 10.0.0.1 is filtered, then:
- if the packet is from IP 10.0.0.15, it is dropped
- if the packet is from 10.0.0.25, it is returned, with the destination IP rewritten to 10.0.0.30
What are the three steps of traffic engineering?
1) Measure
2) Model
3) Control
What are the two things that need to be measured in traffic engineering?
1) Topology
2) Traffic
How could topology be measured for the purposes of traffic engineering?
1) routers may self-report (Link-State protocol)
2) entered as data by a network engineer (most common)
* both the connectivity and the capacity of each router
How could traffic be measured for the purposes of traffic engineering?
- “simple counters” measurement technique
- we want to know how much traffic is on each part of the network but don’t necessarily need the details of specific flows
What are two ways that control could be implemented with software engineering?
1) adjusting link weights (“traditional”)
2) using SDN to directly control routes
How are link weight most commonly used to control network traffic?
- this indirectly affects the routes calculated by the routing protocol
- link weights are more often used this way than to represent any “real” property of the network, like bandwidth or link latency
In inter-AS multipath, what properties of the paths need to be equal in order to allow multipath over those paths?
- LOCAL_PREF, the local preference parameter
- AS_PATH length, as determined by counting the number of ASes in the AS_PATH
- MULTI_EXIT_DISC, the MED value IGP metric to the EXT_HOP, i.e., equal “hot potato” routing distance
How does using pods and pseudo-MACs improve the scalability of a Layer 2 network?
- changes the flat layer 2 addressing (MAC) into a hierarchical addressing (pseudo-MAC)
- switches only need to store a forwarding entry for each host in the same pod plus one for each other pod, rather than needing an entry for each host on the entire network
- similar hierarchical concept as IP/layer 3
What are the advantages of using a Jellyfish topology over a traditional hierarchical data center topology?
- Network Load Balancing
- Higher Capacity
- Shorter Paths
- Incremental Expansion
How does NETWORK LOAD BALANCING in a Jellyfish topology provide an advantage?
Network Load Balancing – prevents bottleneck links and heavily loaded aggregation or core switches
How does the HIGHER CAPACITY in a Jellyfish topology provide an advantage?
Higher capacity – since the network is balanced, more hosts can reasonably be hosted on a network with the same number of switches