R1.
What is meant by a control plane that is based on per-
router control? In such cases, when we say the network control
and data planes are implemented “monolithically,” what do we
mean?
Answer:
In a per-router control model, each router runs its own routing algorithm and independently deter-
mines its own forwarding table. There is no central control—routers communicate with each other to
compute paths (e.g., using OSPF or BGP).
When we say the control and data planes are implemented monolithically, we mean that both the
control logic (like routing protocols) and data forwarding functionality reside within the same device
(the router), rather than being split between devices.
R2. What is meant by a control plane that is based on logically
centralized control? Are the control and data planes in the same
or separate devices?
Answer:
Logically centralized control means a central controller (or server) is responsible for computing and
distributing the forwarding tables to all routers. The routers themselves do not compute their own
forwarding tables.
In this model, the control plane (decision-making) is implemented in the central controller, while the
data plane (packet forwarding) remains in each router.
Thus, the control and data planes are in separate devices.
R3. Compare and contrast the properties of a centralized and
a distributed routing algorithm. Give an example of a routing
protocol that uses each approach.
Answer:
Feature Centralized Routing Distributed Routing
Algorithm Algorithm
View of the Network Has a global view of the entire Each router knows only about
network topology its neighbors
Computation Location Routing is computed by a Each router computes its own
central controller routing table
Speed Usually faster, but can become Slower convergence, but more
a bottleneck scalable
Robustness Single point of failure More fault tolerant—no single
(controller) point of failure
Communication Needs updates from all routers Routers exchange info only with
neighbors
Examples:
• Centralized: OpenFlow (used in SDN - Software Defined Networking)
• Distributed: RIP (Routing Information Protocol), OSPF (Open Shortest Path First)
R4. Compare and contrast link-state and distance-vector routing
algorithms.
Answer:
1
Feature Link-State (LS) Routing Distance-Vector (DV) Routing
Network View Each router has a complete map of Routers only know their neighbors’
the network info
Update Type Broadcasts link state to all routers Periodically shares distance vectors
with neighbors
Computation Method Uses Dijkstra’s algorithm Uses Bellman-Ford algorithm
Convergence Speed Faster Slower, prone to loops
Message Overhead Higher Lower
Example Protocol OSPF (Open Shortest Path First) RIP (Routing Information
Protocol)
R5. What is the “count to infinity” problem in distance vector
routing?
Answer:
The “count to infinity” problem occurs in distance-vector routing when routers continuously increase
the metric (hop count) for a destination that has become unreachable. This happens due to outdated or
incorrect info being shared between routers, leading to slow convergence.
Example:
If a router goes down, others may keep advertising it as reachable through each other, gradually increasing
the distance until it reaches a maximum (e.g., infinity = 16 in RIP).
R6. Is it necessary that every autonomous system use the same
intra-AS routing algorithm? Why or why not?
Answer:
No, it is not necessary. Each Autonomous System (AS) can choose its own intra-AS routing
algorithm (such as OSPF, RIP, or IS-IS) based on factors like performance, scalability, or administrative
preference.
The Internet only requires that each AS communicates with other ASes using a standard inter-AS
protocol, such as BGP (Border Gateway Protocol).
R7. Why are different inter-AS and intra-AS protocols used in
the Internet?
Answer:
Inter-AS and intra-AS routing have different goals:
• Intra-AS protocols (e.g., OSPF, RIP) are used within a single organization. They prioritize
efficiency, speed, and simplicity.
• Inter-AS protocols (e.g., BGP) are used between different organizations. They focus on
policy control, scalability, and autonomy.
Therefore, different needs and scopes require different protocols.
R8. True or false: When an OSPF router sends its link state in-
formation, it is sent only to those nodes directly attached neigh-
bors. Explain.
Answer:
False.
OSPF routers flood their link state information to all routers within the same area, not just directly
2
connected neighbors. This ensures that every router in the area has a full map of the network
topology.
R9. What is meant by an area in an OSPF autonomous system?
Why was the concept of an area introduced?
Answer:
An OSPF area is a logical grouping of routers within an autonomous system.
• Each area maintains its own link-state database.
• A backbone area (Area 0) connects all other areas.
Purpose: To reduce routing overhead, speed up convergence, and improve scalability in large
networks.
R10. Define and contrast the following terms: subnet, prefix,
and BGP route.
Answer:
Term Definition
Subnet A smaller division of an IP network; devices in the same subnet share a
common address portion.
Prefix The network portion of an IP address (e.g., [Link]/24); identifies a
range of IPs.
BGP Route A route advertised by BGP; includes a prefix, next hop, and other
routing attributes.
Difference:
• A prefix identifies a network.
• A subnet is an internal division of that network.
• A BGP route tells how to reach a prefix from outside the AS.
R11. How does BGP use the NEXT-HOP and AS-PATH at-
tributes?
Answer:
• AS-PATH: Used by routers to detect and prevent routing loops, and to choose the best path
when multiple paths are available.
• NEXT-HOP: Specifies the IP address of the first router along the advertised path outside the
receiving AS. Routers use this to forward packets correctly.
R12. How can a tier-1 ISP implement routing policy using BGP?
Answer:
• A tier-1 ISP can restrict transit traffic by not advertising routes from one peer to another.
• For example, ISP B won’t advertise routes from ISP C to ISP A (or vice versa) to avoid carrying
transit traffic between those ISPs.
3
R13. True or False: Must a BGP router always add its own AS
number to the AS-PATH before advertising to neighbors?
Answer:
False.
Since BGP is policy-based, a router can choose not to add its AS number to the AS-PATH if it does
not want to act as a transit router for that path.
R14. Describe the main role of the communication layer, the
network-wide state-management layer, and the network-control
application layer in an SDN controller.
Answer:
• Communication Layer:
This layer handles communication between the SDN controller and network devices (such as
switches and routers) using protocols like OpenFlow. It sends control commands to devices
and receives event updates (e.g., link failures).
• Network-Wide State-Management Layer:
Maintains up-to-date information about the entire network’s state, including hosts, links,
switches, and flow tables from controlled devices.
• Network-Control Application Layer:
This is the ”brain” of the SDN controller. It runs various control applications (such as routing
or access control) that use the controller’s API to manage the behavior of network devices.
R15. Suppose you wanted to implement a new routing protocol
in the SDN control plane. At which layer would you implement
that protocol? Explain.
Answer:
I would implement a new routing protocol at the SDN’s network-control application layer, as this
is the layer where routing decisions are made. It determines the end-to-end paths between sources and
destinations and interacts with the lower layers through APIs to control the forwarding behavior of the
network devices.
R16. What types of messages flow across an SDN controller’s
northbound and southbound APIs? Who is the recipient of these
messages sent from the controller across the southbound inter-
face, and who sends messages to the controller across the north-
bound interface?
Answer:
In SDN, messages flow in two main directions:
Southbound API (Controller → Devices):
Messages are sent from the controller to controlled devices (e.g., OpenFlow-enabled switches). Com-
mon message types include:
• Configuration: Set or query switch parameters.
• Modify-state: Add, delete, or update flow table entries.
4
• Read-state: Request statistics or counters from switches.
• Send-packet: Instruct a switch to send a specific packet out of a port.
Recipient: Controlled devices such as switches.
Northbound API (Applications → Controller):
Messages are sent from network-control applications to the controller to interact with network
state. Examples include:
• Read/write network state.
• Control flow tables.
• Monitor events or subscribe to updates.
Sender: Network-control applications (e.g., routing, access control, load balancing).
R17. Describe the purpose of two types of OpenFlow messages
(of your choosing) that are sent from a controlled device to the
controller. Describe the purpose of two types of OpenFlow mes-
sages (of your choosing) that are sent from the controller to a
controlled device.
Messages from a controlled device to the controller:
1. Flow-Removed Message:
Purpose: Informs the controller that a flow table entry has been removed, typically due to a timeout
or a controller-issued modify-state instruction.
2. Port-Status Message:
Purpose: Notifies the controller of changes in port status, such as a port going up/down or being
added/removed.
Messages from the controller to a controlled device:
1. Modify-State Message:
Purpose: Used by the controller to add, update, or delete entries in the switch’s flow table and to
configure port properties.
2. Read-State Message:
Purpose: Requests statistics or counter values from a switch’s flow table or ports, allowing the
controller to monitor switch performance and traffic.
R18. What is the purpose of the service abstraction layer in the
OpenDaylight SDN controller?
Answer:
The service abstraction layer (SAL) in the OpenDaylight SDN controller allows internal network
service applications to communicate with each other. It enables controller components and applications
to:
• Invoke each other’s services,
• Subscribe to events they generate, and
• Interact through a uniform abstract interface.
Additionally, this layer abstracts and unifies access to various underlying communication protocols
(such as OpenFlow and SNMP), making it easier for applications to work without dealing with
protocol-specific complexities.
5
R19. Name four different types of ICMP messages.
Answer:
1. Echo Reply (used in ping responses) — Type 0, Code 0
2. Destination Network Unreachable — Type 3, Code 0
3. Destination Host Unreachable — Type 3, Code 1
4. Source Quench (used for congestion control) — Type 4, Code 0
R20. What two types of ICMP messages are received at the
sending host executing the Traceroute program?
Answer:
1. ICMP Time Exceeded message — Type 11, Code 0. Sent by a router when the TTL of a
packet expires.
2. Destination Port Unreachable message — Type 3, Code 3. Sent by the destination host when
the packet reaches the destination but the destination port is unreachable.
R21. Define the following terms in the context of SNMP: man-
aging server, managed device, network management agent, and
MIB.
Answer:
• Managing Server:
An application, usually operated by a network administrator, running on a centralized network
management station (often in a Network Operation Center). It controls the collection, processing,
analysis, and display of network management information. The managing server initiates actions
to control network behavior and interacts with network devices.
• Managed Device:
A network device (such as a router, switch, or server) that is monitored and controlled using SNMP.
It hosts a network management agent that allows it to communicate with the managing server.
• Network Management Agent:
Software running on a managed device that collects management information about the device and
responds to queries and commands from the managing server via SNMP.
• Management Information Base (MIB):
A database or collection of information organized hierarchically that defines the properties of
managed objects within a device. It is used by the network management agent and managing
server to share and interpret management data.
R22. Purposes of SNMP GetRequest and SetRequest messages:
• GetRequest: Sent by managing server to request the current value of one or more MIB objects
from a managed device.
• SetRequest: Sent by managing server to update the value of one or more MIB objects on a
managed device.
R23. Purpose of the SNMP trap message:
An SNMP trap is sent by a managed device to notify the managing server about an important event or
change (like a link going up or down) without the server having to request it.