Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 10. Packet Switching

Similar presentations


Presentation on theme: "Chapter 10. Packet Switching"— Presentation transcript:

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

2 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

3 Packet-Switching Principles

4 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

5 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

6 Packet Size v.s. Transmission Time

7 Circuit Switching v.s. Packet Switching

8 Three Types of Delay Propagation delay Transmission time Node 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 2x108 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

9 Comparison Datagram packet switching Virtual-circuit packet switching
Circuit switching Dedicated transmission path No dedicated path No dedicated path Continuous transmission of data Transmission of packets Transmission of packets Fast enough for interactive Fast enough for interactive 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

10 Comparison (cont) Datagram packet switching Virtual-circuit
Circuit 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 Network may be responsible for pkt loss Fixed bandwidth transmission Dynamic use of bandwidth Dynamic use of bandwidth

11 External and Internal Operation
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 datagram External datagram, internal virtual circuit

12 External Virtual Circuit

13 External Datagram Out of order!

14 Internal Virtual Circuit

15 Internal Datagram

16 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

17 Routing

18 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

19 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

20 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

21 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 congestion-producing oscillation If it reacts too slowly, the strategy will be irrelevant

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

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

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

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

26 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) 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 jÏT

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

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

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

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

31 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 128ms, 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

32 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 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 k i j

33 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.

34 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

35 Routing in ARPANET (cont)

36 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

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

38 ARPANET Delay Metrics (3rd)
Theoretical queueing delay 5 4 Delay (hops) 3 Metric for satellite link 2 Metric for terrestrial link 1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Estimated utilization

39 Congestion Control Throughput (packet delivered) 1.0 0.8 1.0
ideal overhead Controlled Uncontrolled 0.8 1.0 Offered load (packets sent)

40 Congestion Control (cont)
Uncontrolled Average Packet Delay ideal Controlled 0.8 1.0 Offered load (packets sent)

41 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

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

43 User Data and X.25 Protocol

44 X.25 Protocol (e.g.)

45

46 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

47 X.25 Packet Format (cont)

48 X.25 Packet Types

49 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)

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

51 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 Pkt type M D A 1 A A 1 1 A 1 A 1 A 1 A 1 B 1 B 1 Segmented seq. B A 1 B

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


Download ppt "Chapter 10. Packet Switching"

Similar presentations


Ads by Google