Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual...

153
Chapter 7 Packet-Switching Networks Network Services and Internal Network Operation Packet Network Topology Datagrams and Virtual Circuits Routing in Packet Networks Shortest Path Routing ATM Networks Traffic Management

Transcript of Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual...

Page 1: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

NetworksNetwork Services and Internal Network

OperationPacket Network Topology

Datagrams and Virtual CircuitsRouting in Packet Networks

Shortest Path RoutingATM Networks

Traffic Management

Page 2: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Network Services and Internal Network Operation

Page 3: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Network Layer

Network Layer: the most complex layerRequires the coordinated actions of multiple, geographically distributed network elements (switches & routers)Must be able to deal with very large scales

Billions of users (people & communicating devices)Biggest Challenges

Addressing: where should information be directed to?Routing: what path should be used to get information there?

Page 4: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

t0 t1

Network

Packet Switching

Transfer of information as payload in data packetsPackets undergo random delays & possible lossDifferent applications impose differing requirements on the transfer of information

Page 5: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

End system

βPhysicallayer

Data linklayer

Physicallayer

Data linklayerEnd

systemα

Networklayer

Networklayer

Physicallayer

Data linklayer

Networklayer

Physicallayer

Data linklayer

Networklayer

Transportlayer

Transportlayer

Messages Messages

Segments

Networkservice

Networkservice

Network Service

Network layer can offer a variety of services to transport layerConnection-oriented service or connectionless serviceBest-effort or delay/loss guarantees

Page 6: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Network Service vs. OperationNetwork Service

ConnectionlessDatagram Transfer

Connection-OrientedReliable and possibly constant bit rate transfer

Internal Network OperationConnectionless

IPConnection-Oriented

Telephone connectionATM

Various combinations are possibleConnection-oriented service over Connectionless operationConnectionless service over Connection-Oriented operationContext & requirements determine what makes sense

Page 7: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

13 3 21 22

3 2 11 22 1

21

Medium

A B

3 2 11 221

C

2 1

21

2 14 1 2 3 4

End systemα

End systemβ

Network1

2

Physical layer entity

Data link layer entity 3 Network layer entity

3 Network layer entity

Transport layer entity4

Complexity at the Edge or in the Core?

Page 8: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

The End-to-End Argument for System Design

An end-to-end function is best implemented at a higher level than at a lower level

End-to-end service requires all intermediate components to work properlyHigher-level better positioned to ensure correct operation

Example: stream transfer serviceEstablishing an explicit connection for each stream across network requires all network elements (NEs) to be aware of connection; All NEs have to be involved in re-establishment of connections in case of network faultIn connectionless network operation, NEs do not deal with each explicit connection and hence are much simpler in design

Page 9: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Network Layer FunctionsEssential

Routing: mechanisms for determining the set of best paths for routing packets requires the collaboration of network elementsForwarding: transfer of packets from NE inputs to outputsPriority & Scheduling: determining order of packet transmission in each NE

Optional: congestion control, segmentation & reassembly, security

Page 10: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Packet Network Topology

Page 11: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

End-to-End Packet NetworkPacket networks very different than telephone networksIndividual packet streams are highly bursty

Statistical multiplexing is used to concentrate streamsUser demand can undergo dramatic change

Peer-to-peer applications stimulated huge growth in traffic volumes

Internet structure highly decentralizedPaths traversed by packets can go through many networks controlled by different organizationsNo single entity responsible for end-to-end service

Page 12: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

AccessMUX

Topacketnetwork

Access Multiplexing

Packet traffic from users multiplexed at access to network into aggregated streamsDSL traffic multiplexed at DSL Access MuxCable modem traffic multiplexed at Cable Modem Termination System

Page 13: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

OversubscriptionAccess Multiplexer

N subscribers connected @ c bps to muxEach subscriber active r/c of timeMux has C=nc bps to networkOversubscription rate: N/nFind n so that at most 1% overflow probability

Feasible oversubscription rate increases with size

5.54.43.32.53.310N/n

1896431n

100 lightly loaded users0.1100

40 lightly loaded users0.140

20 lightly loaded users0.120

10 lightly loaded users0.110

10 very lightly loaded user0.0510

10 extremely lightly loaded users0.0110r/cN

•• •

Nr Nc

rr

r nc•• •

Page 14: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Home LANs

Home RouterLAN Access using Ethernet or WiFi (IEEE 802.11)Private IP addresses in Home (192.168.0.x) using Network Address Translation (NAT)Single global IP address from ISP issued using Dynamic Host Configuration Protocol (DHCP)

HomeRouter

Topacketnetwork

WiFi

Ethernet

Page 15: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

LAN Concentration

LAN Hubs and switches in the access network also aggregate packet streams that flows into switches and routers

Switch/ Router

Page 16: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

RR

RRS

SS

s

s s

s

ss

s

ss

s

R

s

R

Backbone

To Internet or wide area network

Organization Servers

Departmental Server

Gateway

Campus Network

Only outgoing packets leave LAN through router

High-speed campus backbone net connects dept routers

Servers have redundant connectivity to backbone

Page 17: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Interdomain level

Intradomain level

Autonomoussystem ordomain

Border routers

Border routers

Internet service provider

s

ssLAN

Connecting to Internet Service Provider

CampusNetwork

network administeredby single organization

Page 18: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

National Service Provider A

National Service Provider B

National Service Provider C

NAP NAP

Private peering

Internet Backbone

Network Access Points: set up during original commercialization of Internet to facilitate exchange of trafficPrivate Peering Points: two-party inter-ISP agreements to exchange traffic

Page 19: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

RA

RB

RC

Route

Server

NAP

National Service Provider A

National Service Provider B

National Service Provider C

LAN

NAP NAP

(a)

(b)

Private peering

Page 20: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Key Role of RoutingHow to get packet from here to there?

Decentralized nature of Internet makes routing a major challenge

Interior gateway protocols (IGPs) are used to determine routes within a domain Exterior gateway protocols (EGPs) are used to determine routes across domainsRoutes must be consistent & produce stable flows

Scalability required to accommodate growthHierarchical structure of IP addresses essential to keeping size of routing tables manageable

Page 21: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Datagrams and Virtual Circuits

Page 22: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

The Switching FunctionDynamic interconnection of inputs to outputsEnables dynamic sharing of transmission resourceTwo fundamental approaches:

ConnectionlessConnection-Oriented: Call setup control, Connection control

Backbone Network

Access Network

Switch

Page 23: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Packetswitch

Network

Transmissionline

User

Packet Switching Network

Packet switching networkTransfers packets between usersTransmission lines + packet switches (routers)Origin in message switching

Two modes of operation:ConnectionlessVirtual Circuit

Page 24: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Message switching invented for telegraphyEntire messages multiplexed onto shared lines, stored & forwardedHeaders for source & destination addressesRouting at message switchesConnectionless

Switches

Message

Destination

Source

Message

Message

Message

Message Switching

Page 25: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

t

t

t

t

Delay

Source

Destination

T

τ

Minimum delay = 3τ + 3T

Switch 1

Switch 2

Message Switching Delay

Additional queueing delays possible at each link

Page 26: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Long Messages vs. Packets

Approach 1: send 1 MbitmessageProbability message arrives correctly

On average it takes about 3 transmissions/hopTotal # bits transmitted ≈6 Mbits

1 Mbitmessage source dest

BER=p=10-6 BER=10-6

How many bits need to be transmitted to deliver message?

Approach 2: send 10 100-kbit packetsProbability packet arrives correctly

On average it takes about 1.1 transmissions/hopTotal # bits transmitted ≈2.2 Mbits

3/1)101( 11010106 666

≈=≈−= −−− −

eePc 9.0)101( 1.01010106 655

≈=≈−=′ −−− −

eePc

Page 27: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Packet Switching - DatagramMessages broken into smaller units (packets)Source & destination addresses in packet headerConnectionless, packets routed independently (datagram)Packet may arrive out of orderPipelining of packets across network can reduce delay, increase throughputLower delay that message switching, suitable for interactive traffic

Packet 2

Packet 1

Packet 1

Packet 2

Packet 2

Page 28: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

t

t

t

t

Delay

31 2

31 2

321

Minimum Delay = 3τ + 5(T/3) (single path assumed)Additional queueing delays possible at each linkPacket pipelining enables message to arrive sooner

Packet Switching DelayAssume three packets corresponding to one message traverse same path

Page 29: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

t

t

t

t

31 2

31 2

321

3τ + 2(T/3) first bit received

3τ + 3(T/3) first bit released

3τ + 5 (T/3) last bit released

Lτ + (L-1)P first bit received

Lτ + LP first bit released

Lτ + LP + (k-1)P last bit releasedwhere T = k P

3 hops L hops

Source

Destination

Switch 1

Switch 2

τ

Delay for k-Packet Message over L Hops

Page 30: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Destinationaddress

Outputport

1345 12

2458

70785

6

12

1566

Routing Tables in Datagram Networks

Route determined by table lookupRouting decision involves finding next hop in route to given destinationRouting table has an entry for each destination specifying output port that leads to next hopSize of table becomes impractical for very large number of destinations

Page 31: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Example: Internet RoutingInternet protocol uses datagram packet switching across networks

Networks are treated as data linksHosts have two-port IP address:

Network address + Host addressRouters do table lookup on network address

This reduces size of routing tableIn addition, network addresses are assigned so that they can also be aggregated

Discussed as CIDR in Chapter 8

Page 32: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Packet Switching – Virtual Circuit

Call set-up phase sets ups pointers in fixed path along networkAll packets for a connection follow the same pathAbbreviated header identifies connection on each linkPackets queue for transmissionVariable bit rates possible, negotiated during call set-upDelays variable, cannot be less than circuit switching

Virtual circuit

Packet PacketPacket

Packet

Page 33: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

SW 1

SW 2

SW n

Connect request

Connect request

Connect request

Connect confirm

Connect confirm

Connect confirm

Connection Setup

Signaling messages propagate as route is selectedSignaling messages identify connection and setup tables in switchesTypically a connection is identified by a local tag, Virtual Circuit Identifier (VCI)Each switch only needs to know how to relate an incoming tag in one input to an outgoing tag in the corresponding output Once tables are setup, packets can flow along path

Page 34: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

t

t

t

t

31 2

31 2

321

Release

Connect request

CR

CR Connect confirm

CC

CC

Connection Setup Delay

Connection setup delay is incurred before any packet can be transferredDelay is acceptable for sustained transfer of large number of packetsThis delay may be unacceptably high if only a few packets are being transferred

Page 35: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

InputVCI

Outputport

OutputVCI

15 15

58

13

13

7

27

12 44

23

16

34

Virtual Circuit Forwarding Tables

Each input port of packet switch has a forwarding tableLookup entry for VCI of incoming packetDetermine output port (next hop) and insert VCI for next linkVery high speeds are possibleTable can also include priority or other information about how packet should be treated

Page 36: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

31 2

31 2

321

Minimum delay = 3τ + Tt

t

t

tSource

Destination

Switch 1

Switch 2

Cut-Through switching

Some networks perform error checking on header only, so packet can be forwarded as soon as header is received & processedDelays reduced further with cut-through switching

Page 37: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Message vs. Packet Minimum Delay

Message:L τ + L T = L τ + (L – 1) T + T

PacketL τ + L P + (k – 1) P = L τ + (L – 1) P + T

Cut-Through Packet (Immediate forwarding after header)

= L τ + T

Above neglect header processing delays

Page 38: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Example: ATM Networks

All information mapped into short fixed-length packets called cellsConnections set up across network

Virtual circuits established across networksTables setup at ATM switches

Several types of network services offeredConstant bit rate connectionsVariable bit rate connections

Page 39: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Datagrams and Virtual CircuitsStructure of a Packet Switch

Page 40: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Packet Switch: Intersection where Traffic Flows Meet

1

2

N

1

2

N

•• •

•• •

Inputs contain multiplexed flows from access muxs & other packet switchesFlows demultiplexed at input, routed and/or forwarded to output portsPackets buffered, prioritized, and multiplexed on output lines

•• •

Page 41: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Controller

12

3

N

Line card

Line card

Line card

Line card

Inte

rcon

nect

ion

fabr

ic

Line card

Line card

Line card

Line card

12

3

N

Input ports Output ports

Data path Control path (a)

…………

Generic Packet Switch “Unfolded” View of Switch

Ingress Line CardsHeader processingDemultiplexingRouting in large switches

ControllerRouting in small switchesSignalling & resource allocation

Interconnection FabricTransfer packets between line cards

Egress Line CardsScheduling & priorityMultiplexing

Page 42: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Inte

rcon

nect

ion

fabr

ic

Transceiver

Transceiver

Framer

Framer

Networkprocessor

Backplanetransceivers

Tophysical

ports

Toswitchfabric

Tootherline

cards

Line Cards

Folded View1 circuit board is ingress/egress line cardPhysical layer processingData link layer processingNetwork header processingPhysical layer across fabric + framing

Page 43: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

N

1

2

3

N

SharedMemory

QueueControl

Ingress Processing

ConnectionControl

Shared Memory Packet SwitchOutput

Buffering

Small switches can be built by reading/writing into shared memory

Page 44: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

N

1 2 3 N

Inputs

Outputs

(a) Input buffering

38

3…

1

2

3

N

1 2 3 N

Inputs

Outputs

(b) Output buffering

Crossbar Switches

Large switches built from crossbar & multistage space switchesRequires centralized controller/scheduler (who sends to whom when)Can buffer at input, output, or both (performance vs complexity)

Page 45: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

0

1

2

Inputs Outputs

3

4

5

6

7

0

1

2

3

4

5

6

7Stage 1 Stage 2 Stage 3

Self-Routing Switches

Self-routing switches do not require controllerOutput port number determines route101 → (1) lower port, (2) upper port, (3) lower port

Page 46: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Routing in Packet Networks

Page 47: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

4

5

6

Node (switch or router)

Routing in Packet Networks

Three possible (loopfree) routes from 1 to 6:1-3-6, 1-4-5-6, 1-2-5-6

Which is “best”?Min delay? Min hop? Max bandwidth? Min cost? Max reliability?

Page 48: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Creating the Routing Tables

Need information on state of linksLink up/down; congested; delay or other metrics

Need to distribute link state information using a routing protocol

What information is exchanged? How often?Exchange with neighbors; Broadcast or flood

Need to compute routes based on informationSingle metric; multiple metricsSingle route; alternate routes

Page 49: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Routing Algorithm Requirements

Responsiveness to changesTopology or bandwidth changes, congestion Rapid convergence of routers to consistent set of routesFreedom from persistent loops

OptimalityResource utilization, path length

RobustnessContinues working under high load, congestion, faults, equipment failures, incorrect implementations

SimplicityEfficient software implementation, reasonable processing load

Page 50: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Centralized vs Distributed RoutingCentralized Routing

All routes determined by a central nodeAll state information sent to central nodeProblems adapting to frequent topology changesDoes not scale

Distributed RoutingRoutes determined by routers using distributed algorithmState information exchanged by routersAdapts to topology and other changesBetter scalability

Page 51: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Static vs Dynamic RoutingStatic Routing

Set up manually, do not change; requires administrationWorks when traffic predictable & network is simpleUsed to override some routes set by dynamic algorithmUsed to provide default router

Dynamic RoutingAdapt to changes in network conditionsAutomatedCalculates routes based on received updated network state information

Page 52: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

4

5

6AB

CD

1

5

2

3

7

1

8

54 2

3

6

5

2

Switch or router

HostVCI

Routing in Virtual-Circuit Packet Networks

Route determined during connection setupTables in switches implement forwarding that realizes selected route

Page 53: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Incoming OutgoingNode VCI Node VCIA 1 3 2A 5 3 33 2 A 13 3 A 5

Incoming OutgoingNode VCI Node VCI1 2 6 71 3 4 44 2 6 16 7 1 26 1 4 24 4 1 3

Incoming OutgoingNode VCI Node VCI3 7 B 83 1 B 5B 5 3 1B 8 3 7

Incoming OutgoingNode VCI Node VCIC 6 4 34 3 C 6

Incoming OutgoingNode VCI Node VCI2 3 3 23 4 5 53 2 2 35 5 3 4

Incoming OutgoingNode VCI Node VCI4 5 D 2D 2 4 5

Node 1

Node 2

Node 3

Node 4

Node 6

Node 5

Routing Tables in VC Packet Networks

Example: VCI from A to DFrom A & VCI 5 → 3 & VCI 3 → 4 & VCI 4→ 5 & VCI 5 → D & VCI 2

Page 54: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

2 23 34 45 26 3

Node 1

Node 2

Node 3

Node 4

Node 6

Node 5

1 12 44 45 66 6

1 32 53 34 35 5

Destination Next node1 13 14 45 56 5

1 42 23 44 46 6

1 12 23 35 56 3

Destination Next node

Destination Next node

Destination Next node

Destination Next nodeDestination Next node

Routing Tables in Datagram Packet Networks

Page 55: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

0000 0111 1010 1101

0001 0100 1011 1110

0011 0101 1000 1111

0011 0110 1001 1100

R1

1

2 5

4

3

0000 1 0111 1 1010 1 … …

0001 4 0100 4 1011 4 … …

R2

Non-Hierarchical Addresses and Routing

No relationship between addresses & routing proximityRouting tables require 16 entries each

Page 56: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

0000 0001 0010 0011

0100 0101 0110 0111

1100 1101 1110 1111

1000 1001 1010 1011

R1 R2

1

2 5

4

3

00 1 01 3 10 2 11 3

00 3 01 4 10 3 11 5

Hierarchical Addresses and Routing

Prefix indicates network where host is attachedRouting tables require 4 entries each

Page 57: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Flat vs Hierarchical RoutingFlat Routing

All routers are peersDoes not scale

Hierarchical RoutingPartitioning: Domains, autonomous systems, areas... Some routers part of routing backboneSome routers only communicate within an areaEfficient because it matches typical traffic flow patternsScales

Page 58: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Specialized Routing

FloodingUseful in starting up networkUseful in propagating information to all nodes

Deflection RoutingFixed, preset routing procedureNo route synthesis

Page 59: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Flooding

Send a packet to all nodes in a networkNo routing tables availableNeed to broadcast packet to all nodes (e.g. to propagate link state information)

ApproachSend packet on all ports except one where it arrivedExponential growth in packet transmissions

Page 60: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

4

5

6

Flooding is initiated from Node 1: Hop 1 transmissions

Page 61: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

4

5

6

Flooding is initiated from Node 1: Hop 2 transmissions

Page 62: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

4

5

6

Flooding is initiated from Node 1: Hop 3 transmissions

Page 63: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Limited Flooding

Time-to-Live field in each packet limits number of hops to certain diameterEach switch adds its ID before flooding; discards repeatsSource puts sequence number in each packet; switches records source address and sequence number and discards repeats

Page 64: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Deflection RoutingNetwork nodes forward packets to preferred portIf preferred port busy, deflect packet to another portWorks well with regular topologies

Manhattan street networkRectangular array of nodesNodes designated (i,j) Rows alternate as one-way streetsColumns alternate as one-way avenues

Bufferless operation is possibleProposed for optical packet networksAll-optical buffering currently not viable

Page 65: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

0,0 0,1 0,2 0,3

1,0 1,1 1,2 1,3

2,0 2,1 2,2 2,3

3,0 3,1 3,2 3,3

Tunnel from last column to first column or

vice versa

Page 66: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

0,0 0,1 0,2 0,3

1,0 1,1 1,2 1,3

2,0 2,1 2,2 2,3

3,0 3,1 3,2 3,3

busy

Example: Node (0,2)→(1,0)

Page 67: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Shortest Path Routing

Page 68: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Shortest Paths & Routing

Many possible paths connect any given source and to any given destinationRouting involves the selection of the path to be used to accomplish a given transferTypically it is possible to attach a cost or distance to a link connecting two nodesRouting can then be posed as a shortest path problem

Page 69: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Routing MetricsMeans for measuring desirability of a path

Path Length = sum of costs or distancesPossible metrics

Hop count: rough measure of resources usedReliability: link availability; BERDelay: sum of delays along path; complex & dynamicBandwidth: “available capacity” in a pathLoad: Link & router utilization along pathCost: $$$

Page 70: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Shortest Path Approaches

Distance Vector ProtocolsNeighbors exchange list of distances to destinationsBest next-hop determined for each destinationFord-Fulkerson (distributed) shortest path algorithm

Link State ProtocolsLink state information flooded to all routersRouters have complete topology informationShortest path (& hence next hop) calculated Dijkstra (centralized) shortest path algorithm

Page 71: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

San Jose 392

San Jose 596

San Jose 294

San Jose 250

Distance VectorDo you know the way to San Jose?

Page 72: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Distance VectorLocal Signpost

DirectionDistance

Routing TableFor each destination list:

Next NodeDistance

Table SynthesisNeighbors exchange table entriesDetermine current best next hopInform neighbors

PeriodicallyAfter changes

dest next dist

Page 73: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Shortest Path to SJ

ij

SanJose

Cij

Dj

Di If Di is the shortest distance to SJ from iand if j is a neighbor on the shortest path, then Di = Cij + Dj

Focus on how nodes find their shortest path to a given destination node, i.e. SJ

Page 74: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

i only has local infofrom neighbors

Dj"

Cij”

i

SanJose

jCij

Dj

Di j"

Cij'

j'Dj'

Pick current shortest path

But we don’t know the shortest paths

Page 75: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Why Distance Vector Works

SanJose1 Hop

From SJ2 HopsFrom SJ3 Hops

From SJ

Accurate info about SJripples across network,

Shortest Path Converges

SJ sendsaccurate info

Hop-1 nodescalculate current (next hop, dist), &send to neighbors

Page 76: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Bellman-Ford AlgorithmConsider computations for one destination dInitialization

Each node table has 1 row for destination dDistance of node d to itself is zero: Dd=0Distance of other node j to d is infinite: Dj=∝, for j≠ dNext hop node nj = -1 to indicate not yet defined for j ≠ d

Send StepSend new distance vector to immediate neighbors across local link

Receive StepAt node j, find the next hop that gives the minimum distance to d,

Minj { Cij + Dj }Replace old (nj, Dj(d)) by new (nj*, Dj*(d)) if new next node or distance

Go to send step

Page 77: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Bellman-Ford AlgorithmNow consider parallel computations for all destinations dInitialization

Each node has 1 row for each destination dDistance of node d to itself is zero: Dd(d)=0Distance of other node j to d is infinite: Dj(d)= ∝ , for j ≠ dNext node nj = -1 since not yet defined

Send StepSend new distance vector to immediate neighbors across local link

Receive StepFor each destination d, find the next hop that gives the minimum distance to d,

Minj { Cij+ Dj(d) }Replace old (nj, Di(d)) by new (nj*, Dj*(d)) if new next node or distance found

Go to send step

Page 78: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

3

2

1

(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

31

5

46

2

2

3

4

2

1

1

2

3

5SanJose

Table entry @ node 1for dest SJ

Table entry @ node 3for dest SJ

Page 79: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

3

2

(6,2)(-1, ∞)(6,1)(-1, ∞)(-1, ∞)1

(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

D6=0

D3=D6+1n3=6

31

5

46

2

2

3

4

2

1

1

2

3

5

D6=0D5=D6+2n5=6

0

2

1

Page 80: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

3

(6,2)(3,3)(6, 1)(5,6)(3,3)2

(6,2)(-1, ∞)(6, 1)(-1, ∞)(-1, ∞)1

(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

31

5

46

2

2

3

4

2

1

1

2

3

50

1

2

3

3

6

Page 81: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

(6,2)(3,3)(6, 1)(4,4)(3,3)3

(6,2)(3,3)(6, 1)(5,6)(3,3)2

(6,2)(-1, ∞)(6, 1)(-1, ∞)(-1, ∞)1

(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)(-1, ∞)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

31

5

46

2

2

3

4

2

1

1

2

3

50

1

26

3

3

4

Page 82: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

3

2

(6,2)(3,3)(4, 5)(4,4)(3,3)1

(6,2)(3,3)(6, 1)(4,4)(3,3)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

31

5

46

2

2

3

4

2

1

1

2

3

50

1

2

3

3

4

Network disconnected; Loop created between nodes 3 and 4

5

Page 83: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

3

(6,2)(5,5)(4, 5)(4,4)(3,7)2

(6,2)(3,3)(4, 5)(4,4)(3,3)1

(6,2)(3,3)(6, 1)(4,4)(3,3)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

31

5

46

2

2

3

4

2

1

1

2

3

50

2

5

3

3

4

7

5

Node 4 could have chosen 2 as next node because of tie

Page 84: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

(6,2)(5,5)(4, 7)(4,6)(3,7)3

(6,2)(5,5)(4, 5)(4,4)(3,7)2

(6,2)(3,3)(4, 5)(4,4)(3,3)1

(6,2)(3,3)(6, 1)(4,4)(3,3)Initial

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

31

5

46

2

2

3

4

2

1

1

2

3

5 0

2

5

57

4

7

6Node 2 could have chosen 5 as next node because of tie

Page 85: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

3

5

46

2

2

3

4

2

1

1

2

3

51

(6,2)(5,5)(4, 7)(4,6)(2,9)4

(6,2)(5,5)(4, 7)(4,6)(3,7)3

(6,2)(2,5)(4, 5)(4,4)(3,7)2

(6,2)(3,3)(4, 5)(4,4)(3,3)1

Node 5Node 4Node 3Node 2Node 1Iteration

SanJose

0

77

5

6

9

2

Node 1 could have chose 3 as next node because of tie

Page 86: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

31 2 41 1 1

31 2 41 1

X

(a)

(b)

…………(2,7)(3,8)(2,7)5

(2,7)(3,6)(2,7)4

(2,5)(3,4)(2,5)2

(2,5)(3,6)(2,5)3

(2,3)(3,4)(2,3)1

(2,3)(3,2)(2,3)After break

(4, 1)(3,2)(2,3)Before break

Node 3Node 2Node 1Update

Counting to Infinity ProblemNodes believe best path is through each other(Destination is node 4)

Page 87: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Problem: Bad News Travels SlowlyRemedies

Split HorizonDo not report route to a destination to the neighbor from which route was learned

Poisoned ReverseReport route to a destination to the neighbor from which route was learned, but with infinite distanceBreaks erroneous direct loops immediatelyDoes not work on some indirect loops

Page 88: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

31 2 41 1 1

31 2 41 1

X

(a)

(b)

Split Horizon with Poison Reverse

Nodes believe best path is through each other

(-1, ∞)

(-1, ∞)

(-1, ∞)(4, 1)

Node 3

Node 1 finds there is no route to 4(-1, ∞)(-1, ∞)2

Node 1 advertizes its route to 4 to node 2 as having distance infinity; node 2 finds there is no route to 4

(-1, ∞)(2, 3)1

Node 2 advertizes its route to 4 to node 3 as having distance infinity; node 3 finds there is no route to 4

(3, 2)(2, 3)After break(3, 2)(2, 3)Before break

Node 2Node 1Update

Page 89: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Link-State AlgorithmBasic idea: two step procedure

Each source node gets a map of all nodes and link metrics (link state) of the entire network Find the shortest path on the map from the source node to all destination nodes

Broadcast of link-state informationEvery node i in the network broadcasts to every other node in the network:

ID’s of its neighbors: Ni=set of neighbors of iDistances to its neighbors: {Cij | j ∈Ni}

Flooding is a popular method of broadcasting packets

Page 90: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Dijkstra Algorithm: Finding shortest paths in order

s

w

w"

w'

Closest node to s is 1 hop away

w"

x

x'

2nd closest node to s is 1 hop away from s or w”

xz

z'

3rd closest node to s is 1 hop away from s, w”, or xw'

Find shortest paths from source s to all other destinations

Page 91: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Dijkstra’s algorithmN: set of nodes for which shortest path already foundInitialization: (Start with source node s)

N = {s}, Ds = 0, “s is distance zero from itself”Dj=Csj for all j ≠ s, distances of directly-connected neighbors

Step A: (Find next closest node i) Find i ∉ N such thatDi = min Dj for j ∉ NAdd i to NIf N contains all the nodes, stop

Step B: (update minimum costs)For each node j ∉ NDj = min (Dj, Di+Cij)Go to Step A

Minimum distance from s to j through node i in N

Page 92: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Execution of Dijkstra’s algorithm

35423{1,2,3,4,5,6}535423{1,2,3,4,6}435423{1,2,3,6}337423{1,2,3}23∝423{1,3}1∝∝523{1}InitialD6D5D4D3D2NIteration

1

2

4

5

6

1

1

2

3 23

5

2

4

3 1

2

4

5

6

1

1

2

3 23

5

2

4

331

2

4

5

6

1

1

2

3 23

5

2

4

3 1

2

4

5

6

1

1

2

3 23

5

2

4

331

2

4

5

6

1

1

2

3 23

5

2

4

33 1

2

4

5

6

1

1

2

3 23

5

2

4

331

2

4

5

6

1

1

2

3 23

5

2

4

33

Page 93: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Shortest Paths in Dijkstra’sAlgorithm

1

2

4

5

6

1

1

2

3 23

5

2

4

3 31

2

4

5

6

1

1

2

3 23

5

2

4

3

1

2

4

5

6

1

1

2

3 23

5

2

4

33 1

2

4

5

6

1

1

2

3 23

5

2

4

33

1

2

4

5

6

1

1

2

3 23

5

2

4

33 1

2

4

5

6

1

1

2

3 23

5

2

4

33

Page 94: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Reaction to FailureIf a link fails,

Router sets link distance to infinity & floods the network with an update packetAll routers immediately update their link database & recalculate their shortest pathsRecovery very quick

But watch out for old update messages Add time stamp or sequence # to each update messageCheck whether each received update message is newIf new, add it to database and broadcastIf older, send update message on arriving link

Page 95: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Why is Link State Better?

Fast, loopless convergenceSupport for precise metrics, and multiple metrics if necessary (throughput, delay, cost, reliability)Support for multiple paths to a destination

algorithm can be modified to find best two paths

Page 96: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Source RoutingSource host selects path that is to be followed by a packet

Strict: sequence of nodes in path inserted into headerLoose: subsequence of nodes in path specified

Intermediate switches read next-hop address and remove addressSource host needs link state information or access to a route serverSource routing allows the host to control the paths that its information traverses in the networkPotentially the means for customers to select what service providers they use

Page 97: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1

2

3

4

5

6A

B

Source host

Destination host

1,3,6,B

3,6,B 6,B

B

Example

Page 98: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

ATM Networks

Page 99: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Asynchronous Tranfer Mode (ATM)

Packet multiplexing and switchingFixed-length packets: “cells”Connection-orientedRich Quality of Service support

Conceived as end-to-endSupporting wide range of services

Real time voice and videoCircuit emulation for digital transportData traffic with bandwidth guarantees

Detailed discussion in Chapter 9

Page 100: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

ATMAdaptation

Layer

ATMAdaptation

Layer

ATM Network

Video PacketVoiceVideo PacketVoice

ATM Networking

End-to-end information transport using cells53-byte cell provide low delay and fine multiplexing granularitySupport for many services through ATM Adaptation Layer

Page 101: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

TDM vs. Packet Multiplexing

Packet

TDM

Header & packet processing required

EfficientVariableEasily handled

Minimal, very high speed

InefficientLow, fixedMultirateonly

ProcessingBurst trafficDelayVariable bit rate

*

*In mid-1980s, packet processing mainly in software and hence slow; By late 1990s, very high speed packet processing possible

Page 102: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

MUX

Wasted bandwidth

ATM

TDM3 2 1 4 3 2 1 4 3 2 1

4 3 1 3 2 2 1

Voice

Data packets

Images

1

2

3

4

ATM: Attributes of TDM & Packet Switching

• Packet structure gives flexibility & efficiency

• Synchronous slot transmission gives high speed & density

Packet Header

Page 103: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

2

3

N

1

Switch

N

1

5

6

video

video

voice

data

2532

3261

7567

3967

N1

32

video 75

voice

data

video

……

32

25 32

61

39

67

67

ATM SwitchingSwitch carries out table translation and routing

ATM switches can be implemented using shared memory,shared backplanes, or self-routing multi-stage fabrics

Page 104: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Virtual connections setup across networkConnections identified by locally-defined tagsATM Header contains virtual connection information:

8-bit Virtual Path Identifier16-bit Virtual Channel Identifier

Powerful traffic grooming capabilitiesMultiple VCs can be bundled within a VP Similar to tributaries with SONET, except variable bit rates possible

Physical link

Virtual paths

Virtual channels

ATM Virtual Connections

Page 105: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

ATMSw1

ATMSw4

ATMSw2

ATMSw3

ATMcross-

connect

abc

de

VPI 3 VPI 5

VPI 2

VPI 1

a

bc

de

Sw = switch

VPI/VCI switching & multiplexing

Connections a,b,c bundled into VP at switch 1Crossconnect switches VP without looking at VCIsVP unbundled at switch 2; VC switching thereafter

VPI/VCI structure allows creation virtual networks

Page 106: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

MPLS & ATMATM initially touted as more scalable than packet switchingATM envisioned speeds of 150-600 MbpsAdvances in optical transmission proved ATM to be the less scalable: @ 10 Gbps

Segmentation & reassembly of messages & streams into 48-byte cell payloads difficult & inefficientHeader must be processed every 53 bytes vs. 500 bytes on average for packetsDelay due to 1250 byte packet at 10 Gbps = 1 μsec; delay due to 53 byte cell @ 150 Mbps ≈ 3 μsec

MPLS (Chapter 10) uses tags to transfer packets across virtual circuits in Internet

Page 107: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Traffic Management Packet Level

Flow LevelFlow-Aggregate Level

Page 108: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Traffic Management Vehicular traffic management

Traffic lights & signals control flow of traffic in city street systemObjective is to maximize flow with tolerable delaysPriority Services

Police sirensCavalcade for dignitariesBus & High-usage lanesTrucks allowed only at night

Packet traffic managementMultiplexing & access mechanisms to control flow of packet trafficObjective is make efficient use of network resources & deliver QoSPriority

Fault-recovery packetsReal-time trafficEnterprise (high-revenue) trafficHigh bandwidth traffic

Page 109: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Time Scales & GranularitiesPacket Level

Queueing & scheduling at multiplexing pointsDetermines relative performance offered to packets over a short time scale (microseconds)

Flow LevelManagement of traffic flows & resource allocation to ensure delivery of QoS (milliseconds to seconds)Matching traffic flows to resources available; congestion control

Flow-Aggregate LevelRouting of aggregate traffic flows across the network for efficient utilization of resources and meeting of service levels“Traffic Engineering”, at scale of minutes to days

Page 110: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

1 2 NN – 1

Packet buffer

End-to-End QoS

A packet traversing network encounters delay and possible loss at various multiplexing pointsEnd-to-end performance is accumulation of per-hop performances

Page 111: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Scheduling & QoSEnd-to-End QoS & Resource Control

Buffer & bandwidth control → PerformanceAdmission control to regulate traffic level

Scheduling Conceptsfairness/isolationpriority, aggregation,

Fair Queueing & VariationsWFQ, PGPS

Guaranteed Service WFQ, Rate-control

Packet Droppingaggregation, drop priorities

Page 112: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

FIFO Queueing

All packet flows share the same bufferTransmission Discipline: First-In, First-OutBuffering Discipline: Discard arriving packets if buffer is full (Alternative: random discard; pushouthead-of-line, i.e. oldest, packet)

Packet buffer

Transmissionlink

Arrivingpackets

Packet discardwhen full

Page 113: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

FIFO QueueingCannot provide differential QoS to different packet flows

Different packet flows interact stronglyStatistical delay guarantees via load control

Restrict number of flows allowed (connection admission control)Difficult to determine performance delivered

Finite buffer determines a maximum possible delayBuffer size determines loss probability

But depends on arrival & packet length statisticsVariation: packet enqueueing based on queue thresholds

some packet flows encounter blocking before othershigher loss, lower delay

Page 114: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Packet buffer

Transmissionlink

Arrivingpackets

Packet discardwhen full

Packet buffer

Transmissionlink

Arrivingpackets

Class 1discard

when full

Class 2 discardwhen threshold

exceeded

(a)

(b)

FIFO Queueing with Discard Priority

Page 115: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

HOL Priority Queueing

High priority queue serviced until emptyHigh priority queue has lower waiting timeBuffers can be dimensioned for different loss probabilitiesSurge in high priority queue can cause low priority queue to saturate

Transmissionlink

Packet discardwhen full

High-prioritypackets

Low-prioritypackets

Packet discardwhen full

Whenhigh-priorityqueue empty

Page 116: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

HOL Priority FeaturesProvides differential QoSPre-emptive priority: lower classes invisibleNon-preemptive priority: lower classes impact higher classes through residual service timesHigh-priority classes can hog all of the bandwidth & starve lower priority classesNeed to provide some isolation between classes

Del

ay

Per-class loads

(Note: Need labeling)

Page 117: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Earliest Due Date Scheduling

Queue in order of “due date”packets requiring low delay get earlier due datepackets without delay get indefinite or very long due dates

Sorted packet buffer

Transmissionlink

Arrivingpackets

Packet discardwhen full

Taggingunit

Page 118: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Each flow has its own logical queue: prevents hogging; allows differential loss probabilitiesC bits/sec allocated equally among non-empty queues

transmission rate = C / n(t), where n(t)=# non-empty queues

Idealized system assumes fluid flow from queuesImplementation requires approximation: simulate fluid system; sort packets according to completion time in ideal system

Fair Queueing / Generalized Processor Sharing

C bits/second

Transmissionlink

Packet flow 1

Packet flow 2

Packet flow n

Approximated bit-levelround robin service

… …

Page 119: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Buffer 1at t=0

Buffer 2at t=0

1

t1 2

Fluid-flow system:both packets served at rate 1/2

Both packetscomplete serviceat t = 2

0

1

t1 2

Packet-by-packet system:buffer 1 served first at rate 1;then buffer 2 served at rate 1.

Packet from buffer 2being served

Packet frombuffer 1 being

served

Packet frombuffer 2 waiting

0

Page 120: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Buffer 1at t=0

Buffer 2at t=0

2

1

t3

Fluid-flow system:both packets served at rate 1/2

Packet from buffer 2 served at rate 1

0

2

1

t1 2

Packet-by-packet fair queueing:buffer 2 served at rate 1

Packet frombuffer 1 served at rate 1

Packet frombuffer 2 waiting

0 3

Page 121: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Buffer 1at t=0

Buffer 2at t=0 1

t1 2

Fluid-flow system:packet from buffer 1served at rate 1/4;

Packet from buffer 1 served at rate 1

Packet from buffer 2served at rate 3/4 0

1

t1 2

Packet from buffer 1 served at rate 1

Packet frombuffer 2 served at rate 1

Packet frombuffer 1 waiting

0

Packet-by-packet weighted fair queueing:buffer 2 served first at rate 1;then buffer 1 served at rate 1

Page 122: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Packetized GPS/WFQ

Compute packet completion time in ideal systemadd tag to packetsort packet in queue according to tagserve according to HOL

Sorted packet buffer

Transmissionlink

Arrivingpackets

Packet discardwhen full

Taggingunit

Page 123: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Bit-by-Bit Fair QueueingAssume n flows, n queues1 round = 1 cycle serving all n queuesIf each queue gets 1 bit per cycle, then 1 round = # active queuesRound number = number of cycles of service that have been completed

If packet arrives to idle queue:Finishing time = round number + packet size in bitsIf packet arrives to active queue:

Finishing time = finishing time of last packet in queue + packet size

rounds Current Round #

Page 124: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Buffer 1Buffer 2

Buffer n

Number of rounds = Number of bit transmission opportunities

Rounds

Packet of lengthk bits beginstransmissionat this time

Packet completestransmissionk rounds later

Differential Service: If a traffic flow is to receive twice as much bandwidth as a regular flow, then its packet completion time would be half

Page 125: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

F(i,k,t) = finish time of kth packet that arrives at time t to flow iP(i,k,t) = size of kth packet that arrives at time t to flow iR(t) = round number at time t

Fair Queueing:F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)

Weighted Fair Queueing:F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)/wi

roundsGeneralize so R(t) continuous, not discrete

R(t) grows at rate inverselyproportional to n(t)

Computing the Finishing Time

Page 126: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

WFQ and Packet QoS

WFQ and its many variations form the basis for providing QoS in packet networksVery high-speed implementations available, up to 10 Gbps and possibly higherWFQ must be combined with other mechanisms to provide end-to-end QoS (next section)

Page 127: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Buffer ManagementPacket drop strategy: Which packet to drop when buffers fullFairness: protect behaving sources from misbehaving sourcesAggregation:

Per-flow buffers protect flows from misbehaving flowsFull aggregation provides no protectionAggregation into classes provided intermediate protection

Drop priorities: Drop packets from buffer according to prioritiesMaximizes network utilization & application QoSExamples: layered video, policing at network edge

Controlling sources at the edge

Page 128: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Early or Overloaded Drop

Random early detection:drop pkts if short-term avg of queue exceeds thresholdpkt drop probability increases linearly with queue lengthmark offending pktsimproves performance of cooperating TCP sourcesincreases loss probability of misbehaving sources

Page 129: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Random Early Detection (RED)Packets produced by TCP will reduce input rate in response to network congestionEarly drop: discard packets before buffers are fullRandom drop causes some sources to reduce rate before others, causing gradual reduction in aggregate input rate

Algorithm:Maintain running average of queue lengthIf Qavg < minthreshold, do nothingIf Qavg > maxthreshold, drop packetIf in between, drop packet according to probabilityFlows that send more packets are more likely to have packets dropped

Page 130: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Average queue length

Pro

babi

lity

of p

acke

t dro

p

1

0minth maxth full

Packet Drop Profile in RED

Page 131: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Chapter 7Packet-Switching

Networks

Traffic Management at the Flow Level

Page 132: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

4

8

63

2

1

5 7

CongestionCongestion occurs when a surge of traffic overloads network resources

Approaches to Congestion Control:• Preventive Approaches: Scheduling & Reservations• Reactive Approaches: Detect & Throttle/Discard

Page 133: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Offered load

Thro

ughp

ut Controlled

Uncontrolled

Ideal effect of congestion control: Resources used efficiently up to capacity available

Page 134: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Open-Loop Control

Network performance is guaranteed to all traffic flows that have been admitted into the networkInitially for connection-oriented networksKey Mechanisms

Admission ControlPolicingTraffic ShapingTraffic Scheduling

Page 135: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Time

Bits

/sec

ond

Peak rate

Average rate

Typical bit rate demanded by a variable bit rate information source

Admission ControlFlows negotiate contract with networkSpecify requirements:

Peak, Avg., Min Bit rateMaximum burst sizeDelay, Loss requirement

Network computes resources needed

“Effective” bandwidthIf flow accepted, network allocates resources to ensure QoS delivered as long as source conforms to contract

Page 136: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

PolicingNetwork monitors traffic flows continuously to ensure they meet their traffic contractWhen a packet violates the contract, network can discard or tag the packet giving it lower priorityIf congestion occurs, tagged packets are discarded firstLeaky Bucket Algorithm is the most commonly used policing mechanism

Bucket has specified leak rate for average contracted rateBucket has specified depth to accommodate variations in arrival rateArriving packet is conforming if it does not result in overflow

Page 137: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Leaky Bucket algorithm can be used to police arrival rate of a packet stream

water drains ata constant rate

leaky bucket

water pouredirregularly Leak rate corresponds to

long-term rate

Bucket depth corresponds to maximum allowable burst arrival

1 packet per unit timeAssume constant-length packet as in ATM

Let X = bucket content at last conforming packet arrivalLet ta – last conforming packet arrival time = depletion in bucket

Page 138: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Arrival of a packet at time ta

X’ = X - (ta - LCT)

X’ < 0?

X’ > L?

X = X’ + ILCT = ta

conforming packet

X’ = 0

Nonconformingpacket

X = value of the leaky bucket counterX’ = auxiliary variable

LCT = last conformance time

Yes

No

Yes

No

Depletion rate: 1 packet per unit time

L+I = Bucket Depth

I = increment per arrival, nominal interarrival time

Leaky Bucket Algorithm

Interarrival timeCurrent bucketcontent

arriving packetwould cause

overflow

empty

Non-empty

conforming packet

Page 139: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

I

L+I

Bucketcontent

Time

Time

Packetarrival

Nonconforming

* * * * * * * **

I = 4 L = 6

Non-conforming packets not allowed into bucket & hence not included in calculations

Leaky Bucket Example

Page 140: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Time

MBS

T L I

T = 1 / peak rateMBS = maximum burst sizeI = nominal interarrival time = 1 / sustainable rate

Policing Parameters

⎥⎦⎤

⎢⎣⎡

−+=

TILMBS 1

Page 141: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Tagged or dropped

Untagged traffic

Incomingtraffic

Untagged traffic

PCR = peak cell rateCDVT = cell delay variation toleranceSCR = sustainable cell rateMBS = maximum burst size

Leaky bucket 1SCR and MBS

Leaky bucket 2PCR and CDVT

Tagged or dropped

Dual leaky bucket to police PCR, SCR, and MBS:

Dual Leaky Bucket

Page 142: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Network CNetwork ANetwork B

Traffic shaping Traffic shapingPolicing Policing

1 2 3 4

Traffic Shaping

Networks police the incoming traffic flowTraffic shaping is used to ensure that a packet stream conforms to specific parametersNetworks can shape their traffic prior to passing it to another network

Page 143: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Incoming traffic Shaped trafficSize N

Packet

Server

Leaky Bucket Traffic Shaper

Buffer incoming packetsPlay out periodically to conform to parametersSurges in arrivals are buffered & smoothed outPossible packet loss due to buffer overflowToo restrictive, since conforming traffic does not need to be completely smooth

Page 144: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Incoming traffic Shaped trafficSize N

Size K

Tokens arriveperiodically

Server

Packet

Token

Token Bucket Traffic Shaper

Token rate regulates transfer of packetsIf sufficient tokens available, packets enter network without delayK determines how much burstiness allowed into the network

An incoming packet must have sufficient tokens before admission into the network

Page 145: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

The token bucket constrains the traffic from a source to be limited to b + r t bits in an interval of length t

b bytes instantly

t

r bytes/second

Token Bucket Shaping Effect

b + r t

Page 146: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

bR

b R - r

(b) Buffer occupancy at 1

0

Empty

tt

Buffer occupancy at 2

A(t) = b+rt

R(t)

No backlog of packets

(a)

1 2

Packet transfer with Delay Guarantees

Token Shaper

Bit rate > R > re.g., using WFQ

Assume fluid flow for informationToken bucket allows burst of b bytes 1 & then r bytes/second

Since R>r, buffer content @ 1 never greater than b byteThus delay @ mux < b/R

Rate into second mux is r<R, so bytes are never delayed

Page 147: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Delay Bounds with WFQ / PGPSAssume

traffic shaped to parameters b & rschedulers give flow at least rate R>r H hop pathm is maximum packet size for the given flowM maximum packet size in the networkRj transmission rate in jth hop

Maximum end-to-end delay that can be experienced by a packet from flow i is:

∑=

+−

+≤H

j jRM

RmH

RbD

1

)1(

Page 148: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Scheduling for Guaranteed Service

Suppose guaranteed bounds on end-to-end delay across the network are to be providedA call admission control procedure is required to allocate resources & set schedulersTraffic flows from sources must be shaped/regulated so that they do not exceed their allocated resourcesStrict delay bounds can be met

Page 149: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

ClassifierInputdriver Internet

forwarder

Pkt. scheduler

Output driver

RoutingAgent

ReservationAgent

Mgmt.Agent

AdmissionControl

[Routing database] [Traffic control database]

Current View of Router Function

Page 150: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Closed-Loop Flow ControlCongestion control

feedback information to regulate flow from sources into networkBased on buffer content, link utilization, etc.Examples: TCP at transport layer; congestion control at ATM level

End-to-end vs. Hop-by-hopDelay in effecting control

Implicit vs. Explicit FeedbackSource deduces congestion from observed behaviorRouters/switches generate messages alerting to congestion

Page 151: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Source Destination

Feedback information

Packet flow

Source Destination

(a)

(b)

End-to-End vs. Hop-by-Hop Congestion Control

Page 152: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

Traffic EngineeringManagement exerted at flow aggregate levelDistribution of flows in network to achieve efficient utilization of resources (bandwidth)Shortest path algorithm to route a given flow not enough

Does not take into account requirements of a flow, e.g. bandwidth requirementDoes not take account interplay between different flows

Must take into account aggregate demand from all flows

Page 153: Chapter 7 Packet-Switching Networks · Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits. The Switching Function zDynamic interconnection of inputs to outputs zEnables

4

63

2

1

5 8

7 4

63

2

1

5 8

7

(a) (b)

Shortest path routing congests link 4 to 8

Better flow allocation distributes flows more uniformly