Understanding Network Layer Functions
Understanding Network Layer Functions
Network Layer Services – Performance –– Network Layer Protocols: IP, IPV4 Addresses –
Forwarding of IP Packets-ARP-RARP- ICMP v4 – Unicast Routing Algorithms: RIP,OSPF–
Multicasting Basics – IPV6 Addressing – IPV6 Protocol
PACKETIZING
▪ The first duty of the network layer is definitely packetizing.
▪ This means encapsulating the payload (data received from upper layer) in a
network-layer packet at the source and decapsulating the payload from the
network-layer packet at the destination.
▪ The network layer is responsible for delivery of packets from a sender to a
receiver without changing or using the contents.
ERROR CONTROL
▪ The network layer in the Internet does not directly provide error control.
▪ It adds a checksum field to the datagram to control any corruption in the
header, but not in the whole datagram.
▪ This checksum prevents any changes or corruptions in the header of the
datagram.
▪ The Internet uses an auxiliary protocol called ICMP, that provides some kind
of error control if the datagram is discarded or has some unknown information
in the header.
FLOW CONTROL
▪ Flow control regulates the amount of data a source can send without
overwhelming the receiver.
▪ The network layer in the Internet, however, does not directly provide any flow
control.
▪ The datagrams are sent by the sender when they are ready, without any
attention to the readiness of the receiver.
▪ Flow control is provided for most of the upper-layer protocols that use the
services of the network layer, so another level of flow control makes the
network layer more complicated and the whole system less efficient.
CONGESTION CONTROL
▪ Another issue in a network-layer protocol is congestion control.
▪ Congestion in the network layer is a situation in which too many datagrams are
present in an area of the Internet.
▪ Congestion may occur if the number of datagrams sent by source computers is
beyond the capacity of the network or routers.
▪ In this situation, some routers may drop some of the datagrams.
SECURITY
▪ Another issue related to communication at the network layer is security.
▪ To provide security for a connectionless network layer, we need to have
another virtual level that changes the connectionless service to a connection-
oriented service. This virtual layer is called as called IPSec (IP Security).
DELAY
• A packet from its source to its destination, encounters delays.
• The delays in a network can be divided into four types:
Transmission delay, Propagation delay, Processing delay and Queuing delay.
Transmission Delay
• A source host or a router cannot send a packet instantaneously.
• A sender needs to put the bits in a packet on the line one by one.
• If the first bit of the packet is put on the line at time t 1 and the last bit is put on
the line at time t2, transmission delay of the packet is (t2 - t1).
• The transmission delay is longer for a longer packet and shorter if the sender
can transmit faster.
• The Transmission delay is calculated using the formula
Delaytr = (Packet length) / (Transmission rate)
• Example :
In a Fast Ethernet LAN with the transmission rate of 100 million bits per
second and a packet of 10,000 bits, it takes (10,000)/(100,000,000) or
100 microseconds for all bits of the packet to be put on the line.
Propagation Delay
• Propagation delay is the time it takes for a bit to travel from point A to point B
in the transmission media.
• The propagation delay for a packet-switched network depends on the
propagation delay of each network (LAN or WAN).
• The propagation delay depends on the propagation speed of the media, which is
3X108 meters/second in a vacuum and normally much less in a wired medium.
• It also depends on the distance of the link.
• The Propagation delay is calculated using the formula
Delaypg = (Distance) / (Propagation speed)
• Example
If the distance of a cable link in a point-to-point WAN is 2000 meters and
the propagation speed of the bits in the cable is 2 X 10 8 meters/second,
then the propagation delay is 10 microseconds.
Processing Delay
• The processing delay is the time required for a router or a destination host
to receive a packet from its input port, remove the header, perform an error
detection procedure, and deliver the packet to the output port (in the case of a
router) or deliver the packet to the upper-layer protocol (in the case of the
destination host).
• The processing delay may be different for each packet, but normally is
calculated as an average.
Queuing Delay
• Queuing delay can normally happen in a router.
• A router has an input queue connected to each of its input ports to store packets
waiting to be processed.
• The router also has an output queue connected to each of its output ports to
store packets waiting to be transmitted.
• The queuing delay for a packet in a router is measured as the time a packet
waits in the input queue and output queue of a router.
Delayqu = The time a packet waits in input and output queues in a router
Total Delay
• Assuming equal delays for the sender, routers and receiver, the total delay
(source-to-destination delay) of a packet can be calculated if we know the
number of routers, n, in the whole path.
Total delay = (n + 1) (Delaytr + Delaypg + Delaypr) + (n) (Delayqu)
• If we have n routers, we have (n +1) links.
PACKET LOSS
• Another issue that severely affects the performance of communication is the
number of packets lost during transmission.
• When a router receives a packet while processing another packet, the received
packet needs to be stored in the input buffer waiting for its turn.
• A router has an input buffer with a limited size.
• A time may come when the buffer is full and the next packet needs to be
dropped.
• The effect of packet loss on the Internet network layer is that the packet needs
to be resent, which in turn may create overflow and cause more packet loss.
CONGESTION CONTROL
• Congestion at the network layer is related to two issues, throughput and delay.
Based on Delay
• When the load is much less than the capacity of the network, the delay is at a
minimum.
• This minimum delay is composed of propagation delay and processing delay,
both of which are negligible.
• However, when the load reaches the network capacity, the delay increases
sharply because we now need to add the queuing delay to the total delay.
• The delay becomes infinite when the load is greater than the capacity.
Based on Throughout
• When the load is below the capacity of the network, the throughput increases
proportionally with the load.
• We expect the throughput to remain constant after the load reaches the
capacity, but instead the throughput declines sharply.
• The reason is the discarding of packets by the routers.
• When the load exceeds the capacity, the queues become full and the routers
have to discard some packets.
• Discarding packets does not reduce the number of packets in the network
because the sources retransmit the packets, using time-out mechanisms, when
the packets do not reach the destinations.
Retransmission Policy
➢ Retransmission is sometimes unavoidable.
➢ If the sender feels that a sent packet is lost or corrupted, the packet
needs to be retransmitted.
➢ Retransmission in general may increase congestion in the network.
➢ However, a good retransmission policy can prevent congestion.
➢ The retransmission policy and the retransmission timers must be
designed to optimize efficiency and at the same time prevent congestion.
Window Policy
➢ The type of window at the sender may also affect congestion.
➢ The Selective Repeat window is better than the Go-Back-N window for
congestion control.
➢ In the Go-Back-N window, when the timer for a packet times out,
several packets may be resent, although some may have arrived safe and
sound at the receiver.
➢ This duplication may make the congestion worse.
➢ The Selective Repeat window, on the other hand, tries to send the
specific packets that have been lost or corrupted.
Acknowledgment Policy
➢ The acknowledgment policy imposed by the receiver may also affect
congestion.
➢ If the receiver does not acknowledge every packet it receives, it may
slow down the sender and help prevent congestion.
➢ Several approaches are used in this case.
➢ A receiver may send an acknowledgment only if it has a packet to be
sent or a special timer expires.
➢ A receiver may decide to acknowledge only N packets at a time.
➢ Sending fewer acknowledgments means imposing less load on the
network.
Discarding Policy
➢ A good discarding policy by the routers may prevent congestion and at
the same time may not harm the integrity of the transmission.
➢ For example, in audio transmission, if the policy is to discard less
sensitive packets when congestion is likely to happen, the quality of
sound is still preserved and congestion is prevented or alleviated.
Admission Policy
➢ An admission policy, which is a quality-of-service mechanism can also
prevent congestion in virtual-circuit networks.
➢ Switches in a flow first check the resource requirement of a flow before
admitting it to the network.
➢ A router can deny establishing a virtual-circuit connection if there is
congestion in the network or if there is a possibility of future congestion.
Backpressure
➢ The technique of backpressure refers to a congestion control mechanism
in which a congested node stops receiving data from the immediate
upstream node or nodes.
➢ This may cause the upstream node or nodes to become congested, and
they, in turn, reject data from their upstream node or nodes, and so on.
Choke Packet
➢ A choke packet is a packet sent by a node to the source to inform it of
congestion.
➢ In backpressure, the warning is from one node to its upstream node,
although the warning may eventually reach the source station.
➢ In the choke-packet method, the warning is from the router, which has
encountered congestion, directly to the source station.
➢ The intermediate nodes through which the packet has traveled are not
warned.
➢ The warning message goes directly to the source station; the
intermediate routers do not take any action.
Implicit Signaling
➢ In implicit signaling, there is no communication between the congested
node or nodes and the source.
➢ The source guesses that there is congestion somewhere in the network
from other symptoms.
➢ For example, when a source sends several packets and there is no
acknowledgment for a while, one assumption is that the network is
congested.
➢ The delay in receiving an acknowledgment is interpreted as congestion
in the network; the source should slow down.
Explicit Signaling
➢ The node that experiences congestion can explicitly send a signal to the
source or destination.
➢ The explicit-signaling method is different from the choke-packet
method.
➢ In the choke-packet method, a separate packet is used for this purpose;
in the explicit-signaling method, the signal is included in the packets
that carry data.
IP - INTERNET
➢ The Internet Protocol is the key tool used today to build scalable,
heterogeneous internetworks.
➢ IP runs on all the nodes (both hosts and routers) in a collection of networks
➢ IP defines the infrastructure that allows these nodes and networks to function
as a single logical internetwork.
IP SERVICE MODEL
➢ Service Model defines the host-to-host services that we want to provide
➢ The main concern in defining a service model for an internetwork is that we can
provide a host-to-host service only if this service can somehow be provided over
each of the underlying physical networks.
➢ The Internet Protocol is the key tool used today to build scalable, heterogeneous
internetworks.
➢ The IP service model can be thought of as having two parts:
• A GLOBAL ADDRESSING SCHEME - which provides a way to
identify all hosts in the internetwork
• A DATAGRAM DELIVERY MODEL – A connectionless model of data
delivery.
FIELD DESCRIPTION
Version Specifies the version of IP. Two versions exists – IPv4 and IPv6.
HLen Specifies the length of the header
TOS An indication of the parameters of the quality of service
(Type of Service) desired such as Precedence, Delay, Throughput and Reliability.
Length Length of the entire datagram, including the header. The maximum
size of an IP datagram is 65,535(210 )bytes
Ident Uniquely identifies the packet sequence number.
(Identification) Used for fragmentation and re-assembly.
Flags Used to control whether routers are allowed to fragment a packet.
If a packet is fragmented , this flag value is [Link] not, flag value is
0.
Offset Indicates where in the datagram, this fragment belongs.
(Fragmentation The fragment offset is measured in units of 8 octets
offset) (64 bits). The first fragment has offset zero.
TTL Indicates the maximum time the datagram is allowed to
(Time to Live) remain in the network. If this field contains the value zero, then
the datagram must be destroyed.
Protocol Indicates the next level protocol used in the data portion of the
datagram
Checksum Used to detect the processing errors introduced into the packet
Source Address The IP address of the original sender of the packet.
Destination The IP address of the final destination of the packet.
Address
Options This is optional field. These options may contain values for
options such as Security, Record Route, Time Stamp, etc
Pad Used to ensure that the internet header ends on a 32 bit boundary.
The padding is zero.
Example:
➢ The original packet starts at the client; the fragments are reassembled at the
server.
➢ The value of the identification field is the same in all fragments, as is the value
of the flags field with the more bit set for all fragments except the last.
➢ Also, the value of the offset field for each fragment is shown.
➢ Although the fragments arrived out of order at the destination, they can be
correctly reassembled.
➢ The value of the offset field is always relative to the original datagram.
➢ Even if each fragment follows a different path and arrives out of order, the
final destination host can reassemble the original datagram from the
fragments received (if none of them is lost) using the following strategy:
1) The first fragment has an offset field value of zero.
2) Divide the length of the first fragment by 8. The second fragment has an
offset value equal to that result.
3) Divide the total length of the first and second fragment by 8. The third
fragment has an offset value equal to that result.
4) Continue the process. The last fragment has its M bit set to 0.
5) Continue the process. The last fragment has a more bit value of 0.
Reassembly:
➢ Reassembly is done at the receiving host and not at each router.
➢ To enable these fragments to be reassembled at the receiving host, they all
carry the same identifier in the Ident field.
➢ This identifier is chosen by the sending host and is intended to be unique
among all the datagrams that might arrive at the destination from this source
over some reasonable time period.
➢ Since all fragments of the original datagram contain this identifier, the
reassembling host will be able to recognize those fragments that go together.
➢ For example, if a single fragment is lost, the receiver will still attempt to
reassemble the datagram, and it will eventually give up and have to garbage-
collect the resources that were used to perform the failed reassembly.
➢ Hosts are now strongly encouraged to perform “path MTU discovery,” a
process by which fragmentation is avoided by sending packets that are small
enough to traverse the link with the smallest MTU in the path from sender to
receiver.
IP SECURITY
There are three security issues that are particularly applicable to the IP protocol:
(1) Packet Sniffing (2) Packet Modification and (3) IP Spoofing.
Packet Sniffing
➢ An intruder may intercept an IP packet and make a copy of it.
➢ Packet sniffing is a passive attack, in which the attacker does not change the
contents of the packet.
➢ This type of attack is very difficult to detect because the sender and the receiver
may never know that the packet has been copied.
➢ Although packet sniffing cannot be stopped, encryption of the packet can make
the attacker’s effort useless.
➢ The attacker may still sniff the packet, but the content is not detectable.
Packet Modification
➢ The second type of attack is to modify the packet.
➢ The attacker intercepts the packet,changes its contents, and sends the new
packet to the receiver.
➢ The receiver believes that the packet is coming from the original sender.
➢ This type of attack can be detected using a data integrity mechanism.
➢ The receiver, before opening and using the contents of the message, can use
this mechanism to make sure that the packet has not been changed during the
transmission.
IP Spoofing
➢ An attacker can masquerade as somebody else and create an IP packet that
carries the source address of another computer.
➢ An attacker can send an IP packet to a bank pretending that it is coming from
one of the customers.
➢ This type of attack can be prevented using an origin authentication
mechanism
IP Sec
➢ The IP packets today can be protected from the previously mentioned attacks
using a protocol called IPSec (IP Security).
➢ This protocol is used in conjunction with the IP protocol.
➢ IPSec protocol creates a connection-oriented service between two entities in
which they can exchange IP packets without worrying about the three attacks
such as Packet Sniffing, Packet Modification and IP Spoofing.
➢ IP Sec provides the following four services:
1) Defining Algorithms and Keys : The two entities that want to create a
secure channel between themselves can agree on some available
algorithms and keys to be used for security purposes.
2) Packet Encryption : The packets exchanged between two parties can
be encrypted for privacy using one of the encryption algorithms and a
shared key agreed upon in the first step. This makes the packet sniffing
attack useless.
3) Data Integrity : Data integrity guarantees that the packet is not
modified during the transmission. If the received packet does not pass
the data integrity test, it is [Link] prevents the second attack,
packet modification.
4) Origin Authentication : IPSec can authenticate the origin of the
packet to be sure that the packet is not created by an imposter. This can
prevent IP spoofing attacks.
4 IPV4 ADDRESSES
• The identifier used in the IP layer of the TCP/IP protocol suite to identify the
connection of each device to the Internet is called the Internet address or IP
address.
• Internet Protocol version 4 (IPv4) is the fourth version in the development of
the Internet Protocol (IP) and the first version of the protocol to be widely
deployed.
• IPv4 is described in IETF publication in September 1981.
• The IP address is the address of the connection, not the host or the router. An
IPv4 address is a 32-bit address that uniquely and universally defines the
connection .
• If the device is moved to another network, the IP address may be changed.
• IPv4 addresses are unique in the sense that each address defines one, and only
one, connection to the Internet.
• If a device has two connections to the Internet, via two networks, it has two
IPv4 addresses.
• Pv4 addresses are universal in the sense that the addressing system must be
accepted by any host that wants to be connected to the Internet.
In binary notation, an IPv4 address is displayed as 32 bits. To make the address more
readable, one or more spaces are usually inserted between bytes (8 bits).
In hexadecimal notation, each hexadecimal digit is equivalent to four bits. This means
that a 32-bit address has 8 hexadecimal digits. This notation is often used in network
programming.
CLASSFUL ADDRESSING
• An IPv4 address is 32-bit long(4 bytes).
• An IPv4 address is divided into sub-classes:
Classful Network Architecture
Class A
• In Class A, an IP address is assigned to those networks that contain a large
number of hosts.
• The network ID is 8 bits long.
• The host ID is 24 bits long.
• 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 = 2 7 = 128 network address
• The total number of hosts in Class A = 2 24 - 2 = 16,777,214 host address
Class B
• In Class B, an IP address is assigned to those networks that range from small-
sized to large-sized networks.
• The Network ID is 16 bits long.
• The Host ID is 16 bits long.
• 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.
• The total number of networks in Class B = 2 14 = 16384 network address
• The total number of hosts in Class B = 2 16 - 2 = 65534 host address
Class C
• In Class C, an IP address is assigned to only small-sized networks.
• The Network ID is 24 bits long.
• The host ID is 8 bits long.
• 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.
• The total number of networks = 2 21 = 2097152 network address
• The total number of hosts = 2 8 - 2 = 254 host address
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.
Address Depletion in Classful Addressing
• The reason that classful addressing has become obsolete is address depletion.
• Since the addresses were not distributed properly, the Internet was faced with
the problem of the addresses being rapidly used up.
• This results in no more addresses available for organizations and individuals
that needed to be connected to the Internet.
• To understand the problem, let us think about class A.
• This class can be assigned to only 128 organizations in the world, but each
organization needs to have a single network with 16,777,216 nodes .
• Since there may be only a few organizations that are this large, most of the
addresses in this class were wasted (unused).
• Class B addresses were designed for midsize organizations, but many of the
addresses in this class also remained unused.
• Class C addresses have a completely different flaw in design. The number of
addresses that can be used in each network (256) was so small that most
companies were not comfortable using a block in this address class.
• Class E addresses were almost never used, wasting the whole class.
Subnetting
• In subnetting, a class A or class B block is divided into several subnets.
• Each subnet has a larger prefix length than the original network.
• For example, if a network in class A is divided into four subnets, each subnet
has a prefix of nsub = 10.
• At the same time, if all of the addresses in a network are not used, subnetting
allows the addresses to be divided among several organizations.
CLASSLESS ADDRESSING
• In 1996, the Internet authorities announced a new architecture called classless
addressing.
• In classless addressing, variable-length blocks are used that belong to no
classes.
• We can have a block of 1 address, 2 addresses, 4 addresses, 128 addresses, and
so on.
• In classless addressing, the whole address space is divided into variable length
blocks.
• The prefix in an address defines the block (network); the suffix defines the
node (device).
• Theoretically, we can have a block of 2 0, 21, 22, 232 addresses.
• The number of addresses in a block needs to be a power of 2. An organization
can be granted one block of addresses.
Address Aggregation
• One of the advantages of the CIDR strategy is address aggregation
(sometimes called address summarization or route summarization).
• When blocks of addresses are combined to create a larger block, routing can be
done based on the prefix of the larger block.
• ICANN assigns a large block of addresses to an ISP.
• Each ISP in turn divides its assigned block into smaller subblocks and grants
the subblocks to its customers.
Limited-broadcast Address
✓ The only address in the block [Link]/32 is called the limited-
broadcast address.
✓ It is used whenever a router or a host needs to send a datagram to all devices in
a network.
✓ The routers in the network, however, block the packet having this address as
the destination;the packet cannot travel outside the network.
Loopback Address
✓ The block [Link]/8 is called the loopback address.
✓ A packet with one of the addresses in this block as the destination address
never leaves the host; it will remain in the host.
Private Addresses
✓ Four blocks are assigned as private addresses: [Link]/8, [Link]/12,
[Link]/16, and [Link]/16.
Multicast Addresses
✓ The block [Link]/4 is reserved for multicast addresses.
FORWARDING OF IP PACKETS
• Forwarding means to deliver the packet to the next hop (which can be the final
destination or the intermediate connecting device).
• Although IP protocol was originally designed as a connectionless protocol,
today the tendency is to use IP as a connection-oriented protocol based on the
label attached to an IP datagram .
• When IP is used as a connectionless protocol, forwarding is based on the
destination address of the IP datagram.
• When the IP is used as a connection-oriented protocol, forwarding is based on
the label attached to an IP datagram.
➢ To do this, it compares the network part of the destination address with the
network part of the address of each of its network interfaces. (Hosts normally
have only one interface, while routers normally have two or more, since they
are typically connected to two or more networks.)
➢ a match occurs, then that means that the destination lies on the same physical
If
network as the interface, and the packet can be directly delivered over that
network that has a reasonable chance of getting the packet closer to its
destination.
➢ If there is no match, then the node is not connected to the same physical
network as the destination node, then it needs to send the packet to a router.
➢ In general, each node will have a choice of several routers, and so it needs to
pick the best one, or at least one that has a reasonable chance of getting the
datagram closer to its destination.
➢ The router that it chooses is known as the next hop router.
➢ The router finds the correct next hop by consulting its forwarding table. The
forwarding table is conceptually just a list of (NetworkNum, NextHop) pairs.
➢ There is also a default router that is used if none of the entries in the table
matches the destination’s network number.
➢ All Packets destined for hosts not on the physical network to which the sending
host is attached will be sent out through the default router.
Forwarding Algorithm
• Let us make a forwarding table for router R1 using the configuration as given
in the figure above
• When a packet arrives whose leftmost 26 bits in the destination address match
the bits in the first row, the packet is sent out from interface m2.
• When a packet arrives whose leftmost 25 bits in the address match the bits in
the second row, the packet is sent out from interface m0, and so on.
• The table clearly shows that the first row has the longest prefix and the fourth
row has the shortest prefix.
• The longer prefix means a smaller range of addresses; the shorter prefix means
a larger range of addresses.
FORWARDING BASED ON LABEL
• In a connection-oriented network (virtual-circuit approach), a switch forwards a
packet based on the label attached to the packet.
• Routing is normally based on searching the contents of a table; switching can
be done by accessing a table using an index.
• In other words, routing involves searching; switching involves accessing.
Example
• The Figure below shows a simple example of using a label to access a
switching table.
• Since the labels are used as the index to the table, finding the information in the
table is immediate.
Ping
➢ The ping program is used to find if a host is alive and responding.
➢ The source host sends ICMP echo-request messages; the destination, if alive,
responds with ICMP echo-reply messages.
➢ The ping program sets the identifier field in the echo-request and echo-reply
message and starts the sequence number from 0; this number is incremented by
1 each time a new message is sent.
➢ The ping program can calculate the round-trip time.
➢ It inserts the sending time in the data section of the message.
➢ When the packet arrives, it subtracts the arrival time from the departure time to
get the round-trip time (RTT).
$ ping [Link]
Traceroute or Tracert
➢ The traceroute program in UNIX or tracert in Windows can be used to trace
the path of a packet from a source to the destination.
➢ It can find the IP addresses of all the routers that are visited along the path.
➢ The program is usually set to check for the maximum of 30 hops (routers) to be
visited.
➢ The number of hops in the Internet is normally less than this.
$ traceroute [Link]
What is ARP?
ARP stands for Address Resolution Protocol which is a LAN protocol. It is a process that links
the Internet Protocol (IP) address to the media access control (MAC) address, often known as a
fixed physical machine address in a local area network (LAN).
The Networking layer comes under the OSI (Open Source Interconnection) model. The MAC
address also known as the Data link layer 48 bit long is used and it creates and destroys a
connection between two devices that are physically connected so that data transfer can occur.
Similarly, the IP address length is 32 bits long and is also known as the network layer or the
layer in charge of sending data packets across various routers.
Types of ARP
They are divided into different types, namely
Proxy ARP
Proxy ARP is a method for responding to an ARP request for an IP address that is not on the
same network as the proxy device. The proxy gives its own MAC address as the destination
because it is aware of the traffic's final destination's location.
Reverse ARP (RARP)
The Reverse Address Resolution Protocol (RARP) is a protocol for address discovery that can
be used by hosts that are unaware of their IP address.
What is RARP?
A TCP/IP protocol called RARP is in charge of converting physical addresses (MAC addresses)
into IP addresses. For example, Diskless Workstations have only the MAC address but do not
have IP addresses. So using the RARP protocol one can find the IP address via any external
source.
We have a RARP server waiting for RARP queries on the same network as the hosts. A table on
this server contains a mix of MAC and IP addresses. It searches its table when it receives a
RARP request to find the IP address that corresponds to the MAC address in the RARP request
packet. The host is then sent a RARP reply by the RARP server. The host is aware of its IP
address when it receives the RARP reply.
Initial State
➢ In given network, cost of each link is 1 hop.
➢ Each node sets a distance of 1 (hop) to its immediate neighbor and
cost to itself as 0.
➢ Distance for non-neighbors is marked as unreachable with value ∞ (infinity).
➢ For node A, nodes B, C, E and F are reachable, whereas nodes D and G
are unreachable.
➢ The initial table for all the nodes are given below
➢ Each node sends its initial table (distance vector) to neighbors and receives
their estimate.
➢ Node A sends its table to nodes B, C, E & F and receives tables from nodes B,
C, E & F.
➢ Each node updates its routing table by comparing with each of its neighbor's
table
➢ For each destination, Total Cost is computed as:
▪ Total Cost = Cost (Node to Neighbor) + Cost (Neighbor to Destination)
➢ If Total Cost < Cost then
▪ Cost = Total Cost and NextHop = Neighbor
➢ Node A learns from C's table to reach node D and from F's table to reach
node G.
➢ Total Cost to reach node D via C = Cost (A to C) + Cost(C to D)
Cost = 1 + 1 = 2.
▪ Since 2 < ∞, entry for destination D in A's table is changed to (D, 2, C)
➢ Each node builds complete routing table after few exchanges amongst its
neighbors.
➢ System stabilizes when all nodes have complete routing information, i.e.,
convergence.
➢ Routing tables are exchanged periodically or in case of triggered update.
➢ The final distances stored at each node is given below:
Periodic Update
➢ In this case, each node automatically sends an update message every so often,
even if nothing has changed.
➢ The frequency of these periodic updates varies from protocol to protocol, but
it is typically on the order of several seconds to several minutes.
Triggered Update
➢ In this case, whenever a node notices a link failure or receives an update from
one of its neighbors that causes it to change one of the routes in its routing
table.
➢ Whenever a node’s routing table changes, it sends an update to its neighbors,
which may lead to a change in their tables, causing them to send an update to
their neighbors.
Count-To-Infinity (or) Loop Instability Problem
• Suppose link from node A to E goes down.
❖ Node A advertises a distance of ∞ to E to its neighbors
❖ Node B receives periodic update from C before A’s update
reaches B
❖ Node B updated by C, concludes that E can be reached in 3 hops via C
❖ Node B advertises to A as 3 hops to reach E
❖ Node A in turn updates C with a distance of 4 hops to E and so on
• Thus nodes update each other until cost to E reaches infinity, i.e., no
convergence.
• Routing table does not stabilize.
• This problem is called loop instability or count to infinity
Hop Count
Hop count is the number of routers occurring in between the source and destination network.
The path with the lowest hop count is considered as the best route to reach a network and therefore
placed in the routing table. RIP prevents routing loops by limiting the number of hops allowed in a
path from source and destination. The maximum hop count allowed for RIP is 15 and a hop count of
16 is considered as network unreachable.
Features of RIP
1. Updates of the network are exchanged periodically.
2. Updates (routing information) are always broadcast.
3. Full routing tables are sent in updates.
4. Routers always trust routing information received from neighbor routers. This is also known as
Routing on rumors.
• RIP is an intra-domain routing protocol based on distance-vector algorithm.
• Here, intra-domain means routing the packets in a defined domain, for example,
web browsing within an institutional area. To understand the RIP protocol, our main
focus is to know the structure of the packet, how many fields it contains, and how these
fields determine the routing table.
Example
• Routers advertise the cost of reaching networks. Cost of reaching each link is 1
hop. For example, router C advertises to A that it can reach network 2, 3 at cost
0 (directly connected), networks 5, 6 at cost 1 and network 4 at cost 2.
• Each router updates cost and next hop for each network number.
• Infinity is defined as 16, i.e., any route cannot have more than 15 hops.
Therefore RIP can be implemented on small-sized networks only.
• Advertisements are sent every 30 seconds or in case of triggered update.
The following timers are used to update the routing table:
RIP update timer : 30 sec
The routers configured with RIP send their updates to all the neighboring routers every
30 seconds.
RIP Invalid timer : 180 sec
The RIP invalid timer is 180 seconds, which means that if the router is disconnected
from the network or some link goes down, then the neighbor router will wait for 180 seconds to take
the update. If it does not receive the update within 180 seconds, then it will mark the particular route
as not reachable.
RIP Flush timer : 240 sec
The RIP flush timer is 240 second which is almost equal to 4 min means that if the router
does not receive the update within 240 seconds then the neighbor route will remove that particular
route from the routing table which is a very slow process as 4 minutes is a long time to wait.
Advantages of RIP
The following are the advantages of a RIP protocol:
• It is easy to configure
• It has less complexity
• The CPU utilization is less.
Disadvantages of RIP
The following are the disadvantages of RIP:
• In RIP, the route is chosen based on the hop count metric. If another route of better
bandwidth is available, then that route would not be chosen. Let's understand this scenario
through an example.
• The RIP is a classful routing protocol, so it does not support the VLSM (Variable Length
Subnet Mask). The classful routing protocol is a protocol that does not include the subnet
mask information in the routing updates.
• It broadcasts the routing updates to the entire network that creates a lot of traffic. In RIP, the
routing table updates every 30 seconds. Whenever the updates occur, it sends the copy of the
update to all the neighbors except the one that has caused the update. The sending of updates
to all the neighbors creates a lot of traffic. This rule is known as a split-horizon rule.
• It faces a problem of Slow convergence. Whenever the router or link fails, then it often takes
minutes to stabilize or take an alternative route; This problem is known as Slow convergence.
• RIP supports maximum 15 hops which means that the maximum 16 hops can be configured
in a RIP
• The Administrative distance value is 120 (Ad value). If the Ad value is less, then the protocol
is more reliable than the protocol with more Ad value.
• The RIP protocol has the highest Ad value, so it is not as reliable as the other
routing protocols.
Reliable Flooding
• Each node sends its LSP out on each of its directly connected links.
• When a node receives LSP of another node, checks if it has an LSP already for
that node.
• If not, it stores and forwards the LSP on all other links except the incoming
one.
• Else if the received LSP has a bigger sequence number, then it is stored and
forwarded. Older LSP for that node is discarded.
• Otherwise discard the received LSP, since it is not latest for that node.
• Thus recent LSP of a node eventually reaches all nodes, i.e., reliable flooding.
Routers that exist inside the area flood the area with routing information
In Area, the special router also exists. The special routers are those that are present at the
border of an area, and these special routers are known as Area Border Routers. This router
summarizes the information about an area and shares the information with other areas.
All the areas inside an autonomous system are connected to the backbone routers, and these
backbone routers are part of a primary area. The role of a primary area is to provide communication
between different areas.
How does OSPF work?
There are three steps that can explain the working of OSPF:
Step 1: The first step is to become OSPF neighbors. The two connecting routers running OSPF on
the same link creates a neighbor relationship.
Step 2: The second step is to exchange database information. After becoming the neighbors, the two
routers exchange the LSDB information with each other.
Step 3: The third step is to choose the best route. Once the LSDB information has been exchanged
with each other, the router chooses the best route to be added to a routing table based on the
calculation of SPF.
There are four types of links in OSPF:
• Point-to-point link: The point-to-point link directly connects the two routers without any
host or router in between.
• Transient link: When several routers are attached in a network, they are known as a transient
link.
The transient link has two different implementations:
Unrealistic topology: When all the routers are connected to each other, it is known as an
unrealistic topology.
Realistic topology: When some designated router exists in a network then it is known as a
realistic topology. Here designated router is a router to which all the routers are connected.
All the packets sent by the routers will be passed through the designated router.
• Stub link: It is a network that is connected to the single router. Data enters to the network
through the single router and leaves the network through the same router.
• Virtual link: If the link between the two routers is broken, the administration creates the
virtual path between the routers, and that path could be a long one also.
MULTICASTING
• In multicasting, there is one source and a group of destinations.
• Multicast supports efficient delivery to multiple destinations.
• The relationship is one to many or many-to-many.
• One-to-Many (Source Specific Multicast)
oRadio station broadcast
oTransmitting news, stock-price
oSoftware updates to multiple hosts
• Many-to-Many (Any Source Multicast)
oMultimedia teleconferencing
oOnline multi-player games
oDistributed simulations
• In this type of communication, the source address is a unicast address, but the
destination address is a group address.
• The group address defines the members of the group.
• In multicasting, a multicast router may have to send out copies of the same
datagram through more than one interface.
• Hosts that are members of a group receive copies of any packets sent to that
group’s multicast address
• A host can be in multiple groups
• A host can join and leave groups
• A host signals its desire to join or leave a multicast group by
communicating with its local router using a special protocol.
• In IPv4, the protocol is Internet Group Management Protocol (IGMP)
• In IPv6, the protocol is Multicast Listener Discovery (MLD)
IGMP OR MLD PROTOCOL
• Hosts communicate their desire to join / leave a multicast group to a router
using Internet Group Message Protocol (IGMP) in IPv4 or Multicast
Listener Discovery (MLD) in IPv6.
• Provides multicast routers with information about the membership status of
hosts connected to the network.
• Enables a multicast router to create and update list of loyal members for
each group.
MULTICAST ADDRESSING
• Multicast address is associated with a group, whose members are dynamic.
• Each group has its own IP multicast address.
• IP addresses reserved for multicasting are Class D in IPv4 (Class D [Link]
to [Link]), 1111 1111 prefix in IPv6.
o
• Hosts that are members of a group receive copy of the packet sent when
destination contains group address.
Using IP multicast
• Sending host does not send multiple copies of the packet
• A host sends a single copy of the packet addressed to the group’s multicast
address
• The sending host does not need to know the individual unicast IP address of
each member
TYPES OF MULTICASTING
• Source-Specific Multicast - In source-specific multicast (one-to-many model),
receiver specifies multicast group and sender from which it is interested to
receive packets. Example: Internet radio broadcasts.
MULTICAST APPLICATIONS
• Access to Distributed Databases
• Information Dissemination
• Teleconferencing.
• Distance Learning
MULTICAST ROUTING
• To support multicast, a router must additionally have multicast forwarding
tables that indicate, based on multicast address, which links to use to
forward the multicast packet.
• Unicast forwarding tables collectively specify a set of paths.
• Multicast forwarding tables collectively specify a set of trees -Multicast
distribution trees.
• Multicast routing is the process by which multicast distribution trees are
determined.
• To support multicasting, routers additionally build multicast forwarding
tables.
• Multicast forwarding table is a tree structure, known as multicast
distribution trees.
• Internet multicast is implemented on physical networks that support
broadcasting by extending forwarding functions.
Pruning:
Sent from routers receiving multicast traffic for which they have no active
group members
“Prunes” the tree created by DVMRP
Grafting:
Used after a branch has been pruned back
Goes from router to router until a router active on the multicast group is
reached
Example
Router R4 sends Join message for group G to rendezvous router RP.
Join message is received by router R2. It makes an entry (*, G) in its table and
forwards the message to RP.
When R5 sends Join message for group G, R2 does not forwards the Join. It
adds an outgoing interface to the forwarding table created for that group.
As routers send Join message for a group, branches are added to the tree, i.e.,
shared.
Multicast packets sent from hosts are forwarded to designated router RP.
Suppose router R1, receives a message to group G.oR1 has no state for group G.
o Encapsulates the multicast packet in a Register message.
o Multicast packet is tunneled along the way to RP.
RP decapsulates the packet and sends multicast packet onto the shared tree,
towards R2.
R2 forwards the multicast packet to routers R4 and R5 that have members for
group G.
Source-Specific Tree
RP can force routers to know about group G, by sending Join message to the
sending host, so that tunneling can be avoided.
Intermediary routers create sender-specific entry (S, G) in their tables. Thus
a source-specific route from R1 to RP is formed.
If there is high rate of packets sent from a sender to a group G, then shared-
tree is replaced by source-specific tree with sender as root.
Example
Analysis of PIM
Protocol independent because, tree is based on Join messages via shortest path.
Shared trees are more scalable than source-specific trees.
Source-specific trees enable efficient routing than shared trees.
• The main reason for migration from IPv4 to IPv6 is the small size of the
address space in IPv4.
• IPv6 was evolved to solve address space problem and offers rich set of
services. An IPv6 address is 128 bits or 16 bytes (octets) long, four times the
address length in IPv4.
• Some hosts and routers will run IPv4 only, some will run IPv4 and IPv6 and
some will run IPv6 only.
DRAWBACKS OF IPV4
• Despite subnetting and CIDR, address depletion is still a long-term problem.
• Internet must accommodate real-time audio and video transmission that
requires minimum delay strategies and reservation of resources.
• Internet must provide encryption and authentication of data for some
applications
FEATURES OF IPV6
1. Better header format - IPv6 uses a new header format in which options are
separated from the base header and inserted, when needed, between the base
header and the data. This simplifies and speeds up the routing process because
most of the options do not need to be checked by routers.
2. New options - IPv6 has new options to allow for additional functionalities.
3. Allowance for extension - IPv6 is designed to allow the extension of the
protocol if required by new technologies or applications.
4. Support for resource allocation - In IPv6, the type-of-service field has
been removed, but two new fields, traffic class and flow label, have been added
to enable the source to request special handling of the packet. This
mechanism can be used to support traffic such as real-time audio and video.
Additional Features :
1. Need to accommodate scalable routing and addressing
2. Support for real-time services
3. Security support
[Link] -
The ability of hosts to automatically configure themselves with such
information as their own IP address and domain name.
5. Enhanced routing functionality, including support for mobile hosts
6. Transition from ipv4 to ipv6
Representation
A computer normally stores the address in binary, but it is clear that 128 bits cannot easily be
handled by humans. Several notations have been proposed to represent IPv6 addresses when
they are handled by humans. The following shows two of these notations: binary and colon
hexadecimal.
Address Space
The address space of IPv6 contains 2128 addresses. This address space is 296 times the IPv4
address—definitely no address depletion—as shown, the size of the space is
IPv4 address is mapped to IPv6 address by prefixing the 32-bit IPv4 address
with 2 bytes of 1s and then zero-extending the result to 128 bits.
For example,
128. 96.33.81 → : : FFFF : [Link]
This notation is called as CIDR notation or slash notation.
Mapping for EUI-64
Example:1
Using the format we defined for Ethernet addresses, find the interface identifier if the
physical address in the EUI is (F5-A9-23-EF-07-14-7A-D2)16.
Solution
We only need to change the seventh bit of the first octet from 0 to 1 and change the format to
colon hex notation. The result is F7A9:23EF:0714:7AD2.
Example:2
Using the format we defined for Ethernet addresses, find the interface identifier if the
Ethernet physical address is (F5-A9-23-14-7A-D2) 16.
Solution
We only need to change the seventh bit of the first octet from 0 to 1, insert two octets FFFE16
and change the format to colon hex notation. The result is F7A9:23FF:FE14:7AD2 in colon
hex.
Extension Headers
Extension header provides greater functionality to IPv6.
Base header may be followed by six extension headers.
Each extension header contains a NextHeader field to identify the header
following it.
ADVANTAGES OF IPV6
Address space ― IPv6 uses 128-bit address whereas IPv4 uses 32-bit address.
Hence IPv6 has huge address space whereas IPv4 faces address shortage
problem.
Header format ― Unlike IPv4, optional headers are separated from base
header in IPv6. Each router thus need not process unwanted addition
information.
Extensible ― Unassigned IPv6 addresses can accommodate needs of future
technologies.
Dual Stack
Tunneling strategy
Header translation