cs4550: computer networks ii network layer basics 3 routing & congestion control
DESCRIPTION
CS4550: Computer Networks II network layer basics 3 routing & congestion control . basic routing techniques . fixed random flooding adaptive routing in ARPAnet distance vector link state optimal. basic routing techniques : fixed . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/1.jpg)
CS4550:CS4550:
Computer Networks IIComputer Networks II
network layer basics 3network layer basics 3
routing & congestion control routing & congestion control
![Page 2: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/2.jpg)
basic routing techniques basic routing techniques
fixed random flooding adaptive
routing in ARPAnet distance vector link state
optimal
![Page 3: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/3.jpg)
basic routing techniques : fixed basic routing techniques : fixed
routes between node pairs determined in advance by network control center or administrator
routing tables loaded into nodes, and are not changed dynamically
simple, may be best technique for small networks which do not change often (topology, traffic patterns
routing more easily controlled not responsive to changes in traffic
![Page 4: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/4.jpg)
basic routing : fixed basic routing : fixed
32
8
7
5
1
4
69
10
![Page 5: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/5.jpg)
routing table for node 1routing table for node 1dest next node 1 2 3 4 5 6 7 8 9 10
-224777724
![Page 6: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/6.jpg)
basic routing : flooding basic routing : flooding
send packet to all neighbors, except the one from which received the packet should assign packet # or ID, to avoid
needless redundant transmissions should assign hop count/lifetime to packet to
limit needless congestion, distance traveled
advantages
disadvantages
![Page 7: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/7.jpg)
routing in ARPAnet : 1969-90?routing in ARPAnet : 1969-90? 1st version
-distributed Bellman-Ford SP algorithm also known as “distance vector” routing-each node exchanged delay info each 128 ms with neighbor-delay info based solely on queue lengths-problems: excessive overhead, unstable network, inaccurate delay estimates; responded too quickly to some problems, too slowly to others
![Page 8: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/8.jpg)
““distance vector” routingdistance vector” routing
-each node measures “distance” to adjacent neighbors-these “distances” put into a message (“vector”) and sent to neighbors-distances (& route) to other nodes (not neighbors) computed by adding the measured distance to those in received distance vectors- if don’t know, distance is “infinity”
![Page 9: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/9.jpg)
““distance vector” routingdistance vector” routing
key assumption: that each node “knows” (can measure) distance to its neighbors
each node maintains a routing table; has 1 entry for all nodes in the network
dest node next hop distance
![Page 10: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/10.jpg)
““distance vector” routing exampledistance vector” routing example
1
2
4 5
310
12
12
18 5
20
using measured distances shown, show computation of distance vector tables for each node.
![Page 11: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/11.jpg)
““distance vector” routing exampledistance vector” routing example
2 10 2
3 - -
4 12 4
5 - -
1 10 1
3 12 3
4 - -
5 18 5
initial tables (vectors) for nodes 1 (left) and 2; give initial tables for 3,4,5; then show computationof tables as vectors are exchanged, until stable.
(1) (2)
![Page 12: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/12.jpg)
distance vector routing distance vector routing
works ; reacts quickly to “good news” (a new, shorter route), but reacts slowly to “bad” news (router or link down)
count to infinity problem
split horizon solution, and why it doesn’t always work
![Page 13: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/13.jpg)
distance vector: count to infinitydistance vector: count to infinity
b
a c
de
1 2 12
Suppose node a goes down. Show updating of the distancevector tables.
![Page 14: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/14.jpg)
distance vector : split horizon distance vector : split horizon
A
C
B
what happens if the CD link fails? (assume all hops have length of 1)
D
![Page 15: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/15.jpg)
ARPAnet, 2nd version (1979/80) ARPAnet, 2nd version (1979/80)
delay measurements much better; measured, averaged actual delay of all packets on the link
updates transmitted only every 10 seconds : much improved stability
switched to “link-state” routing, and used Dijkstra’s SP algorithm
much improved; but later, as use of network approached capacity, more problems surfaced
![Page 16: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/16.jpg)
Iink state routing Iink state routing
-each node measures distance to neighbors-sends this info to ALL other nodes in the network (flooding)-each node constructs a weighted graph of the network, and-used Dijkstra’s SP algorithm to compute shortest path
![Page 17: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/17.jpg)
routing metrics, shortest pathsrouting metrics, shortest paths
routing metrics vary widely-instantaneous queue length-measured time -hop count-distance-capacity (bandwidth), data rate
getting the “shortest” path may not really matter to end user. (How many people count time in milliseconds?)
![Page 18: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/18.jpg)
ARPAnet data rates, linksARPAnet data rates, links
initially, all ARPAnet links were 56Kbps telephone lines (digital)
later, higher capacity lines added (T1 lines, satellite links)
computers faster than networks, then
data link protocol very close to HDLC
![Page 19: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/19.jpg)
ARPAnet, 3rd versionARPAnet, 3rd version
increased use of network led to new problems
north-south oscillation problem true solution -
multipath routing increased capacity
fix implemented damping algorithm increase update interval to 17 seconds
![Page 20: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/20.jpg)
optimal routing optimal routing defined mathematically as routing for
which average delay (distance, or other metric) for all packets is minimized.
characterized mathematically as a network flow problem
solution computable, but not efficient algorithm; not useful. However, light load : single SP routing is optimal; heavier load : use more routes to spread out
traffic
![Page 21: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/21.jpg)
congestion control congestion control
congestion: an “excessive” number of packets in the network
termscongestion control
traffic control
flow control : 2 points; link/connection level
network level
![Page 22: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/22.jpg)
congestion - levels congestion - levels
need to define levels of congestion. Below is a very rough rule of thumb.
0 : none - no delay experienced 1 : moderate - experience minimal delay 2 : heavy - significant delays, but still
able to get packets through 3 : total (deadlocked) - so clogged, can’t
get packets through in any reasonable time
![Page 23: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/23.jpg)
congestion - levelscongestion - levels
- general guidelines only; percentages vary according to the network protocols, topologies, and actual distributions of the traffic on the network %reduction from Max throughput
0 none : <20% 1 moderate : 20-50% 2 heavy : 50-70% 3 total : > 70%
![Page 24: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/24.jpg)
congestion run awaycongestion run away in packet switched networks, this
problem is exacerbated, because as delay increases, timeouts occur, causing packet retransmissions, which cause increased congestion
care must be taken first to avoid congestion, second, to reduce it when it occurs; packet retransmissions may have the opposite result, of actually making things worse
![Page 25: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/25.jpg)
congestion control : five basic congestion control : five basic strategies strategies
1 choke packets2 buffer preallocation
3 packet discarding4 isarithmetic control5 flow control (covered elsewhere)
![Page 26: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/26.jpg)
choke packets choke packets
variation of flow control; used only when congestion occurs1. each node monitors utilization U of output lines2. if U becomes heavy, a choke packet sent to hosts sending traffic to that destination3. upon receiving choke packet, the sending host decreases traffic to that destination by X percent
![Page 27: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/27.jpg)
choke packets choke packets 4. host discards other choke packets for that destination for Y time5. After some time, host continues watching for choke packets; if no more come OK, if they do, reduces output again.6. After longer time, if no more choke packets arrive, again slowly may increase the flow. “MDAI”
adds packets to a congested network
![Page 28: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/28.jpg)
buffer preallocationbuffer preallocation
only for VC packet networks1. as call request made, buffer reserved in each node for the connection; if not available, must find another or refuse. 2. as data packets transmitted, acks returned; new packets only sent after receiving acks (which are not sent until packet is in output queue)
completely solves congestion ... at what price?
![Page 29: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/29.jpg)
packet discardingpacket discarding
no buffers reserved in advance when packets arrive, if no buffer space
exists, discard them Irland’s strategy refinements
discard older packets lower priority packets packets on more congested links check packet for acks before discarding
![Page 30: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/30.jpg)
isarithmetic controlisarithmetic control
keeps total number of packets in network below a specified limit
whenever a node transmits a packet into the network, must get a permit for the packet
similar to token for LANs several problems
![Page 31: CS4550: Computer Networks II network layer basics 3 routing & congestion control](https://reader036.vdocuments.site/reader036/viewer/2022062410/5681633c550346895dd3cc9b/html5/thumbnails/31.jpg)
isarithmetic controlisarithmetic control
1. guarantees network not overloaded; but a part or node could be
2. how many permits to use? not easy to decide
3. what if permits lost? how can we tell? 4. in some networks, some packets much
larger than others; all use same permit? 5. not clear that it is “fair” 6. difficult to respond to changing
conditions