Download Switching and Forwarding

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Parallel port wikipedia , lookup

Net bias wikipedia , lookup

CAN bus wikipedia , lookup

Distributed firewall wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Airborne Networking wikipedia , lookup

Computer network wikipedia , lookup

Network tap wikipedia , lookup

Point-to-Point Protocol over Ethernet wikipedia , lookup

Internet protocol suite wikipedia , lookup

Serial digital interface wikipedia , lookup

RapidIO wikipedia , lookup

Cellular network wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Deep packet inspection wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Spanning Tree Protocol wikipedia , lookup

IEEE 1355 wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Packet switching wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Transcript
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
T3
T3
STS-1
Input
ports
Switch
T3
T3
STS-1
Output
ports
– Approaches: datagram/connectionless, virtual
circuit/connection-oriented, and source routing
• Advantages
– cover large geographic area (tolerate latency)
– support large numbers of hosts (scalable bandwidth)
Switching and Forwarding
A switch provides a star topology.
Datagram Switching
• No connection setup phase
• Each packet forwarded independently
• Sometimes called connectionless model
Host D
• Analogy: postal
system
• Each switch
maintains a
forwarding
(routing) table
Host E
0 Switch 1
3
Host C
Host F
1
2 Switch 2
2
3
1
0
Host A
Host G
1
0 Switch 3 Host B
3
2
Host H
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
A
B
C
D
E
F
G
H
Port
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 Incoming Outgoing Outgoing
Interface VCI
Interface VCI
Switch 1
2
5
1
11
Switch 2
3
11
0
7
Switch 3
0
7
3
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 Switch 1
1
3
2
5
• Analogy:
phone call
• Each switch
maintains a VC
table
3
11
2 Switch 2
1
0
Host A
7
1
0 Switch 3
3
4
2
Host B
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 performancerelated 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
0 Sw itch 1
3
0
1
3
2 Sw itch 2
2
3 0 1
3
1
1
2
1 3 0
0
Host A
0 1 3
1
0 Sw itch 3
3
2
Host B
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
A
B
C
Port 1
Bridge
Port 2
X
Y
Z
• An Ethernet bridge can carry as 10n Mbps, where n is the
number of port.
Learning Bridges
• Do not forward when unnecessary
• Maintain forwarding table
A
B
C
Port 1
Bridge
Port 2
X
Y
Z
Host
A
B
C
X
Y
Z
Port
1
1
1
2
2
2
• Learn table entries based on source address
• Table is an optimization; need not to be complete
• Always forward broadcast frames
Spanning Tree Algorithm
• Problem: loops
in the previous design
A
B
B3
C
B5
D
B2
B7
E
K
F
B1
G
H
B6
B4
I
J
• Bridges run a distributed spanning tree algorithm
– select which bridges actively forward
– developed by Radia Perlman
– now IEEE 802.1 specification
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)
A
• Each bridge forwards frames
over each LAN for which it
B3
C
B5
is the designated bridge
B
D
B2
B7
E
K
F
B1
G
H
B6
B4
I
J
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 20octet 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)
12
ATM Network
workstation
LAN Switch
UNI
Router
ATM Switch
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)
4
8
16
3
1
8
384 (48 bytes)
GFC
VPI
VCI
Type
CLP
HEC (CRC-8)
Payload
–
–
–
–
–
–
–
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
ATM Architecture
Application
Upper Layer Protocols
Presentation
Session
ATM Adaptation Layer
(AAL)
1
2
3/4
5
SAAL
(CBR) (VBR) (SMDS) (Data)
ATM Layer
Transmission-convergence
physical medium dependent
Transport
Network
Data Link
Physical
ATM Adaptation layer
Upper Layer Protocols
CS
1
2
3/4
5
SAAL
(CBR) (VBR) (SMDS) (Data)
SAR
ATM Layer
Transmission-convergence
physical medium dependent
• 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
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
Upper Layer Protocols
ATM Adaptation Layer
ATM Layer
Transmission-convergence
physical medium dependent
• Responsible for ATM
cell transmissions
• Maps network layer
address to ATM address
Physical Layer
Divided into two sublayers:
• Transmission Convergence
Upper Layer Protocols
ATM Adaptation Layer
– Synchronization of
transmission & reception
– Cell delineation
– Error control
• Physical Medium Dependent
(PMD)
ATM Layer
Transmission-convergence
physical medium dependent
– Specifies physical medium
used
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
AAL
…
…
ATM
ATM
AAL 3/4
• Convergence Sublayer Protocol Data Unit (CS-PDU)
–
–
–
–
8
8
16
CPI
Btag
BASize
< 64 KB
User data
0– 24
8
8
16
Pad
0
Etag
Len
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
40
ATM header
2
4
10
Type
SEQ
MID
352 (44 bytes)
Payload
6
10
Length
CRC-10
– 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
< 64 KB
0– 47 bytes
16
16
32
Data
Pad
Reserved
Len
CRC-32
– 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