Packet Switching

hellhollowreadingΔίκτυα και Επικοινωνίες

26 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

70 εμφανίσεις

Packet Switching

Outline

Switching and Forwarding

Bridges and LAN Switches

Cell Switching (ATM)

Switching Hardware

Problem: Not all networks are
directly connected


Limitations of the directly connected networks:


How many hosts can be attached.


How large of geographic area a single network can
serve.


A switch is used to enable packets (a limit
-
size block of
data) to travel from one host to another.


The jobs of a switch are:


Forward packets


Handle contention


Solve the congestion (Chapter 6)


Two technologies are focused in this chapter:


LAN switching


Asynchronous transfer mode (ATM)

Switching and Forwarding

Outline

Store
-
and
-
Forward Switches

Bridges and Extended LANs

Cell Switching

Segmentation and Reassembly

Switching and Forwarding


A switch is a multi
-
input, multi
-
output device,
which transfers packets from an input to one or
more outputs.


A switch establishes the star topology:


Large networks can be built by interconnecting a
number of switches.


We can build networks of large geographic scope.


Adding a new host to the network does not necessarily
mean the hosts will get worse performance. Switched
network is considered more
scalable
.

Scalable Networks


Switch is the main function of the network layer.


forwards packets from input port to output port


port selected based on address in packet header






Approaches:
datagram/connectionless
,
virtual
circuit/connection
-
oriented
, and
source routing


Advantages


cover large geographic area (tolerate latency)


support large numbers of hosts (scalable bandwidth)

Input

ports

T3

T3

STS
-
1

T3

T3

STS
-
1

Switch

Output

ports

Switching and Forwarding

A switch provides a star topology.

Datagram Switching


No connection setup phase


Each packet forwarded independently


Sometimes called
connectionless
model

0

1

3

2

0

1

3

2

0

1

3

2

Switch 3

Host B

Switch 2

Host A

Switch 1

Host C

Host D

Host E

Host F

Host G

Host H


Analogy: postal
system



Each switch
maintains a
forwarding
(routing) table

Datagram Model


There is no round trip time delay waiting for
connection setup; a host can send data as soon as it
is ready.


Source host has no way of knowing if the network
is capable of delivering a packet or if the
destination host is even up or running.


Each packet is forwarded independently.


A switch or link failure might not have any serious
effect on communication if it is possible to route
around link and node failures.


Since every packet must carry the full address of
the destination, the overhead per packet is higher
than for the connection
-
oriented model.

Datagram Model


Destination


Port


A


B


C


D


E


F


G


H


3


0


3


3


2


1


0


0

Forwarding table for switch 2

Virtual Circuit Model


The virtual circuit model requires a virtual connection
from the source host to the destination to be set up before
the connection.


It is a two
-
stage process: connection setup and data
transfer.


Two approaches to establish connection state: permanent
virtual circuit (PVC) by a network administrator and
switched virtual circuit (SVC) by signalling.


A entry in PVC contains:


An incoming interface for the incoming packets


A virtual circuit identifier (VCI)


An outgoing interface


A VCI for the outgoing packets

Virtual Circuit Model


VC


Table

Incoming
Interface

Incoming
VCI

Outgoing
Interface

Outgoing
VCI

Switch 1


Switch 2


Switch 3

2


3


0

5


11


7

1


0


3

11


7


4

Virtual circuit table entries for three switches

Virtual Circuit Switching


Explicit connection setup (and tear
-
down) phase


Subsequence packets follow same circuit


Sometimes called
connection
-
oriented
model

0

1

3

2

0

1

3

2

0

1

3

2

5

11

4

7

Switch 3

Host B

Switch 2

Host A

Switch 1


Analogy:
phone call



Each switch
maintains a VC
table

Virtual Circuit Model


Typically wait full RTT for connection setup before
sending first data packet.



While the connection request contains the full address for
destination, each data packet contains only a small
identifier, making the per
-
packet header overhead small.



If a switch or a link in a connection fails, the connection is
broken and a new one needs to be established.



Connection setup provides an opportunity to reserve
resources.

Virtual Circuit Model


In a datagram network, each packet competes with other
packet. In the virtual model, different quality of service
(QoS) can be provided. QoS means some performance
-
related guarantee.



Examples of virtual circuit technologies:


X.25
-

packet
-
switching technology which was designed
for transmitting analog data such as voice conversations.


Frame Relay


construct virtual private network
(VPNs).


asynchronous transfer mode (ATM)

Source Routing


All the information about network topology for
switching is provided by the source host.


Possible ways to implement source routing:


Place a number to each output of each switch in the
header.


Put an ordered list of switch ports in the header and
rotate this list as Figure 3.7.



Source routing can be used in both datagram and
virtual networks. The Internet Protocol includes a
source route option.


Source routing suffers from a scaling problem.

Source Routing

Implementation and Performance


A general
-
purpose workstation with a
number of network interfaces


A specialized switching device

Bridges and Extended LANs


LANs have physical limitations (e.g., 2500m)


Connect two or more LANs with a
bridge


accept and forward strategy









An Ethernet bridge can carry as 10n Mbps, where n is the
number of port.

A

Bridge

B

C

X

Y

Z

Port 1

Port 2

Learning Bridges


Do not forward when unnecessary


Maintain forwarding table






Host

Port






A

1






B

1






C

1






X

2






Y

2






Z

2



Learn table entries based on source address


Table is an optimization; need not to be complete


Always forward broadcast frames

A

Bridge

B

C

X

Y

Z

Port 1

Port 2

Spanning Tree Algorithm


Problem: loops


in the previous design






Bridges run a distributed spanning tree algorithm



select which bridges actively forward


developed by Radia Perlman


now IEEE 802.1 specification

B3

A

C

E

D

B2

B5

B

B7

K

F

H

B4

J

B1

B6

G

I

Algorithm Overview


Each bridge has unique id (e.g., B1, B2, B3)


Select bridge with smallest id as root


Select bridge on each LAN closest to root as
designated bridge (use id to break ties)

B3

A

C

E

D

B2

B5

B

B7

K

F

H

B4

J

B1

B6

G

I


Each bridge forwards frames
over each LAN for which it
is the designated bridge

Algorithm Details


Bridges exchange configuration messages


id for bridge sending the message


id for what the sending bridge believes to be root bridge


distance (hops) from sending bridge to root bridge


Each bridge records current best configuration
message for each port


Initially, each bridge believes it is the root

Algorithm Detail (cont)


When learn not root, stop generating config messages


in steady state, only root generates configuration messages


When learn not designated bridge, stop forwarding config
messages


in steady state, only designated bridges forward config messages


Root continues to periodically send config messages


If any bridge does not receive config message after a period
of time, it starts generating config messages

claiming to be
the root

Broadcast and Multicast


Forward all broadcast/multicast frames


current practice


Each host in a multicast group must
periodically send a frame with the address
for the group in the source field of the frame
header.

Limitations of Bridges


Do not scale


The spanning tree algorithm does not scale


Broadcast does not scale. It is not necessary to
broadcast messages to all hosts in a large environment.


Do not accommodate heterogeneity



Caution: beware of transparency. Bridges might
drop frames.

Cell Switching (ATM)


Architecture Features


Similarities between ATM and packet switching


Transfer of data in discrete chunks


Multiple logical connections over single physical interface


In ATM flow on each logical connection is in fixed sized
packets called cells


Minimal error and flow control


Reduced overhead


Data rates (physical layer) 25.6Mbps to 622.08Mbps

Cell Switching (ATM)


Connection
-
oriented packet
-
switched network


Used in both WAN and LAN settings


Signaling (connection setup) Protocol: Q.2931


An ITU
-
T specification defining user
-
to
-
network
interface signaling for Broadband ISDN.


Discover a suitable route


Responsible for allocating resources at the switches


The QoS capabilities of ATM are one of its
greatest strengths.

Cell Switching (ATM)


Two Addressing schemes


Public ATM networks use 8
-
octet format (E.164
standard)


Computers attached to private ATM network use 20
-
octet Network Service Access Point (NSAP) address
(ATM Forum)


Packets are called
cells


Fixed length 53 bytes


5
-
byte header + 48
-
byte payload


Commonly transmitted over SONET


other physical layers possible

Cell Switching (ATM)


ATM media
-

Commonly transmitted over
SONET


DS
-
1/T1


NxDS
-
1


DS
-
3


Multi
-
mode fiber (155Mbps)


SONET/SDH


(622 Mbps)

ATM Network

workstation

LAN Switch

Router

UNI

ATM Switch

12

Variable vs. Fixed
-
Length Packets


No Optimal Length


if small: high header
-
to
-
data overhead


if large: low utilization for small messages


Fixed
-
Length Easier to Switch in Hardware


simpler


enables parallelism

Big vs Small Packets


Small Improves Queue behavior


finer
-
grained pre
-
emption point for scheduling link


maximum packet = 4KB


link speed = 100Mbps


transmission time = 4096 x 8/100 = 327.68us


high priority packet may sit in the queue 327.68us


in contrast, 53 x 8/100 = 4.24us for ATM


near cut
-
through behavior


two 4KB packets arrive at same time


link idle for 327.68us while both arrive


at end of 327.68us, still have 8KB to transmit


in contrast, ATM can transmit first cell after 4.24us


at end of 327.68us, just over 4KB left in queue

Big vs. Small (cont)


Small Improves Latency (for voice)


voice digitally encoded at 64KBps (8
-
bit samples at 8KHz)


need full cell’s worth of samples before sending cell


example: 1000
-
byte cells implies 125ms per cell (too long)


smaller latency implies no need for echo cancellers


ATM Compromise: 48 bytes = (32+64)/2

Cell Format


User
-
Network Interface (UNI)




host
-
to
-
switch format (telephone companies and customers)


GFC: Generic Flow Control (still being defined)


VCI: Virtual Circuit Identifier


VPI: Virtual Path Identifier


Type: management, congestion control, AAL5 (later)


CLPL Cell Loss Priority


HEC: Header Error Check (CRC
-
8)



Network
-
Network Interface (NNI)


switch
-
to
-
switch format (phone companies)


GFC becomes part of VPI field

GFC

HEC (CRC
-
8)

4

16

3

1

8

VPI

VCI

CLP

Type

Payload

384 (48 bytes)

8

ATM Architecture

Presentation

Session

Network

Data Link

Physical

Transmission
-
convergence

physical medium dependent

Transport

Application

ATM Layer

ATM Adaptation Layer

(AAL)

1

(CBR)

2

(VBR)

3/4

(SMDS)

5

(Data)

SAAL

Upper Layer Protocols

ATM Adaptation layer


Supports multiple
-
application operations


Type of user payload is identified


Maps higher layer information into ATM
cell payload.


Handle transmission errors


Segmentation and re
-
assembly


Handle lost and misinserted cells


Flow control and timing

Transmission
-
convergence

physical medium dependent

ATM Layer

CS

1

(CBR)

2

(VBR)

3/4

(SMDS)

5

(Data)

SAAL

Upper Layer Protocols

SAR

ATM Adaptation Sub Layers


Convergence Sublayer (CS)


Functions needed to support specific
applications using AAL


AAL user attaches at SAP


Segmentation and Reassembly(SAR)


Responsible for creating 48 byte payload for
ATM cells.


Also unpacks cell payload data received from
ATM layer for delivery up to CS sublayer

AAL Protocols and PDU

AAL Applications


Support for information transfer protocol not based on
ATM


PCM (voice)


Assemble bits into cells


Re
-
assemble into constant flow


IP


Map IP packets onto ATM cells


Fragment IP packets


Use LAPF over ATM to retain all IP infrastructure

Supported Application Types


Circuit emulation


VBR voice and video


General data service


IP over ATM


Multiprotocol encapsulation over ATM
(MPOA)


IPX, AppleTalk, DECNET)


LAN emulation


ATM Layer


Responsible for ATM
cell transmissions


Maps network layer
address to ATM address

Transmission
-
convergence

physical medium dependent

ATM Layer

Upper Layer Protocols

ATM Adaptation Layer

Physical Layer

Divided into two sublayers:


Transmission Convergence


Synchronization of
transmission & reception


Cell delineation


Error control


Physical Medium Dependent
(PMD)


Specifies physical medium
used

physical medium dependent

ATM Layer

Upper Layer Protocols

ATM Adaptation Layer

Transmission
-
convergence


Segmentation and Reassembly


ATM Adaptation Layer (AAL)


AAL 1 and 2 designed for applications that need
guaranteed rate (e.g., voice, video)


AAL 3/4 designed for packet data


AAL 5 is an alternative standard for packet data

AAL

A

TM

AAL

A

TM





AAL 3/4


Convergence Sublayer Protocol Data Unit (CS
-
PDU)




CPI: commerce part indicator (version field)


Btag/Etag:beginning and ending tag


BAsize: hint on amount of buffer space to allocate


Length: size of whole PDU

Cell Format


Type


BOM: beginning of message


COM: continuation of message


EOM end of message


SEQ: sequence of number


MID: message id


Length: number of bytes of PDU in this cell

AAL5


CS
-
PDU Format




pad so trailer always falls at end of ATM cell


Length: size of PDU (data only)


CRC
-
32 (detects missing or misordered cells)


Cell Format


end
-
of
-
PDU bit in Type field of ATM header