Você está na página 1de 57

Packet Switching

Around 1970, research began on a new form


of architecture for long distance
communications: Packet Switching.

1
Introduction
 Packet Switching refers to protocols in
which messages are divided into packets
before they are sent. Each packet is then
transmitted individually and can even
follow different routes to its destination.
Once all the packets forming a message
arrive at the destination, they are
recompiled into the original message.

2
Packet Switching Application
 Most modern Wide Area Network (WAN) protocols,
including TCP/IP, X.25, and Frame Relay, are based on
packet-switching technologies. In contrast, normal
telephone service is based on a circuit-switching
technology, in which a dedicated line is allocated for
transmission between two parties. Circuit-switching is
ideal when data must be transmitted quickly and must
arrive in the same order in which it's sent. This is the
case with most real-time data, such as live audio and
video. Packet switching is more efficient and robust for
data that can withstand some delays in transmission,
such as e-mail messages and Web pages.

3
Recall Circuit Switching
 Call Set-up
 Data Transfer
 Call disconnect

4
Features of Circuit Switching
 Resources are allocated for the call
throughout the network.
 Calls may be blocked if the resources are
not available.
 Circuit switching is connection oriented.
 Circuit Switching originated due to need for
voice communications.

5
Circuit Switching for Data
 When Circuit Switching networks started to be
used for data communications it became clear
that:
 In circuit switching resources dedicated to a
particular call whereas data traffic is bursty so
most of the time allocated resources would be
unutilized.
 Data rate is fixed in circuit switching so Both
ends must operate at the same rate - whereas
there is asymmetry in the data rate required for
each communicating party for data
communication needs.
6
Packet Switching
 Packet Switching started in the 1970s.
 ARPANET that became Internet
 In the beginning most people did not believe it would
work
 The basic technology of packet switching is
fundamentally the same today as it was in the early
1970’s networks
 Packet switching remains one of the few technologies
for effective long-distance data communications.

7
Packet Switching Networks
are Switched Networks

8
Packet Switching Networks
are Switched Networks

9
Packet Switching Operation
 Data are transmitted in short packets. Typically an
upper bound on packet size is 1000 octets.
 If a station has a longer message to send it breaks it
up into a series of small packets. Each packet now
contains part of the user's data and some control
information.
 The control information should at least contain:
 Destination Address
 Source Address
 Store and forward - Packets are received, stored
briefly (buffered) and past on to the next node
10
Packet Switching Operation

11
Use of Packets

12
Advantages
 Line efficiency
 Single node to node link can be shared by many
packets over time
 Packets queued and transmitted as fast as possible
 Data rate conversion
 Each station connects to the local node at its own
speed
 Nodes buffer data if required to equalize rates
 Packets are accepted even when network is busy
 Delivery may slow down
 Priorities can be used
13
Switching Technique - Virtual
Circuits and Datagrams
 Station breaks long message into packets
 Packets sent one at a time to the network
 Packets handled in two ways
 Datagram
 Virtual circuit

14
Datagram Packet Switching
 In datagram approach each packet is treated
independently with no reference to packets that
have gone before. No connection is set up.
 Packets can take any practical route
 Packets may arrive out of order
 Packets may go missing
 Up to receiver to re-order packets and recover
from missing packets
 More processing time per packet per node
 Robust in the face of link or node failures.
15
Packet
Switching
Datagram
Approach

16
Virtual Circuit Packet
Switching
 In the Virtual Circuit approach a pre-planned route is established
before any packets are sent.
 There is a call set up before the exchange of data (handshake).
 All packets follow the same route and therefore arrive in
sequence.
 Each packet contains a virtual circuit identifier instead of
destination address
 More set up time
 No routing decisions required for each packet - Less routing or
processing time
 Susceptible to data loss in the face of link or node failure
 Clear request to drop circuit
 Not a dedicated path

17
Packet
Switching
Virtual
Circuit
Approach

18
One Station Can Have Many
Virtual Circuit Connections

19
Virtual Circuits vs. Datagram
 Virtual circuits
 Network can provide sequencing and error control
 Packets are forwarded more quickly
 No routing decisions to make
 Less reliable
 Loss of a node looses all circuits through that node
 Datagram
 No call setup phase
 Better if few packets
 More flexible
 Routing can be used to avoid congested parts of the
network
20
Packet switching - datagrams
or virtual circuits
 Interface between station and network node
 Connection oriented
 Station requests logical connection (virtual circuit)
 All packets identified as belonging to that connection &
sequentially numbered
 Network delivers packets in sequence
 External virtual circuit service
 e.g. X.25
 Different from internal virtual circuit operation
 Connectionless
 Packets handled independently
 External datagram service
 Different from internal datagram operation
21
Combinations (1)
 External virtual circuit, internal virtual
circuit
 Dedicated route through network
 External virtual circuit, internal datagram
 Network handles each packet separately
 Different packets for the same external virtual
circuit may take different internal routes
 Network buffers at destination node for re-
ordering

22
Combinations (2)
 External datagram, internal datagram
 Packets treated independently by both network
and user
 External datagram, internal virtual circuit
 External user does not see any connections
 External user sends one packet at a time
 Network sets up logical connections

23
External
Virtual
Circuit and
Datagram
Operation

24
Internal
Virtual
Circuit and
Datagram
Operation

25
External and Internal
Operation - ED/IVC

26
External and Internal
Operation - ED/ID

27
External and Internal
Operation - EVC/IVC

28
External and Internal
Operation - EVC/ID

29
Packet
Size

30
Circuit vs. Packet Switching
 Performance
 Propagation delay
 Transmission time
 Node delay

31
Comparison with Circuit
Switching - Event Timing

32
Comparison with Circuit
Switching

33
Routing
 Complex, crucial aspect of packet switched
networks
 Characteristics required
 Correctness
 Simplicity
 Robustness
 Stability
 Fairness
 Optimality
 Efficiency
34
Routing Performance Criteria
 Used for selection of route
 Minimum hop
 Least cost
 Using some algorithm
 Delay
 Throughput

35
Routing Decision Time and
Place
 Time
 Packet basis
 virtual circuit basis
 Place
 Distributed
 Made by each node
 Centralized
 Source (originating node)

36
Network Information Source
 Routing decisions usually based on
knowledge of network (not always)
 Distributed routing
 Nodes use local knowledge
 May collect info from adjacent nodes
 May collect info from all nodes on a potential
route
 Central routing
 Collect info from all nodes
37
Network Information Update
Timing
 Update timing
 When is network info held by nodes updated
 Fixed - never updated
 Adaptive - regular updates

38
Routing Strategies
 Fixed
 Flooding
 Random
 Adaptive

39
Fixed Routing
 Single permanent route for each source to
destination pair
 Determine routes using a least cost
algorithm (appendix 10A)
 Route fixed, at least until a change in
network topology

40
Fixed Routing
Tables

41
Flooding
 No network info required
 Packet sent by node to every neighbor
 Incoming packets retransmitted on every link except
incoming link
 Eventually a number of copies will arrive at destination
 Each packet is uniquely numbered so duplicates can
be discarded
 Nodes can remember packets already forwarded to
keep network load in bounds
 Can include a hop count in packets

42
Flooding
Example

43
Properties of Flooding
 All possible routes are tried
 Very robust
 At least one packet will have taken
minimum hop count route
 Can be used to set up virtual circuit
 All nodes are visited
 Useful to distribute information (e.g. routing)

44
Random Routing
 Node selects one outgoing path for
retransmission of incoming packet
 Selection can be random or round robin
 Can select outgoing path based on
probability calculation
 No network info needed
 Route is typically not least cost nor
minimum hop

45
Adaptive Routing
 Used by almost all packet switching networks
 Routing decisions change as conditions on the
network change
 Failure
 Congestion
 Requires info about network
 Decisions more complex
 Tradeoff between quality of network info and
overhead
 Reacting too quickly can cause oscillation
 Too slowly to be relevant
46
Adaptive Routing -
Advantages
 Improved performance
 Aid congestion control (See chapter 12)
 Complex system
 May not realize theoretical benefits

47
Classification
 Based on information sources
 Local (isolated)
 Route to outgoing link with shortest queue
 Can include bias for each destination
 Rarely used - do not make use of easily available info
 Adjacent nodes
 All nodes

48
ARPANET Routing
Strategies(1)
 First Generation
 1969
 Distributed adaptive
 Estimated delay as performance criterion
 Bellman-Ford algorithm
 Node exchanges delay vector with neighbors
 Update routing table based on incoming info
 Doesn't consider line speed, just queue length
 Queue length not a good measurement of delay
 Responds slowly to congestion
49
ARPANET Routing
Strategies(2)
 Second Generation
 1979
 Uses delay as performance criterion
 Delay measured directly
 Uses Dijkstra’s algorithm
 Good under light and medium loads
 Under heavy loads, little correlation between
reported delays and those experienced

50
ARPANET Routing
Strategies(3)
 Third Generation
 1987
 Link cost calculations changed
 Measure average delay over last 10 seconds
 Normalize based on current value and previous
results

51
Costing of Routes
Who determines the
link costs? And how?

52
Dijkstra’s Algorithm
 Define:
 N = set of all nodes in the network
 s = source node
 M = set of nodes so far incorporated by the
algorithm
 dij = link cost from node i to node j; dii = 0 and
dij =  if the two nodes are not directly connected;
dij  0 if the two nodes are directly connected
 Dn = cost of the least cost path from node s to
node n that is currently known to the algorithm
53
Dijkstra’s Algorithm
 Steps
 1. Initialize: this is done once in the beginning

 M = { s} i.e. set of nodes incorporated is only the source node

 Dn = dsn for n  s i.e. initial path costs to neighboring nodes are


simply link costs

 2. Find the neighboring node not in M


that has the least cost path from node s
and incorporate that node into M:
 Find w  M such that Dw = min Dj (j M)
 Add w to M
54
Dijkstra’s Algorithm
 3. Update least-cost paths:
 Dn = min[Dn, Dw+dwn] for all n  M
 If the latter term is the minimum, the path
from s to n is now the path from s to w
concatenated with the link from w to n

55
Costing of Routes Dijkstra’s Algorithm
 Steps
 1. Initialize: this is done once in the beginning

 M = {s} i.e. set of nodes incorporated is only the source node

 Dn = dsn for n  s i.e. initial path costs to neighboring nodes are simply link
costs

 2. Find the neighboring node not in M that has


the least cost path from node s and incorporate
that node into M:
 Find w  M such that Dw = min Dj ( j M)
 Add w to M
53 55

Dijkstra’s Algorithm Dijkstra’s Algorithm


 Define:  3. Update least-cost paths:
 N = set of all nodes in the network  D n = min[D n, Dw +dwn] for all n  M
 s = source node  If the latter term is the minimum, the path
 M = set of nodes so far incorporated by the from s to n is now the path from s to w
algorithm concatenated with the link from w to n
 dij = link cost from node i to node j; dii = 0 and
dij =  if the two nodes are not directly
connected; dij  0 if the two nodes are directly
connected
 Dn = cost of the least cost path from node s to
node n that is currently known to the algorithm 54
56 56
Switching vs Routing
 Switching  Routing
 path set up at connection  can work as connectionless
time  complex routing algorithm
 simple table look up
 table maintainance via
 table maintainance via protocol
signaling
 out of sequence delivery
 no out of sequence delivery
likely
 lost path may lose connection
 robust: no connections lost
 much faster than pure
routing
 significant processing delay
 link decision made ahead of  output link decision based on
time, and resources allocated packet header contents - at
then every node

57

Você também pode gostar