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