Packet-switching networks transfer information as packets that may experience random delays and loss. There are two main approaches: connectionless datagram service which routes packets independently, and connection-oriented virtual circuits which establish paths for packets belonging to a connection. Routing determines the best paths for packets using distributed algorithms that adapt to network changes. Large packet switches use techniques like self-routing, shared memory, and crossbar switches to efficiently route high volumes of packets.
8. Complexity at the Edge or in the Core? 1 1 3 3 2 1 2 2 3 2 1 1 2 2 1 2 1 Medium A B 3 2 1 1 2 2 1 C 2 1 2 1 2 1 4 1 2 3 4 End system α End system β Network 1 2 Physical layer entity Data link layer entity 3 Network layer entity 3 Network layer entity Transport layer entity 4
17. Campus Network R R R R S S S s s s s s s s s s s R s R Backbone To Internet or wide area network Organization Servers Departmental Server Gateway Only outgoing packets leave LAN through router High-speed campus backbone net connects dept routers Servers have redundant connectivity to backbone
18. Connecting to Internet Service Provider Interdomain level Intradomain level Autonomous system or domain Border routers Border routers Internet service provider s s s LAN Campus Network network administered by single organization
19.
20. R A R B R C Route Server NAP National Service Provider A National Service Provider B National Service Provider C LAN NAP NAP (a) (b) Private peering
26. Message Switching Delay Additional queueing delays possible at each link t t t t Delay Source Destination T Minimum delay = 3 + 3 T Switch 1 Switch 2
27.
28.
29. Packet Switching Delay Minimum Delay = 3 τ + 5( T /3) (single path assumed) Additional queueing delays possible at each link Packet pipelining enables message to arrive sooner Assume three packets corresponding to one message traverse same path t t t t Delay 3 1 2 3 1 2 3 2 1
30. Delay for k-Packet Message over L Hops t t t t 3 1 2 3 1 2 3 2 1 3 + 3( T /3) first bit released 3 + 5 ( T /3) last bit released L + LP first bit released L + LP + (k- 1 )P last bit released where T = k P 3 hops L hops Source Destination Switch 1 Switch 2
44. Shared Memory Packet Switch 1 2 3 N 1 2 3 N … Shared Memory Queue Control Ingress Processing Connection Control … Output Buffering Small switches can be built by reading/writing into shared memory
72. Distance Vector Do you know the way to San Jose? San Jose 392 San Jose 596 San Jose 294 San Jose 250
73.
74. Shortest Path to SJ San Jose C ij D j D i If D i is the shortest distance to SJ from i and if j is a neighbor on the shortest path, then D i = C ij + D j Focus on how nodes find their shortest path to a given destination node, i.e. SJ i j
75. But we don’t know the shortest paths i only has local info from neighbors D j" C ij” C ij D j D i C ij' D j' Pick current shortest path i San Jose j j" j'
76. Why Distance Vector Works 1 Hop From SJ 2 Hops From SJ 3 Hops From SJ Hop-1 nodes calculate current (next hop, dist), & send to neighbors San Jose Accurate info about SJ ripples across network, Shortest Path Converges SJ sends accurate info
84. San Jose 0 2 5 3 3 4 7 5 Node 4 could have chosen 2 as next node because of tie Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (3,3) (4,4) (6, 1) (3,3) (6,2) 1 (3,3) (4,4) (4, 5) (3,3) (6,2) 2 (3,7) (4,4) (4, 5) (5,5) (6,2) 3 3 1 5 4 6 2 2 3 4 2 1 1 2 3 5
85. San Jose 0 2 5 5 7 4 7 6 Node 2 could have chosen 5 as next node because of tie Iteration Node 1 Node 2 Node 3 Node 4 Node 5 Initial (3,3) (4,4) (6, 1) (3,3) (6,2) 1 (3,3) (4,4) (4, 5) (3,3) (6,2) 2 (3,7) (4,4) (4, 5) (5,5) (6,2) 3 (3,7) (4,6) (4, 7) (5,5) (6,2) 3 1 5 4 6 2 2 3 4 2 1 1 2 3 5
86. San Jose 0 7 7 5 6 9 2 Node 1 could have chose 3 as next node because of tie 3 5 4 6 2 2 3 4 2 1 1 2 3 5 1 Iteration Node 1 Node 2 Node 3 Node 4 Node 5 1 (3,3) (4,4) (4, 5) (3,3) (6,2) 2 (3,7) (4,4) (4, 5) (2,5) (6,2) 3 (3,7) (4,6) (4, 7) (5,5) (6,2) 4 (2,9) (4,6) (4, 7) (5,5) (6,2)
87. Counting to Infinity Problem Nodes believe best path is through each other (Destination is node 4) 3 1 2 4 1 1 1 3 1 2 4 1 1 X (a) (b) Update Node 1 Node 2 Node 3 Before break (2,3) (3,2) (4, 1) After break (2,3) (3,2) (2,3) 1 (2,3) (3,4) (2,3) 2 (2,5) (3,4) (2,5) 3 (2,5) (3,6) (2,5) 4 (2,7) (3,6) (2,7) 5 (2,7) (3,8) (2,7) … … … …
88.
89. Split Horizon with Poison Reverse Nodes believe best path is through each other 3 1 2 4 1 1 1 3 1 2 4 1 1 X (a) (b) Update Node 1 Node 2 Node 3 Before break (2, 3) (3, 2) (4, 1) After break (2, 3) (3, 2) (-1, ) Node 2 advertizes its route to 4 to node 3 as having distance infinity; node 3 finds there is no route to 4 1 (2, 3) (-1, ) (-1, ) Node 1 advertizes its route to 4 to node 2 as having distance infinity; node 2 finds there is no route to 4 2 (-1, ) (-1, ) (-1, ) Node 1 finds there is no route to 4
90.
91. Dijkstra Algorithm: Finding shortest paths in order Closest node to s is 1 hop away 2 nd closest node to s is 1 hop away from s or w” 3rd closest node to s is 1 hop away from s , w”, or x Find shortest paths from source s to all other destinations s w w" w' w" x x' x z z' w'
102. TDM vs. Packet Multiplexing * * In mid-1980s, packet processing mainly in software and hence slow; By late 1990s, very high speed packet processing possible Variable bit rate Delay Burst traffic Processing TDM Multirate only Low, fixed Inefficient Minimal, very high speed Packet Easily handled Variable Efficient Header & packet processing required
115. FIFO Queueing with Discard Priority Packet buffer Transmission link Arriving packets Packet discard when full Packet buffer Transmission link Arriving packets Class 1 discard when full Class 2 discard when threshold exceeded (a) (b)
116.
117.
118.
119.
120. Buffer 1 at t =0 Buffer 2 at t =0 1 t 1 2 Fluid-flow system: both packets served at rate 1/2 Both packets complete service at t = 2 0 1 t 1 2 Packet-by-packet system: buffer 1 served first at rate 1; then buffer 2 served at rate 1. Packet from buffer 2 being served Packet from buffer 1 being served Packet from buffer 2 waiting 0
121. Buffer 1 at t =0 Buffer 2 at t =0 2 1 t 3 Fluid-flow system: both packets served at rate 1/2 Packet from buffer 2 served at rate 1 0 2 1 t 1 2 Packet-by-packet fair queueing: buffer 2 served at rate 1 Packet from buffer 1 served at rate 1 Packet from buffer 2 waiting 0 3
122. Buffer 1 at t =0 Buffer 2 at t =0 1 t 1 2 Fluid-flow system: packet from buffer 1 served at rate 1/4; Packet from buffer 1 served at rate 1 Packet from buffer 2 served at rate 3/4 0 1 t 1 2 Packet from buffer 1 served at rate 1 Packet from buffer 2 served at rate 1 Packet from buffer 1 waiting 0 Packet-by-packet weighted fair queueing: buffer 2 served first at rate 1; then buffer 1 served at rate 1
123.
124.
125. 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 Buffer 1 Buffer 2 Buffer n Number of rounds = Number of bit transmission opportunities Rounds Packet of length k bits begins transmission at this time Packet completes transmission k rounds later …
126.
127.
128.
129.
130.
131. Packet Drop Profile in RED Average queue length Probability of packet drop 1 0 min th max th full
134. Ideal effect of congestion control: Resources used efficiently up to capacity available Offered load Throughput Controlled Uncontrolled
135.
136.
137.
138. Leaky Bucket algorithm can be used to police arrival rate of a packet stream Let X = bucket content at last conforming packet arrival Let t a – last conforming packet arrival time = depletion in bucket water drains at a constant rate leaky bucket water poured irregularly Leak rate corresponds to long-term rate Bucket depth corresponds to maximum allowable burst arrival 1 packet per unit time Assume constant-length packet as in ATM
139. Leaky Bucket Algorithm Depletion rate: 1 packet per unit time L+I = Bucket Depth I = increment per arrival, nominal interarrival time Interarrival time Current bucket content arriving packet would cause overflow empty Non-empty conforming packet Arrival of a packet at time t a X’ = X - ( t a - LCT ) X’ < 0? X’ > L ? X = X’ + I LCT = t a conforming packet X’ = 0 Nonconforming packet X = value of the leaky bucket counter X’ = auxiliary variable LCT = last conformance time Yes No Yes No
140. Leaky Bucket Example I = 4 L = 6 Non-conforming packets not allowed into bucket & hence not included in calculations I L+I Bucket content Time Time Packet arrival Nonconforming * * * * * * * * *
141. Policing Parameters T = 1 / peak rate MBS = maximum burst size I = nominal interarrival time = 1 / sustainable rate Time MBS T L I
142. Dual Leaky Bucket Dual leaky bucket to police PCR, SCR, and MBS: Tagged or dropped Untagged traffic Incoming traffic Untagged traffic PCR = peak cell rate CDVT = cell delay variation tolerance SCR = sustainable cell rate MBS = maximum burst size Leaky bucket 1 SCR and MBS Leaky bucket 2 PCR and CDVT Tagged or dropped
143.
144.
145.
146. Token Bucket Shaping Effect The token bucket constrains the traffic from a source to be limited to b + r t bits in an interval of length t b + r t b bytes instantly t r bytes/second
147.
148.
149.
150. Current View of Router Function Classifier Input driver Internet forwarder Pkt. scheduler Output driver Routing Agent Reservation Agent Mgmt. Agent Admission Control [Routing database] [Traffic control database]
151.
152. End-to-End vs. Hop-by-Hop Congestion Control Source Destination Feedback information Packet flow Source Destination (a) (b)