Switching in Modern Communication Networks
Switching in Modern Communication Networks
Communication Networks
Introduction to Switching
Ethernet Switching
Switching in the Internet
ATM Switching
1
Anatomy of a Communications Network
terminals
switches
links
2
Representing Information with Light
Text Still Image Video
e
tim
8 bits/character 640x480 30 frames/s
100 Kbits/s 10 Mb/s 220 Mb/s
3
Sharing Links
3
3
5 3 6 5 3 3 6 5
5 5
6 6
4
Switching
Switching systems
» use cell labels to forward cells to destination
» accommodate differences in terminal devices
» allow large networks to be built economically
Cell switches must be “programmed” to forward cells.
1-5 - Jon Turner - 8/6/2004
5
Sample Routers and Switches
Cisco 12416 Router
up to 160 Gb/s throughput
up to 10 Gb/s ports
3Com 4950
24 port gigabit
Ethernet switch
6
High Capacity Router
Cisco CRS-1
»up to 46 Tb/s thruput
Two rack types
Line card rack
»640 Gb/s thruput
»up to 16 line cards
– up to 40 Gb/s each
»up to 72 racks
Switch rack
»central switch stage
»up to 8 racks
In-service scaling.
7
Washington University Gigabit Switch
8
Coping with Variable Rate Streams
9
Multi-party Communication
one-to-many many-to-many
10
Sample Application Characteristics
WWW browsing
» interactive sessions with new “pages” every 1-100 sec.
» page size may vary from 1KB to 10 MB
» key performance metric is subjective response time: requires
network transmission time of under 1 sec.
Real-time video distribution
» potentially large and varying number of recipients for single
channel
» single stream bandwidths of 1.5-50 Mb/s, depending on coding
method and image resolution
» data rate varies on 1-10 s time scales over range of up to 2:1
Video conferencing
» may be multiparty, typically implemented using central bridge
Video-on-demand
» VCR-style playback controls, one-to-one but may use multicast
Telephony - complex control, low rate, needs low delay variance
Enterprise data networks – LAN, WAN - server access
1-11 - Jon Turner - 8/6/2004
11
Components of a Basic Cell Switch
Input and Output Trans-
mission Interfaces (ITI, OTI) CP
» convert between serial optical IPP OPP
ITI OTI
signals and parallel electronic
signals output
routing
» extract timing from received table queue
signals
» encode (and decode) data for
transmission
. . .
. . .
Input Port Processors (IPP)
» synchronize received signals
» determine required output or
outputs using routing table
Output Port Processors (OPP) Control Processor (CP)
» queue outgoing cells
» configures routing tables to implement
Shared bus interconnects
end-to-end channels
IPPs and OPPs.
» accepts channel requests from
» passive interconnect
– typically just PC board traces terminals
» coordinates end-to-end channel setup
together with neighboring switches
1-12 - Jon Turner - 8/6/2004
12
Example Internal Cell Format
Busy/Idle bit (BI) is set to 1 11 2 4 16 24 16
during active bus cycles. BC P
I DR - OSET ML ECHK
I
Control/Data bit (C/D) for
CP control cells. Payload [0-7]
Priority field (PRI) assigns Payload [8-15]
queueing priorities to cells.
Output Set (OSET) specifies
outputs to receive copies of
cell. . . .
13
Input & Output Port Processors
Receive Buffer (RCB)
Routing Control (RCTL) bus_avail_n Transmit CQ0
Buffer
Input Bus Interface (IBI) Input Port CQ1
Processor
Output Bus Interface (OBI) Routing
CQ2
Table CQ3
Queue Controller (QCTL) FSL
RCB
Sync. Buffer (SYNB) SYNB
Loopback Buffer (LBB) RCTL IBI OBI QCTL
LBB
Output Port
Processor
bus_avail_s
14
Control of Cell Switched Networks
Communication channels defined by routing tables.
Control Processors cooperate to setup user channels.
» user-network signaling allows users to request channels
» network signaling allows control processors in different switches
to cooperate in order to configure channels for users
» control communication can be done using pre-configured control
channels
Terminals identified by network address.
» typically address is structured hierarchically to facilitate routing
– high order part of address specify large geographic areas
– mid order part identifies a single switch
– low order part identifies specific terminal connected to a single switch
» may use logical hierarchies in place of geographic
Routing Protocols used to communicate information
about how to reach terminals based on their addresses.
» includes both connectivity and link capacity information
» dynamically updated to reflect changing status
15
Ethernet Local Area Networks
Classical Ethernet Modern Ethernet
100 Mb link
taps passive hubs
16
Ethernet Frame Format (IEEE 802 Std.)
Preamble enables synchronization of receivers.
Preamble Startof Frame marks end of preamble.
(7 bytes)
Address fields identify source and destination.
Start of Frame » globally unique addresses, assigned by manufactuer of
Dest. Address interface cards in terminals
(6 bytes) » no location information provided by addresses
Source Address » address field of all 1’s is defined as broadcast address
(6 bytes)
Length
» multicast addresses specified by 1 in first address bit
(2 bytes) – multicast packets distributed throughout spanning tree
– host Ethernet interfaces can be programmed to receive
Data packets with specific multicast addresses
(≤1500 bytes) Length field gives number of bytes in data field.
Padding field guarantees minimum frame length
17
Basic Concepts of Ethernet Switching
Key differences between Ethernet switches and cell switches.
» transmission interface must handle CSMA/CD protocol
» IPP and OPP must be modified to handle variable length frames
» IPP routing table uses Ethernet addresses to identify links to
destinations
» CPs identify a spanning tree of network links to enable loop-free routing
» switches learn addresses of terminals within LAN and how they can be
reached through spanning tree
IPP routing tables contain entries for all known destinations.
» entries include dest. address & output link for reaching destination
» search for desired destination using an appropriate search technique
– sequential scan, hash table, Content-Addressable Memory, binary search tree
– limited size of LANs allows use of straightforward algorithms
» packets to unknown addresses can be forwarded on spanning tree
links; for leaf switches need only forward on up-link
Reception of packet with previously unknown source address
provides routing information for routing to that address.
Routing table entries time out, to allow terminal movement.
18
Internetwork Routing
Gateway Routers
Backbone Routers
19
IP Packet Format (v4)
4 4 8 16 Versionnumber specifies the version of the IP
ver HLen TOS Length
Frag. ID flags Offset protocol and determines packet format.
TTL Protocol Checksum » version 6 is similar to v4 but uses longer addresses
Source Address Header Length (HLen) gives number of 32 bit
Destination Address words in header.
Options Padding
Type of Service (TOS) field can be used to allow
application-specific treatment of packets.
Fragmentation Identifier, flags and Offset used for
fragmentation and reassembly of IP packets.
Data (variable) Time-to-live (TTL) specifies the remaining number
of hops before packet should be discarded.
» prevents infinite looping of packets
Protocolused for demultiplexing at destination.
Checksum for end-to-end error detection.
Address fields specify source and destination.
» hierarchical address structure
Options
are rarely used but must be supported in
complete IP protocol implementations.
20
Addressing in IP (v4)
7 24 28
Class A 0 network host Multicast 1110 group
14 16
Class B 10 network host
111111111111111100000000000000
21 8 Subnet Masks
Class C 110 network host 111111111111111111110000000000
21
IP Address Lookup
Routing tables at router input ports routing table
contain (prefix, next hop) pairs next
prefix hop
Address in packet is compared to
stored prefixes, starting at left. 10* 7
01* 5
Prefix that matches largest number 110* 3
1011* 5
of address bits is desired match. 0001* 0
0101 1* 7
Packet is forwarded to the specified 0001 0* 1
next hop. 0011 00* 2
1011 001* 3
Problem - large router may have 1011 010* 5
100,000 prefixes in its list. 0100 110* 6
0100 1100* 4
1011 0011* 8
1001 1000* 10
0101 1001* 9
address: 1011 0010 1000
22
Address Lookup Using Tries
Prefixes stored in address: 1011 0010 1000
23
Multibit Trie
0 1 address: 101 100 101 000
0 1 0 1 01,10
0 1 0 0 1 0
1 1 0 1 1 1
000 001 010 100 101 110
0 0 1 1 1 0
1,10 -- 11 -- 1 *
0 1 0 0 0 1
0 1 0 1 * 0,00 01 00 1,11 0
24
Efficient Implementation of Multibit Trie
0 00 0110 address: 101 100 101 000
01,10 11101110
000 001 010 100 101 110 0 01 0010 0 00 0000 0 00 0001 0 00 0000 0 01 0000 1 00 0000
00000000 00001000 00010010 00000010 00001100 00000000
1,10 -- 11 -- 1 *
internal
100 011 110 110 100 101 bit vector external
* 0,00 01 00 1,11 0
1 00 0000 0 00 1000 bit vector
00000000 00000000
25
Packet Classification
General router mechanism with several uses.
» security firewalls
» network address translation
» load balancing for large web sites
» special routing, queueing, processing for selected flows or flow groups
Common form of packet filter based on five IP header fields.
» source addr., destination addr. - either or both specified by prefixes
» protocol field - may be specified as “wild-card”
» source port number, destination port number (for TCP and UDP only)
– may be specified as port ranges
No ideal implementations for general case.
» exhaustive search - limited to slow links, few filters
» ternary content-addressable memory – parallel exhaustive search
» some algorithms exploit characteristics of common packet filter sets to
enable fast lookup “in practice”
» efficient special cases - exact match, one or two address prefixes
Higher level information also used in special cases.
» URLs for “content-based routing”
1-26 - Jon Turner - 8/6/2004
26
Other Aspects of the Internet
Transport protocols - provide end-to-end functions
» Terminal Control Protocol (TCP) - provides reliable byte stream service
– creates end-to-end “connection”, forms packets, sends acks, adjusts
sending rate in response to congestion
– used to implement http, ftp and most other application protocols
» Unreliable Datagram Protocol (UDP)
– supports port numbers used to deliver packets to right destination program
– used for audio, video transport, experimental functions
Address Resolution Protocol (ARP)
» used by router to determine Ethernet addr. matching a given IP addr.
» ARP request packet broadcast on subnet, target host replies
Multicast
» hosts announce desire to receive packets on given multicast address
» routers forward packets along shortest path trees from senders
» IP multicast addresses mapped into Ethernet multicast addresses
Network Address Translation (NAT)
» too few IPv4 addresses to assign unique addresses to all hosts
» NAT allows hosts in local subnet share single “outside” IP address
» involves dynamic mapping of transport protocol port number fields
1-27 - Jon Turner - 8/6/2004
27
Asynchronous Transfer Mode Networks
ATM networks introduced commercially in early nineties.
»designed to match packet networks’ ability to serve many different apps.
»improve support for real-time applications by allowing bandwidth
reservation and support for guaranteed Quality of Service (QOS)
»improve support for multicast applications with built-in signalling
»better performance with high performance, scalable hardware switching
»improve scaling using general hierarchical addressing and two
multiplexing levels
Overall characteristics
»cell-based switching with virtual circuit and virtual path routing
»fixed-length cell to facilitate hardware switching & cut delay variability
»hardware support for unicast and multicast forwarding
»general signaling protocol for unicast and multicast sessions
»comprehensive traffic management framework supporting bandwidth
reservation and QOS; emphasis on high quality services
ATM stimulated improvements in IP
»QoS support and more scalable multicast signaling capabilities
– not generally available, in practice
»introduction of hardware switching techniques in IP routers
1-28 - Jon Turner - 8/6/2004
28
ATM Cell Formats
UNI GFC VPI Payload Type Indicator (PTI)
VPI identifies cell as user data or control.
VCI
PTI CLP
Virtual Path Identifier (VPI) & Virtual
HEC Circuit Identifier (VCI) identify
distinct multiplexed data streams
Payload » can switch on VPI only, or both
» when switching on VPI only, VCI field
passed through
NNI
VPI Cell Loss Priority (CLP) bit set for
lower priority cells
VCI
PTI CLP Header Error Check (HEC) detects
HEC errors in header
Generic Flow Control (GFC) is unused
Payload
Payload is 48 bytes long
29
Header Encoding
Unassigned cells sent cell type VPI VCI PT CLP
unassigned 0 0 xxx 0
on idle link. meta-signaling 0 1 0x0 x
Meta-signaling used to general broadcast 0 2 0x0 x
point-to-point signaling 0 5 0xx x
establish signaling VCI segment F4 x 3 0x0 x
on “multi-drop line” end-to-end F4 x 4 0x0 x
30
Virtual Paths and Circuits
31
Virtual Paths and Circuits
Virtual Path/Circuit Table
VPI
32
Sending Data in Cells
Message 0
Now is the time for all good men to come to
the aid of the quick brown fox jumping over
the lazy dog. Now is the time for all
good men to come to the aid of the
quick brown fox jumping over the
ATM Cells
...
lazy dog. Now is the time for all
good men to come to the aid of the
quick brown fox jumping over the
Packet
lazy dog. Now is the time for all
good men to come to the aid of the Header 0
quick brown fox jumping over the
lazy dog. Now is the time for all
good men to come to the aid of the
quick brown fox jumping over the
lazy dog. Now is the time for all
good
Now ismen to come
the time for allto themen
good aidtoofcome
the to
quick
the aidbrown fox brown
jumping over theover
...
of the quick fox jumping
lazy dog.
the lazy Now
dog. Now is is
the time
the time forfor
allall
good
good men
men to to come
come to to the
the aid
aid ofof the
the
quick brown fox jumping over the
lazy dog. lazy dog. Now is the time
for all good men to come to the aid of
1 U bit
the quick brown fox jumping over
the lazy dog. lazy dog. Now is the
time for all good men to come to the
aid of the quick brown fox jumping Trailer
over the lazy dog.
CRC & Length field
33
Physical Layer Characteristics
Ethernet
»original 10 Mb/s Ethernet uses coax with Manchester encoding
»100 Mb/s Ethernet provides half-duplex data transmission
– 4 UTP-3 pairs with 8B6T (3 level) coding
– 2 UTP-5 pairs or 2 fibers with 4B5B coding
»gigabit Ethernet
– 2 twisted pair or fiber at 1 Gb/s with 8B10B coding
ATM
»45 Mb/s on fiber using DS-3 transmission format
»150 Mb/s on UTP-5 and fiber using SONET format (OC-3)
– packs data into 120 µs frames which are scrambled to ensure frequent clock
transitions and DC balance
»600 Mb/s, 2.4 Gb/s and 9.6 Gb/s over single mode fiber using
SONET formats (OC-12, -48, -192)
IP
»operates over other networks including Ethernet and ATM
»IP-over-SONET, uses PPP protocol to delineate IP frames on
SONET links
1-34 - Jon Turner - 8/6/2004
34
Packet/Cell Overheads
1
0.9
TCP+IP+SONET
data bytes/total bytes 0.8
0.7
TCP+ATM+SONET
0.6
0.5
0.4
0.3
TCP+IP+ATM+SONET
0.2
TCP+IP+Ethernet (Manchester)
0.1
TCP+IP+Ethernet (8B/10B)
0
1 10 100 200 1,000
data bytes
35