ece544: communication networks-ii, spring 2009 h. liu lecture 3 includes teaching materials from d....
Post on 21-Dec-2015
212 views
TRANSCRIPT
ECE544: Communication Networks-II, Spring 2009
H. Liu
Lecture 3
Includes teaching materials from D. Raychaudhuri, J. Kurose, and ATM Forum tutorials
Today’s Lecture• Switched Networks
– Switching Concepts– Ethernet Switches
• Learning bridge• Spanning tree• Multicast
– Asynchronous Transfer Mode (ATM) Network• Overview• Virtual Circuit Switching• Virtual Circuit and Virtual Path• ATM AAL• ATM Quality of Service (QoS) • Leaky Bucket Algorithm• Switch Implementation
Intro to Switching• Build a large network by interconnecting a number of switches• Easily add new hosts• Switching Techniques
– Datagram or connectionless (Ethernet)• Unique address• No need to setup connection
– Virtual circuit or connection-oriented (ATM)• Set up connection and maintain connection state
– Source routing• Source specify the whole or partial route to the
destination
Ethernet Hub• Hub is just a repeater
– Receive signal from one port and broadcast to all other ports
• Extends max distance between nodes, but collisions are propagated – Individual segment collision domains become one
large collision domain• Cannot interconnect different LAN technologies,
e.g. 10BaseT & 100BaseT
hub
hubhub
hub
Bridges/LAN switches • Bridge = LAN switch = Ethernet switch • Link layer device
– stores and forwards frames– examines frame header and selectively forwards frame
based on MAC dest address– when frame is to be forwarded on segment, uses the
corresponding MAC to access segment (e.g. CSMA/CD for Ethernet)
hub
hubhub
Switch
Bridges/LAN switches (Cont.)
• Interconnect multiple LANs, possibly even support different IEEE 802.x types, e.g. 802.3 and 802.5, 802.11, but NOT 802.x with ATM
BridgeIP
LLC
802.3 MAC 802.3 MAC 802.5 MAC
LLC
IP
LLC
802.5 MACLAN LAN
Token-ring
Bridge
Ethernet Hubs vs. Ethernet Switches• An Ethernet switch is a packet switch for
Ethernet frames • Buffering of frames prevents collisions • Each port is isolated and builds its own collision domain
– Break subnet into LAN segments• Host can directly connect to switch, no collision, full
duplex
• An Ethernet Hub does not perform buffering:• Collisions occur if two frames arrive at the same time.
HighS
peedB
ackplane
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
OutputBuffers
InputBuffers
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
CSMA/CD
Hub Switch
A Switched Enterprise Network
InternetRouter
Switch
Forwarding• Which port to forward a frame?
– Use forwarding database/table< MAC address, port, Time-to-
Live (TTL)>• How to build the forwarding
table???– A routing problem
Forwarding Table
Destination
Port Time-to-Live (TTL)
A 3 2
B 0 4
C 3 2
D 3 4
E 2 5
F 1 1
G 0 4
H 0 5
01
3
0
2
2
2
13 3
0
1Host A
Host B
Host H
Host F
Host G
Host EHost D
Host C
Switch 1
Switch 2
Switch 3
Routing
• Three principal approaches for routing:– Fixed Routing
• Manually setup
– Source Routing• Somehow the sender knows the path and
includes the routing info in the frame header
– Possibly only include partial route• Bridges read the routing info to determine
if they should forward the frame
– Automatically learning (Transparent Bridges)
Transparent Bridges Three parts to transparent bridges:
(1) Learning of Addresses(2) Forwarding of Frames(3) Spanning Tree Algorithm
• Forwarding tables entries are set automatically with a simple heuristic:
The source address field of a frame that arrives on a port tells which host is reachable from this port.
– When a frame received, switch “learns” location of sender
– records sender/location pair in forwarding table with TTL = MAX_TTL
• TTL reset to MAX_TTL every time a frame with the same source addr is received to refresh the existing table entry
• Entry removed when TTL counts down to 0
Self Learning (Learning Bridges)
Port 1
Port 2
Port 3
Port 4
Port 5
Port 6
Src=x, Dest=y
Src=x, Dest=y
x is at Port 1y is at Port 5
Frame Forwarding/Filtering
When switch receives a frame:
index forwarding table using MAC dest address
if entry found for destinationthen{
if dest on the same port from which frame arrived then drop the frame (filtering)
else forward the frame on port indicated
}
else flood
Forward on all but the port on which the frame arrived
Example
Bridge 2
Port1
LAN 1
A
LAN 2
CB D
LAN 3
E F
Port2
Bridge 2
Port1 Port2
•Consider the following packets: (Src=A, Dest=F), (Src=C, Dest=A), (Src=E, Dest=C)
•What have the bridges learned?
• Consider the two LANs that are connected by two bridges.
• Assume host n is transmitting a frame F with unknown destination.
What is happening?• Bridges A and B flood the frame
to LAN 2.• Bridge B sees F on LAN 2 (with
unknown destination), and copies the frame back to LAN 1
• Bridge A does the same. • The copying continues
Danger of Loops
LAN 2
LAN 1
Bridge BBridge A
host n
F
F F
FF
F F
Spanning Trees / Transparent Bridges
• A solution is to prevent loops in the topology
• IEEE 802.1d has an algorithm that organizes the bridges as spanning tree in a dynamic environment– Note: Trees don’t have loops
• Bridges that run 802.1d are called transparent bridges
LAN 2
Bridge 2
LAN 5
LAN 3
LAN 1
LAN 4
Bridge 5
Bridge 4Bridge 3
d
Bridge 1
Spanning Tree Protocol (STP)• Each bridge has a unique ID (MAC addr + priority level)• Select the bridge with the smallest ID as the root of the spanning
tree, called “root bridge”– All the ports on the root bridge are active (forwards the frames)
• Each bridge determines the minimum-cost path from itself to the root and notes which of its port is on the path (root port)– Link cost: the cost of traversing a single network segment (link)– Path cost: the sum of the costs of the segments (links) on the path
• an administrator can configure the cost of traversing a particular segment (link)
• E.g. set the cost for every segment to 1, the path cost is a count of the number of bridges along the path.
– Root path cost: the cost of the minimum-cost path from this bridge to the root
– Root port: the port connecting to the minimum-cost path on this bridge
– Breaking ties: When multiple paths from a bridge are min-cost paths, choose the path using the neighbor bridge with the lower bridge ID.
– If the multiple ports connects this bridge and the neighbor bridge on the root path, choose the port with the lowest port ID as the root port.
Spanning Tree Protocol (Cont.)
• Select a single “designated bridge” and its designated port on each LAN segment– Designated bridge: the bridge on that LAN segment
with the minimum-cost path to the root. Only designated bridge allowed to forward frames to and from this LAN segment.
• If two or more bridges have the same root path cost, choose the one with the lowest bridge ID
– Designated port: the port connecting the designated bridge to this LAN segment
• If the designated bridges has two or more ports attached to this LAN, choose the port with the lowest port ID
• Any port that is not a root port or a designated port is blocked.
Spanning Tree Protocol (Cont.)
• Bridges exchange messages to configure the bridge (Configuration Bridge Protocol Data Unit, CBPDUs) to cut the loop and build the tree.– Source addr: port MAC addr, Dest. addr: STP multicast address – <sending bridge ID, root bridge ID, root path cost>
• At the beginning, each bridge considers itself to be the root, sends CBPDU to identifying itself as root
• Upon receiving a CBPDU, check if the new message is better– if better, update its STP record, forward the message after
updating the root path cost in the message – After stabilized, only the root bridge generate new CBPDUs
regularly, others stops generate CBPDUs once learning it is not a root
• From a non-root port, receives a CBPDU indicating it is not the designated bridge for that segment, goes to blocking state
• BPDU is still received in blocking state.
STP Example
B6B4
B1
B2
B7B5
B3
Broadcast and Multicast• Broadcast: bridge forwards a broadcast data frame out on
each forwarding port other than the one on which the frame received
• Multicast: – Treat as broadcast– Better: using GARP Multicast Registration Protocol (GMRP) –
an application of Generic Attribute Registration Protocol (GARP) specified in IEEE 802.1D, to constrain multicasts at Layer 2 • Host sends join message for a multicast group• Switch adds the port from which the join message was received to
the appropriate multicast group• The switch propagates the GMRP join message• the switch forwards the multicast data only to the ports from which
it received join messages for the group • The switch sends periodic GMRP queries.
– If a host wants to remain in a multicast group, responds to the query.
• To leave a group, a host can either send a leave message or not respond to the periodic queries from the switch.
• If the switch receives a leave message or receives no response from the host for the duration of the leave all timer, the switch removes the host from the multicast group.
• On the host, GMRP is typically used with IGMP, actually, a host is not necessary to run GMRP. Switch can do IGMP snooping
Virtual LAN• Group the stations in a broadcast domain, regardless of their
physical location. • A VLAN ID (VID) in the frame• A frame is not forwarded/broadcasted from one VLAN to
another VLAN• Each VLAN establish its own spanning tree• Assign a port to one or multiple or all VLANs (static or
dynamic)
B1 B2
Host A
Host DHost C
Host B
VLAN 100 VLAN 100
VLAN 200 VLAN 200
• Overview• Virtual Circuit Switching• Virtual Circuit and Virtual Path• ATM AAL• ATM Quality of Service (QoS) • Leaky Bucket Algorithm• Switch Implementation
Asynchronous Transfer Mode (ATM) Network
Asynchronous Transfer Mode (ATM) Network
ATM Introduction
• 1990’s standards for high-speed (155Mbps to 622 Mbps and higher) Broadband Integrated Service Digital Network (BISDN) architecture
• Goal: integrated, end-end transport of carry voice, video, data
• meeting timing/quality of service (QoS) requirements of voice, video (versus Internet best-effort model)
• “next generation” telephony: technical roots in telephone world
• packet-switching (fixed length packets, called “cells”) using virtual circuits
ATM Basic ConceptsATM Basic Concepts• Negotiated Service Connection
– End-to-end connections, called virtual circuits
– Traffic contract
• Virtual circuit based switching– Dedicated capacity
• Cell Based– Small, fixed length
AA
Negotiated Service Connection
Negotiated Service Connection
Parameters Traffic
Characteristics Peak Cell Rate Sustainable
Cell Rate
Quality of Service Delay Cell Loss
Traffic Contract
Virtual Connection 1-QOS A
Virtual Connection 1-QOS B
Virtual Connection 1-QOS b
The ATM CellThe ATM Cell
• Small Size (low delay, but high overhead)– 5 Byte Header– 48 Byte Payload
• Fixed Size (easy switch implementation, but padding overhead)
• Header contains virtual circuit information• Payload can be voice, video or other data
types
HeaderHeader
5 Bytes 48 Bytes48 Bytes
PayloadPayload
AA
ATM VisionATM Vision
• ATM network moves cells (fixed length packets) with low delay and low delay variation at high speeds
• Devices at ends translate (e.g., segment and reassemble) between cells and original traffic
The Ultimate Integrated Services The Ultimate Integrated Services NetworkNetwork
The Ultimate Integrated Services The Ultimate Integrated Services NetworkNetwork
DataData Voice VideoVideo
Voice
Voice
DataDataDataData
VideoVideo
VideoVideo
ATMATMNetworkNetwork
ATM System ArchitectureATM System Architecture
DataDataCellCell
VideoVideoCellCell
VoiceVoiceCellCell
AA
ATM Adaptation Layer (AAL)ATM Adaptation Layer (AAL)
• Only at edge of ATM network (end system)• Roughly analogous to Internet transport layer• Provides mapping Of applications (IP or native ATM
applications) to ATM service of the same type• Segments/Reassembles into 48 Payloads• Hands 48 Byte Payloads To ATM Layer
48 Bytes48 Bytes
AALAAL TypesTypes11 Circuit EmulationCircuit Emulation
-Constant Bit Rate (CBR) -Constant Bit Rate (CBR)
Low Bit Rate Voice (Real Time)Low Bit Rate Voice (Real Time)
-Variable Bit Rate (VBR)-Variable Bit Rate (VBR)
Time Invariant DataTime Invariant Data
““Simple” DataSimple” Data
22
3/43/4
55
AA
ATM LayerATM Layer
• Adds/Removes Header To 48 Byte Payload– Header Contains Connection Identifier, multiplexes 53
Byte cells into virtual connections, • ATM’s “Network” layer
– Transport cells across ATM network (analogous to IP network layer, but very different strategy and services than IP network layer)
– Cell switching, routing
}}
48-Byte48-BytePayloadsPayloadsFrom AALFrom AAL 5-Byte Header5-Byte Header
Header Contains Virtual Header Contains Virtual PathPath
and Channel Identifiersand Channel Identifiers
53-Byte Cell53-Byte CellTo Physical LayerTo Physical Layer
AA
Physical LayerPhysical Layer
Speed MatchingSpeed Matchingand Framingand Framing
CableCablePlantsPlants
Wide Range of Wide Range of SpeedsSpeeds
LAN, MAN, LAN, MAN, WAN WAN CompatibilityCompatibility
Uses Existing Uses Existing MediaMedia
Twisted PairTwisted Pair
CoaxCoax
FiberFiber -Multimode -Multimode
-Single Mode-Single Mode
TransmissionTransmissionFrameFrame
AA
ATM PHY: Two SublayersATM PHY: Two SublayersTransmission Convergence Transmission Convergence
SublayerSublayer
Physical Layer Medium Dependent Physical Layer Medium Dependent SublayerSublayer
• Transmission Convergence Sublayer (TCS): adapts ATM layer above to PMD sublayer below– Specific to the PMD– Cell delineation– Cell rate decoupling, inserting idle (empty) cells when no data cells
to send (with “unstructured” PMD sublayer)• Physical Layer Medium Dependent Sublayer (PMD): depends on
physical medium being used– Probably use existing standards and technology– Medium, line code, connectors
ATM Physical Layer (Cont.)
Physical Medium Dependent (PMD) sublayer
• SONET/SDH: transmission frame structure (like a container carrying bits);– bit synchronization;– bandwidth partitions (TDM);– several speeds: OC3 = 155.52 Mbps; OC12 =
622.08 Mbps; OC48 = 2.45 Gbps, OC192 = 9.6 Gbps
• TI/T3:transmission frame structure (old telephone hierarchy): 1.5 Mbps/ 45 Mbps
• unstructured: just cells (busy/idle)
155 Mbps, SONET STS-3c/SDH STM-1
155 Mbps, SONET STS-3c/SDH STM-1
99
RRoowwss
270 columns270 columns
9 bytes9 bytes
MaintenanceMaintenanceandand
operationsoperations
1 Synchronous1 SynchronousPayload EnvelopePayload Envelope
(1 column of overhead)(1 column of overhead)
• 9 260 8/125 sec = 149.76 Mbps payload
. . .
125125 secsec
AA
ATM System ArchitectureATM System ArchitectureATM Cell Creation TransmissionATM Cell Creation Transmission
AdaptationAdaptationLayerLayer
ATMATMLayerLayer
PhysicalPhysicalLayerLayer
Conversion Conversion to ATM Data to ATM Data Types, 48-Types, 48-
Byte LengthByte Length
Forward Forward Cell Cell
Through Through NetworkNetwork
Add 5-Byte Add 5-Byte HeaderHeader
Convert To Convert To Correct Correct
Electrical Electrical Or Optical Or Optical
FormatFormat
VoiceVoiceCellCell
DataDataCellCell
VideoVideoCellCell
Services
AA
ATM: network or link layer?
• Vision: provide the end-to-end transport: “ATM from desktop to desktop”– ATM is network technology
• Reality: used to connect IP backbone routers – “IP over ATM”– ATM as switched link layer, connecting IP
routers
ATM InterfacesATM Interfaces
PrivatePrivateUNIUNI
PrivatePrivateNNINNI
PublicPublicUNIUNI
ATMATMDXIDXI
B-ICIB-ICI
UNI User Network InterfaceNNI Network Node InterfaceB-ICI BISDN Inter-Carrier InterfaceATM DXI Data eXchange InterfaceFUNI ATM Frame Based UNI Interface
Metropolis Data Metropolis Data Services Inc.Services Inc.
Country Wide Country Wide Carrier ServicesCarrier Services
PublicPublicNNINNI
FUNIFUNI
FUNIFUNI
D
ATM UNI CellATM UNI Cell
CLP = Cell Loss PriorityCLP = Cell Loss Priority
5 Byte Header5 Byte Header
48 Byte Payload48 Byte Payload
Virtual Channel Virtual Channel IdentifierIdentifier
77 66 55 44 33 22 11 00
Payload Type Payload Type IdentifierIdentifier CLPCLP
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual ChannelVirtual ChannelIdentifierIdentifier
ATM NNI CellATM NNI Cell
CLP = Cell Loss PriorityCLP = Cell Loss Priority
5 Byte Header5 Byte Header
48 Byte Payload48 Byte Payload
Virtual Channel Virtual Channel IdentifierIdentifier
77 66 55 44 33 22 11 00
Payload Type Payload Type IdentifierIdentifier CLPCLP
Virtual Path IdentifierVirtual Path Identifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual ChannelVirtual ChannelIdentifierIdentifier
Generic Flow ControlGeneric Flow Control
• Used for UNI only - Not NNI• Currently undefined
• Set to 0000B
• Proposed future uses– Flow control– Shared media multiple access
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
B
Payload Type Identifier (PTI)
• Bit 3: Used to discriminate data cells from operation, administration, maintenance cells.
• Bit 2: Used to indicate congestion in data cells (Bit 3 = 0)– Set by Switches– Source and Destination Behavior Defined for Available
Bit Rate Flow Control VCC’s
• Bit 1: Carried transparently end-to-end in data cells– Used by AAL5
Payload Type Payload Type IdentifierIdentifier
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
CC
Cell Loss PriorityCell Loss Priority• Cells with bit set (CLP =1) should be
discarded before those with bit not set (low priority)
• Can be set by the terminal• Can be set by ATM switches for internal
network control– Virtual channels/paths with low quality of
service– Cells that violate traffic management
contract• Key to ATM Traffic Management
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
Header Error CheckHeader Error Check• Header error control
– Detection mode:• Protects header only (all five bytes)• Discards cell when header error
– Correction mode (optional): Correct 1 bit errors else discard when error detected
• Reduced cell loss in face of single bit errors• Reduced error detection for multiple bit errors
• Cell delineation for SONET, SDH, etc...• Recalculated link-by-link because of VPI/VCI value
changes
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
B
Why 53 Bytes?Why 53 Bytes?
64 + 564 + 5 32 + 432 + 4
48 + 548 + 5
• Compromise reached in ITU-TS Study Group XVIII in June 1989
Queuing Delay Advantage of Small Cells
••••••
100 byte message100 byte message
100 other active100 other activeconnectionsconnections 45 Mbps45 Mbps
Delay and delay variation are small for small messages e.g., a digitized voice sample
But high header overhead
High overheadHigh overhead Wait for other cellsWait for other cells
Just fits in one cellJust fits in one cell
Payload (bytes)Payload (bytes)
MaxMax
DelayDelay
(ms)(ms)
0022446688
10101212
11 5050 100100 150150 200200 250250 300300
AA
Packetization Delay Advantage of Small Cells
Packetization Delay Advantage of Small Cells
Percent Overhead and Packetization DelayPercent Overhead and Packetization Delayfor 64 Kbps Voicefor 64 Kbps Voice
Payload (Bytes)Payload (Bytes)
00
2020
4040
6060
8080
100100
00 2020 4040 6060 808000
22
44
66
88
1010DelayDelay
OverheadOverhead
Dela
y (
ms)
Dela
y (
ms)
% O
verh
ead
% O
verh
ead
Virtual Circuit Switching• Establish connection (virtual circuit) before any data is sent
– Permanent Virtual Circuit (PVC), manually or setup signaling initiated by the network administrator,
• Long lasting connections, e.g. “permanent” coonections for two IP routers
– Switched Virtual Circuit (SVC), setup using signaling by one of the hosts
• Dynamically set up on per-call basis– Negotiate QoS (bandwidth, delay, etc)– link,switch resources (bandwidth, buffers) may be allocated to VC:
to get circuit-like performance
• Each switch on source-destination path maintains “connection state” for each passing connection– Incoming interface, incoming virtual circuit identifier (VCI),
outgoing interface, outgoing VCI, reserved bandwidth, buffer, delay…
• Tear down• Forwarding: each cell/packet carries VC identifier (not
destination ID)
Virtual Circuit Switching (Cont)
• Virtual circuit table
Incoming Interface Incoming VCI Outgoing Interface Outgoing VCI
3 11 2 7
01
1
2
0
2
2
13
3
0
3Host A
Host B
Host EHost D
Switch 1
Switch 2
Switch 3
01
23
Switch 4
11
7
54
VCI has link-local scope
Permanent Virtual CircuitsPermanent Virtual Circuits
• Long setup time (especially with human intervention) means that connections are left active for long periods of time e.g., days, weeks
• VPI/VCI tables setup in terminals and switches
NetworkNetworkManagementManagement
SystemSystem
VPI/VCIVPI/VCI
VPI/VCIVPI/VCIVPI/VCIVPI/VCI
VPI/VCIVPI/VCI
B
Switched Virtual CircuitsSwitched Virtual Circuits
ATM SwitchATM Switch
Signalling ChannelSignalling Channel(VPI/VCI = 0/5)(VPI/VCI = 0/5)
Signalling ChannelSignalling Channel(VPI/VCI = 0/5)(VPI/VCI = 0/5)
• Switch and terminal exchange signalling messages using the predefined signalling channel, VPI/VCI = 0/5
CallCallProcessingProcessing
B
Call Control SignallingCall Control SignallingCall control protocol is used to establish, maintain, and clear
virtual channel connections between a user and networkCall control protocol is used to establish, maintain, and clear
virtual channel connections between a user and network
UserUser NetworkNetwork
UNIUNI
UNI or NNIUNI or NNI
UNI or NNIUNI or NNI
VirtualVirtualChannelChannelConnectionsConnections
InterfaceInterface
Call ControlSignalling
Call Control
Signalling
Setting Up a Call - 1Setting Up a Call - 1
SetupSetup
CallCallProceedingProceeding
AA BB
A wants to communicate with BA wants to communicate with B
• Setup message– Call reference– Called party address– Calling party address– Traffic characteristics– Quality of service
• Call proceeding message– Call reference– VPI/VCI
B
Setting Up a Call - 2Setting Up a Call - 2
• Internal network processing– Resource
availability checking
– Virtual channel or path routing
– Function of the Network Node Interface (NNI)
SetupSetup
CallCallProceedingProceeding
B
Setting Up a Call - 3Setting Up a Call - 3
SetupSetup
CallCallProceedingProceeding
SetupSetup
Call Call ProceedingProceeding
• Setup message– Call reference– Called party address– Calling party address– Traffic characteristics– Quality of service– VPI/VCI
Call ProceedingCall Proceeding Call referenceCall reference
Called user Called user deciding to accept deciding to accept callcall
B
Setting Up a Call - 4Setting Up a Call - 4
SetupSetup
CallCallProceedingProceeding
SetupSetup
Call Call ProceedingProceeding
Connect AckConnect Ack
Connect Connect • Connect message
– Call reference– Indicates call
acceptance• Connect Acknowledge
– Call referenceB
Setting Up a Call - 5Setting Up a Call - 5
SetupSetup
CallCallProceedingProceeding
SetupSetup
Call Call ProceedingProceeding
Connect AckConnect Ack
Connect Connect
Connect AckConnect Ack
Connect Connect
• Calling party informed that call is available for user information exchange
B
Bandwidth NegotiationBandwidth Negotiation
Setup Setup (20 Mb/s)(20 Mb/s)
UNIUNI NNINNI UNIUNI
Connect Connect (10 Mb/s)(10 Mb/s)
Setup Setup (10 Mb/s)(10 Mb/s)
Connect Connect (10 Mb/s)(10 Mb/s)
Setup Setup (15 Mb/s)(15 Mb/s)
Connect Connect (10 Mb/s)(10 Mb/s)
Virtual Paths and Virtual Channels
Physical LinkPhysical Link
Virtual PathVirtual Path
Virtual ChannelVirtual Channel
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
• Bundles of Virtual Channels are switched via Virtual Paths – Better scalability (i.e. more capable of growing to large
numbers of circuits)
ATM VCs
• Advantages of ATM VC approach:– QoS performance guarantee for connection
mapped to VC (bandwidth, delay, delay jitter)
• Drawbacks of ATM VC approach:– Inefficient support of datagram traffic– one PVC between each source/dest pair) does
not scale (N*2 connections needed) – SVC introduces call setup latency, processing
overhead for short lived connections
NNINNI
• Supports 212 Virtual Paths• Supports virtual connection
routing– Distribution of topology
information– Distribution of resource
availability information• Public version being
standardized by ITU TS• Private version specified by
ATM Forum Technical Working Group
CLP = Cell Loss PriorityCLP = Cell Loss Priority
Cell FormatCell Format
Virtual Channel Virtual Channel IdentifierIdentifier
77 66 55 44 33 22 11 00
Payload Type Payload Type IdentifierIdentifier CLPCLP
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
C
Address to End StationAddress to End Station
PrivatePrivateUNIUNI PublicPublic
UNIUNI
ATM End ATM End System System Address Address (AESA) (AESA) FormatFormat
Native Native E.164 orE.164 or
AESAAESA
Private ATM SwitchPrivate ATM Switch
Public ATM
Network
ATM AddressingATM Addressing• Public networks
– E.164 numbers (telephone numbers)– Up to 15 digits
• Private networks– 20 byte address– Format modeled after OSI NSAP (Network
Service Access Point)– Mechanisms for administration exist– Hierarchical structure will facilitate virtual
connection routing in large ATM networks– MAC address will be encapsulated within
NSAPB
ATM End System Address (AESA)ATM End System Address (AESA)
Selector (Not used by Network for Routing)Selector (Not used by Network for Routing)
PrivatePrivateUNIUNI
AESAAESAFormatFormat Network-SuppliedNetwork-Supplied EndEnd
System-System-SuppliedSupplied
SELSEL
SELSEL
4747 SELSELHO-DSPHO-DSP End System IDEnd System ID
4545 E.164 NumberE.164 Number HO-DSPHO-DSP End System IDEnd System ID SELSEL
3939 SELSELDCCDCC HO-DSPHO-DSP End System IDEnd System ID
IDCIDC
Higher Order Domain- Specific Part (HO-DSP)-routing field
Data Country Code (DCC)Data Country Code (DCC)
International Code Designator (ICD)International Code Designator (ICD)
E.164 Private AddressE.164 Private Address
Address RegistrationAddress Registration
• Allows automatic configuration
• Required at the private UNI
• Optional at the public UNI
• Network supplies the network prefix
• User supplies the user part
• Allows automatic configuration
• Required at the private UNI
• Optional at the public UNI
• Network supplies the network prefix
• User supplies the user part
Point-to-Point Connection
Point-to-Point Connection
• Data may flow in one or both directions (unidirectional or bidirectional)
• Bandwidth may be:– Same in both directions (symmetric), or– Different in each direction (asymmetric)
• Data may flow in one or both directions (unidirectional or bidirectional)
• Bandwidth may be:– Same in both directions (symmetric), or– Different in each direction (asymmetric)
Point-to-Multipoint Connection
Point-to-Multipoint Connection
• Data are replicated by the network
• Data flow only from Root to Leaves
• Data are replicated by the network
• Data flow only from Root to Leaves
““Root”Root”
““Leaves”Leaves”
AAL1: Adaptive Clock MethodAAL1: Adaptive Clock Method
Water MarkWater Mark
Speed up Speed up bit clockbit clock
Slow down bit Slow down bit clockclock
Received CellsReceived Cells
Substitute Substitute CellsCells
Continuous Bit Continuous Bit StreamStream
• AAL1: for constant bit rate (CBR) services, e.g. circuit emulation
• Bit stream rate is independent of ATM network and (theoretically) can be any value
• Cell delay variation is critical to buffer sizing and bit clock jitter
Reconstructing the bit streamReconstructing the bit stream
B
User 1User 1 User 2User 2 User 3User 3 User 1User 1 User 3User 3
ATM CellATM Cell
Cell HeaderCell Header(5 Octets)(5 Octets)
AAL2 HeaderAAL2 Header(3 Octets)(3 Octets)
AAL2 PayloadAAL2 Payload(variable)(variable)
AAL2• AAL2: variable bit rate (VBR) services, e.g. MPEG video• Emulation small payload to reduce packetization delay small payload to reduce packetization delay
– One cell can carry data from multiple usersOne cell can carry data from multiple users
B
AAL3/4AAL3/40 - 655350 - 65535 BytesBytes
BytesBytes44 4 4
CPCSCPCSHeaderHeader
CPCSCPCSTrailerTrailer
• AAL3/4 for data (e.g. IP datagrams)
• 44 Bytes of Data per Cell• Type: the first, last, middle or single cell• SEQ: sequence # of the cell (to detect the cell loss)• Message Identifier (MID) multiplex several PDUs
onto a single virtual connection• Len: length = # of bytes of PDU in the cell• CRC-10: Checking per Cell
22
DataData
D
Protocol Data Unit (PDU)
Common Part Convergence Sublayer (CPCS)
Protocol Data Unit (CS-PDU)
4444
User DataUser DataMMIIDD
22
LLEENN
SSEEQQ
TTYYPPEE
CCRRCC
4444
User DataUser DataMMIIDD
22
LLEENN
SSEEQQ
TTYYPPEE
CCRRCC
22
4444MMIIDD
22
LLEENN
SSEEQQ
TTYYPPEE
CCRRCC
Padding
22
BytesBytes
data
Segmentation and Reassembly (SAR) sublayer
AAL Header
AAL Trailer
PadPad
AAL 5AAL 50 - 655350 - 65535
2222 44 BytesBytes
BytesBytes
Not drawn to scaleNot drawn to scale
Error detection fieldsError detection fields
. . .. . .
Last cell flagLast cell flag
• 48 Bytes of Data per Cell
• Uses a paidload type identifier (PTI) bit in the ATM header to Indicate Last Cell
• Only One PDU at a Time on a Virtual Connection
• CRC-32: Per PDU CRC for error checking
4848
4848
0
1
DataData0-470-47
00LLeenn
CCRRCC
C
PDU
CS-PDU
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
Quality-of-ServiceQuality-of-Service
• Problem: Providing quality of service– How should ATM network resources be allocated to
ensure good performance including preventing congestion, e.g., how many virtual channels should be assigned to a particular transmission link?
• Solution: Traffic Management– Specify the traffic "contract" on each virtual
channel/path– Route (including rejecting setup request) each virtual
channel/path along a path with adequate resources (Admission Control)
– Mark (via Cell Loss Priority bit) for loss all cells that violate the contract (Traffic Policing)
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
ATM Service CategoriesATM Service Categories• Constant Bit Rate (CBR)
– Continuous flow of data with tight bounds on delay and delay variation• Real-Time Variable Bit Rate (rt-VBR)
– Variable bandwidth with tight bounds on delay and delay variation • Non-Real-Time Variable Bit Rate (nrt-VBR)
– Variable bandwidth with tight bound on cell loss• Available Bit Rate (ABR)
– guarantee minimum– Flow control on source with tight bound on cell loss
• Unspecified Bit Rate (UBR)– No guarantees (i.e., best effort delivery)
Service Model
Guarantees? Congestion feedbackBandwidth Loss Order Timing
CBR Constant rate yes yes yes No congestion
VBR Guaranteed rate
yes yes yes No congestion
ABR Guaranteed minimum rate
no yes no yes
UBR none no yes no no
Quality of Service Parameters
• Mean cell rate• Peak cell rate• Burst size• End to end transit delay• Acceptable Cell Delay Variation (CDV)
(Forwards, Backwards)• Cumulative CDV (Forwards, Backwards) • Cell Loss Ratio (Forwards, Backwards)
Leaky Bucket Algorithm
• Provides traffic shaping:– smooth bursty
arrivals• Input bursty. Output
rate controlled.
• Provides traffic policing: Ensure that users are sending traffic within specified limits– Excess traffic
discarded or admitted with CLP = 1
Fixed Fixed transmission transmission
raterateSmoothed flowsSmoothed flows
FIFO FIFO QueuQueu
ee
Varying flowsVarying flows
LuckyLuckyBuckeBucke
tt
Overflow, Overflow, Non-conformingNon-conforming
Leaky Bucket Algorithm (Cont)
• A counter associated with each user transmitting on a connection – Counter = Counter - 1 periodically, until 0– Counter = Counter +1 whenever a cell arrives at the
bucket– If the counter > a threshold, cell is not conforming
• Tag the cell with CLP=1 (drop if no capacity in network), or • discards the cell immediately.
• the counter decrementing rate determines the average bandwidth
• the value of the threshold measures the burstiness
• User specifies leaky bucket parameters when connection set up and is expected to conform to the traffic contract when sending data
Generic Cell Rate Algorithm (GCRA)
• Equivalent to the leaky bucket algorithm.• A counter scheme based on two
parameters GCRA(I,L)– Increment parameter: I
• Inter-cell time = 1/PCR (peak cell rate)• Affects cell rate
– Limit parameter: L• Leaky bucket size L+I, rate 1• affects cell bursts One unit One unit
leak per leak per unit of unit of timetime
L + L + II
cell arrivalcell arrival
L
I
Last cell arrival
Theoretical Arrival Time (TAT)
Time I-L L
I
OKNO OK
Generic Cell Rate Algorithm (GCRA)• For a sequence of cell
arrival times, {tk}, determines which cells conform to the traffic contract
• “Leaky bucket”– A cell that would
cause the bucket to overflow is non-conforming
Cell arrival at t
t > TAT (late)? TAT=t
t < TAT-L (too early)?
TAT=TAT+I
Conforming Cell
NON-Conforming Cell
Yes
YesNo
No
Last cell arrival
Theoretical Arrival Time (TAT)
Time I-L L
I
OKNO OK
ATM Network ManagementATM Network Management
UNIUNI
M1M1 M2M2
M3M3
M4M4 M4M4
M5M5
UNIUNI BICIBICI
ManagementManagementSystemSystem
ATMATMDeviceDevice
PrivatePrivateATMATM
NetworkNetwork
PublicPublicATMATM
NetworkNetwork
PublicPublicATMATM
NetworkNetwork
ManagementManagementSystemSystem
ManagementManagementSystemSystem
ILMI:Integrated Layer
Management Interface
C
Virtual ConnectionsVirtual Connections
PortPort VPI/VCIVPI/VCI PortPort VPI/VCIVPI/VCI 11 0/370/37 33 0/760/76 11 0/420/42 55 0/520/52 22 0/370/37 66 0/220/22 22 0/780/78 44 0/880/88
Connection TableConnection Table
3737 4242
3737 7878
7676
5252
2222
8888
11
22
33
44
55
66
VideoVideo DataData
Voice
VideoVideo
DataData
Voice
VideoVideo
DataData
Voice
VideoVideo
VideoVideo
VideoVideo
77 66 55 44 33 22 11 00
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
CLPCLP
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual Channel Virtual Channel IdentifierIdentifier
Payload Type Payload Type IdentifierIdentifier
Switch Implementation (1)
• A simple one: shared memory, shared bus
CPU
Memory
Interface 1
Interface 2
Interface 3
I/O Bus
Switch Implementation (2)• Crossbar: require large memory bandwidth at each output port
Switch Implementation (3)• Self-routing: e.g. banyan switch
– “self-routing header” appended to the packet by the input port– Switch fabric route the packet to its output port based on the
“self-routing header” – “self-routing header” removed at the output port
Input Port
Output Port
Switchfabric
Original Packetheader
Self-routingheader
IP over ATM• Classic IP
– Layer 3 “networks” – connect LANs– MAC (802.3) and IP addresses
• IP over ATM– Replace LAN segments with
ATM network– ATM addresses, IP
addresses
TransportIPEthPhy
Appl
TransportIP
AALATM
Appl
Phy
Phy
ATM
Phy
ATM
TransportIP
EthPhy
Appl
IP
Eth
Phy Phy
ATM
AAL
IP
Eth
PhyPhy
ATM
AAL
IP-over-ATM (Cont)• Packet journey in IP-over-ATM network
– at Source Host (IP-over-ATM router):• IP layer maps between IP and ATM dest address
– IP packet into ATM AAL5 PDUs– from IP addresses to ATM addresses just like
IP addresses to 802.3 MAC addresses (ARP)• passes datagram to AAL5• AAL5 encapsulates data, segments cells, passes
to ATM layer – ATM network: moves cell along VC to destination– at Destination Host (IP-over-ATM router): :
• AAL5 reassembles cells into original datagram• if CRC OK, packet is passed to IP
Ethernet Switching vs. Virtual Circuit Switching
• No connection setup (connection less)
• Packet carries dest. addr.• Switching based on globally
unique MAC address• a host does not know
whether the network is capable of delivering the packet when it sends the packet
• Each packet is forwarded independently and may be out of order
• A switch and link failure might not have any serious effect if it is possible to find an alternate route
• Establish connection state before sending any data (connection oriented)– Setup latency, processing
overhead, scalability (capability to grow to a large network)
• Packet/cell carries VCI• Switching based on incoming
port + VCI (unique per port)– VCI changed at the output
port• Negotiate the QoS parameters
and allocate resources (buffer, bandwidth) to VC– If no enough resource, reject
the connection request– QoS performance guranteed
for connection (bandwidth, delay, delay jitter)
• Each cell is routed along the established connection in order
• If a switch or a link fail, tear down the old connection and establish a new connection
Many ATM ideas adopted in IP networks called MPLS (more later)
87
Today’s Homework• Peterson & Davie, Chap 3
-3.1 -3.5 -3.7-3.8-3.13 -3.26 -3.30
• Download and browse ATM UNI4.0 and PNNI1.0 specs• Check the description of generic cell rate algorithm and
lucky bucket algorithm in wikipediaDue Fri (2/21)