* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Switching and Forwarding
Survey
Document related concepts
Deep packet inspection wikipedia , lookup
Network tap wikipedia , lookup
Zero-configuration networking wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Parallel port wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Telephone exchange wikipedia , lookup
Transcript
Switching and Bridging Textbook Ch3.1 and 3.4 Instructor: Joe McCarthy (based on Prof. Fukuda’s slides) CSS432: Switching and Bridging 1 Network Layer CSS432: Switching and Fowarding 2 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 Switch Circuit Switch TDM FDM virtual Connectionless IP datagrams Connection Oriented ATM X25 Dynamic DTM Dynamically reallocate bandwidth CSS432: Switching and Bridging Static SONET Frame sent over optics in synchronization with atomic/satellite clock 3 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 4 Datagram Switching No connection setup phase Each packet forwarded (routed) independently Analogy: postal system Host D Each switch maintains a forwarding (routing) table 0 Switch 1 3 Table at Switch 2 Dest Port A 3 B 0 C 3 D 3 E 2 F 1 G 0 H 0 Host C Host E Host F 1 2 Switch 2 2 3 1 0 Host A Host G 1 0 Switch 3 Host B 3 2 Host H CSS432: Switching and Bridging 5 Datagram Switching (Cont’d) No connection setup No way of knowing if a packet is delivered. Pros 1: A source can send data as soon as it is ready. 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 6 Virtual Circuit Switching Explicit connection setup (and tear-down) phase Subsequence packets follow same circuit Analogy: phone call Each switch maintains a VC table 0 Switch 1 1 3 VCI = 11 2 5 3 VCI = 5 11 Switch 1 Switch 2 Switch 3 VCI Port (out) VCI 2 5 1 11 Port (in) VCI Port (out) VCI 3 11 0 7 Port (in) VCI Port (out) VCI 0 7 3 4 0 VCI = 7 Host A Port (in) 2 Switch 2 1 7 1 0 Switch 3 VCI = 4 3 4 Host B 2 Question: It seems like the table needs only incoming & outgoing port pairs…. Why do we need a VCI for each? CSS432: Switching and Bridging 7 Virtual Circuit Switching (Cont’d) Global address information is replaced with local VCI. Host D Host E 0 Switch 1 Each switch has local but not global information. 3 2 Switch 2 Host C VCI=5 2 VCI=6 To set up connection: Each switch still needs a global view of network configuration to forward a connection request message to destination Port (in) VCI Host F VCI=11 1 3 1 VCI=12 0 Host A VCI=7 VCI=8 Port (out) VCI Host G Switch 1 Switch 2 Switch 3 2 5 1 11 2 6 1 12 Port (in) VCI Port (out) VCI 3 11 0 7 3 12 0 8 Port (in) VCI Port (out) VCI 0 7 3 4 0 8 2 4 CSS432: Switching and Bridging 1 0 Switch 3 Host B VCI=4 3 2VCI=4 Host H 8 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 9 Source Routing Each packet has complete switching information from source to destination Three ways to maintain switching information: Rotation Striping Use of a pointer 3 Useful to send a connection setup request in VC 0 Sw itch 1 3 0 1 3 2 Sw itch 2 2 0 1 3 1 1 2 1 3 0 0 Host A 0 1 3 1 0 Sw itch 3 3 2 CSS432: Switching and Bridging Host B 10 Bridges and Extended LANs Connecting two or more LANs Repeater / Hub L1: Physical Layer Forwards everything everywhere Limitations: <= 2500m and <= 1024 nodes destination R R R R QuickTi me? Ç? T IFFÅ i îÒà?èkÅ j êLí£É vÉ çÉ OÉ âÉÄ Ç™Ç±ÇÃÉ sÉ NÉ`É ÉÇ?å©ÇÈ Ç?Ç?Ç…ÇÕïK óvÇ-Ç?Å B destination Bridge (or LAN switch) L2: Datalink Layer Forwards frames using MAC address Static configuration + partial dynamic configuration (Spanning Tree Protocol) B B B B QuickTi me? Ç? T IFFÅ i îÒà?èkÅ j êLí£É vÉ çÉ OÉ âÉÄ Ç™Ç±ÇÃÉ sÉ NÉ`É ÉÇ?å©ÇÈ Ç?Ç?Ç…ÇÕïK óvÇ-Ç?Å B destination Router R R R R QuickTi me? Ç? T IFFÅ i îÒà?èkÅ j êLí£É vÉ çÉ OÉ âÉÄ Ç™Ç±ÇÃÉ sÉ NÉ`É ÉÇ?å©ÇÈ Ç?Ç?Ç…ÇÕïK óvÇ-Ç?Å B L3: Network Layer Forwards packets using IP address Dynamic configuration CSS432: Switching and Bridging 11 Learning Bridges Do not forward frames when unnecessary Ex. A frame sent from A to B Maintain forwarding table A B Based on datagram switching C Port 1 Bridge Port 2 X Z Port 1 1 1 2 2 2 Learn table entries based on source address Y Host A B C X Y Z 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 = 12 4sec CSS432: Switching and Bridging STP: Spanning Tree Protocol A 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. B B3 C Y B5 D B7 B2 E K F B1 X G B6 H B4 I J Spanning Tree Algorithm Inactivate bridge ports so that no cycle exists in extended LAN Radia Perlman, “Mother of the Internet” IEEE 802.1 Specification CSS432: Switching and Bridging 13 STP Details Bridges exchange configuration messages (Y, d, X) Y: the id of reigning root d: #hops from X to Y A X: the sending bridge id Initially, each bridge believes it is the root 2 hops B3 When a bridge learns it is not the root, it C stops generating configuration messages (1, 1, 2) When a bridge learns it is not a B2 1 hop designated bridge for a LAN, it stops E 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. B (1, 1, 5) B5 D 1 hop B5 < B7 1 hop B7 K (1, 0, 1) F (1, 0, 1) B1 (1, 0, 1) root G H 1 hop I CSS432: Switching and Bridging B6 1 hop B4 < B6 B4 J 14 Another STP illustration Determine RPs (root ports) DPs (designated ports) BPs (blocked ports) http://en.wikipedia.org/wiki/Spanning_Tree_Protocol CSS432: Switching and Fowarding 15 Another STP illustration Determine RPs (root ports) DPs (designated ports) BPs (blocked ports) http://en.wikipedia.org/wiki/Spanning_Tree_Protocol CSS432: Switching and Fowarding 16 One more STP illustration http://www.cisco.com/warp/public/473/spanning_tree1.swf CSS432: Switching and Fowarding 17 X.25 Source Routing and Virtual Circuit Switching Call request/Idle mode/call clearing 0 0 0 1 group 0 0 modulo Call request channel type Data packet group channel receive sequence send sequence 1 control caller address length callee address length caller address (up to 14bits) callee address (up to 14bits) Higher Layer Protocol 3 bits: country code 1 bit: network code 10 bits: address 4K channels Why sequence#? 1. Sliding window 2. Error recovery Data Source VCI Call request Call accept Destination VCI DTE/DCE CSS432: Switching and Bridging 18 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 19 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 20 Workstation Used as a Switch Workstation CPU I/O ctlr Main memory NIC LAN A NIC LAN B NIC LAN C I/O Bus 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 CSS432: Switching and Bridging 21 Shared Bus/Memory-Based Switch Control processor Input Port Input Port Input Port Shared bus DMA from port to port Output Port Output Port Output Port Shared memory A simple design Shared bus or memory becomes a bottleneck. (Max. 16 bus masters) CSS432: Switching and Bridging 22 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 23 Crossbar + Knockout Switch L=3 Round-robin N=4 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: http://www.laynetworks.com/Knockout%20Switch.htm CSS432: Switching and Bridging 24 Banyan Switch 001 0 0 011 110 111 1 001 1 011 001 000 000 001 0 1 111 110 110 110 111 111 2 x 2 switching elements interconnected in regular patterns. Collisions occur if packets are not presented in ascending order CSS432: Switching and Bridging 25 Batcher Network + Banyan Switch 001 000 000 000 001 001 ∞ ∞ 110 110 111 111 111 ∞ 110 ∞ Sort packets in ascending order through Batcher network Then switch them through Banyan switch CSS432: Switching and Bridging 26 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 27