870 likes | 994 Views
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
E N D
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
hub hub hub hub 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
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) Switch hub hub hub
Token- ring 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 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. Hub Switch
Internet A Switched Enterprise Network Router Switch
Host D Host E Switch 1 0 1 2 Host F 3 3 Host C 2 1 0 Switch 2 0 Host B Host A 1 3 Host G 2 Switch 3 Host H 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
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
Src=x, Dest=y Src=x, Dest=y Port 1 Port 4 x is at Port 1 y is at Port 5 Port 2 Port 5 Port 3 Port 6 Self Learning (Learning Bridges) • 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
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 arrivedthen 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 • Consider the following packets: (Src=A, Dest=F), (Src=C, Dest=A), (Src=E, Dest=C) • What have the bridges learned?
F F F F F F Danger of Loops • 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 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
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.
B6 B4 B1 B2 B7 B5 B3 STP Example
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
B1 B2 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) Host B Host A VLAN 100 VLAN 100 VLAN 200 VLAN 200 Host D Host C
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
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 Concepts • Negotiated Service Connection • End-to-end connections, called virtual circuits • Traffic contract • Virtual circuit based switching • Dedicated capacity • Cell Based • Small, fixed length A
Negotiated Service Connection Traffic Contract • Parameters • Traffic Characteristics • Peak Cell Rate • SustainableCell Rate • Quality of Service • Delay • Cell Loss Virtual Connection 1-QOS A Virtual Connection 1-QOS B Virtual Connection 1-QOS b
The ATM Cell Header Payload • 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 5 Bytes 48 Bytes A
Voice Voice ATMNetwork Data Voice Video Data Data Video Video ATM Vision The Ultimate Integrated Services Network • 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
Video Cell Data Cell Voice Cell ATM System Architecture A
AAL Types 1 Circuit Emulation -Constant Bit Rate (CBR) Low Bit Rate Voice (Real Time) -Variable Bit Rate (VBR) Time Invariant Data “Simple” Data 48 Bytes 2 3/4 5 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 A
ATM Layer 48-Byte Payloads From AAL 5-Byte Header } • 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 53-Byte Cell To Physical Layer Header Contains Virtual Path and Channel Identifiers A
Physical Layer Cable Plants Speed Matching and Framing Uses Existing Media Twisted Pair Coax Fiber -Multimode -Single Mode Wide Range of Speeds LAN, MAN, WAN Compatibility Transmission Frame A
Transmission Convergence Sublayer Physical Layer Medium Dependent Sublayer ATM PHY: Two Sublayers • 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 270 columns • 9 ´ 260 ´ 8/125 msec = 149.76 Mbps payload 9 R o w s . . . Maintenance and operations 1 Synchronous Payload Envelope (1 column of overhead) 125msec 9 bytes A
ATM System Architecture ATM Cell Creation Transmission Forward Cell Through Network Add 5-Byte Header Conversion to ATM Data Types, 48-Byte Length Convert To Correct Electrical Or Optical Format Video Cell Data Cell Voice Cell Services ATM Layer Physical Layer Adaptation Layer A
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 Interfaces UNI User Network Interface NNI Network Node Interface B-ICI BISDN Inter-Carrier Interface ATM DXI Data eXchange Interface FUNI ATM Frame Based UNI Interface PrivateNNI Public NNI PrivateUNI Metropolis Data Services Inc. PublicUNI ATMDXI FUNI FUNI B-ICI Country Wide Carrier Services D
ATM UNI Cell 7 6 5 4 3 2 1 0 Generic Flow Control Virtual Path Identifier Virtual Path Identifier Virtual Channel Identifier Virtual ChannelIdentifier 5 Byte Header Virtual ChannelIdentifier Virtual Channel Identifier Payload Type Identifier CLP Header ErrorCheck 48 Byte Payload Payload(48 bytes) CLP = Cell Loss Priority
ATM NNI Cell 7 6 5 4 3 2 1 0 Virtual Path Identifier Virtual Path Identifier Virtual Channel Identifier Virtual ChannelIdentifier 5 Byte Header Virtual ChannelIdentifier Virtual Channel Identifier Payload Type Identifier CLP Header ErrorCheck 48 Byte Payload Payload(48 bytes) CLP = Cell Loss Priority
7 6 5 4 3 2 1 0 Generic Flow Control Virtual Path Identifier Virtual Channel Identifier Virtual Path Identifier Virtual ChannelIdentifier Payload Type Identifier Virtual Channel Identifier CLP Header ErrorCheck Payload(48 bytes) Generic Flow Control • Used for UNI only - Not NNI • Currently undefined • Set to 0000B • Proposed future uses • Flow control • Shared media multiple access B
7 6 5 4 3 2 1 0 Generic Flow Control Virtual Path Identifier Virtual Channel Identifier Virtual Path Identifier Virtual ChannelIdentifier Payload Type Identifier Virtual Channel Identifier CLP Header ErrorCheck Payload(48 bytes) 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 C
7 6 5 4 3 2 1 0 Generic Flow Control Virtual Path Identifier Virtual Channel Identifier Virtual Path Identifier Virtual ChannelIdentifier Payload Type Identifier Virtual Channel Identifier CLP Header ErrorCheck Payload(48 bytes) Cell 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
7 6 5 4 3 2 1 0 Generic Flow Control Virtual Path Identifier Virtual Channel Identifier Virtual Path Identifier Header Error Check Virtual ChannelIdentifier Payload Type Identifier Virtual Channel Identifier CLP Header ErrorCheck Payload(48 bytes) • 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 B
Why 53 Bytes? • Compromise reached in ITU-TS Study Group XVIII in June 1989 64 + 5 32 + 4 48 + 5
Queuing Delay Advantage of Small Cells 100 byte message Delay and delay variation are small for small messages e.g., a digitized voice sample But high header overhead 100 other active connections 45 Mbps • • • 12 High overhead Wait for other cells 10 Max 8 Just fits in one cell Delay 6 4 (ms) 2 0 1 50 100 150 200 250 300 Payload (bytes) A
Percent Overhead and Packetization Delay for 64 Kbps Voice Packetization Delay Advantage of Small Cells 100 10 Delay 80 8 Overhead 60 6 % Overhead Delay (ms) 40 4 20 2 0 0 0 20 40 60 80 Payload (Bytes)
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 Host D Switch 4 Host E 0 Switch 1 1 0 11 1 0 3 3 2 3 2 1 5 2 4 Switch 2 0 Host B 7 Host A 3 1 2 Switch 3 VCI has link-local scope
Permanent 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 VPI/VCI VPI/VCI VPI/VCI VPI/VCI NetworkManagementSystem B