CS412 Introduction to Computer Networking & Telecommunication
Download
Report
Transcript CS412 Introduction to Computer Networking & Telecommunication
CS412 Introduction to
Computer Networking &
Telecommunication
Chapter 5 Network Layer
Chi-Cheng Lin, Winona State University
Topics
Design Issues
Routing Algorithms
Congestion Control
Internetworking
2
Position of network layer
3
Network Layer Design Issues
•
•
•
•
•
Store-and-Forward Packet Switching
Services Provided to the Transport
Layer
Implementation of Connectionless
Service
Implementation of ConnectionOriented Service
Comparison of Virtual-Circuit and
Datagram Subnets
4
Store-and-Forward Packet Switching
The environment of the network layer
protocols.
5
Figure 19.3
Network layer in an internetwork
6
Figure 19.4
Network layer at the source
7
Figure 19.5
Network layer at a router
8
Figure 19.6
Network layer at the destination
9
Services Provided to Transport Layer
Designing goals
Independent of subnet technology
Transport layer shielded from number,
type, and topology of subnets
Uniform network address numbering
Two Types of Services
Connectionless
Connection-oriented
10
Implementation of
Connectionless Service
Routing within a diagram subnet.
11
Implementation of
Connection-Oriented Service
Routing within a virtual-circuit subnet.
12
Comparison of Virtual-Circuit and
Datagram Subnets
5-4
13
Routing Algorithms
Network layer software
Deciding which output line an incoming
packet should be transmitted to
Datagram: made for each packet
VC: made for new VC setup
14
Routing Algorithms
Desirable Properties
Correctness
Simplicity
Robustness
Stability
Fairness
Optimality
15
Routing Algorithms - Optimality
What to optimize?
Minimizing mean packet delay
Maximizing total network throughput
Problem
The above two are in conflicts
Compromise
Minimizing number of hops a packet must
take from source to destination
16
Classes of Routing Algorithm
Two major classes
Non-adaptive
Adaptive
17
Two Major Classes of Routing Algorithm
Adaptive
Algorithms differ in
where to get information, e.g.,
Locally
From adjacent routers
From all routers
when to change routes, e.g.,
Every T sec
When the load changes
When the topology changes
what metric used for optimization, e.g.,
Distance
Number of hops
Estimated transit time
18
Routing Algorithms to be Studied
Static (i.e., nonadaptive) routing
Shortest path routing
Flooding
Dynamic (i.e., adaptive) routing
Distance vector routing
Link state routing
19
Optimality Principle
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.
Proof?
K
I
J
L
20
Sink Tree
Direct consequence of optimality principle
Subnet graph
Node: router
Arc: link
The set of optimal routes from all sources
to a given destination form a tree rooted
at the destination
Might not be unique
Goal of routing algorithms
Discover and use the sink tree for all routers
21
Sink Tree
Example
Distance metric: number of hops
Subnet
Sink tree
22
Shortest Path Routing
Given a pair of routers, find the shortest
path between them
Subnet graph
Node: router
Arc: link
Labels of arcs
Function of factors
Weighting function changed for different
criteria
23
Dijkstra's Algorithm
Each node labeled with
(distance from source, best known path)
Initially
distance: infinity
best known path: unknown
Label might change to reflect better paths
Node is either tentative or permanent
Initially tentative
As a path from source to that node
discovered, label becomes permanent and
never gets changed
24
25
Dijkstra's Algorithm
How do we find the path?
The algorithm given in the book works
from destination to source
Why?
26
Flooding
Every incoming packet is sent out on
every outgoing line except for the input
line
Problem
Large number of packets are generated
Solutions
Hop counter
Avoiding duplicates
Selective flooding
27
Flooding - Conclusion
Optimal
Shortest path is always chosen
No other algorithm can produce a shorter delay
Robust
Not practical in most applications
Useful in some applications
Military application: robustness
Distributed database applications
Concurrent update
Wireless networks
Metric of other routing algorithms
28
Distance Vector Routing
Table in each router
Giving
Best known distance to each destination
Which line to use to get there
Indexed by each router
Each entry contains two parts
Preferred outgoing line to use for that destination
Estimate of "distance" to go there
Best known distance to each destination
Updated by exchanging information with
neighbors
29
Distance Vector Routing
Router
Knows "distance" to each neighbor
Sends list to each neighbor every T msec
Receives lists from neighbors every T msec
If neighbor X knows
Distance from X to I is XI, and
Distance from the router to X is m
then delay from router to I via X is (XI + m)
Performs calculation for each neighbor to
find the best
Old table not used in calculation
30
31
Distance Vector Routing
Count-to-Infinity Problem
Good news spread fast, bad news leisurely
Infinity has to be defined
32
Link State Routing
A router
1. Discovers its neighbors and learn their
network addresses - HELLO
2. Measures the delay or cost to each
neighbor - ECHO
3. Constructs a packet telling all it has just
learned – link state packet
4. Sends this packet to all other routers –
flooding w/ duplicate avoidance
5. Computes the shortest path to every
other router – Dijkstra’s algorithm
33
Link State Routing
In effect
Complete topology and all delays are
experimentally measured and distributed to
every router
Dijkstra's algorithm is applied to find the
shortest path
34
Link State Packets
35
Hierarchical Routing
Problem
Network size grows Routing tables grow
Solution
Hierarchical routing
Idea
Routers are divided into "regions"
Router knows detail about routing within
its region
Router knows nothing about internal
structure of other region
36
Path length
from 1A to 5C?
37
Congestion Control
Congestion
Too many packets present in the subnet
Effects
Performance degraded
Packet lost
38
Congestion and Network Performance
(Could be achieved by
congestion control)
(Without
congestion control)
39
Causes of Congestion
Causes
Too many packets need an output line
queuing
Problem: not enough memory packets
dropped
Solution(?): adding more memory
New problem: timeout and retransmit worse
Slow processors
Low bandwidth lines
Congestion tends to feed upon itself and
become worse
40
Congestion Control v.s. Flow Control
Flow control relates to traffic between
two machines, while congestion control
is more global
Examples
No congestion, flow control needed
Flow control not needed, congestion
Confusion
Congestion control might send back "slow
down" messages
Not an acknowledgement
41
Congestion Control - General Principles
Two groups
Open loop
Closed loop – feedback loop
Explicit feedback
Implicit feedback
Source deduces existence of congestion by making
local observation
E.g., time needed for acknowledgement to come
back
42
Congestion Control - General Principles
Closed Loop - Approach
Monitor the system to detect when and
where congestion occurs
Pass this information to places where
actions can be taken
Adjust system operation to correct the
problem
43
Congestion Control
Congestion = (Load > Resources)
Solutions
Increase resources
Decrease load
44
Congestion Prevention Policies
Policies that affect congestion.
5-26
45
Congestion Control in VC Subnets
Admission control
Alternative routes
Resource reservation
Based on negotiated agreement
46
Congestion Control in VC Subnets
47
Choke Packets
Used in both VC and datagram subnets
Approach
Each router monitors output line utilization
Threshold for "warning state"
A receiving router
Checks packet to see if output line in warning
state
If yes then
send a "choke packet" back to source host
original packet tagged and forwarded
48
Choke Packet
Source, upon receiving a choke packet
Reduces traffic by a percentage after
receiving choke packet
Choke packet referred to same destination
is ignored for a fixed time interval
After time interval expired, listens
If choke packet received then
goto the step of reducing traffic
else
increase traffic
49
Choke Packet
Typically
First choke packet causes data rate
reduced to 50%, then 25%, …
Traffic is increased in smaller increments
Why?
50
Hop-by-Hop Choke Packets
Problem in high speed and long
distance slow reaction
Solution
Hop-by-hop choke packets
Buffers needed in routers
Effects:
Quick relief at the price of more buffers
51
Hop-by-Hop
Choke Packets
(a) A choke packet that affects
only the source.
(b) A choke packet that affects
each hop it passes through.
52
Load Shedding
Discard whatever cannot be handled
Which packets to drop?
Application-dependent
Priorities
53
Load Shedding
Strategies
Wine or milk
Priority
Priority classes
Coupled with traffic shaping token bucket
Packet without token sent with lowest priority
Allowing VC set up with exceeding specification
Contingent on low priority
Header field needed (ATM 1bit)
Discard as early as possible!
54
Jitter Control
Jitter: variation in packet arrival time
Necessary for audio/video transmission
Control
Delay jitter is bounded by computing
expected transit time for each hop along path
Packet is checked for behind/ahead schedule
Behind: sent out ASAP
Ahead: held for a while
Usually buffering is used to eliminate
jitters
55
Internetworking
A collection of interconnected networks.
56
How Networks Differ
57
How Networks Can Be Connected
58
Concatenated Virtual Circuits
A sequence of VCs is set up from source
through one or more gateways to
destination
Each gateway maintains tables of
information of VCs
Best when all networks have roughly
the same properties
59
Concatenated Virtual Circuits
60
Connectionless Internetworking
Packets are not required to follow same
sequence of connections
Routing per packet
Possibly higher bandwidth than VC
Packets might arrive out of order
Problems
Format
Addressing
61
Connectionless Internetworking
62
Tunneling
Encapsulating packets of a protocol in
the payload of packets of another
protocol
Useful in
Internetworking
VPN
IPv4 to IPv6 transition
…
63
Tunneling
64
Internetwork Routing
AS (Autonomous System)
Each network in internetwork independent
of others
Two-Level Routing
Interior gateway protocol
Exterior gateway protocol
Differences between interior and
exterior routings
International boundaries
Cost
Quality of service
65
Fragmentation
Why maximal packet size
Hardware
OS
Protocols
Standards
Retransmission reduction
Prevention of one packet occupying
channel too long
66
Fragmentation
Maximum packet size different in different
protocol
Examples: ATM 48 bytes, IP 65,515 bytes
Problem
Large size packets want to go through
network of smaller packet size
Solution: Fragmentation
Allowing gateways to break packets into
fragments, each as a separate internet packet
Problem: Easy to break but difficult to put
back together
67
Fragmentation Strategies
Transparent fragmentation
Nontransparent fragmentation
Transparent fragmentation
G5
Nontransparent fragmentation
68
Transparent Fragmentation
Properties
Fragmentation transparent to subsequent
networks
Same exit gateway in each network
Procedure
Fragmentation
Each fragment is addressed to same exit
gateway
Fragments are combined at exit gateway
69
Transparent Fragmentation
Simple
Problems
Combination
Performance
Overhead on repeated assembling
70
Nontransparent Fragmentation
Properties
Combination done at destination host
One or more exit gateway(s)
Procedure
Fragmentation
Each fragment is addressed to exit gateway(s)
Fragments are combined at destination host
Higher performance in datagram model
Problems
Every host must be able to reassemble
Overhead in packet header
71
Nontransparent Fragmentation
Numbering
Required for assembly
Assembly approach
Elementary fragment size defined
Fragments of a packet
= maximum packet size of another network
except for the last one
Header fields
Packet number
Number of first elementary fragment
End-of-packet bit
72
73