Network Layer
Network Layer
Network Layer
o It handles the service requests from the transport layer and further
forwards the service request to the data link layer.
o The network layer translates the logical addresses into physical
addresses
o It determines the route from the source to the destination and also
manages the traffic problems such as switching, routing and controls
the congestion of data packets.
o The main role of the network layer is to move the packets from
sending host to the receiving host.
o Routing: When a packet reaches the router's input link, the router will
move the packets to the router's output link. For example, a packet
from S1 to R1 must be forwarded to the next router on the path to S2.
o Logical Addressing: The data link layer implements the physical
addressing and network layer implements the logical addressing.
Logical addressing is also used to distinguish between source and
destination system. The network layer adds a header to the packet
which includes the logical addresses of both the sender and the
receiver.
o Internetworking: This is the main role of the network layer that it
provides the logical connection between different types of networks.
o Fragmentation: The fragmentation is a process of breaking the
packets into the smallest individual data units that travel through
different networks.
For example, the router with a header field value of 0111 arrives at a router,
and then router indexes this header value into the forwarding table that
determines the output link interface is 2. The router forwards the packet to
the interface 2. The routing algorithm determines the values that are
inserted in the forwarding table. The routing algorithm can be centralized or
decentralized.
Network Addressing
o Network Addressing is one of the major responsibilities of the network layer.
o Network addresses are always logical, i.e., software-based addresses.
o A host is also known as end system that has one link to the network. The
boundary between the host and link is known as an interface. Therefore, the
host can have only one interface.
o A router is different from the host in that it has two or more links that connect
to it. When a router forwards the datagram, then it forwards the packet to
one of the links. The boundary between the router and link is known as an
interface, and the router can have multiple interfaces, one for each of its
links. Each interface is capable of sending and receiving the IP packets, so IP
requires each interface to have an address.
o Each IP address is 32 bits long, and they are represented in the form of "dot-
decimal notation" where each byte is written in the decimal form, and they
are separated by the period. An IP address would look like 193.32.216.9
where 193 represents the decimal notation of first 8 bits of an address, 32
represents the decimal notation of second 8 bits of an address.
o In the above figure, a router has three interfaces labeled as 1, 2 & 3 and each
router interface contains its own IP address.
o Each host contains its own interface and IP address.
o All the interfaces attached to the LAN 1 is having an IP address in the form of
223.1.1.xxx, and the interfaces attached to the LAN 2 and LAN 3 have an IP
address in the form of 223.1.2.xxx and 223.1.3.xxx respectively.
o Each IP address consists of two parts. The first part (first three bytes in IP
address) specifies the network and second part (last byte of an IP address)
specifies the host in the network.
Classful Addressing
An IP address is 32-bit long. An IP address is divided into sub-classes:
o Class A
o Class B
o Class C
o Class D
o Class E
In the above diagram, we observe that each class have a specific range of IP
addresses. The class of IP address is used to determine the number of bits
used in a class and number of networks and hosts available in the class.
Class A
In Class A, an IP address is assigned to those networks that contain a large
number of hosts.
In Class A, the first bit in higher order bits of the first octet is always set to 0
and the remaining 7 bits determine the network ID. The 24 bits determine
the host ID in any network.
The total number of networks in Class A = 27 = 128 network address
Class B
In Class B, an IP address is assigned to those networks that range from
small-sized to large-sized networks.
In Class B, the higher order bits of the first octet is always set to 10, and the
remaining14 bits determine the network ID. The other 16 bits determine the
Host ID.
Class C
In Class C, an IP address is assigned to only small-sized networks.
In Class C, the higher order bits of the first octet is always set to 110, and the
remaining 21 bits determine the network ID. The 8 bits of the host ID
determine the host in a network.
Class D
In Class D, an IP address is reserved for multicast addresses. It does not
possess subnetting. The higher order bits of the first octet is always set to
1110, and the remaining bits determines the host ID in any network.
Class E
In Class E, an IP address is used for the future use or for the research and
development purposes. It does not possess any subnetting. The higher order
bits of the first octet is always set to 1111, and the remaining bits
determines the host ID in any network.
A 0 8 24 27 224 0.0.0.0 t
127.255.255.255
Virtual Circuits
Connection-oriented switching is another name for virtual circuits. Before
messages are sent, a virtual circuit switching sets a predetermined routing.
This route is referred to as a virtual circuit since it gives the user the
impression that a passionate physical circuit exists. The call request and call
accept packets are used to establish the connection between the sender and
the recipient.
The term "virtual circuit" refers to a logical link between two network nodes,
typically in a communications network. The path consists of many network
parts that are connected by switches.
To better comprehend the virtual circuits, let's look at the diagram shown
below:
Datagram Networks
It is a method of switching packets in which every packet, or "datagram," is
seen as a distinct entity. The switch uses the destination information
contained in each packet to direct it to the intended location. Since no
specific channel is classified for a connection session, there is no need to
reserve resources. As a result, packets have a header with all of the
information about the destination. A packet's header is examined by the
intermediate nodes, which then select an appropriate link to another node
that is closer to the destination.
Let's look at the key distinctions between these two highly contested topics
now:
2. Path Each server along the path has Every packet is permitted t
resources reserved when the first follow any accessible path
packet is sent. For the duration of the Because routing tables o
connection, subsequent packets will routers change continuously
take the same route as the first one intermediary routers mus
transmitted. constantly calculate routes.
4. Data Flow All packets follow a precise path, so The connection-less attribut
when they arrive at their destination, allows data packets to arriv
they are all received in sequence. at their destination in an
sequence, which raises th
possibility that they will not b
received in the correct orde
at the receiver's end.
5. Resource By using virtual circuit switching, all That a packet can only b
Requirements packets are guaranteed to reach their transmitted if resources lik
& Utilization destination. No packet will be the buffer, CPU, an
discarded because there are no bandwidth are available is
resources available. key disadvantage of datagram
packet switching. If not, th
packet will be thrown away.
6. Phases Setup, data transfer, and teardown are Any type of communicatio
the threephases of the transmission phase does not exist i
process. Datagram Networks.
Conclusion
o Connection-oriented switching is another name for virtual circuits. Prior to
message transmission, virtual circuit switching creates a predetermined path.
o Since it seems to the user to be a devoted physical circuit, the path in virtual
circuits is referred to as a virtual circuit.
o Each packet, referred to as a datagram, is considered as an independent
entity in datagram networks(known as a packet-switching technology). Each
packet contains destination information, which the switch makes use of to
direct the packet to the desired location.
o Because there is no designated channel for a connection session in Datagram
Networks, no resource reservations are required. The effect is that packets
have a header with all of the destination's data.
o First-come, first-serve (FCFS) scheduling governs resource distribution in
datagram networks.
o A virtual circuit is easier to understand than a network of datagrams.
o Datagram-based networks require substantially less setup and upkeep.
What is Switching?
Routing
o A Router is a process of selecting path along which the data can be
transferred from source to the destination. Routing is performed by a special
device known as a router.
o A Router works at the network layer in the OSI model and internet layer in
TCP/IP model
o A router is a networking device that forwards the packet based on the
information available in the packet header and forwarding table.
o The routing algorithms are used for routing the packets. The routing
algorithm is nothing but a software responsible for deciding the optimal path
through which packet can be transmitted.
o The routing protocols use the metric to determine the best path for the
packet delivery. The metric is the standard of measurement such as hop
count, bandwidth, delay, current load on the path, etc. used by the routing
algorithm to determine the optimal path to the destination.
o The routing algorithm initializes and maintains the routing table for the
process of path determination.
Metrics are the network variables used to determine the best route to the
destination. For some protocols use the static metrics means that their value
cannot be changed and for some other routing protocols use the dynamic
metrics means that their value can be assigned by the system administrator.
o Hop count: Hop count is defined as a metric that specifies the number of
passes through internetworking devices such as a router, a packet must
travel in a route to move from source to the destination. If the routing
protocol considers the hop as a primary metric value, then the path with the
least hop count will be considered as the best path to move from source to
the destination.
o Delay: It is a time taken by the router to process, queue and transmit a
datagram to an interface. The protocols use this metric to determine the
delay values for all the links along the path end-to-end. The path having the
lowest delay value will be considered as the best path.
o Bandwidth: The capacity of the link is known as a bandwidth of the link. The
bandwidth is measured in terms of bits per second. The link that has a higher
transfer rate like gigabit is preferred over the link that has the lower capacity
like 56 kb. The protocol will determine the bandwidth capacity for all the links
along the path, and the overall higher bandwidth will be considered as the
best route.
o Load: Load refers to the degree to which the network resource such as a
router or network link is busy. A Load can be calculated in a variety of ways
such as CPU utilization, packets processed per second. If the traffic increases,
then the load value will also be increased. The load value changes with
respect to the change in the traffic.
o Reliability: Reliability is a metric factor may be composed of a fixed value. It
depends on the network links, and its value is measured dynamically. Some
networks go down more often than others. After network failure, some
network links repaired more easily than other network links. Any reliability
factor can be considered for the assignment of reliability ratings, which are
generally numeric values assigned by the system administrator.
Types of Routing
Routing can be classified into three categories:
o Static Routing
o Default Routing
o Dynamic Routing
Static Routing
o For a large network, it becomes a very difficult task to add each route
manually to the routing table.
o The system administrator should have a good knowledge of a topology as he
has to add each route manually.
Default Routing
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.
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.
ARP
o ARP stands for Address Resolution Protocol.
o It is used to associate an IP address with the MAC address.
o Each device on the network is recognized by the MAC address imprinted on
the NIC. Therefore, we can say that devices need the MAC address for
communication on a local area network. MAC address can be changed easily.
For example, if the NIC on a particular machine fails, the MAC address
changes but IP address does not change. ARP is used to find the MAC address
of the node when an internet address is known.
Note: MAC address: The MAC address is used to identify the actual device.
IP address: It is an address used to locate a device on the network.
o The device will first look at its internet list, called the ARP cache to check
whether an IP address contains a matching MAC address or not. It will check
the ARP cache in command prompt by using a command arp-a.
o If ARP cache is empty, then device broadcast the message to the entire
network asking each device for a matching MAC address.
o The device that has the matching IP address will then respond back to the
sender with its MAC address
o Once the MAC address is received by the device, then the communication
can take place between two devices.
o If the device receives the MAC address, then the MAC address gets stored in
the ARP cache. We can check the ARP cache in command prompt by using a
command arp -a.
RARP
o RARP stands for Reverse Address Resolution Protocol.
o If the host wants to know its IP address, then it broadcast the RARP query
packet that contains its physical address to the entire network. A RARP server
on the network recognizes the RARP packet and responds back with the host
IP address.
o The protocol which is used to obtain the IP address from a server is known
as Reverse Address Resolution Protocol.
o The message format of the RARP protocol is similar to the ARP protocol.
o Like ARP frame, RARP frame is sent from one machine to another
encapsulated in the data portion of a frame.
ICMP
o ICMP stands for Internet Control Message Protocol.
o The ICMP is a network layer protocol used by hosts and routers to send the
notifications of IP datagram problems back to the sender.
o ICMP uses echo test/reply to check whether the destination is reachable and
responding.
o ICMP handles both control and error messages, but its main function is to
report the error but not to correct them.
o An IP datagram contains the addresses of both source and destination, but it
does not know the address of the previous router through which it has been
passed. Due to this reason, ICMP can only send the messages to the source,
but not to the immediate routers.
o ICMP protocol communicates the error messages to the sender. ICMP
messages cause the errors to be returned back to the user processes.
o ICMP messages are transmitted within IP datagram.
Error Reporting
ICMP protocol reports the error messages to the sender.
o Destination unreachable
o Source Quench
o Time Exceeded
o Parameter problems
o Redirection
o Destination unreachable: The message of "Destination Unreachable" is
sent from receiver to the sender when destination cannot be reached, or
packet is discarded when the destination is not reachable.
o Source Quench: The purpose of the source quench message is congestion
control. The message sent from the congested router to the source host to
reduce the transmission rate. ICMP will take the IP of the discarded packet
and then add the source quench message to the IP datagram to inform the
source host to reduce its transmission rate. The source host will reduce the
transmission rate so that the router will be free from congestion.
o Time Exceeded: Time Exceeded is also known as "Time-To-Live". It is a
parameter that defines how long a packet should live before it would be
discarded.
When destination host does not receive all the fragments in a certain time
limit, then the received fragments are also discarded, and the destination
host sends time Exceeded message to the source host.
IGMP
o IGMP stands for Internet Group Message Protocol.
o The IP protocol supports two types of communication:
o Unicasting: It is a communication between one sender and one
receiver. Therefore, we can say that it is one-to-one communication.
o Multicasting: Sometimes the sender wants to send the same
message to a large number of receivers simultaneously. This process is
known as multicasting which has one-to-many communication.
o The IGMP protocol is used by the hosts and router to support multicasting.
o The IGMP protocol is used by the hosts and router to identify the hosts in a
LAN that are the members of a group.
Where,
Type: It determines the type of IGMP message. There are three types of
IGMP message: Membership Query, Membership Report and Leave Report.
Group Address: The behavior of this field depends on the type of the
message sent.
o For Membership Query, the group address is set to zero for General Query
and set to multicast group address for a specific query.
o For Membership Report, the group address is set to the multicast group
address.
o For Leave Group, it is set to the multicast group address.
IGMP Messages
o Membership Query message
o This message is sent by a router to all hosts on a local area network to
determine the set of all the multicast groups that have been joined by
the host.
o It also determines whether a specific multicast group has been joined
by the hosts on a attached interface.
o The group address in the query is zero since the router expects one
response from a host for every group that contains one or more
members on that host.
o Membership Report message
o The host responds to the membership query message with a
membership report message.
o Membership report messages can also be generated by the host when
a host wants to join the multicast group without waiting for a
membership query message from the router.
o Membership report messages are received by a router as well as all
the hosts on an attached interface.
o Each membership report message includes the multicast address of a
single group that the host wants to join.
o IGMP protocol does not care which host has joined the group or how
many hosts are present in a single group. It only cares whether one or
more attached hosts belong to a single multicast group.
o The membership Query message sent by a router also includes a
"Maximum Response time". After receiving a membership query
message and before sending the membership report message, the
host waits for the random amount of time from 0 to the maximum
response time. If a host observes that some other attached host has
sent the "Maximum Report message", then it discards its
"Maximum Report message" as it knows that the attached router
already knows that one or more hosts have joined a single multicast
group. This process is known as feedback suppression. It provides the
performance optimization, thus avoiding the unnecessary transmission
of a "Membership Report message".
o Leave Report
When the host does not send the "Membership Report message", it means
that the host has left the group. The host knows that there are no members
in the group, so even when it receives the next query, it would not report the
group.
Routing algorithm
o In order to transfer the packets from source to the destination, the network
layer must determine the best route through which packets can be
transmitted.
o Whether the network layer provides datagram service or virtual circuit
service, the main job of the network layer is to provide the best route. The
routing protocol provides this job.
o The routing protocol is a routing algorithm that provides the best path from
the source to the destination. The best path is the path that has the "least-
cost path" from source to the destination.
o Routing is the process of forwarding the packets from source to the
destination but the best route to send the packets is determined by the
routing algorithm.
Random walks: In case of random walks, a packet sent by the node to one
of its neighbors randomly. An advantage of using random walks is that it
uses the alternative routes very efficiently.
Routing Routing decisions are made based Routing decisions are the static tables.
decision on topology and network traffic.
Categorization The types of adaptive routing The types of Non Adaptive routin
algorithm, are Centralized, isolation algorithm are flooding and random walks
and distributed algorithm.
Where the minv is the equation taken for all x neighbors. After traveling
from x to v, if we consider the least-cost path from v to y, the path cost will
be c(x,v)+dv(y). The least cost from x to y is the minimum of c(x,v)+d v(y)
taken over all neighbors.
With the Distance Vector Routing algorithm, the node x contains the
following routing information:
o For each neighbor v, the cost c(x,v) is the path cost from x to directly
attached neighbor, v.
o The distance vector x, i.e., D x = [ Dx(y) : y in N ], containing its cost to all
destinations, y, in N.
o The distance vector of each of its neighbors, i.e., D v = [ Dv(y) : y in N ] for
each neighbor v of x.
The node x has updated its own distance vector table by using the above
equation and sends its updated table to all its neighbors so that they can
update their own distance vectors.
Algorithm
At each node x,
Initialization
Note: In Distance vector algorithm, node x update its table when it either see any cost
change in one directly linked nodes or receives any vector update from some neighbor.
Sharing Information
o In the above figure, each cloud represents the network, and the number
inside the cloud represents the network ID.
o All the LANs are connected by routers, and they are represented in boxes
labeled as A, B, C, D, E, F.
o Distance vector routing algorithm simplifies the routing process by assuming
the cost of every link is one unit. Therefore, the efficiency of transmission can
be measured by the number of links to reach the destination.
o In Distance vector routing, the cost is based on hop count.
In the above figure, we observe that the router sends the knowledge to the
immediate neighbors. The neighbors add this knowledge to their own
knowledge and sends the updated table to their own neighbors. In this way,
routers get its own information plus the new information about the
neighbors.
Routing Table
Two process occurs:
o In the above figure, the original routing tables are shown of all the routers. In
a routing table, the first column represents the network ID, the second
column represents the cost of the link, and the third column is empty.
o These routing tables are sent to all the neighbors.
For Example:
o When A receives a routing table from B, then it uses its information to update
the table.
o The routing table of B shows how the packets can move to the networks 1
and 4.
o The B is a neighbor to the A router, the packets from A to B can reach in one
hop. So, 1 is added to all the costs given in the B's table and the sum will be
the cost to reach a particular network.
o After adjustment, A then combines this table with its own table to create a
combined table.
o The combined table may contain some duplicate data. In the above figure,
the combined table of router A contains the duplicate data, so it keeps only
those data which has the lowest cost. For example, A can send the data to
network 1 in two ways. The first, which uses no next router, so it costs one
hop. The second requires two hops (A to B, then B to Network 1). The first
option has the lowest cost, therefore it is kept and the second one is dropped.
o The process of creating the routing table continues for all routers. Every
router receives the information from the neighbors, and update the routing
table.
Route Calculation
Each node uses Dijkstra's algorithm on the graph to calculate the optimal
routes to all nodes.
o The Link state routing algorithm is also known as Dijkstra's algorithm which is
used to find the shortest path from one node to every other node in the
network.
o The Dijkstra's algorithm is an iterative, and it has the property that after
kth iteration of the algorithm, the least cost paths are well known for k
destination nodes.
o c( i , j): Link cost from node i to node j. If i and j nodes are not directly linked,
then c(i , j) = ∞.
o D(v): It defines the cost of the path from source code to destination v that
has the least cost currently.
o P(v): It defines the previous node (neighbor of v) along with current least
cost path from source to v.
o N: It is the total number of nodes available in the network.
Algorithm
Initialization
N = {A} // A is a root node.
for all nodes v
if v adjacent to A
then D(v) = c(A,v)
else D(v) = infinity
loop
find w not in N such that D(w) is a minimum.
Add w to N
Update D(v) for all v adjacent to w and not in N:
D(v) = min(D(v) , D(w) + c(w,v))
Until all nodes in N
The first step is an initialization step. The currently known least cost path
from A to its directly attached neighbors, B, C, D are 2,5,1 respectively. The
cost from A to B is set to 2, from A to D is set to 1 and from A to C is set to 5.
The cost from A to E and F are set to infinity as they are not directly linked to
A.
Step 2:
In the above table, we observe that vertex D contains the least cost path in
step 1. Therefore, it is added in N. Now, we need to determine a least-cost
path through D vertex.
1. v = B, w = D
2. D(B) = min( D(B) , D(D) + c(D,B) )
3. = min( 2, 1+2)>
4. = min( 2, 3)
5. The minimum value is 2. Therefore, the currently shortest path from A to B is 2.
1. v = C, w = D
2. D(B) = min( D(C) , D(D) + c(D,C) )
3. = min( 5, 1+3)
4. = min( 5, 4)
5. The minimum value is 4. Therefore, the currently shortest path from A to C is 4.</
p>
1. v = E, w = D
2. D(B) = min( D(E) , D(D) + c(D,E) )
3. = min( ∞, 1+1)
4. = min(∞, 2)
5. The minimum value is 2. Therefore, the currently shortest path from A to E is 2.
Note: The vertex D has no direct link to vertex E. Therefore, the value of D(F) is infinity.
Step 3:
In the above table, we observe that both E and B have the least cost path in
step 2. Let's consider the E vertex. Now, we determine the least cost path of
remaining vertices through E.
1. v = B, w = E
2. D(B) = min( D(B) , D(E) + c(E,B) )
3. = min( 2 , 2+ ∞ )
4. = min( 2, ∞)
5. The minimum value is 2. Therefore, the currently shortest path from A to B is 2.
1. v = C, w = E
2. D(B) = min( D(C) , D(E) + c(E,C) )
3. = min( 4 , 2+1 )
4. = min( 4,3)
5. The minimum value is 3. Therefore, the currently shortest path from A to C is 3.
1. v = F, w = E
2. D(B) = min( D(F) , D(E) + c(E,F) )
3. = min( ∞ , 2+2 )
4. = min(∞ ,4)
5. The minimum value is 4. Therefore, the currently shortest path from A to F is 4.
Step 4:
In the above table, we observe that B vertex has the least cost path in step
3. Therefore, it is added in N. Now, we determine the least cost path of
remaining vertices through B.
1. v = C, w = B
2. D(B) = min( D(C) , D(B) + c(B,C) )
3. = min( 3 , 2+3 )
4. = min( 3,5)
5. The minimum value is 3. Therefore, the currently shortest path from A to C is 3.
1. v = F, w = B
2. D(B) = min( D(F) , D(B) + c(B,F) )
3. = min( 4, ∞)
4. = min(4, ∞)
5. The minimum value is 4. Therefore, the currently shortest path from A to F is 4.
Step 5:
In the above table, we observe that C vertex has the least cost path in step
4. Therefore, it is added in N. Now, we determine the least cost path of
remaining vertices through C.
1. v = F, w = C
2. D(B) = min( D(F) , D(C) + c(C,F) )
3. = min( 4, 3+5)
4. = min(4,8)
5. The minimum value is 4. Therefore, the currently shortest path from A to F is 4.
5 ADEBC 4,E
Final table:
5 ADEBC 4,E
6 ADEBCF
Disadvantage:
Heavy traffic is created in Line state routing due to Flooding. Flooding can
cause an infinite looping, this problem can be solved by using Time-to-leave
field