UNIT-III Network Layer
UNIT-III Network Layer
UNIT-III Network Layer
UNIT-III
NETWORK LAYER
FACULITY:
SREENU BANOTH
ASSISTANT PROFESSOR ,
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING,
IIMT COLLEGE OF ENGINEERING,GREATER NOIDA-201308
Syllabus:
Network Layer: Point-to-point networks, Logical addressing, Basic
internetworking (IP, CIDR, ARP, RARP, DHCP, ICMP), Routing, forwarding
and delivery, Static and dynamic routing, Routing algorithms and protocols,
Congestion control algorithms, IPv6
Network Layer
• Network Layer is layer 3 of the OSI reference model. The network layer controls the operation of the
subnet.
• The main aim of this layer is to deliver packets from source to destination across multiple links
(networks).
• It routes the signal through different channels to the other end and acts as a network controller.
• As the data link layer oversees the delivery of the packets between two systems on the same network;
the network layer mainly ensures that each packet gets from its point of origin to the final destination.
• It also divides the outgoing messages into packets and to assemble incoming packets into messages
for higher levels.
• In broadcast networks, the routing problem is simple, so the network layer is often thin or even non-
existent.
• If two computers (system) are connected on the same link, then there is no need for a
network layer.
• But in case if two systems ate attached to different networks(links) with connecting devices
between the networks(links), then there is a need for the network layer in order to
accomplish the source-to-destination delivery.
The main responsibility of the network layer is to deliver individual packets from the source host to the destination host.
• The network layer breaks the larger packets into small packets.
• Connection services are provided including network layer flow control, network layer error control, and packet sequence
control.
• Logical Addressing Physical addressing implemented by the data link layer handles the problem of addressing locally. A
header is added by the Network layer to the packet coming from the upper layer that also includes logical addresses of the
sender and the receiver.
• Routing At the time when independent networks or links are connected together in order to create internetworks/large
network, then the routing devices(router or switches) route the packets to their final destination. This is one of the main
functions of the network layer.
Services provided by the Network Layer
1. Guaranteed delivery of Packets The network layer guarantees that the packet will reach its destination.
2. Guaranteed delivery with the bounded delay It is another service provided by the network layer and it
guarantees that the packet will surely be delivered within a specified host-to-host delay bound.
3. Transfer of packets in Order According to this service, it is ensured that packets arrive at the destination in
the same order in which they are sent by the sender.
4. Security Security is provided by the network layer by using a session key between the source host and the
destination host.
Advantages of Network Layer Services
Given below are some benefits of services provided by the network layer:
• By forwarding service of the network layer, the data packets are transferred from one place to another in the network.
• In order to reduce the traffic, the routers in the network layer create collisions and broadcast the domains.
• In the network layer, there is a lack of proper error control mechanisms; due to the presence of fragmented data packets
the implementation of error control mechanism becomes difficult.
• Due to the presence of too many datagrams there happens occurrence of congestion.
In this figure, the network layer at the A node sends the packet
to the network layer at the B node. When the packet arrives at
router B then the router makes the decision of the path based on
the final destination that is the F node of the packet transmitted.
Router B makes use of its routing table for finding the next hop
that is router E. The Network layer at node B sends the packet
to the network layer at E which then sends the packet to the
network layer at F.
Network Layer Design Issues
1. Store-and-forward packet switching
2. Services provided to transport layer
3. Implementation of connectionless service
4. Implementation of connection-oriented service
5. Comparison of virtual-circuit and datagram networks
1 .Store-and-forward packet switching
• A host with a packet to send transmits it to the nearest router, either on its own LAN or over a point-to-point
link to the ISP.
• The packet is stored there until it has fully arrived and the link has finished its processing by verifying the
checksum.
• Then it is forwarded to the next router along the path until it reaches the destination host, where it is
delivered.
• This mechanism is store-and-forward packet switching.
2 Services provided to transport layer
The network layer provides services to the transport layer at the network layer/transport layer
interface. The services need to be carefully designed with the following goals in mind:
• Let us assume for this example that the message is four times longer than the maximum packet size, so the
network layer has to break it into four packets, 1, 2, 3, and 4, and send each of them in turn to router A.
• Every router has an internal table telling it where to send packets for each of the possible destinations. Each
table entry is a pair(destination and the outgoing line). Only directly connected lines can be used.
• A ’s initial routing table is shown in the figure under the label ‘‘initially.’’ At A, packets 1, 2, and
3 are stored briefly, having arrived on the incoming link. Then each packet is forwarded
according to A ’s table, onto the outgoing link to C within a new frame.
• However, something different happens to packet 4. When it gets to A it is sent to router B, even
though it is also destined for F.
• For some reason (traffic jam along ACE path), A decided to send packet 4 via a different route
than that of the first three packets. Router A updated its routing table, as shown under the label
‘‘later.’’
• The algorithm that manages the tables and makes the routing decisions is called the routing
algorithm.
4. Implementation of Connection Oriented service:
• To use a connection-oriented service, first we establishes a connection, use it and then release it.
• In connection-oriented services, the data packets are delivered to the receiver in the same order in which they
have been sent by the sender.
• Circuit Switched Connection – A dedicated physical path or a circuit is established between the
communicating nodes and then data stream is transferred.
• Virtual Circuit Switched Connection – The data stream is transferred over a packet switched network, in
such a way that it seems to the user that there is a dedicated path from the sender to the receiver. A virtual path
is established here. While, other connections may also be using the same path.
• When the connection is released, the virtual circuit is also terminated. With connection- oriented service, each
packet carries an identifier telling which virtual circuit it belongs to.
• As an example, consider the situation of Fig..
• Here, host H1 has established connection 1 with host H2. It is remembered as the first entry in each of the
routing tables.
• The first line of A's table says that if a packet bearing connection identifier 1 comes in from H1, it is to be sent
to router C and given connection identifier 1.
• Similarly, the first entry at C routes the packet to E, also with connection identifier 1.
• Now let us consider what happens if H3 also wants to establish a connection to H2.
• It chooses connection identifier 1 (because it is initiating the connection and this is its only connection) and tells
the subnet to establish the virtual circuit.
• This leads to the second row in the tables. Note that we have a conflict here because although A can easily
distinguish connection 1 packets from H1 from connection 1 packets from H3, C cannot do this.
• For this reason, A assigns a different connection identifier to the outgoing traffic for the second connection.
Avoiding conflicts of this kind is why routers need the ability to replace connection identifiers in outgoing
packets. In some contexts, this is called label switching.
5. Comparison of Virtual-Circuit And Datagram Subnets:
Logical addressing
• A logical address is the address at which an item (memory cell, storage element, network host) appears
• A logical address may be different from the physical address due to the operation of an address translator or
mapping function.
✓ Network layer is responsible for host-to-host delivery and for routing mechanism.
✓ It adds a logical address that is source and destination address as a part of IP header to the segment coming
from above Transport Layer.
Logical Addressing:
The logical addresses added by Network layer are known as IP address, it can be either IPv4 or IPv6.
IPv4 Addresses:
• An IPv4 address is a 32-bit address that uniquely and universally defines the connection of a device. These
addresses are unique in the sense that each address defines one, and only one, connection to the internet.
Address Space:
• It defines the range of addresses used by the protocol. Each networking devices will get a address from this
address space.
• Since IPv4 address is a 32 bit in size, hence the total number of address possible is: 2^32 = 4,294,967,296.
This means theoretically 4 billion devices can be connected to internet, but practically this number is way less
because of some restrictions.
Representation of IP address: An IP address can be represented in two formats:
• Dotted-Decimal Notation:
In this format, an IP address is represented as 4 octets, each octet of 8 bits (1 bytes) and are separated with a
decimal point(dot).
• Example:
192.168.0.1
• Binary Notation:
In this IP address is represented as 32 bits.
Example:
Dotted decimal : 192. 168.0.1
Binary Notation: 1110101 10101000 00000000 00000001
Classful Addressing:
• Classful Addressing, the address space is divided into five classes: A, B, C, D and E. Each class has has some
part of the address space.
• Class A, B, C are mostly used for unicast communication whereas class D is for multicast communication and
class E is reserved.
Range of each class of IP address:
Range of each class is depicted in the below diagram:
• Host ID and Network ID: In classful addressing, IP address can be divided into two
portions, one is called Host ID, which identifies the host in the network and other is called
network Id which identifies the network.
Subnet Mask:
• It is also 32-bit address which is used to distinguish the host part and network part of an IP address.
• In classful addressing each class has a default subnet mask:
Class A: 255.0.0.0
Class B: 255.255.0.0
Class C: 255.255.255.0
Class D: 255.255.255.255
Basic Internetworking (IP, CIDR, ARP, BOOTP DHCP, ICMP)
• Internetworking is a collection of individual networks, connected by intermediate networking devices, that functions as a
single large network.
• It refers to the industry, products, and procedures that meet the challenge of creating and administering internetworks.
• Internetworking is the practice of interconnecting multiple computer networks, such that any pair of hosts in the
connected networks can exchange messages irrespective of their hardware-level networking technology.
Challenges faced by internetworking are:
• Connectivity
• Reliability
• Network Management
• Flexibility
Protocols present in Internetworking:
IP(Internet Protocol)
• The Internet Protocol (IP) is a protocol, or set of rules, for routing and addressing packets of data so that they
can travel across networks and arrive at the correct destination.
• Data traversing the Internet is divided into smaller pieces, called packets.
• IP information is attached to each packet, and this information helps routers to send packets to the right place.
• Every device or domain that connects to the Internet is assigned an IP address, and as packets are directed to
the IP address attached to them, data arrives where it is needed.
Working of IP:
• An IP address is a unique identifier assigned to a device or domain that connects to the Internet.
• Each IP address is a series of characters, such as '192.168.1.1'. Via DNS resolvers, which translate human-
readable domain names into IP addresses, users are able to access websites without memorizing this complex
series of characters.
• Each IP packet will contain both the IP address of the device or domain sending the packet and the IP address
of the intended recipient, much like how both the destination address and the return address are included on a
piece of mail.
CIDR(ClassLess Inter-Domain Routing)
• CIDR, which stands for Classless Inter-Domain Routing, is an IP addressing scheme that improves the allocation of IP
addresses.
• This scheme also helped greatly extend the life of IPv4 as well as slow the growth of routing tables.
Working of CIDR:
• CIDR is based on variable-length subnet masking (VLSM). This allows it to define prefixes of arbitrary lengths making it
much more efficient than the old system.
• CIDR IP addresses are composed of two sets of numbers. The network address is written as a prefix, like you would see a
normal IP address (e.g. 192.255.255.255).
• The second part is the suffix which indicates how many bits are in the entire address (e.g. /12). Putting it together, a CIDR
IP address would look like the following:
192.255.255.255/12
ARP(Address Resolution Protocol)
Address Resolution Protocol(ARP)
• The purpose of Address Resolution Protocol (ARP) is to resolve an IPv4 address (32 bit Logical Address) to
the corresponding physical address (48 bit MAC Address). Network Applications at the Application Layer use
IPv4 Address to communicate with another device.
• Aim: To find out the MAC address of the destination that allows us to communicate with other devices. In this
case, the ARP is actually required as it converts the IP address to a physical address.
Working of ARP:
• Arping probes hosts on the examined network link by sending Link Layer frames using the Address
Resolution Protocol (ARP) request method addressed to a host identified by its MAC address of the network
interface.
RARP(Reverse Address Resolution Protocol)
• Reverse ARP (RARP) is a networking protocol used by the client system in a local area network (LAN) to
request its IPv4 address from the ARP gateway router table. A table is created by the network administrator in
the gateway-router that is used to find out the MAC address to the corresponding IP address.
Working of RARP:
• The RARP is on the Network Access Layer and is employed to send data between two points in a very
network.The client broadcasts a RARP request with an Ethernet broadcast address and with its own physical
address. The server responds by informing the client its IP address.
DHCP(Dynamic Host Configuration Protocol)
• Dynamic Host Configuration Protocol (DHCP) is a standardized network protocol used on Internet
Protocol (IP) networks.
• The DHCP is controlled by a DHCP server that dynamically distributes network configuration parameters for
interfaces and services. Networks ranging in size from small home networks to campus networks frequently use DHCP.
Working of DHCP:
• A DHCP server dynamically assigns an IP address and other network configuration parameters to each device
on a network so they can communicate with other IP networks. DHCP is an enhancement of an older protocol
called BOOTP.
• With respect to the DHCP protocol, the DHCP server goes through an initializing, selecting, requesting,
binding, renewal, rebinding, and expiration cycle when negotiating for an IP address, as shown in the below
diagram. The process is basically as follows:
1. The client just added or relocated on the network requests an IP address by broadcasting a DHCPDISCOVER message to
the local subnet over the well-known BOOTP server port. (The client can also go through a BOOTP router or relay agent to
forward the DHCPDISCOVER to additional remote DHCP servers.) This is the initializing state.
2. The participating DHCP servers respond with a DHCPOFFER message if they have a valid configuration for the client.
The client may get many of these messages, which contain the IP address and configuration data. (The servers make sure to
reserve the addresses so as not to accidentally offer them to another client.) At this point the client enters the selecting state.
3. After selecting an address, the client broadcasts the selected address and name of the "winning" server (Server 1) using a
DHCPREQUEST message. This is the requesting state. All the other servers can now safely unreserve their addresses.
4. Server 1 sends the client a DHCPACK (acknowledgment) message with the negotiated IP address, the lease, and the
network configuration parameters. The client now enters the binding state and can fully use the assigned IP address.
5. About halfway through the lease, the client sends Server 1 another DHCPREQUEST for a lease renewal and
enters the renewal state. If the server deems the lease renewable, it sends back another DHCPACK to update the
lease (including any new parameters). The client now returns to the binding state, as in Step 4.
6. If the client cannot renew the lease (such as if Server 1 is down), the client waits until about 87.5% of the way
through the lease and broadcasts another DHCPREQUEST to all DHCP servers. Any server can now return a
DHCPACK containing the extended lease and updated parameters. This is the rebinding state.
7. When the lease reaches 100% expired, or a server sends back a DHCPNAK negative acknowledgment
message, the client must give up the IP address. It then returns to the initializing state and must start the address
negotiation over again.
DHCP is defined in RFC 2131 and RFC 2132. Refer to them for more information.
Two DHCP servers are recommended for a network. The benefit of having more than one server is if one fails
another is available to continue processing requests, ensuring that all hosts (old and new) are serviced
continuously.
ICMP(Internet Control Message Protocol)
• The Internet Control Message Protocol (ICMP) is a protocol that devices within a network use to communicate
problems with data transmission. In this ICMP definition, one of the primary ways in which ICMP is used is to
determine if data is getting to its destination and at the right time. This makes ICMP an important aspect of the error
reporting process and testing to see how well a network is transmitting data.
Working of ICMP:
• ICMP will take source IP from the discarded packet and inform the source by sending a source quench message.
• Then the source will reduce the speed of transmission so that the router will free itself from congestion.
• Since IP does not have an inbuilt mechanism for sending error and control messages. It depends on Internet Control
Message Protocol(ICMP) to provide an error control. It is used for reporting errors and management queries. It is a
supporting protocol and is used by networks devices like routers for sending error messages and operations
information., e.g. the requested service is not available or that a host or router could not be reached.
ICMPv4 Packet Format :
• If the subnet uses virtual circuits internally, routing decisions are made only when a new virtual circuit is being set
up. Thereafter, data packets just follow the already established route.
• The latter case is sometimes called session routing because a route remains in force for an entire session (e.g., a
login session at a terminal or a file transfer).
Properties of a routing Algorithms:
1. Correctness
2. Simplicity
3. Robustness
4. Stability
5. Fairness
6. Optimality
• Correctness and simplicity hardly require comment, but the need for robustness may be less obvious at first.
• Once a major network comes on the air, it may be expected to run continuously for years without system-wide
failures.
• Hosts, routers, and lines will fail repeatedly, and the topology will change many times.
• The routing algorithm should be able to cope with changes in the topology and traffic without requiring all jobs
in all hosts to be aborted.
• There exist routing algorithms that never converge to a fixed set of paths, no matter how long they run.
• It states that if router J is on the optimal path from router I to router K, then the optimal path from J to K also falls along
the same route.
• where the distance metric is the number of hops. The goal of all routing algorithms is to discover and use the
sink trees for all routers.
• The sink tree is not necessarily unique; other trees with the same path lengths may exist. If we allow all of the
possible paths to be chosen, the tree becomes a more general structure called a DAG (Directed Acyclic
Graph). DAGs have no loops.
• Since a sink tree is indeed a tree, it does not contain any loops, so each packet will be delivered within a finite
and bounded number of hops.
Types of routing Algorithms
Routing algorithms can be divided into two groups.
2. Adaptive algorithms
Nonadaptive algorithms:
For this type of algorithms, the routing decision is not based on the measurement or estimation of current traffic
and topology. This is called as a static routing.
Adaptive algorithms:
For this type of algorithms, the routing decision can be changed if there age any changes in topology or traffic etc.
This is called as dynamic routing.
Shortest Path Algorithm
• This algorithm is based on the simplest and most widely used principle.
• The idea is to build a graph of the network, with each node of the graph representing a router and each edge of the
graph representing a communication line, or link. To choose a route between a given pair of routers, the algorithm
just finds the shortest path between them on the graph.
• This one is due to Dijkstra (1959) and finds the shortest paths between a source and all destinations in the
network.
• Each node is labeled (in parentheses) with its distance from the source node along the best known path.
• The distances must be non-negative, as they will be if they are based on real quantities like bandwidth and
delay. Initially, no paths are known, so all nodes are labeled with infinity.
• As the algorithm proceeds and paths are found, the labels may change, reflecting better paths.
• When it is discovered that a label represents the shortest possible path from the source to that node, it is made
permanent and never changed thereafter.
Figure . The first six steps used in computing the shortest path from A to D. The arrows indicate the working node.
• We want to find the shortest path from A to D. We start out by marking node A as permanent, indicated by a filled-in
circle.
• Then we examine, in turn, each of the nodes adjacent to A (the working node), relabeling each one with the distance
to A. Whenever a node is relabeled, we also label it with the node from which the probe was made so that we can
reconstruct the final path later.
• Having examined each of the nodes adjacent to A, we examine all the tentatively labeled nodes in the whole graph
and make the one with the smallest label permanent, This one becomes the new working node.
• We now start at B and examine all nodes adjacent to it. If the sum of the label on B and the distance from B to the
node being considered is less than the label on that node, we have a shorter path, so the node is relabeled.
• After all the nodes adjacent to the working node have been inspected and the tentative labels changed if possible, the
entire graph is searched for the tentatively labeled node with the smallest value.
• This node is made permanent and becomes the working node for the next round. At this point we have just made E
permanent. Suppose that there were a shorter path than ABE
Flooding
• When a routing algorithm is implemented, each router must make decisions based on local knowledge, not the
complete picture of the network. A simple local technique is flooding, in which every incoming packet is sent
out on every outgoing line except the one it arrived on.
Distance Vector Routing:
• A distance vector routing algorithm operates by having each router maintain a table (i.e., a vector) giving the
best known distance to each destination and which link to use to get there.
• Routers replace routes in their own routing tables anytime that neighbors have found better routes.
• Consider how J computes its new route to router G. It knows that it can get to A in 8 msec, and furthermore A
claims to be able to get to G in 18 msec, so J knows it can count on a delay of 26 msec to G if it forwards
packets bound for G to A.
• Similarly, it computes the delay to G via I, H, and K as 41 (31 + 10), 18 (6 + 12), and 37 (31 + 6) msec,
respectively.
• so it makes an entry in its routing table that the delay to G is 18 msec and that the route to use is via H.
• The same calculation is performed for all the other destinations, with the new routing table shown in the last
column of the figure.
The Count-to-Infinity Problem
• To see how fast good news propagates, consider the five-node (linear) network of Fig. (a), where the delay
metric is the number of hops. Suppose A is down initially and all the other routers know this. In other words,
they have all recorded the delay to A as infinity.
• When A comes up, the other routers learn about it via the vector exchanges.
• B learns that its left-hand neighbor has zero delay to A. B now makes an entry in its routing table indicating
that A is one hop away to the left. All the other routers still think that A is down.
Link State Routing
• Distance vector routing was used in the ARPANET until 1979, when it was replaced by link state routing.
• The idea behind link state routing is fairly simple and can be stated as five parts. Each router must do the
following things to make it work:
4. Send this packet to and receive packets from all other routers.
Figure (a) Nine routers and a broadcast LAN. (b) A graph model of (a).
Assignment 2:
Building Link State Packets
• Once the information needed for the exchange has been collected, the next step is for each router to build a
packet containing all the data.
• The packet starts with the identity of the sender, followed by a sequence number and age and a list of
neighbors.
• The cost to each neighbor is also given. An example network is presented in Fig. (a) with costs shown as
labels on the lines.
• The corresponding link state packets for all six routers are shown in Fig.(b).
Figure (a) A network. (b) The link state packets for this network.
Distributing the Link State Packets
Figure . The packet buffer for router B in Fig.(a).
• The link state packet from A arrives directly, so it must be sent to C and F and acknowledged to A, as indicated by the
flag bits. Similarly, the packet from F has to be forwarded to A and C and acknowledged to F.
• For example, if a copy of C’s state arrives from F before the fourth entry in the table has been forwarded, the six bits will
be changed to 100011 to indicate that the packet must be acknowledged to F but not sent there.
Computing the New Routes
• Once a router has accumulated a full set of link state packets, it can construct the entire network graph because
every link is represented.
• Every link is, in fact, represented twice, once for each direction. The different directions may even have
different costs.
• The shortest-path computations may then find different paths from router A to B than from router B to A.
• Now Dijkstra’s algorithm can be run locally to construct the shortest paths to all possible destinations. The
results of this algorithm tell the router which link to use to reach each destination.
• Compared to distance vector routing, link state routing requires more memory and computation.
• For a network with n routers, each of which has k neighbors, the memory required to store the input data is
proportional to kn, which is at least as large as a routing table listing all the destinations.
Hierarchical Routing
Figure . Hierarchical routing.
Broadcast Routing
• Sending a packet to all destinations simultaneously is called broadcasting.
• Many methods are there
1. Source to simply send a packet to each destination.
2. Flooding is another method.
• It generates too many packets and consumes too much space.
Multi destination routing:
• which each packet contains either a list of destinations or a bit map indicating the desired destinations. When a
packet arrives at a router, the router checks all the destinations to determine the set of output lines that will be
needed.
• The router generates a new copy of the packet for each output line to be used and includes in each packet only
those destinations that are to use the line.
• The idea for reverse path forwarding is elegant and remarkably simple once it has been pointed out (Dalal and Metcalfe,
1978). When a broadcast packet arrives at a router, the router checks to see if the packet arrived on the link that is normally
used for sending packets toward the source of the broadcast.
Figure . Reverse path forwarding. (a) A network. (b) A sink tree. (c) The tree built by reverse path forwarding.
Routing for Mobile Hosts
• Millions of people use computers while on the go, from truly mobile situations with wireless devices in
moving cars, to nomadic situations in which laptop computers are used in a series of different locations.
• We will use the term mobile hosts to mean either category, as distinct from stationary hosts that never move.
• These mobile hosts introduce a new complication: to route a packet to a mobile host, the network first has to
find it.
Assumed Model:
• The model of the world that we will consider is one in which all hosts are assumed to have a permanent home
location that never changes.
• Each hosts also has a permanent home address that can be used to determine its home location.
• Like the telephone number 1-212-5551212 indicates the United States (country code 1) and Manhattan (212).
Features:
• The basic idea used for mobile routing in the Internet and cellular networks is for the mobile
host to tell a host at the home location.
• This host, which acts on behalf of the mobile host, is called the home agent.
• Once it knows where the mobile host is currently located, it can forward packets so that they
are delivered. The Figure shows mobile routing in action.
• Once it has this address it can tell as home agent where it is now. It does this by sending
registration message to home agent with care of address
Routing for Mobile Hosts
• The sender sends a data packet to the mobile host using its permanent address.
• The packet is routed by the network to the host home location because the home addresses belongs
there.
• It encapsulates the packet with a new header and sends this bundle to the care of address.
• The overall router is called triangle routing because it way is circuitous if the remote location is far
from home location.
• Sub sequent packets can be routed directly to the mobile host by tunnelling them to the care of
address(step 5) bypassing the home location.
• If connectivity lost for any reason as the mobile moves, the home address can always be used to
reach the mobile.
Routing in Ad Hoc Networks
Challenges
- Dynamic topology
- Unreliable links
- Security
No physical links:
• Note that all those decisions are made without regard to the current state of the network.
Closed loop approach
-It is based on the principle of feedback-loop. The approach has three parts when applied to congestion
control:
1. Monitor the system to detect when and where congestion occurs,
2. Pass this information tot places where action can be taken
3. Adjust system operation to correct the problem.
Retransmission Policy:
Window Policy:
Acknowledgement policy:
Discarding Policy:
Admission Policy:
• Which packet is chosen to be the victim depends on the application and on the error strategy used in
the data link layer.
• Real-time voice or video - throw away old data and keep new packets.
• Applications must mark their packets in priority classes to indicate how important they are.
Random Early Discard (RED)
• This is an approach in which the router discards one or more packets before the buffer becomes completely
full.
• Each time a packet arrives, the RED algorithm computes the average queue length, avg.
• If avg is lower than some lower threshold, congestion is assumed to be minimal or non-existent and the packet
is queued.
• If avg is greater than some upper threshold, congestion is assumed to be serious and the packet is discarded.
• If avg is between the two thresholds, this might indicate the onset (beginning) of congestion. The probability
of congestion is then calculated.
Jitter control
• The variation in the packet arrival times is called jitter.
• Important for audio and video applications.
Example
• Having some packets taking 20 msec and others taking 30 msec to arrive will give an uneven quality to the
sound or movie.
• • The jitter can be bounded by computing the expected transit time for each hop along the path.
• When a packet arrives at a router, the router checks to see how much the packet is behind or ahead of its
schedule.
• This information is stored in the packet and updated at each hop.
• If the packet is ahead of schedule, it is held just long enough to get it back on schedule.
• If it is behind schedule, the router tries to get it out the door quickly.
• In video on demand, jitter is eliminated, by buffering at the receiver and then fetching data for display from
the buffer and not from the network in real time.
• In applications require real-time interaction (Internet telephony and videoconferencing),the delay inherent in
buffering is not acceptable
Traffic Shaping
1. Another method of congestion control is to “shape” the traffic before it enters the network.
2. Traffic shaping controls the rate at which packets are sent (not just how many). Used in ATM and
Integrated Services networks.
3. At connection set-up time, the sender and carrier negotiate a traffic pattern (shape).
• Leaky Bucket
• Token Bucket
The Leaky Bucket Algorithm used to control rate in a network. It is implemented as a single server
queue with constant service time. If the bucket (buffer) overflows then packets are discarded.
(a) A leaky bucket with water. (b) a leaky bucket with packets.
1. The leaky bucket enforces a constant output rate (average rate) regardless of the burstiness of the input. Does nothing when
input is idle.
2. The host injects one packet per clock tick onto the network. This results in a uniform flow of packets, smoothing out bursts
and reducing congestion.
3. When packets are the same size (as in ATM cells), the one packet per tick is okay. For variable length packets though, it is
better to allow a fixed number of bytes per tick. E.g. 1024 bytes per tick will allow one 1024-byte packet or two 512-byte
packets or four 256-byte packets on 1 tick
Token Bucket Algorithm
1. In contrast to the LB, the Token Bucket Algorithm, allows the output rate to vary, depending on the
size of the burst.
2. In the TB algorithm, the bucket holds tokens. To transmit a packet, the host must capture and destroy
one token.
3. Tokens are generated by a clock at the rate of one token every t sec.
4. Idle hosts can capture and save up tokens (up to the max. size of the bucket) in order to send larger
bursts later.
2. With TB, a packet can only be transmitted if there are enough tokens to cover its length in bytes.
3. LB sends packets at an average rate. TB allows for large bursts to be sent faster by speeding up the
output.
4. TB allows saving up tokens (permissions) to send large bursts. LB does not allow saving.
IPV6 Addressing
• An address space is the total number of addresses used by the protocol. For N bits, 2N bits address space can be
used, because each bit can have two different values (0 or 1).
• An IPv6 address is 128 bits or 16 bytes (octets) long, four times the address length in IPv4.
Representation
• An IPV6 addresses are of 128 bits long or 16 bytes. To make 128 bit form shorter and easier to read, IPV6 addresses
are usually written in hexadecimal form with colon separating the 2bytes called as hexadecimal colon notation or
Dotted quad notation.
• The colon hexadecimal notation (or colon hex for short) divides the address into eight sections, each made of four
hexadecimal digits separated by colons.
Abbreviation
• In hexadecimal form, even the IP address is very long, in that many of the digits are found to be zero.
• Therefore we can go for abbreviation in order to reduce the size. Only the leading zeros can be omitted no the
trailing zeros. The abbreviated address for the above mentioned IPV6 address is given as,
If there are consecutive sections of zeros only, we can remove
the zeros altogether and replace them with a double semicolon.
This type of abbreviation is allowed only once per address
If there are two runs of zero sections only one of them can be abbreviated
Address space
• The address space of IPv6 contains 2128 addresses. This address space is 296 times the
IPv4 address
Three Address Types
• In IPv6, a destination address can belong to one of three categories: unicast, anycast, and
multicast.
Unicast Address
• A unicast address defines a single interface (computer or router). The packet sent to a
unicast address will be routed to the intended recipient.
Anycast Address
• An anycast address defines a group of computers that all share a single address. A packet
with an anycast address is delivered to only one member of the group.
Multicast Address
• A multicast address also defines a group of computers.
• However, there is a difference between any casting and multicasting.
• In any casting, only one copy of the packet is sent to one of the members of the group; in
multicasting each member of the group receives a copy.
Address Space Allocation
• The address space of IPv6 is divided into several blocks of varying size and each block is allocated for a special
purpose. Most of the blocks are still unassigned and have been set aside for future use.
• Table : Prefixes for assigned IPv6 addresses
IPV6 PROTOCOL
The change of the IPv6 address size requires the change in the IPv4 packet format. The following
shows other changes implemented in the protocol in addition to changing address size and format.
▪ Better header format
▪ New options
▪ Allowance for extension
▪ Support for resource allocation
▪ Support for more security
Version. The 4-bit version field defines the version number of the IP. For IPv6, the value
is 6.
Traffic class. The 8-bit traffic class field is used to distinguish different payloads with different
delivery requirements. It replaces the type-of-service field in IPv4.
Flow label. The flow label is a 20-bit field that is designed to provide special handling for a particular
flow of data
Payload length. The 2-byte payload length field defines the length of the IP datagram excluding the
header
Next header. The next header is an 8-bit field defining the type of the first extension header (if present)
or the type of the data that follows the base header in the datagram.
Hop limit. The 8-bit hop limit field serves the same purpose as the TTL field in IPv4.
Source and destination addresses. The source address field is a 16-byte (128-bit) Internet address that
identifies the original source of the datagram. The destination address field is a 16-byte (128-bit)
Internet address that identifies the destination of the datagram.
Payload. Compared to IPv4, the payload field in IPv6 has a different format and meaning
Extension Header
The length of the base header is fixed at 40 bytes. However, to give more functionality to
the IP datagram, the base header can be followed by up to six extension headers.
Hop-by-Hop Option
The hop-by-hop option is used when the source needs to pass information to all routers visited by the
datagram.
Destination Option
The destination option is used when the source needs to pass information to the destination only.
Intermediate routers are not permitted access to this information.
Source Routing
The source routing extension header combines the concepts of the strict source route and the loose
source route options of IPv4.
Fragmentation
The concept of fragmentation in IPv6 is the same as that in IPv4. In IPv4, the source or a router is
required to fragment if the size of the datagram is larger than the MTU of the network over which the
datagram travels. In IPv6, only the original source can fragment. A source must use a Path MTU
Discovery technique to find the smallest MTU supported by any network on the path. The source then
fragments using this knowledge.
Authentication
The authentication extension header has a dual purpose: it validates the message sender and ensures the
integrity of data.
Encrypted Security Payload
The encrypted security payload (ESP) is an extension that provides confidentiality and guards against
eavesdropping.
Comparison of Options between IPv4 and IPv6
The following shows a quick comparison between the options used in IPv4 and the options used in
IPv6 (as extension headers).
❑ The no-operation and end-of-option options in IPv4 are replaced by Pad1 and PadN options in
IPv6.
❑ The record route option is not implemented in IPv6 because it was not used.
❑ The timestamp option is not implemented because it was not used.
❑ The source route option is called the source route extension header in IPv6.
❑ The fragmentation fields in the base header section of IPv4 have moved to the fragmentation
extension header in IPv6.
❑ The authentication extension header is new in IPv6.
❑ The encrypted security payload extension header is new in IPv6.