CSS432: Switching and Bridging 1 Switching and Bridging Textbook Ch3.1 and 3.4 Instructor: Joe McCarthy (based on Prof. Fukuda’s slides)
Network Layer CSS432: Switching and Fowarding 2
3 Scalable Networks Why switches? Connects two or more network segments (>2500m in Ethernet) Support large numbers of hosts (>1024 hosts in Ethernet) Maintain performance (> two packets through a switch) Network Switches Packet SwitchCircuit Switch ConnectionlessConnection OrientedDynamicStatic IP datagrams ATM X25 DTMSONET virtual TDM FDM Dynamically reallocate bandwidth Frame sent over optics in synchronization with atomic/satellite clock CSS432: Switching and Bridging
4 Three Approaches Datagram/connectionless switching IP Virtual circuit/connection-oriented switching X.25 ATM (Asynchronous Transfer Mode) Source routing Connection requests in virtual circuit CSS432: Switching and Bridging
5 Datagram Switching No connection setup phase Each packet forwarded (routed) independently Switch 3 Host B Switch 2 Host A Switch 1 Host C Host D Host E Host F Host G Host H Analogy: postal system Each switch maintains a forwarding (routing) table DestPort A3 B0 C3 D3 E2 F1 G0 H0 Table at Switch 2 CSS432: Switching and Bridging
6 Datagram Switching (Cont’d) No connection setup Pros 1: A source can send data as soon as it is ready. No way of knowing if a packet is delivered. Cons 1: A source must estimate network congestion or disconnection Each packet may take a different route. Pros 2: No single point of failure Cons 2: May arrive in different order CSS432: Switching and Bridging
7 Virtual Circuit Switching Explicit connection setup (and tear-down) phase Subsequence packets follow same circuit Analogy: phone call Each switch maintains a VC table Switch 3 Host B Switch 2 Host A Switch 1 VCI = 5 VCI = 11 VCI = 7 VCI = 4 Port (in)VCIPort (out)VCI Port (in)VCIPort (out)VCI Port (in)VCIPort (out)VCI 0734 Switch 1 Switch 2 Switch 3 Question: It seems like the table needs only incoming & outgoing port pairs…. Why do we need a VCI for each? CSS432: Switching and Bridging
8 Virtual Circuit Switching (Cont’d) Switch 3 Host B Switch 2 Host A Switch 1 Host C Host D Host E Host F Host G Host H VCI=5 VCI=11 VCI=7 VCI=4 VCI=6 VCI=12 VCI=8 VCI=4 Port (in)VCIPort (out)VCI Port (in)VCIPort (out)VCI Port (in)VCIPort (out)VCI Global address information is replaced with local VCI. Each switch has local but not global information. To set up connection: Each switch still needs a global view of network configuration to forward a connection request message to destination Switch 1 Switch 2 Switch 3 CSS432: Switching and Bridging
9 Virtual Circuit Model (Cont’d) Connection setup required Pros 1: An opportunity to reserve resources (QoS) Cons 1: Wait for a full RTT before sending first data packet. Cons 2: Full address for destination still required for connection. Packets sent along the same route Pros 2: Each data packet contains only a VCI. Pros 3: Flow control possible along the entire connection Cons 3: If the connection is broken, a new one needs to be established. CSS432: Switching and Bridging
10 Source Routing Each packet has complete switching information from source to destination Three ways to maintain switching information: Rotation Striping Use of a pointer Useful to send a connection setup request in VC CSS432: Switching and Bridging
11 Bridges and Extended LANs Connecting two or more LANs Repeater / Hub L1: Physical Layer Forwards everything everywhere Limitations: <= 2500m and <= 1024 nodes Bridge (or LAN switch) L2: Datalink Layer Forwards frames using MAC address Static configuration + partial dynamic configuration (Spanning Tree Protocol) Router L3: Network Layer Forwards packets using IP address Dynamic configuration R destination R R R B B B B R R R R CSS432: Switching and Bridging
12 Learning Bridges Do not forward frames when unnecessary Ex. A frame sent from A to B Maintain forwarding table HostPort A1 B1 C1 X2 Y2 Z2 Learn table entries based on source address E.g. An entry for A is registered upon receiving a frame from A E.g. When forwarding a frame to B, don’t forward to Port 2 Table is an optimization; need not be complete Entries are expired after a specific period of time Linux brctl command: makes a logical bridge with max age = 4sec A Bridge BC XY Z Port 1 Port 2 Based on datagram switching CSS432: Switching and Bridging
13 STP: Spanning Tree Protocol Loops Example: B1 receives a frame from Node X on LAN H to Node Y on LAN C. B1 registers an entry for Node X but not yet Node Y. B1 forwards frame to all ports except to LAN H. B7 receives frame 7 & forwards to LAN B B5 forwards frame to LAN A & D. B1 receives this frame (again) and registers an entry for X. B1 forwards it to all ports except to LAN H & D. Node Y eventually receives a frame. Problem: Duplicated frames are forwarded along loops. Spanning Tree Algorithm Inactivate bridge ports so that no cycle exists in extended LAN Radia Perlman, “Mother of the Internet” IEEE Specification B3 A C E D B2 B5 B B7 K F H B4 J B1 B6 G I X Y CSS432: Switching and Bridging
14 STP Details Initially, each bridge believes it is the root When a bridge learns it is not the root, it stops generating configuration messages When a bridge learns it is not a designated bridge for a LAN, it stops forwarding configuration messages In steady state: The network (tree) has exactly 1 root (only bridge generating config msgs) Each LAN has exactly 1 designated bridge (only bridges forwarding config msgs) If any bridge does not receive a configuration message after a period of time, it starts generating configuration messages claiming to be the root. B3 A C E D B2 B5 B B7 K F H B4 J B1 B6 G I Bridges exchange configuration messages (Y, d, X) Y: the id of reigning root d: #hops from X to Y X: the sending bridge id (1, 0, 1) (1, 1, 2) (1, 1, 5) (1, 0, 1) root 1 hop B5 < B7 1 hop B4 < B6 1 hop 2 hops CSS432: Switching and Bridging
Another STP illustration Determine RPs (root ports) DPs (designated ports) BPs (blocked ports) CSS432: Switching and Fowarding 15
Another STP illustration Determine RPs (root ports) DPs (designated ports) BPs (blocked ports) CSS432: Switching and Fowarding 16
One more STP illustration CSS432: Switching and Fowarding 17
18 X.25 Source Routing and Virtual Circuit Switching group channel type 1 caller address length callee address length caller address (up to 14bits) callee address (up to 14bits) Data Higher Layer Protocol receive sequence send sequence channel 0 0 modulo group Call request Call accept Source VCI Destination VCI DTE/DCE Call request/Idle mode/call clearingData packet 4K channels Call request control 3 bits: country code 1 bit: network code 10 bits: address Why sequence#? 1.Sliding window 2.Error recovery CSS432: Switching and Bridging
19 Cell Switching (ATM) Connection-oriented packet-switched network Used in both WAN and LAN settings Packets are called cells 5-byte header + 48-byte payload (easier to switch, high frame utilization for small data) Commonly transmitted over SONET Error correction End-to-end but not at each switch (i.e., at data link layer) Congestion control Admission control Leaky packet transfer CSS432: Switching and Bridging
20 Switch Implementation Using a workstation Flexible control Performance problem Using a custom hardware Shared/share memory-based switch Crossbar switch Self-routing switch (Batch Banyan switch) CSS432: Switching and Bridging
21 Workstation Used as a Switch Advantage: flexible because a workstation has a CPU. Example 33MHz 32bit I/O bus 1Gbps for one way from NIC to main memory 500Mbps for a round trip between NIC and main memory Enough to support five 100Mbps Ethenet What if a packet is very small like 64byes The workstation has 500,000 packets per second (pps). Throughput: 500,000 x 64 x 8 = 256Mbps NIC I/O ctlr CPU Main memory I/O Bus LAN A LAN B LAN C Workstation CSS432: Switching and Bridging
22 Shared Bus/Memory-Based Switch A simple design Shared bus or memory becomes a bottleneck. (Max. 16 bus masters) Output Port Input Port Shared memory Shared bus Control processor DMA from port to port CSS432: Switching and Bridging
23 Crossbar Switch Without a collision, all inputs delivered to each output All inputs may go to the same output which causes a collision in the output buffer. CSS432: Switching and Bridging
24 Crossbar + Knockout Switch Knockout switch: buffers only L out of N packets, where L < N. Ex. L =8 is sufficient. 1 packet loss per million for a large N. ( logarithmically in the loss rate) Detailed explanation: N = 4 L = 3 Knockout Switch Round-robin CSS432: Switching and Bridging
25 Banyan Switch 2 x 2 switching elements interconnected in regular patterns. Collisions occur if packets are not presented in ascending order CSS432: Switching and Bridging
26 Batcher Network + Banyan Switch Sort packets in ascending order through Batcher network Then switch them through Banyan switch ∞ ∞ ∞ ∞ CSS432: Switching and Bridging
27 Reviews Datagram switching Virtual Circuit switching Source routing Bridges: STP and limitations Switches: workstation-based, shared bus/memory-based, crossbar + (knockout), and (batcher network) + banyan Exercises in Chapter 3 Ex. 1 (vc sw) Ex. 4 (datagram sw) Ex. 13 (STP) Ex. 26,32 (Switch implementation) CSS432: Switching and Bridging