* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Lecture 7 - Columbia University
Survey
Document related concepts
Transcript
W4140 Network Laboratory Lecture 7 Oct 23 - Fall 2006 Shlomo Hershkop Columbia University Announcements I will go over project teams end of day expect project over all goal what is going to be done on both parts network setup research papers referenced tools being user I have dug out tons of malicious stuff, please speak to me about this who is on it who is taking on lead responsibility wireless apologies for the delay we do have wireless routers need to get pc’s side wireless, will get a few usb keys since problem with internal pci slots Project due in 3 weeks – Nov 17 make sure to let me know if you need more time – am flexible for short extensions ONLY if you start early Announcement I was going to talk about BGP issues and how to solve them Example BGP infinite loops Wedgie problem bad path choices (where did my packets go??) I am deferring since I want to cover relevant work for this week’s lab WE ARE DOING LAB 6!! LAN Switching: Bridges & Spanning Tree Protocol Outline Interconnection devices Bridges/LAN switches vs. Routers Bridges Learning Bridges Transparent bridges & the Spanning Tree Protocol Virtual LANs (VLAN) Introduction There are many different devices for interconnecting networks Ethernet Hub Hosts Ethernet Switch Hosts Bridge Router X.25 Network Tokenring Gateway Ethernet Hub Used for Ethernet LAN and to connect multiple Ethernet LANs Just a repeater, frame collisions are propagated Low speed (up-to 100Mbps/sec) Good for sniffing traffic in a network that we want to monitor traffic Ethernet Hub Ethernet Hub Host IP IP LLC LLC 802.3 MAC Host Hub Hub 802.3 MAC How many can we use in a cascading configuration (i.e. one after the other)? Bridges & LAN switches are Layer 2 Old switches were operating with no spanning tree Smart Switches & Bridges operate at the Data Link Layer) Tokenring Bridge IP IP Bridge LLC 802.3 MAC LLC LAN 802.3 MAC LLC 802.5 MAC LAN 802.5 MAC 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 An Ethernet Hub does not perform buffering: Collisions occur if two frames arrive at the same time. Switch Hub CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD CSMA/CD HighSpeed Backplane CSMA/CD Input Buffers CSMA/CD CSMA/CD Output Buffers Dual Speed Ethernet hub Dual-speed hubs operate at 10 Mbps and 100 Mbps per second Auto Sensing technology allows us to plug in devices that operate at different speeds 100 Mbps 100 Mbps 100 Mbps 100 Mbps 10 Mbps 10 Mbps 10 Mbps 10 Mbps Dual-Speed Ethernet Hub What happens if we connect a fast and a slow device? Routers are Layer 3 Routers operate at the Network Layer (Layer 3) Interconnect IP networks IP network IP network IP network Host Router Host Router Application Application TCP TCP IP Network Access Host IP IP protocol Data Link Network Access IP IP protocol Network Access Router Data Link Network Access IP protocol Network Access Router Data Link IP Network Access Host Gateways an overused term … The term “Gateway” is used with different meanings in different contexts “Gateway” is a generic term for routers (Level 3) “Gateway” is also used for a device that interconnects different Layer 3 networks and which performs translation of protocols (“Multi-protocol router”) SNA Network X.25 Network IP Network Host Gateway Gateway Host Switches and Bridges vs Routers An enterprise network (e.g., university network) with a large number of local area networks (LANs) can use routers and/or smart switches (old networks use bridges) 1980s: LANs interconnection via bridges Late 1980s and early 1990s: increasingly use of routers Since mid1990s: LAN switches replace some routers and most bridges Early 2000: Lans are replaced with Virtual Lans (VLans) A Routed Enterprise Network Router Internet Hub FDDI FDDI A Switched Enterprise Network Internet Router Switch Example: Univ. of Virginia CS Department Network Design of the network architecture (Spring 2000) There is no router ! Gigabit Ethernet Switch 350T 100/Giga Ethernet Switch 350T 350T 350T 350T 350T 350T 350T 350T 350T 350T 100 Mbps Ethernet Switch Bridges versus Routers Routers Bridges & Switches Each host’s IP address must be configured MAC addresses are hardwired If network is reconfigured, IP addresses may need to be reassigned No network configuration needed Routing done via RIP or OSPF No routing protocol needed (sort of) Each router manipulates packet header (e.g., reduces TTL field) learning bridge algorithm spanning tree algorithm Bridges do not manipulate frames Need for Spanning tree Protocol What do bridges do if some LANs are reachable only in multiple hops ? What do bridges do if the path between two LANs is not unique ? LAN 2 d Bridge 4 Bridge 3 Bridge 1 LAN 5 Bridge 5 LAN 1 Use of Spanning tree Protocol to avoid loops!!! Bridge 2 LAN 3 LAN 4 Transparent Bridges Three principal approaches can be found: Fixed Routing Source Routing Spanning Tree Routing (IEEE 802.1d) We only discuss the last one in detail. Bridges that execute the spanning tree algorithm are called transparent bridges Transparent Bridges Overall design goal: Complete transparency “Plug-and-play” Self-configuring without hardware or software changes Bridges should not impact operation of existing LANs Three parts to transparent bridges: (1) Forwarding of Frames (2) Learning of Addresses (3) Spanning Tree Algorithm (1) Frame Forwarding Each bridge maintains a forwarding database with entries < MAC address, port, age> MAC address: host name or group address port: age: port number of bridge aging time of entry with interpretation: a machine with MAC address lies in direction of the port number from the bridge. The entry is age time units old. (1) Frame Forwarding Assume a MAC frame arrives on port x. Port x Is MAC address of destination in forwarding database for ports A, B, or C ? Bridge 2 Port A Port C Port B Found? Not found ? Flood the frame, Forward the frame on the appropriate port i.e., send the frame on all ports except port x. (2) Address Learning (Learning Bridges) Routing tables entries are set automatically with a simple heuristic: The source field of a frame that arrives on a port tells which hosts are reachable from this port. Src=x, Dest=y Src=x, Dest=y Src=x, Src=y, Dest=x Dest=y Port 1 Port 4 x is at Port 3 y is at Port 4 Port 2 Port 3 Port 5 Port 6 Src=x, Src=y, Dest=x Dest=y Src=x, Dest=y Src=x, Dest=y (2) Address Learning (Learning Bridges) Algorithm: For each frame received, the source stores the source field in the forwarding database together with the port where the frame was received. All entries are deleted after some time (default is 15 seconds). Port 1 Port 4 x is at Port 3 y is at Port 4 Src=y, Dest=x Port 2 Port 5 Port 3 Port 6 Src=y, Dest=x Example •Consider the following packets: (Src=A, Dest=F), (Src=C, Dest=A), (Src=E, Dest=C) •What have the bridges learned? Bridge 1 Port1 Bridge 2 Port2 LAN 1 A Port2 Port1 LAN 2 B C LAN 3 D E 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 Where’s the problem? What’s the solution ? LAN 2 FBridge F Bridge F B A LAN 1F F host n Lots of devices so we need to come up with a Protocol… Basic Bridge Protocol Concepts Each bridge has a unique identifier: Bridge ID Bridge ID = { Priority : 2 bytes; Bridge MAC address: 6 bytes} Priority is configured Bridge MAC address is lowest MAC addresses of all ports Each port within a bridge has a unique identifier (port ID). Root Bridge: The bridge with the lowest identifier is the root of the spanning tree. Root Port: Each bridge has a root port which identifies the next hop from a bridge to the root. Basic Bridge Protocol Concepts Root Path Cost: For each bridge, the cost of the min-cost path to the root. Designated Bridge, Designated Port: Assume it is measured in #hops to the root Single bridge on a LAN that provides the minimal cost path to the root for this LAN: if two bridges have the same cost, select the one with highest priority if the min-cost bridge has two or more ports on the LAN, select the port with the lowest identifier Note: We assume that “cost” of a path is the number of “hops”. Bridge Protocol Data Unit (BPDUs) Destination MAC address Source MAC address message type Set to 0 lowest bit is "topology change bit (TC bit) flags Cost bridge ID port ID ID of root Cost of the path from the bridge sending this message ID of bridge sending this message message age ID of port from which message is sent maximum age Time between BPDUs from the root (default: 1sec) Set to 0 version root ID Configuration Message Set to 0 protocol identifier hello time forward delay Time between recalculations of the spanning tree (default: 15 secs) time since root sent a message on which this message is based What do the BPDUs do? With the help of the BPDUs, bridges can compute a spanning tree: Elect a single bridge as the root bridge. Calculate the distance of the shortest path to the root bridge Each LAN can determine a designated bridge, which is the bridge closest to the root. Each bridge can determine a root port, the port that gives the best path to the root. Select ports to be included in the spanning tree. Steps of Spanning Tree Algorithm Each bridge is sending out BPDUs that contain the following information: root ID cost bridge ID port ID root bridge (what the sender thinks it is) root path cost for sending bridge Identifies sending bridge Identifies the sending port The transmission of BPDUs results in the distributed computation of a spanning tree The convergence of the algorithm is very quick Ordering of Messages We define an ordering of BPDU messages ID R1 C1 ID B1 ID P1 M1 ID R2 C2 ID B2 ID P2 M2 We say M1 advertises a better path than M2 (“M1<<M2”) if (R1 < R2), Or (R1 == R2) and (C1 < C2), Or (R1 == R2) and (C1 == C2) and (B1 < B2), Or (R1 == R2) and (C1 == C2) and (B1 == B2) and (P1 < P2) Initializing the Spanning Tree Protocol Initially, all bridges assume they are the root bridge. Each bridge B sends BPDUs of this form on its LANs from each port P: B 0 B P Each bridge looks at the BPDUs received on all its ports and its own transmitted BPDUs. Root bridge is the smallest received root ID that has been received so far (Whenever a smaller ID arrives, the root is updated) Operations of Spanning Tree Protocol Each bridge B looks on all its ports for BPDUs that are better than its own BPDUs Suppose a bridge with BPDU: M1 R1 C1 B1 P1 receives a “better” BPDU: M2 R2 C2 B2 P2 Then it will update the BPDU to: R2 C2+1 B1 P1 However, the new BPDU is not necessarily sent out On each bridge, the port where the “best BPDU” (via relation “<<“) was received is the root port of the bridge. When to send a BPDU Say, B has generated a BPDU for each port x R Cost B x B will send this BPDU on port x only if its BPDU is better (via relation “<<“) than any BPDU that B received from port x. Port x Bridge B Port A Port C Port B In this case, B also assumes that it is the designated bridge for the LAN to which the port connects And port x is the designated port of that LAN Selecting the Ports for the Spanning Tree Each bridge makes a local decision which of its ports are part of the spanning tree Now B can decide which ports are in the spanning tree: B’s root port is part of the spanning tree All designated ports are part of the spanning tree All other ports are not part of the spanning tree B’s ports that are in the spanning tree will forward packets (=forwarding state) B’s ports that are not in the spanning tree will not forward packets (=blocking state) Summary: Bridges and switches Switching was originally used to describe packet-switch technologies, such as Link Access Procedure, Balanced (LAPB), Frame Relay, Switched Multi-megabit Data Service (SMDS), and X.25. Today, switching refers to a technology that is similar to a bridge in many ways and that is why Bridges are replaced by switches switches connect LAN segments, use a table of MAC addresses to determine the segment on which a datagram needs to be transmitted, and reduce traffic. Currently switches can go up to multi-Gigabit speeds Virtual LANs (VLANs) A virtual LAN (VLAN) is a group of hosts or network devices, such as routers (running transparent bridging) and bridges, that forms a single bridging domain. Layer 2 bridging protocols, such as IEEE 802.10 and Inter-Switch Link (ISL), allow a VLAN to exist across a variety of equipment, including LAN switches. VLANs are formed to group related users regardless of the physical connections of their hosts to the network. The users can be spread across a campus network or even across geographically dispersed locations. Virtual LANs (VLANs) Simple Ethernet switching without VLAN Virtual LANs: Topology changes of LANs Logically defined networks (VLANs) Virtual LANs: A typical VLAN for a building Virtual LANs: A typical VLAN, across domains Virtual LANs: VLANs via LAN Emulation Virtual LANs: Advantages Network management: Software on the switch allows you to generate host assignments for VLANS hosts to VLANs and, later, reassign them to another VLAN. Re-cabling no longer necessary Broadcast control: VLANs provide logical collision domains that confine broadcast and multicast traffic to the bridging domain. Security: Traffic can stay within the same VLAN to isolate servers’ communication. Performance: Traffic generated by the networkintensive applications can be isolated to another VLAN.