Upload
harvey-poole
View
213
Download
0
Embed Size (px)
Citation preview
04/20/23 1
The Network Layer
04/20/23 2
Introduction
Route packets through subnet So, it must know the topology of the subnet It should also be able to choose path from it It should do load balancing between routers
and communication lines When source and destination are in different
networks, it solves the differences
04/20/23 3
Store-and-Forward Packet Switching
The packet is stored at router until it has fully arrived so the checksum can be verified. Then it is forwarded to the next router
04/20/23 4
Services Provided to the Transport Layer
Connectionless Service packets are injected into the subnet individually
and routed independently of each other Internet
Connection-Oriented Service a path from the source router to the destination
router must be established before any data packets can be sent. This connection is called a VC (virtual circuit) ATM networks
04/20/23 5
Connectionless Service
04/20/23 6
Connection-Oriented Service
04/20/23 7
Comparison of datagram and virtual-circuit subnets
04/20/23 8
Routing Algorithms
deciding which output line an incoming packet should be transmitted on
datagram : decision must be made anew for every arriving data
packet virtual circuits :
decisions are made only when a new virtual circuit is being set up
Also called session routing Forwarding and Routing
04/20/23 9
Conflict between fairness and optimality.
04/20/23 10
Nonadaptive algorithms choice of the route to use to get from I to J is
computed in advance, off-line, and downloaded to the routers when the network is booted.
This procedure is sometimes called static routing. Adaptive algorithms
choice of the route to use to get from I to J is computed during transmission.
This procedure is sometimes called dynamic routing.
Routing Algorithms
04/20/23 11
The Optimality Principle
If router J is on the optimal path from router I to router K, then the optimal path from router J to router K also falls along it
The set of optimal routes from all sources to a given destination forms a tree
This tree has destination as a root and is known as sink tree
All routing algo tries to discover it
04/20/23 12
A Subnet And A Sink Tree for Router B
04/20/23 13
Shortest Path Routing
Represent Subnet as a graph where routers are nodes and com lines are edges or links
The metric or weight of an edge is imp No. of Hops, Physical distance, time to reach
the destination are the examples It can be bandwidth, average traffic, com
cost, mean delay, or any combination of it
04/20/23 14
Shortest Path From A to D
04/20/23 15
Dijkstra's Algorithm
Each node is labeled from the source node Label can be temporary or permanent The starting node is permanent, nearest node
is made permanent & is the next node All other neighbors are temp’ly labeled
04/20/23 16
Flooding
Every IC packet is sent to all OG lines Generates vast numbers of duplicate packets It is highly robust, useful in military apps Selective flooding for better throughput
04/20/23 17
Distance Vector Routing
It operates by maintaining best known distance to each destination and an OG line
These tables are updated by exchanging info with its neighbors
It is also known as distributed Bellman-Ford or Ford-Fulkerson algo
It’s original Arpanet routing algo
04/20/23 18
A Subnet
04/20/23 19
Inputs from A I H K and New RT
04/20/23 20
The Count-to-Infinity Problem
Consider a linear subnet having A, B, C, D, E nodes, with metric is no of hops
The figure shows two cases, When A is up when A is down
04/20/23 21
Count to Infinity Problem
04/20/23 22
Count to Infinity Problem
04/20/23 23
Link State Routing DV used delay metric not considering line BW
The algo take very long time to converge
Each router using LSR must do Discover the neighbors and their NW addresses Measure the delay or cost to them Construct a packet Send to all neighbors Compute the shortest path to every other router
04/20/23 24
1) Learning About The Neighbors
Sending special HELLO packet to each PtoP lines when booted
Names of routers must be globally unique
04/20/23 25
Learning About The Neighbors
(a) Nine routers and a LAN. (b) A graph model of (a).
04/20/23 26
2) Measuring Line Cost
Delay is used as a metric, so special ECHO packet is sent the RTT is calculated
RTT (round-trip time) is divided by 2 to get the estimate
Whether to consider load or not is crucial Load Considered : RTT to start when Echo
packet is queued Load Not Considered : when it comes to the front
of queue
04/20/23 27
The Two Line Problem
04/20/23 28
3) Building LS Packets
The packet contains, ID of sender, seq, age, and list of neighbors with respective delay
One possibility is to do it periodically Another is to do when some significant like
router coming up or going down happens
04/20/23 29
Link State Packets for a Subnet
04/20/23 30
The Age field
Age is included in every packets and is decremented once per second
When age hits zero, info from that router is discarded
It ensures that no packet gets lost and live forever
04/20/23 31
4) Distributing Link State Packets
Flooding is used for distributing,seq no is used for checking
Routers keep track of all the source, seq pairs they see
If seq is new it is forwarded
04/20/23 32
The Packet Buffer for Router B--- Refinements
04/20/23 33
5) Computing New Routes
Once router receives all LSPs, it can construct the whole graph for the subnet
Dijkstra's algorithm now can run locally to construct shortest paths to all possible dest
04/20/23 34
Routing to Mobile Hosts
Users who never move are known as stationary, they use copper or fiber to communicate
Migratory users are stationary but moving from one fixed site to another
Roaming users are connected to the internet wherever they are
04/20/23 35
Routing for Mobile Hosts
04/20/23 36
The Registration Process
Periodically each agent broadcasts a packet Packet contains it’s address
MH registers with FA, giving HA, current DLL address, + some security info
FA contacts MH’s HA and convince him FA gets ack and inform MH about
registration, and add info in routing table
04/20/23 37
Packet Routing for Mobile Hosts
Routing in AdHoc Networks
Hosts are mobile and also routers are mobile in Adhoc networks
Also known as MANET(Mobile AdHoc Networks)
No Fixed topologies, no fixed neighbors etc AODV(Ad hoc Distance Vector) Routing
Algorithm
Route Discovery
Route Discovery
Route Maintenance
04/20/23 42
Congestion Control Algorithms
Defn:- When too many packets are present in (a part of)
the subnet, performance degrades. This situation is called congestion
04/20/23 43
General Principles of CC
Open Loop attempts to solve it by good design Once the system is up and running, midcourse
corrections are not made. Closed Loop based on the concept of
feedback Monitor the system to detect congestion Pass the information elsewhere to take action
04/20/23 44
General Principles of CC
In Open, act at source or at a destination In Closed, explicit vs. implicit feedback
In explicit feedback case, the router sends the packets back
In implicit feed back the source deduce it by making local observations
Delay in receiving ack
04/20/23 45
Open Loop Solution
Minimize congestion in the first place, rather than letting it happen and reacting after the fact
Goal is achieved by using appropriate policies at various layers
04/20/23 46
Congestion Prevention Policies
04/20/23 47
Closed loop Solutions
Let Congestion occur first and than control it Congestion Control in Virtual-Circuit Subnets Congestion Control in Datagram Subnets Load Shedding Jitter Control
04/20/23 48
Congestion Control in Virtual-Circuit Subnets
Admission control (Don't allow new connection after congestion detection) once congestion has been signaled, no more
virtual circuits are set up until the problem has gone away
04/20/23 49
A Congested Subnet
04/20/23 50
Congestion Control in Datagram Subnets
The Warning Bit Choke Packets Hop-by-Hop Choke Packets
04/20/23 51
The Warning Bit
setting a special bit in the packet's header into the next acknowledgement sent back to the
source. The source then cut back on traffic. As long as the warning bits continued to flow
in, the source continued to decrease its transmission rate
04/20/23 52
Choke Packets
the router sends a choke packet back to the source host
the host should ignore choke packets referring to that destination for a fixed time interval
After that period has expired, the host listens for more choke packets for another interval.
If one arrives, the line is still congested, so the host reduces the flow still more and begins ignoring choke packets again.
If no choke packets arrive during the listening period, the host may increase the flow again
04/20/23 53
Hop by Hop Chock Packets
At long lines, chock packet will take little long to reach source
Instead, at each hop the traffic is slowed down when choke packet passes thru
Intermediate buffers are needed to be increased
Immediate relief to the congested area
04/20/23 54
A ch
oke p
acket that affects each
ho
p it p
asses thro
ug
h.
A ch
oke p
acket that affects o
nly th
e sou
rce.
04/20/23 55
Load Shedding
when routers are being inundated by packets that they cannot handle, they just throw them away
Router can do it randomly picking packets Dropping can be done better dependent on app In some app old packet is more important than new
one and vice versa Still improvement : (intelligent discard policy)
applications must mark their packets in priority classes to indicate how important they are (VERY IMPORTANT— NEVER, EVER DISCARD )
04/20/23 56
Random Early Detection
idea of discarding packets before all the buffer space is really exhausted
When the average queue length on some line exceeds a threshold, the line is said to be congested and action is taken.
04/20/23 57
Jitter Control
The variation (i.e., standard deviation) in the packet arrival times is called jitter. High jitter, for example, having some packets taking 20 msec and others taking 30 msec to arrive
04/20/23 58
Jitter Control