The following questions are for practice only. They will help you understand the materials and prepare for the final exam.
We will not provide solutions for these questions, as we would like you to find them by studying the course materials and slides. You may collaborate with other students in developing the solutions.
You can find more questions in the review slides of the last lecture. You may also consider the questions in the problem sets.
- The vision of cloud computing is to make "Computing a Utility". What does this mean? What are the main advantages of cloud computing?
- It is known that the cost of Ethernet switches grows quickly (non-linearly) with the number of ports and the speed of each port. To mitigate this issue and build scalable data center networks with commodity switches, architectures such as trees have been proposed. Draw a diagram showing a tree-structured data center network with 4-port commodity switches. The network should have at least 4 racks.
- Mention two characteristics of software applications that can benefit from moving them to the cloud.
- What is meant by the energy non-proportionality of servers in data centers? Which component(s) in the server does it occur?
- Define PUE (power utilization effectiveness) of datacenters. Why is it considered a rough (i.e., not very accurate) metric? What is the 'theoretically' ideal value for PUE? Mention a better metric that addresses the shortcomings of PUE.
- What is a 'container-based' datacenter? How is it different from other datacenters? From your point of view, what are the pros and cons of container-based datacenters?
P4 and Programmable Switches
- Draw a diagram showing the main components of a bare-metal programmable switch.
- What is the difference between intrinsic metadata and user-defined metadata in P4 programs?
- Can P4 code support loops? If so, how? If not, why not?
- Mention at least two constructs that support stateful objects in P4? And mention a use case for each one of them?
- What are the main tasks performed by Parsers and Deparsers in P4 programs?
- What are the main differences between IPSec and TLS tunnels in VPNs? Which one is easier to deploy and why?
- What are the differences between the TUN and TAP virtual network interfaces in Linux?
- Draw a simple diagram illustrating the basic principle of TLS-based VPNs. The diagram should show how tunnels are created and at what layer.
- T/F: IPSec can be used as a countermeasure against TCP Session Hijacking attacks.
- T/F: TCP Reset attacks can be mounted on SSH connections.
- T/F: In the promiscuous mode, the network interface card (NIC) can capture all packets seen on the network even the ones not destined to the host to which the NIC is connected.
- T/F: Firewalls can protect data confidentiality by allowing network traffic through only certain protocols and ports.
- T/F: Scapy is a Python module that can provide packet capturing, processing, and spoofing functionalities.
- T/F: iptables is a framework inside the Linux kernel which provides hooks that a program can register with.
- T/F: In a VPN (Virtual Private Network), the entire packet including the TCP/IP headers is encrypted between the two ends of the VPN tunnel.
- T/F: iptables has four built-in tables: filter, nat, mangle, and raw.