Вы находитесь на странице: 1из 35

Switching in Modern

Communication Networks

„ Introduction to Switching
„ Ethernet Switching
„ Switching in the Internet
„ ATM Switching

1
Anatomy of a Communications Network

terminals

switches
links

„ Terminals send and receive information.


„ Links transmit signals electronically or optically.
» highly transparent silica glass fibers
» semiconductor lasers and photodetectors
„ Switches route information from senders to receivers.
1-2 - Jon Turner - 8/6/2004

2
Representing Information with Light
Text Still Image Video

Now is the time for all


good men to come to the
aid of their party and
watch the quick brown
fox jump over the lazy
dog.

e
tim
8 bits/character 640x480 30 frames/s
100 Kbits/s 10 Mb/s 220 Mb/s

„ Patterns of light flashes represent characters.


„ Still images represented as many small dots.
„ Video simulates motion with tens of images/sec.
„ Sound represented as changes in air pressure.
„ Bandwidth measures rate of information flow.
1-3 - Jon Turner - 8/6/2004

3
Sharing Links

3
3

5 3 6 5 3 3 6 5
5 5

6 6

„ Cell-switched networks can carry many different types


of information.
„ Fixed length blocks called cells carry information.
„ Channel number in cell identifies information stream.
„ Different streams have different information rates.
1-4 - Jon Turner - 8/6/2004

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

Juniper Networks T640 Router


up to 160 Gb/s throughput
up to 10 Gb/s ports

Cisco 10 port Gigabit


Ethernet Line card

3Com 4950
24 port gigabit
Ethernet switch

1-6 - Jon Turner - 8/6/2004

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.

1-7 - Jon Turner - 8/6/2004

7
Washington University Gigabit Switch

„ 20 Gb/s system supporting link rates of 150 Mb/s, 1 Gb/s.


„ Main board (underneath) contains core ATM components.
„ Line cards contain all transmission components
» semiconductor lasers and photodiodes
» transmission coding circuits
„ Extended to support IP routing and embedded application
processing.

1-8 - Jon Turner - 8/6/2004

8
Coping with Variable Rate Streams

„ Rate variation leads to congestion


„ Manage rate variability
» select route to avoid congested links
» store “excess” information temporarily in link buffers
» regulate rates at which senders transmit
1-9 - Jon Turner - 8/6/2004

9
Multi-party Communication
one-to-many many-to-many

„ Most modern networks (Ethernet, IP, ATM) allow


some form of multi-party communication.
» one-to-many form most common
„ Many-to-many typically implemented using one-to-
many “overlays”
» expensive to maintain routing information in large sessions
» prevents “bandwidth sharing” by senders
1-10 - Jon Turner - 8/6/2004

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. . . .

„ Multiplexing Label field (MF)


specifies the multiplexing
label for the outgoing cell. Payload [56-63]
„ Error Check (ECHK) checks
for errors in the cell.
„ Payload contains user data.

1-13 - Jon Turner - 8/6/2004

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

„ Routing lookup performed as input cell goes from RCB to bus.


» entry includes busy/idle bit, priority, output set, output label and cell counter
„ Transmit buffers in OPP provide separate queues for each priority.
» implemented as linked lists in a common memory
» free space list keeps track of unused storage slots
„ Control cells from CP can be sent to IPP loopback buffer to enable
software access to routing table and management registers.

1-14 - Jon Turner - 8/6/2004

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

1-15 - Jon Turner - 8/6/2004

15
Ethernet Local Area Networks
Classical Ethernet Modern Ethernet

coaxial cable Ethernet


twisted pair cable switch
repeater

100 Mb link
taps passive hubs

„ Classical Ethernet LANs use passive coaxial cable to link terminals to a


common broadcast bus; operates at 10 Mb/s.
„ Access to the bus controlled by Carrier Sense Multiple Access protocol with
Collision Detection.
„ Passive hubs introduced in mid 1980s to simplify wiring and enable use of
inexpensive twisted pair wiring.
„ Ethernet switches introduced in early 1990s to enable higher performance
through parallelism and higher speed links (100 Mb/s and 1 Gb/s).

1-16 - Jon Turner - 8/6/2004

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

Padding required by CSMA/CD algorithm.


(if <46 bytes data) » minimum of 72 bytes per frame of which 46 bytes can
CRC be data and 26 bytes are overhead.
(4 bytes) » minimum frame duration of 57.6 µs at 10 Mb/s
„ CyclicRedundancy Check field (CRC) provides error
detection.
1-17 - Jon Turner - 8/6/2004

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.

1-18 - Jon Turner - 8/6/2004

18
Internetwork Routing
Gateway Routers

Local Area Networks Backbone Network

Backbone Routers

„ An internet is a “network of networks” in which routers move data


among a multiplicity of networks.
» heterogenous network types, multiple administrative domains
„ Most internets use the Internet Protocol (IP).
» datagram protocol with variable length packets and structured
addressing
» terminals communicate with routers using IP and local network
1-19 - Jon Turner - 8/6/2004

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.

1-20 - Jon Turner - 8/6/2004

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

„ IP addresses initially defined with two level hierarchy, network part


typically identified a LAN, and host part, a specific terminal.
» three address classes tailored to networks of different sizes
„ Subnetwork masks were introduced to add a third level of hierarchy, so
large networks could be logically divided into many subnetworks.
» improves scaling since other parts of internet need not know about subnets
» subnet mask can have any number of bits, maximizing flexibility
„ Classless Interdomain Routing (CIDR) extends subnet idea.
» arbitrary address prefixes can be used to represent a set of addresses that can be
treated as a group, for purposes of forwarding packets
» enables fully flexible subnetwork hierarchies
» delays address space exhaustion due to limit on class B network numbers
„ Multicast addresses are global identifiers designating a group of hosts.
» requires mechanism for dynamically associating hosts with multicast addresses

1-21 - Jon Turner - 8/6/2004

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

1-22 - Jon Turner - 8/6/2004

22
Address Lookup Using Tries
„ Prefixes stored in address: 1011 0010 1000

“alphabetical order” in tree. 0 1


„ Prefixes “spelled” out by
0 1 0 1
following path from top.
»green dots mark prefix ends 0 1 0 0 1 0
„ To find best prefix, spell out
address in tree. 1 1 0 1 1 1
„ Last green dot marks
0 0 1 1 1 0
longest matching prefix.
„ Straightforward version of 0 1 0 0 0 1
this method still too slow.
1
„ Can be made much faster 0 0 0 0
3
with suitable data
0 1 0 1
representation.
1-23 - Jon Turner - 8/6/2004

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

1 100 011 110 110 100 101


0 0 0 0

0 1 0 1 * 0,00 01 00 1,11 0

„ Match several bits in one step instead of single bit.


» equivalent to turning sub-trees of binary trie into single nodes.
„ Each node may be associated with several prefixes.
„ For stride of s, reduces tree depth by factor of s.
„ Simple version gives nodes that use O(2s) space.
» for large s, space requirements can become prohibitive
1-24 - Jon Turner - 8/6/2004

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

0 10 1000 0 00 0100 0 01 0001 0 10 0000


00000000 00000000 00000000 00000000
„ External bit vector identifies
outgoing branches from node.
„ Internal bit vector defines prefixes for node.
„ Siblings placed in consecutive memory locations.
» allows use of single child pointer - complicates memory mgmt.
„ Pointer to next hop information completes node data.
1-25 - Jon Turner - 8/6/2004

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

1-29 - Jon Turner - 8/6/2004

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

„ General broadcast segment F5


end-to-end F5
x
x
≠0
≠0
100
101
x
x
provided for multi- resource management x ≠0 111 x
drop access links user data x >15h 0CU x

„ Point-to-point signaling for control on single-drop line


„ F4 for VP testing, F5 for VC testing
„ Resource management type used for controlling rate of
cell flows on virtual paths and circuits
„ In user data cells
» C bit set by network to indicate congestion
» U bit set by sending terminal to mark last cell of AAL 5 frame
1-30 - Jon Turner - 8/6/2004

30
Virtual Paths and Circuits

„ Virtual paths combine collection of VCs together.


„ Transit switches route cells using VPI only.
» reduces the size of routing tables in transit switches.
» switches need not participate in establishment of new VCs on
transiting VPs
1-31 - Jon Turner - 8/6/2004

31
Virtual Paths and Circuits
Virtual Path/Circuit Table
VPI

base size Flags


Output Link
VPI Output VPI
VCI Output VCI
Cell Count
Memory
Layout Table

„ Terminating VP: base≠0, VCI selects entry from VCT


„ Transiting VP: base=0, VPI selects entry from VPT
„ Size field of offset table specifies number of entries
for particular VP or VC table
„ Number of table entries implementation-dependent
1-32 - Jon Turner - 8/6/2004

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

„ Applications typically have large data units to send


»for video, could be one frame; for web browsing, an HTML file
„ Terminal sends message as series of packets (typically
up to 1-10 KB long) using a transport protocol
„ ATM Network Interface Card (NIC) segments packets
into cells using ATM Adaptation Layer Protocol (AAL 5)
1-33 - Jon Turner - 8/6/2004

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

„ Common case of small packets inherently inefficient.


„ Efficiencies from 45% to 80% for 200 byte packets.
„ Most are reasonably efficient for longer packets.
1-35 - Jon Turner - 8/6/2004

35

Вам также может понравиться