M.SC - CS Sem I NEP 2020 Software Defined Networking
M.SC - CS Sem I NEP 2020 Software Defined Networking
M.Sc.
(Computer Science)
SEMESTER - I
(REVISED SYLLABUS
AS PER NEP 2020)
SOFTWARE DEFINED
NETWORKING
© UNIVERSITY OF MUMBAI
Prof. Ravindra Kulkarni
Vice-Chancellor,
University of Mumbai,
Published by : Director,
Centre for Distance and Online Education,
ipin Enterprises University of Mumbai,
Vidyanagari, Mumbai
Tantia Jogani - 400 098.Estate, Unit No. 2,
Industrial
Ground Floor, Sitaram Mill Compound,
DTP Composed J.R. University
: Mumbai Boricha Marg,
Press Mumbai - 400 011
Printed by Vidyanagari, Santacruz (E), Mumbai - 400 098
CONTENTS
Unit No. Title Page No.
3. Routing 38
6 Write a program to implement linear and nonlinear noise smoothing on suitable
image or sound signal.
7 Write a program to apply various image enhancement using image derivatives by
implementing smoothing, sharpening, and unsharp masking filters for generating
suitable images for specific application requirements
8 Write a program to Apply edge detection techniques such as Sobel and Canny to
extract meaningful information from the given image samples
9 Write the program to implement various morphological image processing
techniques.
10 Write the program to extract image features by implementing methods like corner
and blob detectors, HoG and Haar features
11 Write the program to apply segmentation for detecting lines, circles, and other
shapes/ objects. Also, implement edge-based and region-based segmentation.
Total
Course Code Course Title
Credits
PSCS503 Software Defined Networking 04
MODULE - I 02
Unit 1: Introduction to Computer Networking
Basic Concepts and Definitions: LAN, MAN, WAN, AD-Hoc, Wireless Network,
Understanding the layered architecture of OSI/RM and TCP-IP Model, Concepts
and implementation of IPV4 and IPV6, Study of various network Routing protocols,
Introduction to Transport layer and Application layer protocols.
Page 11 of 48
MODULE - II 02
Unit 3: Network Functions Virtualization
Concepts and Architecture, NFV Functionality, Network Virtualization Quality of
Service, Modern Network Architecture: Clouds and Fog, Cloud Computing, The
Internet of Things: Components
Text Books:
1. TCPIP Protocol Suite, Behrouz A Forouzan , McGraw Hill Education; 4th edition, Fourth
Edition, 2017
2. Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud, William Stallings,
Addison-Wesley Professional, 2016.
3. Software Defined Networks: A Comprehensive Approach, Paul Goransson and Chuck
Black, Morgan Kaufmann Publications, 2014
4. SDN - Software Defined Networks by Thomas D. Nadeau & Ken Gray, O'Reilly, 2013
Page 12 of 48
Course Code Course Title Credits
Page 13 of 48
1
INTRODUCTION TO COMPUTER
NETWORKING
Unit Structure :
1.0 Objective
1.1 Basic Concepts and Definitions
1.2 Local Area Network (LAN)
1.3 Metropolitan Area Network (MAN)
1.4 Wireless AD-Hoc network (WANET)
1.5 Understanding the layered architecture of OSI/RM and TCP-IP
Model
1.6 Summary
1.7 Questions
1.0 OBJECTIVE
Features of LAN
o The network size is small, which consists of only a few kilometres.
o The data transmission rate is high, ranging from 100 Mbps to 1000
Mbps.
o LAN is included in bus, ring, mesh, and star topologies.
o Some network devices connected to the LAN will be limited.
o If more devices are added than prescribed network may fail.
2
Benefits of LAN: Introduction to Computer
Networking
o It offers a higher operating speed than WAN and MAN.
o It is less expensive and easy to install and maintain.
o It perfectly fulfills the requirement of a specific organization, such as
an office, school, etc.
o It can be wired or wireless or a combination of both.
o It is more secure than other networks as it is a small set up that can be
easily taken care of.
Examples of MAN:
o Cable TV Network
o Telephone service provides that provide high-speed DSL lines
o IEEE 802.16 or WiMAX
o Connected fire stations in a city
o Connected branches of a school in a city
Features of MAN
o The size of the MAN is in the range of 5km to 50km.
o The MAN ranges from the campus to the entire city.
o The MAN is maintained and managed by either the user group or the
Network provider.
o Users can achieve the sharing of regional resources by using MAN.
o The data transmission rates can be medium to high
Advantages of MAN:
o Less Expensive: It is less expensive to set up a MAN and to connect it
to a WAN.
o High Speed: The speed of data transfer is more than WAN.
o Local Emails: It can send local emails fast.
o Access to the Internet: It allows you to share your internet
connection, and thus multiple users can have access to high-speed
internet.
4
o Easy to set up: You can easily set up a MAN by connecting multiple Introduction to Computer
LANs. Networking
Features of WAN
o Has a much larger capacity.
o We can share the regional resources by using WAN.
o They have more bit-rate errors.
o The transmission delay is, and hence they need more communication
speed.
5
Software Defined Advantages of a WAN:
Networking
o Large Network Range: It spans a large geographical area of 2000 km
or more, e.g., from one country to another country.
o Centralized data: It allows your different office branches to use your
head office server for retrieving and sharing data. Thus, you don’t
need to buy email servers, files server and back up servers, etc.
o Get updated files and data: It provides an ideal platform for
companies who need a live server for their employees to exchange
updated files within seconds.
o High bandwidth: It offers high bandwidth than a normal broadband
connection. Thus, it can increase the productivity of your company by
offering uninterrupted data transfer and communication.
o Workload Distribution: It helps distribute your workload to other
locations. You can hire employees in different countries and assign
them to work from your office.
Examples of WAN:
Internet US defense department Stock exchanges network Railway
reservation system Big Banks' cash dispensers' network Satellite systems
Central servers are not required for tasks like file sharing or printing since
devices in an ad hoc network may directly access each other's resources
6
via simple point-to-multipoint or peer-to-peer (P2P) protocols. Routing, Introduction to Computer
security, addressing, and key management are just a few of the network Networking
functions that are handled by a group of devices, or nodes, in a wireless
area network (WANANET), such as a smartphone or PC with wireless
capabilities.
Layered Architecture
Each network will have a different number of levels, each with its own
purposes and contents. But each layer's job is to deliver a service from
a lower layer to a higher tier while keeping the specifics of the
services' implementation hidden from view.
8
Modularity: Layered architecture is more modular. Modularity Introduction to Computer
provides the independence of layers, which is easier to understand and Networking
implement.
OSI Model
The seven levels of OSI each carry out a specific network function.
The OSI model breaks the work out into seven more manageable,
smaller jobs. Every layer has a certain duty assigned to it.
There are two levels in the OSI model: upper layers and lower layers.
1) Physical layer
10
The main functionality of the physical layer is to transmit the Introduction to Computer
individual bits from one node to another node. Networking
Line Configuration: It defines the way how two or more devices can
be connected physically.
2) Data-Link Layer
11
Software Defined Logical Link Control Layer
Networking
It is responsible for transferring the packets to the Network layer of the
receiver that is receiving.
It identifies the address of the network layer protocol from the header.
Framing: The data link layer translates the physical's raw bit stream
into packets known as Frames. The Data link layer adds the header and
trailer to the frame. The header which is added to the frame contains
the hardware destination and source address.
Physical Addressing: The Data link layer adds a header to the frame
that contains a destination address. The frame is transmitted to the
destination address mentioned in the header.
Access Control: When two or more devices are connected to the same
communication channel, then the data link layer protocols are used to
determine which device has control over the link at a given time.
12
3) Network Layer Introduction to Computer
Networking
It determines the best path to move data from source to the destination
based on the network conditions, the priority of service, and other
factors.
The Data link layer is responsible for routing and forwarding the
packets.
Routers are the layer 3 devices, they are specified in this layer and
used to provide the routing services within an internetwork.
The protocols used to route the network traffic are known as Network
layer protocols. Examples of protocols are IP and Ipv6.
13
Software Defined 4) Transport Layer
Networking
It receives the data from the upper layer and converts them into
smaller units known as segments.
14
Functions of Transport Layer: Introduction to Computer
Networking
Service-point addressing: Because of this, computers are able to execute
many programs at once. This allows data to be sent from one computer to
another as well as from one process to another. The header with the
address known as a service-point address or port address is added by the
transport layer. The transport layer is in charge of sending the message to
the appropriate process, whereas the network layer is in charge of sending
data from one computer to another.
Segmentation and reassembly: The message is split up into many
segments by the transport layer once it gets it from the top layer, and each
segment is given a sequence number that allows it to be uniquely
identified. The transport layer reassembles the message based on sequence
numbers after it has reached its destination.
Connection control: Two services are offered by the transport layer. Both
connectionless and connection-oriented services are available. Every
segment is handled as a separate packet by a connectionless service, and
they all take distinct paths to get there. Before sending the packets, a
connection-oriented service establishes a connection with the target
machine's transport layer. Every packet in a connection-oriented service
follows the same path.
Flow control: The transport layer also responsible for flow control but it
is performed end-to-end rather than across a single link.
Error control: Error control is another duty of the transport layer. Error
control is not carried out over the single connection, but rather end-to-end.
The sender transit layer guarantees error-free message delivery to the
intended recipient.
5) Session Layer
15
Software Defined Functions of Session layer:
Networking
Dialog control: The session layer serves as a dialog controller,
facilitating the creation of a dialogue or, more accurately, enabling
half-duplex or full-duplex communication between two processes.
6) Presentation Layer
This layer is a part of the operating system that converts the data from
one presentation format to another format.
TCP/IP model
17
Software Defined Here, hierarchical means that each upper-layer protocol is supported by
Networking two or more lower-level protocols.
The data transfer between two devices connected to the same network
is mostly the responsibility of this layer.
This layer uses the Ethernet, Token Ring, FDDI, X.25, and frame relay
protocols.
Internet Layer
18
Following are the protocols used in this layer are: Introduction to Computer
Networking
IP Protocol: IP protocol is used in this layer, and it is the most significant
part of the entire TCP/IP suite.
ARP Protocol
The two terms are mainly associated with the ARP Protocol:
19
Software Defined ICMP Protocol
Networking
The Internet Control Message Protocol is referred to as ICMP.
The hosts or routers utilize this technique to notify the sender of any
datagram issues.
A datagram moves from one router to the next until it arrives at its
final location. The ICMP protocol is used to alert the sender when a
router is unable to transport data due to unexpected circumstances,
such as disabled connections, a device that is on fire, or network
congestion.
Reporting issues, not fixing them, is the main duty of the ICMP
protocol. The sender has the obligation for making the adjustment.
Because the IP datagram only contains the addresses of the source and
destination—not the router to whom it is passed—ICMP can only send
messages to the source and cannot transmit them to the intermediate
routers.
Transport Layer
The transport layer is responsible for the reliability, flow control, and
correction of data which is being sent over the network.
The two protocols used in the transport layer are User Datagram
protocol and Transmission control protocol.
20
program's address that receives the message is the destination port Introduction to Computer
address. Networking
Application Layer
The user can communicate with the program through this layer.
21
Software Defined An application layer protocol passes its data to the transport layer in
Networking order to connect with another application layer.
A state of uncertainty has arisen within the application layer. Except
for those that communicate with the communication system, no
application can be run inside the application layer. For instance, even
though a web browser uses the HTTP protocol—which is an
application layer protocol—to communicate with the network, a text
editor cannot be regarded as an application layer protocol.
1.6 SUMMARY
A computer network connects multiple PCs and hardware, enabling
communication and resource sharing. Each device in the network,
called a node (e.g., servers, PCs, routers), follows protocols to
exchange data. Networks include various topologies and can be wired
or wireless. Local Area Network (LAN), Metropolitan Area
Network (MAN), Wide Area Network (WAN). Wireless Ad-Hoc
Network (WANET)
22
Networking subsystems, a combination of hardware and software, Introduction to Computer
were initially complex and unstructured. To manage this complexity, Networking
the ISO developed a layered approach, breaking networking tasks into
distinct layers, each with a specific role, providing services to higher
layers without revealing implementation details.
1.7 QUESTION
1. Explaing the working of Computer Network.
2. Write a short note on MAN indetail.
3. Write a short note on Wireless AD-Hoc network (WANET).
4. Explain TCP/IP Model.
5. Write a short note on OSI Model.
23
2
CONCEPTS AND IMPLEMENTATION OF
IPV4 AND IPV6
Unit Structure:
2.0 Objectives
2.1 Introduction
2.2 IPV4: Internet Protocol Version 4
2.3 IPV6: internet protocol version 6
2.4 comparison OF IPV4 and IPV6
2.5 Subnetting Techniques in IPV4 and IPV6
2.6 Transition Mechanisms From IPV4 to IPV6
2.7 Implementation Examples
2.8 Testing and Verification Tools
2.9 Summary
2.10 Glossary
2.11 Further Readings
2.12 Model Questions
2.0 OBJECTIVES
1. Understand the fundamental principles of IP addressing.
2. Differentiate between IPv4 and IPv6 features.
3. Learn subnetting techniques and their applications.
4. Explore transition mechanisms for migration to IPv6.
5. Implement IPv4 and IPv6 addressing schemes practically.
2.1 INTRODUCTION
A brief overview of IP addressing, the need for IPv4, and its limitations,
leading to the development of IPv6.
Study Guidance:
Suggestions to focus on practical examples and use tools like Wireshark,
Cisco Packet Tracer, or GNS3 for better understanding.
What is IP Addressing?
IP addressing is a fundamental concept in computer networking that
allows devices to identify and communicate with each other over a
network. It works at the network layer (Layer 3) of the OSI model.
24
2.2 IPV4: INTERNET PROTOCOL VERSION 4 Concepts and
Implementation of IPV4
and IPV6
IPv4 is the fourth version of the Internet Protocol and the first widely used
version. It forms the foundation of modern networking.
25
Software Defined 2.3 IPV6: INTERNET PROTOCOL VERSION 6
Networking
IPv6 was introduced to overcome the limitations of IPv4, including
address exhaustion.
26
2.4 COMPARISON OF IPV4 AND IPV6 Concepts and
Implementation of IPV4
and IPV6
Feature IPv4 IPv6
28
IPv6 Addressing and Subnetting Concepts and
Implementation of IPV4
IPv6 simplifies subnetting by using a fixed-length subnet prefix. and IPV6
Subnetting in IPv6:
IPv6 does not use classes like IPv4.
The standard subnet prefix is /64, meaning the first 64 bits represent
the network and the remaining 64 bits represent the host.
Example:
Address: 2001:0db8:abcd:0012::/64
o Network Portion: 2001:0db8:abcd:0012
o Host Portion: ::
Why /64?
IPv6 reserves a large space for hosts within a subnet to support
advanced features like SLAAC (Stateless Address Autoconfiguration).
1. Dual-Stack
Devices run both IPv4 and IPv6 simultaneously.
Both protocols operate independently, allowing communication over
either.
Pros:
o No need for translation between IPv4 and IPv6.
o Backward compatibility with IPv4 systems.
29
Software Defined Cons:
Networking
o Increased resource usage on devices and networks.
o Complexity in network management.
2. Tunneling
Encapsulates IPv6 packets within IPv4 packets, allowing IPv6 traffic
to travel over IPv4 networks.
Common tunneling methods:
o 6to4: Automatically assigns an IPv6 address to an IPv4 network.
o Teredo: Allows IPv6 connectivity for devices behind NAT.
o IPsec Tunnel Mode: Provides secure tunneling between
networks.
3. Translation (NAT64)
Converts IPv6 addresses to IPv4 and vice versa, enabling
communication between IPv4 and IPv6 devices.
NAT64: Translates IPv6 packets to IPv4 using a special IPv6 prefix
(64:ff9b::/96).
DNS64: Resolves DNS queries to support NAT64.
Detailed Subnetting Exercise in IPv4
Example:
You have a network 192.168.1.0/24 and need 6 subnets.
1. Determine the Number of Subnets:
o Subnetting increases the number of networks by borrowing bits
from the host portion.
o 2n2^n2n ≥ Number of subnets, where nnn is the number of bits
borrowed.
o 23=82^3 = 823=8, so borrow 3 bits.
2. New Subnet Mask:
o Original mask: /24 → 255.255.255.0
o Borrow 3 bits → New mask: /27 → 255.255.255.224
3. Calculate Hosts per Subnet:
o Remaining host bits: 32−27=532 - 27 = 532−27=5
o Hosts per subnet: 25−2=302^5 - 2 = 3025−2=30 (subtracting 2 for
network and broadcast).
30
4. Subnet Ranges: Concepts and
Implementation of IPV4
o Subnet 1: 192.168.1.0 - 192.168.1.31 and IPV6
Steps to Implement:
1. Subnet Design:
o Calculate the new subnet mask:
Original prefix: /24 (255.255.255.0).
31
Software Defined Need 4 subnets → Borrow 2 bits → New prefix: /26
Networking (255.255.255.192).
o Hosts per subnet:
Host bits = 32−26=632 - 26 = 632−26=6, so 26−2=622^6 - 2 =
6226−2=62 usable hosts.
2. Define Subnets:
o Subnet 1: 192.168.1.0/26 → Range: 192.168.1.1 - 192.168.1.62
(Broadcast: 192.168.1.63).
o Subnet 2: 192.168.1.64/26 → Range: 192.168.1.65 - 192.168.1.126
(Broadcast: 192.168.1.127).
o Subnet 3: 192.168.1.128/26 → Range: 192.168.1.129 - 192.168.1.190
(Broadcast: 192.168.1.191).
o Subnet 4: 192.168.1.192/26 → Range: 192.168.1.193 - 192.168.1.254
(Broadcast: 192.168.1.255).
3. Configuration on a Router (Cisco Example):
Bash code:
Router> enable
Router# configure terminal
Router(config)# interface FastEthernet0/0
Router(config-if)#ip address 192.168.1.1 255.255.255.192
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# interface FastEthernet0/1
Router(config-if)#ip address 192.168.1.65 255.255.255.192
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# interface FastEthernet0/2
Router(config-if)#ip address 192.168.1.129 255.255.255.192
Router(config-if)# no shutdown
4. Client Configuration: Assign IP addresses to clients within the range
of each subnet.
32
Example for a Windows machine: Concepts and
Implementation of IPV4
o Go to Control Panel → Network and Sharing Center → Change and IPV6
Adapter Settings.
o Right-click the network adapter → Properties.
o Select IPv4 → Properties → Assign:
IP Address: 192.168.1.2
Subnet Mask: 255.255.255.192
Gateway: 192.168.1.1
5. Verification:
o Use the ping command to verify connectivity between devices.
Bash code:
ping 192.168.1.2
33
Software Defined Router(config-if)# ipv6 address 2001:db8:0:0::1/50
Networking
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ipv6 address 2001:db8:0:4000::1/50
Router(config-if)# no shutdown
4. Client Configuration: For a Linux client, edit the network
configuration:
o File: /etc/network/interfaces or /etc/netplan/*.yaml.
Yamlcode:-
network:
version: 2
ethernets:
enp0s3:
addresses: [2001:db8:0:0::2/50]
gateway6: 2001:db8:0:0::1
nameservers:
addresses: [2001:4860:4860::8888, 2001:4860:4860::8844]
5. Verification: Use ping6 or traceroute6 to test IPv6 connectivity.
Bash code:
ping6 2001:db8:0:4000::1
34
Bash code: Concepts and
Implementation of IPV4
auto eth0 and IPV6
35
Software Defined 2.8 TESTING AND VERIFICATION TOOLS
Networking
1. IPv4 and IPv6 Calculators:
o Use online tools (e.g., Subnet Calculator) to design subnets.
2. Ping Tools:
o ping (IPv4) and ping6 (IPv6) for connectivity testing.
3. Traceroute Tools:
o traceroute (IPv4) and traceroute6 (IPv6) for path analysis.
4. Network Monitoring:
o Tools like Wireshark to inspect IPv4 and IPv6 traffic.
5. Router Simulators:
o Use Cisco Packet Tracer or GNS3 for testing configurations in a
virtual environment.
2.9 SUMMARY
This unit explored the core concepts of IP addressing, focusing on IPv4
and IPv6. It highlighted the features, limitations, and use cases of both
protocols. We delved into practical subnetting techniques for both IPv4
and IPv6, emphasizing their role in network segmentation and efficiency.
Additionally, the unit covered transition mechanisms essential for
migrating from IPv4 to IPv6 and provided real-world implementation
examples to bridge theoretical knowledge with practical application. This
comprehensive overview equips learners with the foundational and
advanced knowledge required to manage modern IP-based networks
effectively.
Possible Answers
Subnetting Exercise Solutions:
1. IPv4 Example:
o Network: 192.168.1.0/24
o Subnet 1: 192.168.1.0 - 192.168.1.63
o Subnet 2: 192.168.1.64 - 192.168.1.127
2. IPv6 Example:
o Global Prefix: 2001:db8::/48
o Subnet 1: 2001:db8:0:0::/50
o Subnet 2: 2001:db8:0:4000::/50
Router Configuration Steps:
Assign IPv4 and IPv6 addresses to router interfaces.
36
Verify connectivity using ping and ping6 commands. Concepts and
Implementation of IPV4
List of References/Bibliography and IPV6
1. RFC 791 - Internet Protocol (IPv4 Specification).
2. RFC 8200 - Internet Protocol Version 6 (IPv6) Specification.
3. Tanenbaum, A. S., "Computer Networks."
4. Online resources:
o IETF IPv6 Standards
o Cisco Networking Tutorials
2.10 GLOSSARY
IP Address: A unique identifier for devices on a network.
SLAAC: Stateless Address Autoconfiguration for IPv6.
CIDR: Classless Inter-Domain Routing for efficient IP address
allocation.
NAT64: A translation mechanism to enable IPv6 devices to
communicate with IPv4 devices.
IPsec: Internet Protocol Security for encryption and authentication.
37
3
ROUTING
Chapter Structure :
3.0 Objective
3.1 Routing
3.2 Introduction to Transport layer and Application layer protocols
3.3 Summary
3.4 Questions
3.0 OBJECTIVE
3.1 ROUTING
38
The network characteristics called metrics are utilized to identify the Routing
optimal path to the target. When certain routing protocols employ static
metrics, their value cannot be altered, however when other protocols
utilize dynamic metrics, the system administrator can set a value.
Hop count: A measure called hop count indicates how many times a
packet must traverse through an internet working device, such a router,
in order to go from its source to its destination. The path with the
fewest hops will be chosen as the optimal route to go from the source
to the destination if the routing protocol uses hops as its primary
statistic.
Delay: This is the amount of time the router needs to receive, process,
and send a datagram to an interface. This measure is used by the
protocols to calculate the end-to-end delay values for each connection
along the path. The optimal path will be determined by calculating the
delay value of each path.
Load: The term "load" describes how busy a network resource, like a
router or network link, is. Numerous metrics, including CPU usage
and packets processed per second, can be used to compute a load. The
load value will rise in tandem with an increase in traffic.
Types of Routing
Routing can be classified into three categories:
o Static Routing
o Default Routing
o Dynamic Routing
39
Software Defined
Networking
Static Routing
o Static Routing is also known as Nonadaptive Routing.
o It is a technique in which the administrator manually adds the routes in
a routing table.
o A Router can send the packets for the destination along the route
defined by the administrator.
o In this technique, routing decisions are not made based on the
condition or topology of the networks
Default Routing
o Default Routing is a technique in which a router is configured to send
all the packets to the same hop device, and it doesn't matter whether it
belongs to a particular network or not. A Packet is transmitted to the
device for which it is configured in default routing.
o Default Routing is used when networks deal with the single exit point.
o It is also useful when the bulk of transmission networks have to
transmit the data to the same hp device.
40
o When a specific route is mentioned in the routing table, the router will Routing
choose the specific route rather than the default route. The default
route is chosen only when a specific route is not mentioned in the
routing table.
Dynamic Routing
o It is also known as Adaptive Routing.
o It is a technique in which a router adds a new route in the routing table
for each packet in response to the changes in the condition or topology
of the network.
o Dynamic protocols are used to discover the new routes to reach the
destination.
o In Dynamic Routing, RIP and OSPF are the protocols used to discover
the new routes.
o If any route goes down, then the automatic adjustment will be made to
reach the destination.
The Dynamic protocol should have the following features:
o All the routers must have the same dynamic routing protocol in order
to exchange the routes.
o If the router discovers any change in the condition or topology, then
router broadcast this information to all other routers.
Advantages of Dynamic Routing:
o It is easier to configure.
o It is more effective in selecting the best route in response to the
changes in the condition or topology.
End-to-end delivery:
The transport layer transmits the entire message to the destination.
Therefore, it ensures the end-to-end delivery of an entire message from a
source to the destination.
Reliable delivery:
The transport layer provides reliability services by retransmitting the lost
and damaged packets.
Error Control
o The primary role of reliability is Error Control. In reality, no
transmission will be 100 percent error-free delivery. Therefore,
transport layer protocols are designed to provide error-free
transmission.
o The data link layer also provides the error handling mechanism, but it
ensures only node-to-node error-free delivery. However, node-to-node
reliability does not ensure the end-to-end reliability.
o The data link layer checks for the error between each network. If an
error is introduced inside one of the routers, then this error will not be
caught by the data link layer. It only detects those errors that have been
introduced between the beginning and end of the link. Therefore, the
43
Software Defined transport layer performs the checking for the errors end-to-end to
Networking ensure that the packet has arrived correctly.
Sequence Control
o The second aspect of the reliability is sequence control which is
implemented at the transport layer.
o On the sending end, the transport layer is responsible for ensuring that
the packets received from the upper layers can be used by the lower
layers. On the receiving end, it ensures that the various segments of a
transmission can be correctly reassembled.
Loss Control
Loss Control is a third aspect of reliability. The transport layer ensures
that all the fragments of a transmission arrive at the destination, not some
of them. On the sending end, all the fragments of transmission are given
sequence numbers by a transport layer. These sequence numbers allow the
receiver's transport layer to identify the missing segment.
Duplication Control
Duplication Control is the fourth aspect of reliability. The transport layer
guarantees that no duplicate data arrive at the destination. Sequence
numbers are used to identify the lost packets; similarly, it allows the
receiver to identify and discard duplicate segments.
Flow Control
Flow control is used to prevent the sender from overwhelming the
receiver. If the receiver is overloaded with too much data, then the
receiver discards the packets and asking for the retransmission of packets.
This increases network congestion and thus, reducing the system
performance. The transport layer is responsible for flow control. It uses
44
the sliding window protocol that makes the data transmission more Routing
efficient as well as it controls the flow of data so that the receiver does not
become overwhelmed. Sliding window protocol is byte oriented rather
than frame oriented.
Multiplexing
The transport layer uses the multiplexing to improve transmission
efficiency.
45
Software Defined Addressing
Networking
o According to the layered model, the transport layer interacts with the
functions of the session layer. Many protocols combine session,
presentation, and application layer protocols into a single layer known
as the application layer. In these cases, delivery to the session layer
means the delivery to the application layer. Data generated by an
application on one machine must be transmitted to the correct
application on another machine. In this case, addressing is provided by
the transport layer.
o The transport layer provides the user address which is specified as a
station or port. The port variable represents a particular TS user of a
specified station known as a Transport Service access point (TSAP).
Each station has only one transport entity.
o The transport layer protocols need to know which upper-layer
protocols are communicating.
Application Layer
The application layer in the OSI model is the closest layer to the end user
which means that the application layer and end user can interact directly
with the software application. The application layer programs are based on
client and servers.
The Application layer includes the following functions:
o Identifying communication partners: The application layer
identifies the availability of communication partners for an application
with data to transmit.
o Determining resource availability: The application layer determines
whether sufficient network resources are available for the requested
communication.
o Synchronizing communication: All the communications occur
between the applications requires cooperation which is managed by an
application layer.
46
Services of Application Layers Routing
3.3 SUMMARY
Routing is the process of selecting a path for data transfer from a source
to a destination. This task is performed by a device known as a router,
which operates at the internet layer of the TCP/IP model and the network
layer of the OSI model. A router forwards packets based on the contents of
the forwarding table and packet headers, utilizing routing algorithms to
determine the best path for packet delivery.
48
Routing protocols use metrics to identify the optimal path for packet Routing
delivery. Metrics are network characteristics that help in determining the
best route.
3.4 QUESTIONS
1. Write a short note on Routing.
3. Explain Routing Metrics and Costs.
3.Describe the working of Transport Layer
4. Explain Application Layer Protocols
49
4
SOFTWARE DEFINED NETWORKING
Unit Structure :
4.0 Objectives
4.1 Introduction
4.2 Elements of Modern Networking
4.3 Requirements and Technology
4.4 SDN: Background and Motivation
4.5 SDN Data Plane and OpenFlow
4.6 SDN Control Plane
4.7 SDN Application Plane
4.8 Summary
4.9 List of References
4.10 Unit End Exercises
4.0 OBJECTIVES
To get familiar with the elements of networking
To understand and get acquaint with the requirements of technology
To understand the key requirements of SDN
4.1 INTRODUCTION
Software Defined Networking (SDN) is a paradigm shift in the way
computer networks are designed, deployed, and managed. Traditionally,
network devices like routers and switches are controlled by their
proprietary firmware or software, with limited flexibility for dynamic
changes or optimizations. SDN, on the other hand, decouples the control
plane (decision-making logic) from the data plane (forwarding of packets).
This decoupling allows for centralized control and programmability of the
network through software.
Here's a breakdown of key components and concepts in SDN:
1. Control Plane : In SDN, the control plane is centralized in a software
controller. This controller communicates with network devices using
protocols like OpenFlow, providing a global view of the network and
making decisions on how data packets should be forwarded.
50
2. Data Plane : The data plane consists of network devices such as Software Defined
switches and routers. These devices forward packets according to Networking
instructions received from the controller. They are typically simpler
and more focused on packet forwarding, as the intelligence resides in
the controller.
3. Software Controller : This is the brain of the SDN architecture. It's
responsible for gathering information about the network topology,
traffic patterns, and making decisions on how to route traffic based on
defined policies and rules. Examples of SDN controllers include
OpenDaylight, ONOS, and Ryu.
4. Southbound APIs : These are the interfaces through which the SDN
controller communicates with network devices in the data plane.
OpenFlow is the most common southbound API, but there are others
such as NETCONF and P4.
5. Northbound APIs : These are the interfaces through which the SDN
controller exposes its capabilities to higher-level applications and
services. Northbound APIs enable integration with orchestration
systems, management tools, and other network services, allowing for
automation and programmability.
6. Network Virtualization : SDN enables network virtualization by
abstracting the underlying physical network infrastructure. This allows
for the creation of multiple logical networks (also known as overlays)
that can be customized, managed, and provisioned independently from
the physical infrastructure.
7. Programmability and Automation : One of the key advantages of
SDN is its programmability. Network administrators can write
software applications that interact with the SDN controller through its
northbound API, automating tasks such as network provisioning,
configuration management, and traffic engineering.
8. Dynamic Traffic Management : SDN enables dynamic traffic
management by providing real-time visibility into network conditions
and the ability to adapt network policies and configurations
accordingly. This allows for better traffic engineering, load balancing,
and Quality of Service (QoS) enforcement.
52
8. 5G Networking : The fifth generation of mobile networking Software Defined
technology, 5G promises significant advancements in data rates, Networking
latency, reliability, and connectivity for both consumer and enterprise
applications. 5G networks leverage technologies such as millimeter-
wave spectrum, massive MIMO (Multiple Input, Multiple Output),
network slicing, and edge computing to deliver high-performance,
low-latency connectivity for a wide range of use cases, including IoT,
augmented reality, and autonomous vehicles.
These elements collectively represent the modern networking landscape,
characterized by flexibility, scalability, automation, and agility, all of
which are essential for supporting the evolving demands of digital
businesses and applications.
53
Software Defined 5. Flexibility and Agility : Networks need to be flexible and agile to
Networking adapt to changing business requirements, user demands, and
technological advancements. Technologies such as Software Defined
Networking (SDN), Network Function Virtualization (NFV), and
intent-based networking (IBN) enable dynamic configuration,
automation, and orchestration of network resources, allowing for rapid
deployment, scaling, and optimization of network services.
6. Interoperability : In heterogeneous network environments composed
of diverse hardware and software components from multiple vendors,
interoperability is essential to ensure seamless communication and
integration. Standards-based protocols and APIs facilitate
interoperability between different network devices, systems, and
applications, enabling interoperability, integration, and
interoperability.
7. Quality of Service (QoS) : To meet the diverse needs of different
applications and users, networks must provide differentiated levels of
service based on factors such as bandwidth, latency, and packet loss.
Quality of Service (QoS) mechanisms prioritize and manage network
traffic to ensure that critical applications receive the necessary
resources and performance guarantees, using technologies like traffic
shaping, prioritization, and congestion management.
8. Manageability and Monitoring : Effective network management and
monitoring are essential for ensuring optimal performance,
troubleshooting issues, and enforcing security policies. Network
management tools and protocols, such as SNMP (Simple Network
Management Protocol), NetFlow, and Syslog, provide visibility into
network traffic, performance metrics, and device status, enabling
proactive monitoring, troubleshooting, and optimization of network
resources.
These requirements and technologies collectively shape the design,
deployment, and operation of modern networking infrastructures, enabling
organizations to build robust, scalable, secure, and agile networks that
meet the evolving demands of digital businesses and applications.
54
devices (e.g., routers, switches). This distributed control model leads Software Defined
to several challenges: Networking
Data plane devices in SDN architectures are often simpler and more
focused on packet forwarding, as the intelligence and decision-making
logic reside in the centralized controller.
56
OpenFlow defines a set of messages and message formats that allow Software Defined
the controller to query the state of the network, modify forwarding Networking
tables, and instruct switches on how to handle incoming packets.
1. Centralized Decision-Making:
57
Software Defined 2. Network State Abstraction:
Networking
The SDN controller maintains a comprehensive view of the network
state, which includes information about network topology, device
configurations, traffic flows, and performance metrics.
The SDN control plane defines network policies and rules based on
high-level objectives or business requirements. These policies specify
how traffic should be handled, such as Quality of Service (QoS)
guarantees, access control, traffic prioritization, and routing
preferences.
SDN Applications:
SDN Applications:
59
Software Defined Security and Access Control: Applications for enforcing security
Networking policies, access control, and threat detection and mitigation.
Quality of Service (QoS) Management: Applications for prioritizing
and guaranteeing network bandwidth, latency, and reliability for
critical applications or services.
Load Balancing: Applications for distributing network traffic across
multiple paths or resources to avoid congestion and optimize resource
usage.
Virtual Network Management: Applications for creating, provisioning,
and managing virtual networks or network slices for specific tenants,
applications, or services.
Policy-Based Routing: Applications for implementing network
policies and routing decisions based on business requirements, security
policies, or regulatory compliance.
Service Chaining: Applications for chaining together multiple network
services (e.g., firewalls, load balancers, WAN accelerators) to create
complex service delivery chains.
These are just a few examples, and the possibilities are virtually
limitless, depending on the specific needs and objectives of the
network deployment.
Northbound API
The SDN controller exposes a northbound API that allows SDN
applications to interact with the controller and utilize its capabilities.
The northbound API provides a standardized interface for SDN
applications to query network state, subscribe to event notifications,
install forwarding rules, and invoke controller functionalities.
SDN applications communicate with the controller through the
northbound API to request information, make decisions, and take
actions based on network conditions and user requirements.
Integration with External Systems
SDN applications can integrate with external systems, such as
orchestration platforms, cloud management systems, network
management tools, and business applications, to enable end-to-end
automation, service orchestration, and business process integration.
Integration with external systems allows SDN applications to leverage
contextual information, automate cross-domain workflows, and align
network operations with broader business objectives.
In summary, the application plane in SDN is where SDN applications
reside, providing customized network services, automation, and
management functionalities tailored to the needs of the network
deployment. By leveraging the programmable capabilities of SDN
controllers and integrating with external systems, SDN applications enable
60
organizations to optimize network operations, improve network Software Defined
performance, and deliver innovative services to users. Networking
4.8 SUMMARY
We saw how SDN shift in the way computer networks are designed,
deployed, and managed and how they offer greater flexibility, agility, and
scalability compared to traditional networking approaches. It empowers
organizations to build and manage networks that are more adaptable to
changing business requirements and traffic patterns, ultimately leading to
improved efficiency and cost-effectiveness.
We also discussed how therequirements and technologies collectively
shape the design, deployment, and operation of modern networking
infrastructures, enabling organizations to build robust, scalable, secure,
and agile networks that meet the evolving demands of digital businesses
and applications.
SDN represents a paradigm shift in networking, offering greater
flexibility, programmability, automation, and agility compared to
traditional networking architectures. By centralizing control, enabling
programmable data forwarding, and providing a platform for developing
custom network applications, SDN empowers organizations to build more
efficient, scalable, and innovative networks that can adapt to the evolving
demands of modern applications.
61
5
NETWORK FUNCTIONS
VIRTUALIZATION CONCEPTS AND
ARCHITECTURE
Unit Structure :
5.0 Objectives
5.1 Introduction
5.2 An Overview
5.2.1 What is Network Functions Virtualization
5.2.2 Concepts of NFV
5.2.3 NFV Architecture
5.2.4 Benefits of NFV
5.3 NFV Functionality
5.3.1 M Virtualization of Network Functions
5.3.2 Dynamic Service Deployment and Scaling
5.3.3 Service Chaining and Network Slicing
5.3.4 Orchestration and Management
5.3.5 Cost Efficiency and Resource Optimization
5.3.6 Implementation, Evaluationand Maintenance
5.4 Network Virtualization Quality of Service
5.4.1 Resource Allocation and Management
5.4.2 Traffic Prioritization
5.4.3 Traffic Shaping and Policing
5.5 Let us Sum Up
5.6 List of References
5.7 Bibliography
5.8 Unit End Exercises
5.0 OBJECTIVES
Aftergoing through this unit, you will be able to :
Define Network Functions Virtualization
understand Network Functions Virtualization Architecture
62
describe the Benefits of NFV Network Functions
Virtualization Concepts
classify different types of systems and Architecture
explain NFV Functionality
illustrate the Quality of Service
5.1 INTRODUCTION
Network Functions Virtualization (NFV) is a concept in networking where
traditional network functions that were previously implemented using
dedicated hardware appliances are virtualized. This means they are
decoupled from the physical infrastructure and run as software on standard
computing hardware.
Network functions virtualization (NFV) is the replacement of network
appliance hardware with virtual machines. The virtual machines use a
hypervisor to run networking software and processes such as routing and
load balancing.
It is a network architecture concept that uses the technologies of IT
virtualization to virtualize entire classes of network node functions into
building blocks that may connect, or chain together, to create
communication services.
It is a way to reduce costs and accelerate service deployment for network
operators by decoupling functions like a firewall or encryption from
dedicated hardware and moving them to virtual servers.
Network Virtualization (NV) refers to abstracting network resources that
were traditionally delivered in hardware to software. NV can combine
multiple physical networks to one virtual, software-based network, or it
can divide one physical network into separate, independent virtual
networks.
63
Software Defined
Networking
5.2 OVERVIEW
5.2.1 Network Functions Virtualization (NFV)
Network Functions Virtualization (NFV) is a concept in networking where
traditional network functions that were previously implemented using
dedicated hardware appliances are virtualized.
NFV is a fundamental shift in how network services are deployed and
managed, offering significant advantages in terms of flexibility,
scalability, and cost-efficiency for modern networking environments.
5.2.2 Concepts of NFV
1. Virtualization : NFV leverages virtualization technologies (such as
hypervisors and virtual machines) to run network functions as software
instances on standard servers, storage, and networking resources.
2. Decoupling : It decouples network functions from proprietary
hardware appliances, allowing them to run on any hardware that meets
the performance and capacity requirements.
3. Abstraction : NFV abstracts network functions from the underlying
hardware, providing flexibility, scalability, and easier management
compared to traditional hardware-based approaches.
4. Orchestration : NFV requires orchestration frameworks to manage
and automate the deployment, configuration, scaling, and monitoring
of virtualized network functions (VNFs).
5. Service Chaining : NFV enables the creation of service chains, where
multiple VNFs are interconnected to deliver complex network
services, such as firewalls, load balancers, and intrusion detection
systems.
5.2.3 NFV Architecture
NFV architecture typically involves several key components and layers:
5. Infrastructure Layer:
- Compute: Standard servers (physical or virtual) that host VNFs.
- Storage: Storage resources for VNFs and data.
64
- Networking: Physical and virtual networking components for Network Functions
interconnecting VNFs and external networks. Virtualization Concepts
and Architecture
2. Virtualization Layer:
- Hypervisors or virtual machine monitors (VMMs) that create and
manage virtual machines (VMs) where VNFs run.
- Container-based virtualization technologies may also be used for
lightweight isolation of VNFs.
5. Management and Orchestration (MANO):
- NFV Orchestrator (NFVO): Coordinates and manages the lifecycle of
VNFs and network services. It interfaces with higher-level orchestration
systems.
- Virtual Infrastructure Manager (VIM): Manages the underlying
compute, storage, and networking resources. It provides APIs to the
NFVO for resource allocation and management.
4. VNFs and VNF Managers:
- VNFs : Virtualized instances of network functions, such as routers,
firewalls, NAT (Network Address Translation) devices, etc.
- VNF Managers (VNFM) : Manage the lifecycle of VNF instances,
including instantiation, scaling, healing, and termination.
5. Orchestration Layer:
- Coordinates and automates the deployment and operation of VNFs and
service chains.
- Implements policies and rules for service assurance, scaling, and fault
management
65
Software Defined Easier Management : Simplifies operations through centralized
Networking management and orchestration.
66
Network Functions
Virtualization Concepts
and Architecture
Monitoring tools that are linked together in this way are sometimes
referred to as a daisy-chain.
For instance, in the case of security monitoring, SSL traffic can pass
through a powerful decryption tool and the exposed content can be
sent through a series of additional inspection tools.
This avoids the need to send the traffic through decryption for each
tool, which would increase latency and multiply the cycles being
consumed on the decryption tool.
68
Apply Consistent Policies: Pre-set service chains help ensure that Network Functions
actions are taken in a specific sequence, and nothing is overlooked. Virtualization Concepts
and Architecture
This reduces errors and increases the chance that abnormalities will be
identified in time to prevent damage to an organization’s data or other
resources.
Increase Flexibility:
Well defined rules and policies can help decrease the time to deliver a
service and increase the quality of the user experience.
Network slicing:
Another slice shares radio & transport resources between tenants but
provides dedicated core network functions per tenant.
69
Software Defined End-to-end network slicing enables new business model innovation
Networking and use cases across all verticals and creates new revenue
opportunities for communication service providers.
These processes can consist of multiple tasks that are automated and
can involve multiple systems.
70
It involves analyzing the network infrastructure, identifying Network Functions
bottlenecks and other performance issues, and implementing solutions Virtualization Concepts
to eliminate or mitigate them. and Architecture
5.3.6 Implementation,EvaluationandMaintenance
72
Service Differentiation: Network Functions
Virtualization Concepts
QoS supports differentiation of services based on performance and Architecture
requirements and priorities. It allows service providers to offer tiered
services with varying levels of performance guarantees (e.g., gold,
silver, bronze levels).
SLA Compliance:
5.5 LETUSSUMUP
Implementing effective QoS in network virtualization environments can
pose several challenges:
Complexity : Managing QoS across virtualized infrastructures with
diverse service requirements and traffic patterns requires sophisticated
policies and coordination.
Performance Overhead : QoS mechanisms may introduce overhead
in terms of processing resources and latency, impacting overall system
performance.
Scalability : Ensuring consistent QoS as the scale of virtualized
networks grows requires scalable architectures and efficient resource
management algorithms.
73
Software Defined Interoperability : QoS solutions must be compatible with existing
Networking network management frameworks and virtualization platforms to
facilitate seamless integration and operation.
In conclusion, network virtualization QoS plays a crucial role in ensuring
predictable performance, efficient resource utilization, and service
differentiation within virtualized network environments.
Effective implementation requires careful planning, robust monitoring,
and adaptive management strategies to meet the diverse needs of modern
digital services and applications.
https://www.vmware.com/topics/glossary/content/network-functions-
virtualization-nfv. html#: ~:text =Network %20functions% 20
virtualization %20(NFV) %20is,as%20 routing%20and%20load % 20
balancing.
5.7 BIBLIOGRAPHY
1. TCPIP Protocol Suite, Behrouz A Forouzan , McGraw Hill Education;
4th edition, Fourth Edition, 2017
2. Foundations of Modern Networking: SDN, NFV, QoE, IoT, and
Cloud, William Stallings, Addison-Wesley Professional, 2016.
3. Software Defined Networks: A Comprehensive Approach, Paul
Goransson and Chuck Black, Morgan Kaufmann Publications, 2014
4. SDN - Software Defined Networks by Thomas D. Nadeau & Ken
Gray, O'Reilly, 2013
74
6
MODERN NETWORK ARCHITECTURE:
CLOUDS AND FOG
Unit Structure:
6.0 Objectives
6.1 Introduction
6.2 Summary
6.3 Possible Answers
6.4 List of References
6.5 Bibliography
6.6 Glossary
6.7 Further Readings
6.8 Model Questions
6.0 OBJECTIVES
Understand the key characteristics and benefits of Cloud Computing
and Fog Computing.
Learn the differences between Cloud and Fog architectures.
Explore the technologies and use cases driving modern network
systems.
6.1 INTRODUCTION
Modern network architecture addresses the demands of scalability, low
latency, and efficient resource utilization in an interconnected digital
world. Cloud Computing and Fog Computing represent two critical
paradigms in this evolution, offering distinct approaches to handling data
processing, storage, and analytics. This unit introduces these concepts,
detailing their characteristics, applications, and emerging trends.
Study Guidance:
To make the most of this chapter, focus on understanding the fundamental
differences between Cloud and Fog Computing. Pay attention to real-
world use cases and technological enablers, such as virtualization,
containers, and edge computing. Diagrams and tables included in the
chapter will help clarify key concepts, so refer to them closely.
75
Software Defined Modern Network Architecture: Clouds and Fog
Networking
Modern network architecture leverages advanced computing paradigms to
meet the demands of scalability, low latency, and efficient resource
utilization. Two key components in this architecture are Cloud
Computing and Fog Computing.
Cloud Computing
Cloud computing refers to the delivery of on-demand computing services
over the internet, including storage, processing power, and software
applications. These resources are housed in remote data centers
maintained by service providers.
Key Characteristics:
1. On-Demand Self-Service: Users can provision computing resources
automatically without human intervention.
2. Broad Network Access: Resources are available over the internet and
accessible from a wide range of devices.
3. Resource Pooling: Resources are shared among multiple users
through multi-tenancy.
4. Scalability and Elasticity: Resources can scale up or down
dynamically based on demand.
5. Pay-as-You-Go: Users pay only for what they use, enabling cost-
effectiveness.
Types of Cloud Services:
IaaS (Infrastructure as a Service): Virtualized computing resources
like VMs, storage, and networks (e.g., AWS EC2, Google Compute
Engine).
PaaS (Platform as a Service): Development platforms and tools for
building and deploying applications (e.g., Heroku, AWS Elastic
Beanstalk).
SaaS (Software as a Service): Ready-to-use applications hosted on
the cloud (e.g., Google Workspace, Salesforce).
Deployment Models:
Public Cloud: Open for public use (e.g., AWS, Azure).
Private Cloud: Dedicated to a single organization for more control
and security.
Hybrid Cloud: Combines public and private clouds, offering
flexibility and optimization.
76
Advantages: Modern Network
Architecture: Clouds and Fog
High scalability
Cost-efficiency
Easy collaboration and accessibility
Enhanced disaster recovery and backup options
Challenges:
Security and compliance concerns
Dependency on internet connectivity
Data transfer costs
Fog Computing
Fog computing is an extension of cloud computing, designed to bring
computing, storage, and networking resources closer to end devices (IoT,
edge devices). Unlike centralized cloud systems, fog nodes are distributed
geographically to process data closer to its source.
Key Features:
1. Low Latency: By processing data locally, fog computing minimizes
latency.
2. Decentralization: Resources are distributed across multiple nodes
located near the data sources.
3. Real-Time Processing: Supports real-time applications like
autonomous vehicles, industrial automation, and smart cities.
Architecture:
77
Software Defined Edge Devices: IoT devices that generate and sometimes pre-process
Networking data.
Fog Nodes: Local computing devices or mini data centers that process
and store data near the source.
Cloud: Acts as a central repository for long-term storage and global
processing.
Use Cases:
Smart cities and traffic management
Industrial IoT (IIoT) for predictive maintenance
Healthcare for wearable devices and remote patient monitoring
Advantages:
Reduces bandwidth usage and costs
Enhances data privacy by processing sensitive data locally
Supports time-sensitive applications
Challenges:
Complex management of distributed nodes
Interoperability between fog and cloud systems
Higher initial deployment costs
78
4. Serverless Computing: Modern Network
Architecture: Clouds and Fog
o Applications run in stateless compute containers triggered by
events without managing infrastructure.
o Example: AWS Lambda, Azure Functions.
Cloud Security:
1. Data Encryption:
o Encrypts data in transit and at rest to protect sensitive information.
2. Identity and Access Management (IAM):
o Ensures only authorized users can access resources.
3. Compliance:
o Adhering to regulations like GDPR, HIPAA, and SOC 2.
Emerging Trends:
1. Edge-Cloud Integration:
o Combining edge computing with cloud infrastructure to support
applications requiring both local processing and centralized
resources.
2. Multi-Cloud Strategy:
o Organizations use multiple cloud providers to avoid vendor lock-
in and improve resilience.
3. AI and Machine Learning in Cloud:
o AI models are trained and deployed at scale using cloud resources.
o Example: Google AI Platform, AWS SageMaker.
79
Software Defined The Internet of Things (IoT): Components in Detail
Networking
The Internet of Things (IoT) refers to a network of interconnected devices
that collect, exchange, and act on data through the internet. These "things"
can range from simple sensors to complex machinery, all embedded with
electronics, software, and connectivity.
IoT systems are built on several key components, each playing a crucial
role in enabling communication, data processing, and decision-making.
2. Connectivity
Connectivity links IoT devices to gateways, servers, and the cloud,
enabling data exchange.
Communication Protocols:
o Wi-Fi: Ideal for high-bandwidth, short-range applications.
o Bluetooth/BLE: Low power, suitable for personal area networks.
o Zigbee/Z-Wave: Low-power protocols for smart home devices.
o LoRaWAN: Long-range, low-power protocol for IoT in agriculture
and logistics.
o Cellular (4G/5G): Wide-area connectivity for IoT applications like
autonomous vehicles and smart cities.
o Ethernet: Reliable, high-speed connection for industrial IoT.
80
Key Features: Modern Network
Architecture: Clouds and Fog
o Low latency
o Scalability
o Energy efficiency
3. IoT Gateways
Gateways act as intermediaries between IoT devices and the cloud or
centralized servers. They aggregate, preprocess, and securely transmit
data.
Functions:
o Protocol translation (e.g., converting Zigbee data to Wi-Fi)
o Local processing and filtering to reduce bandwidth usage
o Data encryption for secure transmission
Examples:
o Home automation hubs (e.g., Amazon Echo, Google Nest Hub)
o Industrial gateways (e.g., Cisco IoT Gateway)
5. Edge Computing
Edge computing processes data locally, near the source, rather than relying
on centralized cloud systems.
81
Software Defined Use Cases:
Networking
o Real-time applications like autonomous vehicles or industrial
automation.
o Scenarios requiring low latency and high security.
Benefits:
o Reduced latency
o Lower bandwidth costs
o Enhanced data privacy
9. Power Management
IoT devices, particularly those in remote or battery-powered applications,
require efficient power management.
Technologies:
o Energy-harvesting devices that use solar, thermal, or kinetic
energy.
o Low-power communication protocols (e.g., BLE, Zigbee).
10. Applications
IoT is deployed across various industries, each with unique requirements
and architectures.
Smart Homes:
o Devices like smart thermostats, smart lighting, and security
cameras.
Industrial IoT (IIoT):
o Sensors monitoring machinery for predictive maintenance.
Healthcare:
o Wearables and remote monitoring devices.
Smart Cities:
o Connected infrastructure like traffic lights, parking systems, and
waste management.
Agriculture:
o IoT-enabled irrigation systems and soil monitoring.
6.2 SUMMARY
This chapter explored the critical components of modern network
architectures, focusing on Cloud and Fog Computing. Key features like
scalability, low latency, and real-time processing were discussed alongside
their technological enablers. Use cases ranging from IoT to industrial
automation highlighted their relevance in diverse industries. Together,
Cloud and Fog Computing shape the future of efficient and adaptable
network systems.
6.5 BIBLIOGRAPHY
1. Mell, P., &Grance, T. (2011). The NIST Definition of Cloud
Computing. NIST Special Publication 800-145.
2. Cisco Systems. (2020). Fog Computing and the Internet of Things:
Extend the Cloud to Where the Things Are.
84
6.6 GLOSSARY Modern Network
Architecture: Clouds and Fog
Cloud Computing: Delivery of on-demand computing resources over
the internet.
Fog Computing: A distributed computing paradigm bringing
resources closer to the data source.
Virtualization: Technology that allows multiple virtual machines to
run on a single physical server.
85
7
DESIGN AND IMPLEMENTATION OF
NETWORK
Unit Structure :
7.0 Objectives
7.1 Introduction
7.2 OSI Seven Layer Model
7.3 Switching at Different Layers
7.3.1 Layer 2 Switching
7.3.2 Layer 3 Switching and Routing
7.4 VLAN
7.5 Trunking
7.5.1 Types of network trunking
7.6 Spanning Tree
7.7 Introduction to OSPF
7.7.1 Basic OSPF Configuration
7.8 Introduction to BGP
7.8.1 How to configure EBGP (External BGP)
7.9 List Of References
7.10 Unit End Exercises
7.0 OBJECTIVES
Understand and Implement Layer 2 and Layer 3 switching techniques.
7.1 INTRODUCTION
The OSI Seven Layer Model—What Is a Layer? Established in 1947, the
International Organization for Standardization (ISO) was formed to bring
together the standards bodies from countries around the world. Their
definition of the model for Open Systems Interconnection, or OSI, is used
to define modes of interconnection between different components in a
networking system. This means that the physical method of transport can
86
be designed independently of the protocols and applications running over Design and Implementation
it. For example, TCP/IP can be run over both Ethernet and FDDI of Network
networks, and Novell’s IPX and Apple’s AppleTalk protocols can both be
run over Token Ring networks. These are examples of having
independence between the physical network type and the upper layer
protocols running across them. Consider also, two TCP/IP-enabled end
systems communicating across a multitude of different network types,
such as Ethernet, Frame Relay, and ATM.
7.4 VLAN
Figure 7.5 shows a relatively common type of hierarchical LAN
configuration. In this example, the devices on the LAN are organized into
four segments, each served by a LAN switch. and- forward packetend
systems to form a LAN segment. The switch can forward a access control
(MAC) frame destination- attached device. It can also broadcast a frame
from a source attached device to all other attached devices. Multiples
switches can be interconnected so that multiple LAN segments form a
larger LAN. A LAN switch can also connect to a transmission link or a
router or other network device to provide connectivity to the Internet or
other WANs. FIGURE 1 Traditionally, a LAN switch operated
exclusively at the MAC level. Contemporary LAN swi 204 NETWORK
VIRTUALIZATION Virtual networks have two important benefits: They
enable the user to construct and manage networks independent of the
underlying physical network and with assurance of isolation from other
virtual networks using the same physical network. They enable network
providers to efficiently use network resources to support a wide range of
user requirements. 1 shows a relatively common type of hierarchical LAN
configuration. In this example, the devices on the LAN are organized into
four segments, each served by a LAN switch. The LAN switch is a store -
forwarding device used to interconnect a number of end systems to form a
LAN segment. The switch can forward a media access control (MAC)
frame: from a source-attached device to a attached device. It can also
broadcast a frame from a source attached device to all other attached
devices. Multiples switches can be interconnected so that multiple LAN
segments form a larger LAN. A LAN ch can also connect to a
transmission link or a router or other network device to provide
connectivity to the Internet or other WANs.
91
Software Defined
Networking
Defining VLANs:
A VLAN is a broadcast domain consisting of a group of end stations,
perhaps on multiple physical LAN segments, that are not constrained by
their physical location and can communicate as if they
were on a common LAN. A number of different approaches have used for
defining membership, including the following:
94
Figure 7.7 shows the position and content of the 802.1 tag, referred to as Design and Implementation
Tag Control Information (TCI). The presence of the two-octet TCI field is of Network
indicated by inserting a Length/Type field in the 802.3 MAC framewith a
value of 8100 hex. The TCI consists of three subfields, as described in the
list that follows.
User priority (3 bits): The priority level for this frame.
Canonical format indicator (1 bit): Is always set to 0 for Ethernet
switches. CFI is used for compatibility between Ethernet type networks
and Token Ring type networks. If a frame received at an Ethernet port has
a CFI set to 1, that frame should not be forwarded as it is to an untagged
port.
VLAN identifier (12 bits): The identification of the VLAN. Of the 4096
possible VIDs, a VID of 0 is used to identify that the TCI contains only a
priority value, and 4095 (0xFFF) is reserved, so the maximum possible
number of VLAN configurations is 4094
Nested VLANs:
The original 802.1Q specification allowed for a single VLAN tag field to
be inserted into an Ethernet MAC frame. More recent versions of the
standard allow for the insertion of two VLAN tag fields, allowing the
definition of multiple sub For example, a single VLAN level suffices for
an Ethernet configuration entirely on a single premise. However, it is not
uncommon for an enterprise to make use of a network service provider to
interconnect multiple LAN locations, and to use met connect to the
provider. Multiple customers of the service provider may wish to use the
802.1Q tagging facility across the service provider network (SPN).
One possible approach is for the customer’s VLANs to be visible to the
service provider. In that case, the service provider could support a total of
only 4094 VLANs for all its customers. Instead, the serviceprovider
inserts a second VLAN tag into Ethernet frames. For example, consider
two customers with multiple sites, SPN (Refer part A of Figure 6).
Customer A has configured VLANs 1 to100 at their sites, and similarly
95
Software Defined Customer B has configured VLANs 1 to 50 at their sites. The tagged data
Networking frames belonging to the customers must be kept separate while they
traverse the service provider’s network. The customer’s data frame can be
identified and kept separate by associating another VLAN for that
customer’s traffic. This results in the tagged customer data frame being
tagged again with a VLAN tag, traverses the SPN (see part b of Figure 6).
The additional tag is removed at the edge of the SPN when the data enters
the customer’s network again.
Packed VLAN tagging is known as VLAN stacking or as Q-in-Q
7.5 TRUNKING
What is trunk and what is trunking in networking?
A network trunk is a communications line or link designed to carry
multiple signals simultaneously to provide network access between two
points. Trunks typically connect switching centers in a communications
system. The signals can convey any type of communications data.
A networking trunk can consist of several wires, cables or fiber
optic strands bundled together in a single physical cable to maximize the
available bandwidth. Or it can consist of a single high-capacity link over
which many signals are multiplexed.
Trunking in broadcasting
A trunk can also consist of a cluster of broadcast frequencies, as in a
trunked radio system that enables the sharing of a few radio
frequency channels among a large group of users. Trunked radio systems
were developed in the 1990s. They provide more efficient use of the radio
spectrum. Rather than assigning a frequency to one group, users are placed
in logical groups. All the frequencies are pooled, and computers
automatically allocate broadcast channels as users request
them. Repeaters retransmit signals and extend the coverage to a wider
area.
98
Trunking in networking differs from trunking in software development. In Design and Implementation
software, a trunk refers to the primary branch of code that developers use of Network
to iterate and make version changes. Code changes are made to the trunk,
rather than secondary branches of the code, a process that enables new
features to be added and deployed more rapidly.
In the picture above, we have two switches. These switches are connected
with a single cable, so there is a single point of failure. To get rid of this
single point of failure, we will add another cable:
With the extra cable, we now have redundancy. Unfortunately for us,
redundancy also brings loops. Why do we have a loop in the scenario
above? Let me describe it to you:
1. H1 sends an ARP request because it’s looking for the MAC address of
H2. An ARP request is a broadcast frame.
2. SW1 will forward this broadcast frame on all it interfaces, except the
interface where it received the frame on.
3. SW2 will receive both broadcast frames.
Now, what does SW2 do with those broadcast frames?
99
Software Defined 1. It will forward it from every interface except the interface where it
Networking received the frame.
2. This means that the frame that was received on interface Fa0/0 will be
forwarded on Interface Fa1/0.
3. The frame that was received on Interface Fa1/0 will be forwarded on
Interface Fa0/0.
Do you see where this is going? We have a loop! Both switches will keep
forwarding over and over again until the following happens:
You fix the loop by disconnecting one of the cables.
One of your switches will crash because they are overburdened with
traffic.
Ethernet frames don’t have a TTL (Time to Live) value, so they will loop
around forever. Besides ARP requests, many frames are broadcasted. For
example, whenever the switch doesn’t know about a destination MAC
address, it will be flooded.
How spanning tree solves loops
Spanning tree will help us to create a loop-free topology by blocking
certain interfaces. Let’s take a look at how spanning tree work! Here’s an
example:
We have three switches, and as you can see, we have added redundancy
by connecting the switches in a triangle, this also means we have a loop
here. I have added the MAC addresses but simplified them for this
example:
SW1: MAC AAA
SW2: MAC BBB
SW3: MAC CCC
Since spanning tree is enabled, all our switches will send a special frame
to each other called a BPDU (Bridge Protocol Data Unit). In this BPDU,
there are two pieces of information that spanning tree requires:
100
MAC address Design and Implementation
of Network
Priority
The MAC address and the priority together make up the bridge ID. The
BPDU is sent between switches as shown in the following picture:
Spanning tree requires the bridge ID for its calculation. Let me explain
how it works:
First of all, spanning tree will elect a root bridge; this root bridge will
be the one that has the best “bridge ID”.
The switch with the lowest bridge ID is the best one.
By default, the priority is 32768, but we can change this value if we
want.
So who will become the root bridge? In our example, SW1 will become
the root bridge! Priority and MAC address make up the bridge ID. Since
the priority is the same on all switches, it will be the MAC address that is
the tiebreaker. SW1 has the lowest MAC address thus the best bridge ID
and will become the root bridge.
The ports on our root bridge are always designated, which means they are
in a forwarding state. Take a look at the following picture:
101
Software Defined Above, you see that SW1 has been elected as the root bridge and the “D”
Networking on the interfaces stands for designated.
Now we have agreed on the root bridge, our next step for all our “non-
root” bridges (so that’s every switch that is not the root) will have to find
the shortest path to our root bridge! The shortest path to the root bridge
is called the “root port”. Take a look at my example:
I’ve put an “R” for “root port” on SW2 and SW3. Their Fa0/0 interface
is the shortest path to get to the root bridge. In my example, I’ve kept
things simple, but “shortest path” in spanning tree means it will actually
look at the speed of the interface. Each interface has a certain cost, and
the path with the lowest cost will be used. Here’s an overview of the
interfaces and their cost:
10 Mbit = Cost 100
100 Mbit = Cost 19
1000 Mbit = Cost 4
Excellent!…we have designated ports on our root bridge and root ports on
our non-root bridges, we still have a loop, however, so we need to shut
down a port between SW2 and SW3 to break that loop. So which port are
we going to shut down? The one on SW2 or the one on SW3? We’ll look
again at the best bridge ID:
Bridge ID = Priority + MAC address.
Lower is better, both switches have the same priority, but the MAC
address of SW2 is lower, which means that SW2 will “win this battle”.
SW3 is our loser here which means it will have to block its port,
effectively breaking our loop! Take a look at my example:
102
Design and Implementation
of Network
104
Design and Implementation
of Network
This is the topology that we’ll use. All routers are in OSPF Area 0. Note
that the link between R2 and R1 is an Ethernet (10Mbit) link. All other
links are FastEthernet (100Mbit) interfaces.
We’ll start with the configuration between R2 and R3:
R2(config)#router ospf 1
R2(config-router)#network 192.168.23.0 0.0.0.255 area 0
R3(config)#router ospf 1
I need to use the router ospf command to get into the OSPF configuration.
The number “1” is a process ID and you can choose any number you like.
It doesn’t matter and if you want you can use a different number on each
router.
The second step is to use the network command. It works similar to RIP
but it is slightly different, let me break it down for you:
105
Software Defined When I say reverse subnet mask I mean that the binary 1s and 0s of the
Networking wildcard mask are flipped compared to the subnet mask. A subnet mask of
Subnetmask 255 255 255 0
Wildcardmask 0 0 0 255
area 0
In our example we have configured single area OSPF. All routers belong
to area 0.
After typing in my network command you’ll see this message in the
console:
Show ip ospf neighbor is a great command to see if your router has OSPF
neighbors. When the state is full you know that the routers have
successfully become neighbors.
106
Each OSPF router has a router ID and we check it with the show ip Design and Implementation
protocols command: of Network
R2#show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 192.168.23.2
R3#show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 192.168.23.3
Above you see the router ID of R2 and R3. They used their highest active
IP address as the router ID. Let’s create a loopback on R2 to see if the
router ID changes…
R2(config)#interface loopback 0
This is how you create a loopback interface. You can pick any number that
you like it really doesn’t matter.
R2#show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 192.168.23.2
The router ID still the same. We need to reset the OSPF process before the
change will take effect, this is how you do it:
107
Software Defined Use clear ip ospf process to reset OSPF. Let’s see if there is a difference:
Networking
R2#show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 2.2.2.2
R3#show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 192.168.23.3
R3(config-router)#router-id 3.3.3.3
Reload or use "clear ip ospf process" command, for this to take effect
R3#clear ip ospf process
Reset ALL OSPF processes? [no]: yes
R3#show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 3.3.3.3
108
Right now we have an OSPF neighbor adjacency between R2 and R3. Design and Implementation
Let’s configure our routers so that R2/R1 and R1/R3 also become OSPF of Network
neighbors:
R2(config)#router ospf 1
R2(config-router)#network 192.168.12.0 0.0.0.255 area 0
R1(config)#router ospf 1
R1(config-router)#network 192.168.12.0 0.0.0.255 area 0
R1(config-router)#network 192.168.13.0 0.0.0.255 area 0
R3(config)#router ospf 1
R3(config-router)#network 192.168.13.0 0.0.0.255 area 0
I’ll advertise all networks in OSPF. Before we check the routing table it’s
a good idea to see if our routers have become OSPF neighbors:
Excellent our routers have become OSPF neighbors and the state is full
which means they are done exchanging information. Let’s check the
routing tables:
109
Software Defined 7.8 INTRODUCTION TO BGP
Networking
Why do we need BGP?
Let’s start by looking at some scenarios so you can understand why and
when we need BGP:
Maybe the customer has a couple of servers that need to be reachable from
the Internet…perhaps a mail- or webserver. We could use port forwarding
and forward the correct ports to these servers so we still only need a single
IP address. Another option would be to get more public IP addresses from
our ISP and use these to configure the different servers. For this scenario
we still don’t need BGP…
110
Design and Implementation
of Network
111
Software Defined have a backup ISP to use. What about our Customer network? We still
Networking have two servers that need to be reachable from the Internet.
In my previous examples we got public IP addresses from our ISP. Now
I’m connected to two different ISPs so what public IP addresses should I
use? From ISP1 or ISP2? If we use public IP addresses from ISP1 (or
ISP2) then these servers will be unreachable once the ISP has connectivity
issues.
Instead of using public IP addresses from the ISP we will get our own
public IP addresses.The IP address space is maintained by IANA (Internet
Assigned Numbers Authority – http://www.iana.org/ ). IANA is assigning
IP address space to a number of large Regional Internet Registries
like RIPE or ARIN. Each of these assign IP address space to ISPs or large
organizations.
When we receive our public IP address space then we will advertise this to
our ISPs. Advertising is done with a routing protocol and that will be
BGP.
If you are interested here’s an overview of the IPv4 space that has been
allocated by IANA:
IANA IPv4 address space
Autonomous Systems
Besides getting public IP address space we also have to think about an AS
(Autonomous System):
CIDR Report
On the internet there are a number of looking glass servers. These are
routers that have public view access and you can use them to look at the
Internet routing table. If you want to see what it looks like check out:
Let’s start with a simple topology. Just two routers and two autonomous
systems. Each router has a network on a loopback interface, which we will
advertise in BGP.
R1(config)#router bgp 1
R1(config-router)#neighbor 192.168.12.2 remote-as 2
R2(config)#router bgp 2
Use the router bgp command with the AS number to start BGP.
Neighbors are not configured automatically. This is something you’ll have
to do yourself with the neighbor x.x.x.x remote-as command. This is how
we configure external BGP.
114
If everything goes ok, you should see a message that we have a new BGP Design and Implementation
neighbor adjacency. of Network
R1(config)#router bgp 1
R1(config-router)#neighbor 192.168.12.2 password MYPASS
R2(config)#router bgp 2
R2(config-router)#neighbor 192.168.12.1 password MYPASS
If you like, you can enable MD5 authentication by using the neighbor
password command. Your router will calculate an MD5 digest of every
TCP segment sent.
116
8
IMPLEMENTATION OF ROUTING
Unit Structure :
8.0 Objectives
8.1 Introduction
8.2 Multicast Routing
8.2.1 Multicast in Datacenter
8.2.2 Multicast Routing in SDN
8.2.3 Multicast Tree Packing in SDN
8.3 MPLS
8.4 Implementation of Traffic Filtering by using Standard and Extended
Access Control List
8.4.1 Access-list (ACL)
8.4.2 Standard Access-list
8.4.3 Extended Access-list
8.5 Introduction to Routing Redistribution
8.6 Redistribution between EIGRP and OSPF
8.6.1 Redistribute OSPF into EIGRP
8.6.2 Verification
8.6.3 Redistribute EIGRP into OSPF
8.6.4 Verification
8.7 Verification
8.0 OBJECTIVES
Understand and Implement Multicast Routing
117
Software Defined 8.1 INTRODUCTION
Networking
Multicast is an important communication way, which addresses how to
distribute the data from one or many sources to a group of destination
computers simultaneously. The typical application examples include video
conference, video-on-demand and file distribution. Multicast can be
classified into two main types, i.e. IP multicast and application layer
multicast (ALM). IP multicast is a technique for one-to-many
communication over an IP infrastructure in a network. The nodes in the
network (switches and routers) take care of replicating the packet to reach
multiple receivers such that messages are sent over each link of the
network only once. Therefore the forwarding efficiency of IP multicast is
very high. However, it has not been widely deployed in current Internet
because of some limitations such as dependence on the supports of
network infrastructures and rapid resource-consuming of routers. As an
alternative of IP multicast, ALM is implemented at the application layer,
using only end-systems. Participating peers organize themselves into an
overlay topology, where each edge in this topology corresponds to a
unicast path between two end-systems or peers.
Recently emerging software-defined networking separates the network
control plane from the data forwarding plane with the promise to
dramatically improve network resource utilization, simplify network
management, reduce operating cost, and promote innovation and
evolution. In SDN, the controller can collect information from network
devices and change the traffic flow settings. With the full knowledge of
network condition, the SDN controller can adaptively set up different
routes for different flows to maximize the service utility. In this paper, we
present a survey of multicast in software-defined network.
118
Implementation of
Routing
119
Software Defined 8.2.1 Multicast in Datacenter
Networking
120
switches, which support prefix forwarding, multicast addresses, packet Implementation of
rewriting, and a remotely configurable forwarding plane. Routing
8.3 MPLS
MPLS was invented in the late 1990s, at a time when Asynchronous
Transfer Mode (ATM) was a widespread WAN technology.
ATM had some virtues: multiservice, asynchronous transport, class of
service, reduced forwarding state, predictability, and so on. But it had at
least as many defects: no tolerance to data loss or reordering, a forwarding
overhead that made it unsuitable to high speeds, no decent multipoint, lack
of a native integration with IP, and so forth.
MPLS learned from the instructive ATM experience, taking advantage of
its virtues while solving its defects. Modern MPLS is an asynchronous
packet-based forwarding technology. In that sense, it is similar to IP, but
MPLS has a much lighter forwarding plane and it greatly reduces the
amount of state that needs to be signaled and programmed on the devices.
MPLS in Action
Probably the best way to understand MPLS is by looking at a real
example, such as that
shown in figure 8.4
122
IPv4 H1→H3 (10.1.12.10→10.2.34.30) packet arrives at PE1, which Implementation of
leads to the following: Routing
123
Software Defined PE4 Egress PE, Egress Label Edge Router (LER), LSP Tail-End,
Networking LSP Downstream Endpoint. The term egress comes from the fact that
user packets such as H1→H3 exit the LSP at this PE.
1 interfaces {
2 ge-2/0/4 {
3 unit 0 {
4 family mpls;
5 }}}
6 protocols {
7 mpls {
8 interface ge-2/0/4.0;
9 }}
mpls static
interface GigabitEthernet0/0/0/0
!
#PE1 (Junos)
126
Implementation of
Routing
protocols {
mpls {
static-label-switched-path PE1--->PE4 {
ingress {
next-hop 10.0.0.3;
to 172.18.0.44;
push 1000001;
}}}}
#P1 (Junos)
protocols {
mpls {
icmp-tunneling;
static-label-switched-path PE1--->PE4 {
transit 1000001 {
next-hop 10.0.0.7;
swap 1000002;
}}}}
mpls static
address-family ipv4 unicast
127
Software Defined
Networking !
PE4 receives plain IPv4 packets from P2, so it does not require any LSP-
specific configuration.
Labels 1000001 and 1000002 are locally significant to P1 and P2,
respectively. Their numerical values could have been identical and they
would still correspond to different instructions because they are not
interpreted by the same LSR.
LSP PE1→PE4—forwarding plane
It’s time to inspect the forwarding instructions that steer the H1→H3 IPv4
packet through the PE1→PE4 LSP. Let’s begin at PE1, which is shown
in Example 6-5.
Example 6-5. Routing and forwarding state at the ingress PE—PE1
(Junos)
128
Implementation of
18 Routing
The best BGP route to the destination 10.2.34.30 (H3) has a BGP next-hop
attribute (line 6) equal to 172.18.0.44. There are two routes toward
172.18.0.44 (PE4’s loopback):
An IS-IS route in the global IPv4 routing table inet.0 (lines 10 through
14).
129
Software Defined A MPLS route in the inet.3 auxiliary table (lines 16 through 20). The
Networking static LSP configured in Example 1-9 automatically installs this MPLS
route.
The goal of the inet.3 auxiliary table is to resolve BGP next hops (line 6)
into forwarding next hops (line 20). Indeed, the BGP route 10.2.34.0/24 is
installed in inet.0 with a labeled forwarding next hop (line 29) that is
copied from inet.3 (line 20). Finally, the BGP route is installed in the
forwarding table (lines 31 through 36) and pushed to the forwarding
engines.
The fact that Junos has an auxiliary table (inet.3) to resolve BGP next hops
is quite relevant. Keep in mind that Junos uses inet.0 and not inet.3 to
program the forwarding table.
130
1. Standard Access-list – These are the Access-list that are made using Implementation of
the source IP address only. These ACLs permit or deny the entire Routing
protocol suite. They don’t distinguish between the IP traffic such as
TCP, UDP, HTTPS, etc. By using numbers 1-99 or 1300-1999, the
router will understand it as a standard ACL and the specified address
as the source IP address.
2. Extended Access-list – These are the ACL that uses source IP,
Destination IP, source port, and Destination port. These types of ACL,
we can also mention which IP traffic should be allowed or denied.
These use range 100-199 and 2000-2699.
Also, there are two categories of access-list:
1. Numbered access-list – These are the access list that cannot be
deleted specifically once created i.e if we want to remove any rule
from an Access-list then this is not permitted in the case of the
numbered access list. If we try to delete a rule from the access list
then the whole access list will be deleted. The numbered access-list
can be used with both standard and extended access lists.
2. Named access list – In this type of access list, a name is assigned to
identify an access list. It is allowed to delete a named access list,
unlike numbered access list. Like numbered access lists, these can be
used with both standards and extended access lists.
131
Software Defined 8.4.2 Standard Access-list – These are the Access-list which are made
Networking using the source IP address only. These ACLs permit or deny the entire
protocol suite. They don’t distinguish between the IP traffic such as
TCP, UDP, HTTPS, etc. By using numbers 1-99 or 1300-1999, the
router will understand it as a standard ACL and the specified address as
the source IP address.
Features –
1. Standard Access-list is generally applied close to destination (but not
always).
2. In a standard access list, the whole network or sub-network is denied.
3. Standard access-list uses the range 1-99 and extended range 1300-
1999.
4. Standard access-list is implemented using source IP address only.
5. If numbered with standard Access-list is used then remember rules
can’t be deleted. If one of the rules is deleted then the whole access
list will be deleted.
6. If named with standard Access-list is used then you have the
flexibility to delete a rule from the access list.
132
Now, first configuring numbered standard access – list for denying any Implementation of
IP connection from sales to finance department. Routing
Now, considering the same topology, you will make a named standard
access list.
R1(config)# ip access-list standard blockacl
By using this command you have made an access-list named blockacl.
R1(config-std-nacl)# deny 172.18.40.0 0.0.0.255
133
Software Defined R1(config-std-nacl)# permit any
Networking
And then the same configuration you have done in numbered access-list.
R1(config)# int fa0/1
R1(config-if)# ip access-group blockacl out
8.4.3 Extended Access-list – It is one of the types of Access-list which
is mostly used as it can distinguish IP traffic therefore the whole traffic
will not be permitted or denied like in standard access-list. These are the
ACL that uses both source and destination IP addresses and also the port
numbers to distinguish IP traffic. In this type of ACL, we can also
mention which IP traffic should be allowed or denied. These use range
100-199 and 2000-2699.
Features –
1. Extended access-list is generally applied close to the source but not
always.
2. In the Extended access list, packet filtering takes place on the basis of
source IP address, destination IP address, port numbers.
3. In an extended access list, particular services will be permitted or
denied.
4. Extended ACL is created from 100 – 199 & extended range 2000 –
2699.
5. If numbered with extended Access-list is used then remember rules
can’t be deleted. If one of the rules is deleted then the whole access
list will be deleted.
6. If named with extended Access-list is used then we have the
flexibility to delete a rule from the access list.
Configuration –
135
Software Defined As we remember, we have to apply the extended access-list as close as
Networking possible to source but here we have applied it to close to the destination
because we have to block the traffic from both sales and marketing
department, therefore, we have to apply it close to the destination here
otherwise we have to make separate access-list for fa0/0 and fa1/0
inbound.
136
It’s possible that we have multiple routing protocols on our network and Implementation of
we’ll need some method to exchange routing information between the Routing
different protocols. This is called redistribution. We’ll look into some of
the issues that we encounter. What are we going to do with our metrics?
OSPF uses cost and EIGRP uses K-values and they are not compatible
with each other….RIP uses hop count.
Redistribution also adds another problem. If you “import” routing
information from one routing protocol into another, it’s possible to create
routing loops.
If you don’t feel 100% confident about your knowledge of OSPF and
EIGRP, then I suggest you stop reading now and read more about OSPF /
EIGRP or do some labs. One routing protocol can be difficult but when
you mix a couple of them the fun really starts…
Having said that, let’s take a look at a possible redistribution scenario:
137
Software Defined connected command, which will redistribute it into the routing protocol.
Networking Let’s take a look at some real routers:
R1(config)#router eigrp 12
R1(config-router)#no auto-summary
R1(config-router)#network 192.168.12.0
R1(config-router)#network 1.1.1.0 0.0.0.255
R2(config)#router eigrp 12
R2(config-router)#no auto-summary
R2(config-router)#network 192.168.12.0
R2(config-router)#exit
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 192.168.23.0
R3(config)#router rip
R3(config-router)#version 2
R3(config-router)#no auto-summary
R3(config-router)#network 192.168.23.0
R3(config-router)#network 3.3.3.0
Here are the router configurations, nothing special…I only advertised the
links to get EIGRP and RIP up and running.
R1#show ip route
138
Implementation of
Routing
Here is the routing table of all three routers after configuring RIP and
EIGRP. You can see R2 has learned the loopback interfaces of R3 and R1.
R1 and R3 don’t have anything in their routing table because R2 is not
advertising anything. As you can see, redistribution is not done
automatically.
R2(config)#router eigrp 12
R2(config-router)#redistribute ospf ?
<1-65535> Process ID
We need to select the correct OSPF process. In our example, that’s process
ID 1. There are three options you can choose from:
R2(config-router)#redistribute ospf 1 ?
match Redistribution of OSPF routes
metric Metric for redistributed routes
route-map Route map reference
With the match option, we can choose to redistribute only specific OSPF
routes like external or internal routes. The route-map is another option
only to redistribute specific OSPF routes, for example, by using an access-
list.
We’ll keep it simple for now and just redistribute all OSPF routes into
EIGRP. We have to specify a metric, if we don’t, redistribution fails.
EIGRP and OSPF use different metrics and there is no way to convert
from one metric to another. This means we have to configure the metric
ourselves.
EIGRP uses a metric that is based on bandwidth, delay, reliability, load,
and MTU (even though MTU is not actually used in the calculation). Let’s
check what options we have under the metric statement:
140
Implementation of
R2(config-router)#redistribute ospf 1 metric 1 ? Routing
8.6.2 Verification
Let’s verify our work. Redistribution doesn’t affect the routing table of the
router doing redistribution:
R2#show ip route
141
Software Defined Something changed on R1 however:
Networking
R1#show ip route
R2(config)#router ospf 1
And take a look at the redistribute eigrp options. Make sure you select the
correct EIGRP AS number (12 in our example):
R2(config-router)#redistribute eigrp 12 ?
metric Metric for redistributed routes
metric-type OSPF/IS-IS exterior metric type for redistributed routes
nssa-only Limit redistributed routes to NSSA areas
142
Implementation of
route-map Route map reference Routing
There are a number of (advanced) options which we’ll ignore for now.
Unlike EIGRP, we don’t have to specify a metric value here. The
following command is all you need:
R2(config-router)#redistribute eigrp 12
8.6.4 Verification
The routing table of R2 remains the same:
R2#show ip route
R3#show ip route
143
Software Defined
Networking
O E2 1.1.1.1 [110/20] via 192.168.23.2, 00:05:40, GigabitEthernet0/1
3.0.0.0/32 is subnetted, 1 subnets
C 3.3.3.3 is directly connected, Loopback0
O E2 192.168.12.0/24 [110/20] via 192.168.23.2, 00:05:40,
GigabitEthernet0/1
192.168.23.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.23.0/24 is directly connected, GigabitEthernet0/1
Above, you see two OSPF E2 routes with a metric of 20. The default
metric-type for redistributed routes in OSPF is E2 which means that the
metric remains the same throughout the OSPF network. If you had another
router behind R3 running OSPF, you would still see the redistributed
routes with a metric of 20.
8.7 VERIFICATION
We successfully redistributed OSPF into EIGRP and vice versa but just to
be sure, let’s see if we have connectivity between R1 and R3. We can test
this with a quick ping between the loopback interfaces:
144
4. SDN - Software Defined Networks by Thomas D. Nadeau & Ken Implementation of
Gray, O'Reilly, 2013 Routing
145