Chapter 10 Packet Switching Packet Switching Principles Routing

  • Slides: 52
Download presentation
Chapter 10. Packet Switching • Packet Switching Principles • Routing • Congestion Control •

Chapter 10. Packet Switching • Packet Switching Principles • Routing • Congestion Control • X. 25 1

Packet-Switching Principles • Advantages over circuit switching – Greater line efficiency – Can perform

Packet-Switching Principles • Advantages over circuit switching – Greater line efficiency – Can perform data-rate conversion – When traffic becomes heavy, a circuit-switch network blocks calls, while on a packet-switch network, packets are still accepted, but delivery delay increases – Priorities can be used 2

Packet-Switching Principles 3

Packet-Switching Principles 3

Packet Switching Technique • Datagram – Each packet is treated independently • Virtual Circuit

Packet Switching Technique • Datagram – Each packet is treated independently • Virtual Circuit – a preplanned route is established before any packets are sent – Call-Request packet – Call-Accept packet – Routing decision is made only once for all packets using that virtual circuit – Better for two stations wish to exchange data over an extended period of time 4

Packet Switching Technique (cont) • Advantage of datagram – Call setup phase is avoided,

Packet Switching Technique (cont) • Advantage of datagram – Call setup phase is avoided, better for a station wishes to send only one or a few packets – More primitive, more flexible • e. g. incoming datagrams can be routed away from the congestion – More reliable • if a node fails, all virtual circuits that pass through that node are lost – Is common in internetworks 5

Packet Size v. s. Transmission Time 6

Packet Size v. s. Transmission Time 6

Circuit Switching v. s. Packet Switching 7

Circuit Switching v. s. Packet Switching 7

Three Types of Delay • Propagation delay – The time it takes a signal

Three Types of Delay • Propagation delay – The time it takes a signal to propagate from one node to the next, generally negligible – The speed of electromagnetic signals through a wired medium is typically 2 x 108 m/s • Transmission time – The time it takes for a transmitter to send out a block of data • Node delay – The time it takes for a node to perform the necessary processing 8

Comparison Datagram packet switching Virtual-circuit packet switching Dedicated transmission path No dedicated path Continuous

Comparison Datagram packet switching Virtual-circuit packet switching Dedicated transmission path No dedicated path Continuous transmission of data Transmission of packets Fast enough for interactive Messages are not stored Packets may be stored until delivered Packets stored until delivered Path is established for entire conversation Route is established for each packet Route is established for entire conversation Circuit switching 9

Comparison (cont) Circuit switching Datagram packet switching Virtual-circuit packet switching Call setup delay; negligible

Comparison (cont) Circuit switching Datagram packet switching Virtual-circuit packet switching Call setup delay; negligible tx delay Packet transmission delay Call setup delay; Packet tx delay Busy signal if called party busy Sender may be notified if packet not delivered Sender notified of connection denial Overload may block call setup Overload increases packet delay Overload may block call setup User responsible for msg loss protection Network may be responsible for pkt loss Fixed bandwidth transmission Dynamic use of bandwidth 10

External and Internal Operation • External – Interface between a station and a network

External and Internal Operation • External – Interface between a station and a network node – Connection-oriented (external virtual circuit) – Connectionless (external datagram service) – E. g. X. 25 external virtual circuit • External virtual circuit, internal virtual circuit • External virtual circuit, internal datagram • External datagram, internal virtual circuit 11

External Virtual Circuit 12

External Virtual Circuit 12

External Datagram of t Ou r! o e rd 13

External Datagram of t Ou r! o e rd 13

Internal Virtual Circuit 14

Internal Virtual Circuit 14

Internal Datagram 15

Internal Datagram 15

Discussion • External datagram service, coupled with internal datagram operation – allows for efficient

Discussion • External datagram service, coupled with internal datagram operation – allows for efficient use of network – no call setup, not need to hold up packets while a packet in error is retransmitted – Desirable in some real-time applications • External virtual-circuit service – Provide end-to-end sequencing and error control – Attractive for supporting connection-oriented applications, such as file transfer 16

Routing 17

Routing 17

Routing Strategies • Fixed Routing – A route is selected for each source-destination pair

Routing Strategies • Fixed Routing – A route is selected for each source-destination pair of nodes in the network – No difference between routing for datagrams and virtual circuits – Simplicity, but lack of flexibility – Refinement: supply the nodes with an alternate next node for each destination 18

Routing Strategies (cont) • Flooding – A packet is sent by a source node

Routing Strategies (cont) • Flooding – A packet is sent by a source node to every one of its neighbors – At each node, an incoming packet is retx on all outgoing link except for the link on which it arrived – Hop count field deals with duplicate copies of a pkt – Properties • All possible routes btw source and destination are tried • At least one copy of the packet to arrive at the destination will have a minimum-hop route • All nodes connected to the source node are visited 19

Routing Strategies (cont) • Random Routing – Selects only one outgoing path for retx

Routing Strategies (cont) • Random Routing – Selects only one outgoing path for retx of an incoming packet – Assign a probability to each outgoing link and to select the link based on that probability • Adaptive Routing – Routing decisions that are made change as conditions on the network change • Failure • Congestion 20

Routing Strategies (cont) • Adaptive Routing – State of the network must be exchanged

Routing Strategies (cont) • Adaptive Routing – State of the network must be exchanged among the nodes – Routing decision is more complex – Introduces traffic of state information to the network – Reacting too quickly will cause congestionproducing oscillation – If it reacts too slowly, the strategy will be irrelevant 21

Shortest Path Algorithm • Dijkstra’s Algorithm • Bellman-Ford Algorithm 8 5 3 2 6

Shortest Path Algorithm • Dijkstra’s Algorithm • Bellman-Ford Algorithm 8 5 3 2 6 2 3 2 1 2 4 6 8 3 3 1 1 7 5 3 1 1 1 4 2 5 22

 • Reduced graph 5 3 2 6 2 1 3 1 2 1

• Reduced graph 5 3 2 6 2 1 3 1 2 1 4 1 5 23

Dijkstra’s Algorithm 2 1 D 2 = 2 4 2 3 D 3 =

Dijkstra’s Algorithm 2 1 D 2 = 2 4 2 3 D 3 = 5 6 1 4 5 D 4 = 1 1 3 D 3 = 3 D 2 = 2 4 D 4 = 1 D 3 = 4 6 5 D 5 = 2 M = { 1, 4 } M={1} 2 D 2 = 2 3 6 5 D 5 = 2 M = { 1, 2, 4, 5 } D 6 = 4 2 1 D 2 = 2 4 D 4 = 1 3 D 3 = 4 6 5 D 5 = 2 M = { 1, 2, 4 } 24

Dijkstra’s Algorithm (cont) D Node M 2 3 4 5 6 1 1, 4,

Dijkstra’s Algorithm (cont) D Node M 2 3 4 5 6 1 1, 4, 2, 5, 3 1, 4, 2, 5, 3, 6 2 5 1 ¥ 2 2 2 4 4 3 3 3 1 1 1 2 2 2 ¥ ¥ ¥ 4 4 4 25

Dijkstra’s Algorithm (cont) • w(i, j) = link cost, L(n) = path cost from

Dijkstra’s Algorithm (cont) • w(i, j) = link cost, L(n) = path cost from node s to n • 1. [Initialization] – T = {s} – L(n) = w (s, n) for n ≠ s • 2. [Get next node] – Find x Ï T such that L(x) = min L(j) jÏT – Add x to T • 3. [Update Least-Cost Paths] – L(n) = min [ L(n), L(x)+w(x, n) ] for all n Ï T – Go to step 2 26

Bellman-Ford Algorithm D(2)3 = 4 2 1 3 D(1)2 = 2 4 D(1)3 =

Bellman-Ford Algorithm D(2)3 = 4 2 1 3 D(1)2 = 2 4 D(1)3 = 5 2 1 6 3 D(2)2 = 2 5 4 D(1)4 = 1 5 D(2)4 = 1 h=1 6 D(2)6 = 10 D(2)5 = 2 h=2 D(3)3 = 3 2 1 3 D(3)2 = 2 4 6 5 D(3)4 = 1 h=3 D(3)6 = 4 D(3)5 = 2 27

Bellman-Ford Algorithm (cont) D Node h Source = 1 0 1 2 3 4

Bellman-Ford Algorithm (cont) D Node h Source = 1 0 1 2 3 4 5 6 ¥ ¥ ¥ 2 5 1 ¥ ¥ 2 2 2 4 3 3 1 1 1 2 2 2 10 4 4 28

Bellman-Ford Algorithm (cont) • Lh(n) = path cost from s to n w/ no

Bellman-Ford Algorithm (cont) • Lh(n) = path cost from s to n w/ no more than h links • 1. [Initialization] – L 0(n) = ∞, for all n ≠ s – Lh(s) = 0, for all h link j s • 2. [Update] – For each successive h ≥ 0 n <= h links – For each n ≠ s, compute – Lh+1(n) = min [ Lh(j) + w(j, n) ] j 29

Comparisons L(n) = min [ L(n), L(x)+w(x, n) ] Lh(x, D) x S …

Comparisons L(n) = min [ L(n), L(x)+w(x, n) ] Lh(x, D) x S … D S x …… D x Dijkstra’s (Link State) Bellman-Ford (Distance Vector) 30

Routing in ARPANET • First generation(RIP), 1969 – Adaptive Routing is adopted – Use

Routing in ARPANET • First generation(RIP), 1969 – Adaptive Routing is adopted – Use Bellman-Ford algorithm – Estimated link delay is simply the queue length for that link – Every 128 ms, each node exchanges its delay vector(routing table) with all its neighbors – Information about a change in network condition would gradually ripple through the network 31

Routing in ARPANET (cont) – Each node i maintains • di j = current

Routing in ARPANET (cont) – Each node i maintains • di j = current estimate of min delay from i to j • si j = next node in the current min-delay route from i to j – Node k updates its vectors as follows • dk j = Min [ lk i + di j ] iÎA • sk j = i k i j using i that minimizes the expression above where A = set of neighbor nodes for k lk i = current estimate of delay from k to i 32

Routing in ARPANET (cont) • Major shortcomings of RIP – It did not consider

Routing in ARPANET (cont) • Major shortcomings of RIP – It did not consider line speed, merely queue length. Higher capacity links were not given the favored status – Queue length is an artificial measure of delay – The algorithm was not very accurate. It responded slowly to congestion and delay increases. 33

Routing in ARPANET (cont) • Second generation, 1979 – OSPF: Open Shortest Path First

Routing in ARPANET (cont) • Second generation, 1979 – OSPF: Open Shortest Path First protocol – Link-state routing protocol – The delay is measured directly – Every 10 seconds, the node computes the average delay on each outgoing link – Information of changes in delay is sent to all others nodes using flooding – Using Dijkstra’s algorithm 34

Routing in ARPANET (cont) 35

Routing in ARPANET (cont) 35

Routing in ARPANET (cont) • Third generation, 1987 – Problem • The correlation between

Routing in ARPANET (cont) • Third generation, 1987 – Problem • The correlation between the reported values (delay) and those actually experienced after rerouting – Conclusion • Under heavy load, the goal of routing should be to give the average route a good path instead of attempting to give all routes the best path – Solution • Also consider the average utilization of links • Revised cost function: delay-based metric under light loads, capacity-based metric under heavy loads 36

Calculate Link Costs 1. Measure the avg. delay over the last 10 sec 2.

Calculate Link Costs 1. Measure the avg. delay over the last 10 sec 2. Using the single-server queuing model, the measured delay is transformed into an estimate of link utilization 3. Average the link utilization with the previous estimate of utilization 4. The link cost is set as a function of average utilization 37

ARPANET Delay Metrics (3 rd) Theoretical queueing delay Delay (hops) 5 4 3 2

ARPANET Delay Metrics (3 rd) Theoretical queueing delay Delay (hops) 5 4 3 2 1 Metric for satellite link Metric for terrestrial link 0 0. 1 0. 2 0. 3 0. 4 0. 5 0. 6 0. 7 0. 8 0. 9 1. 0 Estimated utilization 38

Throughput (packet delivered) Congestion Control ideal 1. 0 overhead Controlled Uncontrolled 0. 8 1.

Throughput (packet delivered) Congestion Control ideal 1. 0 overhead Controlled Uncontrolled 0. 8 1. 0 Offered load (packets sent) 39

Average Packet Delay Congestion Control (cont) Uncontrolled ideal Controlled 0. 8 1. 0 Offered

Average Packet Delay Congestion Control (cont) Uncontrolled ideal Controlled 0. 8 1. 0 Offered load (packets sent) 40

Congestion Control (cont) • Examples of control mechanism – Send the choke packet from

Congestion Control (cont) • Examples of control mechanism – Send the choke packet from a congested node to some or all source node – Rely on routing information • Link delay information to influence the packet rate • But the delay may vary too rapidly to be used effectively – Make use of an end-to-end probe packet • Measure the delay between two particular stations – Allow packet-switching nodes to add congestion information to packets as they go by • Two possible directions 41

X. 25 Interface, since 1976 To remote user process User process Packet Link access

X. 25 Interface, since 1976 To remote user process User process Packet Link access Physical DTE Packet Multi-channel logical interface Lap-B Link-level logical interface X. 21 physical interface Link access Physical DCE 42

User Data and X. 25 Protocol 43

User Data and X. 25 Protocol 43

X. 25 Protocol (e. g. ) 44

X. 25 Protocol (e. g. ) 44

45

45

X. 25 Packet Format • 24 -bit (3 -bit seq. ) , 32 -bit

X. 25 Packet Format • 24 -bit (3 -bit seq. ) , 32 -bit (7 -bit seq. ), 56 -bit (15 -bit seq. ) header Q bit: not defined in the standard D, M: for complete pkt sequence 46

X. 25 Packet Format (cont) 47

X. 25 Packet Format (cont) 47

X. 25 Packet Types 48

X. 25 Packet Types 48

X. 25 Flow and Error Control • Virtually identical in format and procedure to

X. 25 Flow and Error Control • Virtually identical in format and procedure to flow control used for HDLC • Sliding-window protocol is used – Each packet carries – P(S): send seq. # and P(R): receive seq. # • Go-back-N ARQ error control • D bit and M bit – Complete packet sequence – End-to-end acknowledgement (D=1) 49

X. 25 Acknowledgement • P(R) in the data, RR, RNR End-to-end (D=1) Local (D=0,

X. 25 Acknowledgement • P(R) in the data, RR, RNR End-to-end (D=1) Local (D=0, the usual case) X. 25 LAPB X. 21 DTE DCE DTE Packet Switch Net. 50

X. 25 Packet Sequence • A packet: (M=1, D=0), B packet: not an A

X. 25 Packet Sequence • A packet: (M=1, D=0), B packet: not an A packet • Complete packet sequence = A…AB (zero or more A packets followed by a B packet) Original seq. Combined seq. Pkt type M D A A A B 1 1 1 0 0 0 1 Pkt type M D A 1 0 B 0 1 Segmented seq. B 0 0 A B 1 0 0 0 51

X. 25 Packet Sequence (cont) • E. g. Packet seq. with intermediate E-E Ack

X. 25 Packet Sequence (cont) • E. g. Packet seq. with intermediate E-E Ack more bit Pkt type M D A A A B 1 1 0 0 0 1 A A B 1 1 1 0 0 1 A A A B 1 1 1 0 0 1 Group of pkt that can be combined Require an end-to-end acknowledgement end of sequence 52