710 likes | 723 Views
This lecture discusses the concepts of switched networks, Ethernet switches, learning bridges, spanning tree, multicast, and ATM networks. It also covers virtual circuit switching, ATM AAL, and ATM QoS.
E N D
ECE544: Communication Networks-II, Spring 2018 Prof. Raychaudhuri Lecture 3 Includes teaching materials from J. Kurose, L. Peterson 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) • Protocol project background (Francesco)
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 • 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
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 nodes 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 identifying itself as root • Upon receiving a CBPDU, check if the new path is better • if better, update its STP record, forward the message after updating the root path cost in the message • After stabilization, only the root bridge generates 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.
Spanning Tree Protocol Example B1 B5 B6 B2 B7 B3 B4 A B • B3 receives (B2,0,B2) • Since 2<3, B3 accepts B2 as root • B3 adds 1 to distance advertised by B2 and sends (B2,1,B3) to B5 • Meanwhile B2 accepts B1 as root because it has lower ID and sends (B1,1,B2) to B3 • B5 accepts B1 as root and sends (B1,1,B5) towards B3 • B3 accepts B1 as root and it notes that both B2 and B5 are closer to the root than it is. • B3 stops fowarding messages on both its interfaces K C D F E H G J I
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 establishes 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
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
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
Video Cell Data Cell Voice Cell ATM System Architecture A
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
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) • Signaling, 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: 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 Paths and Virtual Channels 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) Virtual Path Virtual Channel Physical Link • 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
Switched Virtual Circuits Signalling Channel(VPI/VCI = 0/5) Signalling Channel(VPI/VCI = 0/5) • Switch and terminal exchange signalling messages using the predefined signalling channel, VPI/VCI = 0/5 CallProcessing ATM Switch B
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
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) Virtual Connections 76 Video 3 88 Voice 4 37 42 Video Data 1 37 78 52 Data Voice 5 Video 2 6 22 Video Connection Table Port VPI/VCI Port VPI/VCI 1 0/37 3 0/76 1 0/42 5 0/52 2 0/37 6 0/22 2 0/78 4 0/88 Video Data Video Voice