chapter 7 packet-switching networks - kfupmfaculty.kfupm.edu.sa/ee/samir/courses/ee400 ch7.pdf · 3...

15
1 Chapter 7 Packet-Switching Networks Network Operation & Topology Datagrams and Virtual Circuits Structure of a Packet Switch Routing in Packet Networks Shortest Path Routing ATM Networks Chapter 7 Packet-Switching Networks Overview: Network Services, Operation and Topology Network Layer Network Layer: the most complex layer Requires 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? t 0 t 1 Network Packet Switching Transfer of information as payload in data packets Packets undergo random delays & possible loss Different applications impose differing requirements on the transfer of information End system β Physical layer Data link layer Physical layer Data link layer End system α Network layer Network layer Physical layer Data link layer Network layer Physical layer Data link layer Network layer Transport layer Transport layer Messages Messages Segments Network service Network service Network Service Network layer can offer a variety of services to transport layer Connection-oriented service or connectionless service Best-effort or delay/loss guarantees Network Service vs. Operation Network Service Connectionless Datagram Transfer Connection-Oriented Reliable and possibly constant bit rate transfer Internal Network Operation Connectionless IP Connection-Oriented Telephone connection ATM Various combinations are possible Connection-oriented service over Connectionless operation Connectionless service over Connection-Oriented operation Context & requirements determine what makes sense

Upload: vuonganh

Post on 24-May-2018

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

1

Chapter 7Packet-Switching

Networks

Network Operation & TopologyDatagrams and Virtual Circuits

Structure of a Packet SwitchRouting in Packet Networks

Shortest Path RoutingATM Networks

Chapter 7Packet-Switching

Networks

Overview: Network Services, Operation and Topology

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?

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

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

Network Service vs. OperationNetwork Service

ConnectionlessDatagram Transfer

Connection-OrientedReliable and possibly constant bit rate transfer

Internal Network OperationConnectionless

IP

Connection-OrientedTelephone connectionATM

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

Page 2: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

2

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

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

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

Statistical multiplexing is used to concentrate streams

User demand can undergo dramatic changePeer-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

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

Example: Campus Network

Only outgoing packets leave LAN through router

High-speed campus backbone net connects dept routers

Servers have redundant connectivity to backbone

Interdomain level

Intradomain level

Autonomoussystem ordomain

Border routers

Border routers

Internet service provider

s

ssLAN

Connecting to The Internet Service Provider

CampusNetwork

network administeredby single organization

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 3: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

3

Chapter 7Packet-Switching

Networks

Datagrams and Virtual Circuits

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

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

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

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

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 4: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

4

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

Example: Internet RoutingInternet protocol uses datagram packet switching across networks

Networks are treated as data linksHosts have two-part 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

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

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

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

Chapter 7Packet-Switching

Networks

Datagrams and Virtual CircuitsStructure of a Packet Switch

Page 5: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

5

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

•••

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

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

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

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)

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 6: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

6

Chapter 7Packet-Switching

Networks

Routing in Packet Networks

Desirable Routing Features

Rapid and accurate delivery of packetsAdaptability to network topology changesAdaptability to traffic load conditionsCapability to discover network connectivityCapability to avoid loopsScalability (to larger networks)Low overhead (messaging) cost

1

2

3

4

5

6

Node (switch or router)

Choosing a Route in Packet Networks

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

Which one is “best”?Use some routing metric: Min delay? Min # hops? Max bandwidth? Min cost? Max reliability?

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

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

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 7: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

7

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

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

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

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

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

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 8: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

8

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

Specialized Routing

FloodingUseful in starting up networkUseful in propagating information to all nodes

Deflection RoutingFixed, preset routing procedureNo route synthesis

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 from where it arrivedExponential growth in packet transmissions

1

2

3

4

5

6

Flooding is initiated from Node 1: Hop 1 transmissions

1

2

3

4

5

6

Flooding is initiated from Node 1: Hop 2 transmissions

1

2

3

4

5

6

Flooding is initiated from Node 1: Hop 3 transmissions

Page 9: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

9

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

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

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

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)

Chapter 7Packet-Switching

Networks

Shortest Path Routing

Shortest Path Routing

Many possible paths connect any given source 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 formulated as a shortest path problem

Page 10: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

10

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: $$$

Shortest Path Approaches

Distance Vector ProtocolsNeighbors exchange list of distances to destinationsBest next-hop determined for each destinationBellman-Ford (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

San Jose 392

San Jose 596

San Jose 294

San Jose 250Distance Vector Approach:Do you know the way to San Jose? Distance Vector Concept

Local SignpostDirectionDistance

Routing TableFor each destination list:

Next NodeDistance

Table SynthesisNeighbors exchange table entriesDetermine current best next hopInform neighbors

PeriodicallyAfter changes

dest next dist

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 i only has local info

from neighbors

Dj"

Cij”

i

SanJose

jCij

Dj

Di j"

Cij'

j'Dj'

Pick current shortest path

Search for the shortest paths

Page 11: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

11

How Distance Vector Works

SanJose1 Hop

From SJ2 HopsFrom SJ3 Hops

From SJ

Accurate info about SJripples across network gradually

until shortest path converges

SJ sendsaccurate info

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

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

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

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

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

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 12: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

12

(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

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

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

(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

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

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 13: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

13

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

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

Link-State ApproachBasic 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

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

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

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 14: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

14

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

32

35

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

32

35

2

4

33 1

2

4

5

6

1

1

2

32

35

2

4

33

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

Another Approach: 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

1

2

3

4

5

6A

B

Source host

Destination host

1,3,6,B

3,6,B 6,B

B

Example

Chapter 7Packet-Switching

Networks

Overview of ATM Networks

Asynchronous Transfer 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 15: Chapter 7 Packet-Switching Networks - KFUPMfaculty.kfupm.edu.sa/EE/samir/Courses/EE400 Ch7.pdf · 3 Chapter 7 Packet-Switching Networks Datagrams and Virtual Circuits The Switching

15

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

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

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

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

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

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 of virtual networks