Special thanks to Cisco for their support in creating this article!
If you have read other Stuff.dewsoftoverseas.com articles on networking or the Internet, then you know that a typical network consists of nodes (computers), a connecting medium (wired or wireless) and specialized network equipment like routers or hubs. In the case of the Internet, all of these pieces work together to allow your computer to send information to another computer that could be on the other side of the world!
Switches are a fundamental part of most networks. They make it possible for several users to send information over a network at the same time without slowing each other down. Just like routers allow different networks to communicate with each other, switches allow different nodes (a network connection point, typically a computer) of a network to communicate directly with one another in a smooth and efficient manner.
Image courtesy Cisco Systems, Inc. An illustration of a Cisco Catalyst switch.
There are a lot of different types of switches and networks. Switches that provide a separate connection for each node in a company's internal network are called LAN switches. Essentially, a LAN switch creates a series of instant networks that contain only the two devices communicating with each other at that particular moment. Now, we will focus on Ethernet networks that use LAN switches. You will learn what a LAN switch is and how transparent bridging works. You will also learn about VLANs, trunking and spanning trees.
In the picture above, you see several of the common elements of a network.
Network - A group of computers connected together in a way that allows information to be exchanged between the computers.
Node - Anything that is connected to the network. While a node is typically a computer, it can also be something like a printer or CD-ROM tower.
Segment - Any portion of a network that is separated, by a switch, bridge or router, from other parts of the network.
Backbone - The main cabling of a network that all of the segments connect to. Typically, the backbone is capable of carrying more information than the individual segments. For example, each segment may have a transfer rate of 10 Mbps (megabits per second: 1 million bits a second), while the backbone may operate at 100 Mbps.
Topology - The way that each node is physically connected to the network. Common topologies include:
Bus - Each node is daisy-chained (connected one right after the other) along the same backbone, similar to Christmas lights. Information sent from a node travels along the backbone until it reaches its destination node. Each end of a bus network must be terminated with a resistor to keep the signal that is sent by a node across the network from bouncing back when it reaches the end of the cable.
Bus network topology
Ring - Like a bus network, rings have the nodes daisy-chained. The difference is that the end of the network comes back around to the first node, creating a complete circuit. In a ring network, each node takes a turn sending and receiving information through the use of a token. The token, along with any data, is sent from the first node to the second node, which extracts the data addressed to it and adds any data it wishes to send. Then, the second node passes the token and data to the third node, and so forth until it comes back around to the first node again. Only the node with the token is allowed to send data. All other nodes must wait for the token to come to them.
Ring network topology
Star - In a star network, each node is connected to a central device called a hub. The hub takes a signal that comes from any node and passes it along to all the other nodes in the network. A hub does not perform any type of filtering or routing of the data. It is simply a junction that joins all the different nodes together.
Star network topology
Star Bus - Probably the most common network topology in use today, star bus combines elements of the star and bus topologies to create a versatile network environment. Nodes in particular areas are connected to hubs (creating stars), and the hubs are connected together along the network backbone (like a bus network). Quite often, stars are nested within stars, as seen in the example below:
A typical star bus network.
Local Area Network (LAN) - A network of computers that are in the same general physical location, usually within a building or a campus. If the computers are far apart (such as across town or in different cities), then a Wide Area Network (WAN) is typically used.
Network Interface Card (NIC) - Every computer (and most other devices) is connected to a network through an NIC. In most desktop computers, this is an Ethernet card (normally 10 or 100 Mbps) that is plugged into a slot on the computer's motherboard.
Media Access Control (MAC) Address - This is the physical address of any device, such as the NIC in a computer, on the network. The MAC address has two parts, each 3 bytes long. The first 3 bytes identify the company that made the NIC. The second 3 bytes are the serial number of the NIC itself.
Unicast - A transmission from one node addressed specifically to another node.
Multicast - When a node sends a packet addressed to a special group address. Devices that are interested in this group register to receive packets addressed to the group. An example might be a Cisco router sending out an update to all of the other Cisco routers.
Broadcast - When a node sends out a packet that is intended for transmission to all other nodes on the network.
Latency: The amount of time that it takes a packet to get to its destination. Since each node in a hub-based network has to wait for an opportunity to transmit in order to avoid collisions, the latency can increase significantly as you add more nodes. Or, if someone is transmitting a large file across the network, then all of the other nodes have to wait for an opportunity to send their own packets. You have probably seen this before at work -- you try to access a server or the Internet and suddenly everything slows down to a crawl.
Network Failure: In a typical network, one device on a hub can cause problems for other devices attached to the hub due to wrong speed settings (100 Mbps on a 10 Mbps hub) or excessive broadcasts. Switches can be configured to limit broadcast levels.
Collisions: Ethernet uses a process called Carrier Sense Multiple Access with Collision Detection (CSMA/CD) to communicate across the network. Under CSMA/CD, a node will not send out a packet unless the network is clear of traffic. If two nodes send out packets at the same time, a collision occurs and the packets are lost. Then both nodes wait a random amount of time and retransmit the packets. Any part of the network where there is a possibility that packets from two or more nodes will interfere with each other is considered to be part of the same collision domain. A network with a large number of nodes on the same segment will often have a lot of collisions and therefore a large collision domain.
While hubs provide an easy way to scale up and shorten the distance that the packets must travel to get from one node to another, they do not break up the actual network into discrete segments. That is where switches come in.
Imagine that each vehicle is a packet of data waiting for an opportunity to continue on its trip.
Think of a hub as a four-way intersection where everyone has to stop. If more than one car reaches the intersection at the same time, they have to wait for their turn to proceed. Now imagine what this would be like with a dozen or even a hundred roads intersecting at a single point. The amount of waiting and the potential for a collision increases significantly. But wouldn't it be amazing if you could take an exit ramp from any one of those roads to the road of your choosing? That is exactly what a switch does for network traffic! A switch is like a cloverleaf intersection -- each car can take an exit ramp to get to its destination without having to stop and wait for other traffic to go by.
A vital difference between a hub and a switch is that all the nodes connected to a hub share the bandwidth among themselves, while a device connected to a switch port has the full bandwidth all to itself. For example, if 10 nodes are communicating using a hub on a 10 Mbps network, then each node may only get a portion of the 10 Mbps if other nodes on the hub want to communicate as well. But with a switch, each node could possibly communicate at the full 10 Mbps. Think about our road analogy. If all of the traffic is coming to a common intersection, then it has to share that intersection with everyone else. But a cloverleaf allows all of the traffic to continue at full speed from one road to the next.
In a fully switched network, switches replace all the hubs of an Ethernet network with a dedicated segment for every node. These segments connect to a switch, which supports multiple dedicated segments (sometimes in the hundreds). Since the only devices on each segment are the switch and the node, the switch picks up every transmission before it reaches another node. The switch then forwards the frame over the appropriate segment. Since any segment contains only a single node, the frame only reaches the intended recipient. This allows many conversations to occur simultaneously on a switched network.
Image courtesy Cisco Networks An example of a network using a switch.
Switching allows a network to maintain full-duplex Ethernet. Before switching, Ethernet was half-duplex, which means that only one device on the network can transmit at any given time. In a fully switched network, nodes only communicate with the switch, never directly with each other. Using our road analogy, half-duplex is similar to the problem of a single lane, like when road construction closes down the use of one lane of a two-lane road. Traffic is trying to use the same lane in both directions. This means that traffic coming one way must wait until traffic from the other direction stops -- otherwise, they will hit head-on!
Fully switched networks employ either twisted-pair or fiber-optic cabling, both of which use separate conductors for sending and receiving data. In this type of environment, Ethernet nodes can forgo the collision detection process and transmit at will, since they are the only potential devices that can access the medium. In other words, traffic flowing in each direction has a lane to itself. This allows nodes to transmit to the switch as the switch transmits to them, in a collision free environment. Transmitting in both directions also can effectively double the apparent speed of the network when two nodes are exchanging information. For example, if the speed of the network is 10Mbps, then each node can transmit simultaneously at 10 Mbps.
A mixed network with two switches and three hubs.
Most networks are not fully switched because of the costs incurred in replacing all of the hubs with switches. Instead, a combination of switches and hubs are used to create an efficient yet cost-effective network. For example, a company may have hubs connecting the computers in each department and a switch connecting all of the department-level hubs.
The OSI Reference Model consists of seven layers that build from the wire (Physical) to the software (Application).
A hub or a switch will pass along any broadcast packets they receive to all the other segments in the broadcast domain; but a router will not. Think about our four-way intersection again: All of the traffic passed through the intersection no matter where it was going. Now imagine that this intersection is at an international border. To pass through the intersection, you must provide the border guard with the specific address that you are going to. If you don't have a specific destination, then the guard will not let you pass. A router works like this. Without the specific address of another device, it will not let the data packet through. This is a good thing for keeping networks separate from each other, but not so good when you want to talk between different parts of the same network. This is where switches come in.
LAN switches rely on Packet-switching. The switch establishes a connection between two segments just long enough to send the current packet. Incoming packets (part of an Ethernet frame) are saved to a temporary memory area (buffer); the MAC address contained in the frame's header is read and then compared to a list of addresses maintained in the switch's lookup table. In an Ethernet-based LAN, an Ethernet frame contains a normal packet as the payload of the frame, with a special header that includes the MAC address information for the source and destination of the packet.
Packet-based switches use one of three methods for routing traffic:
Store and forward
Cut-through switches read the MAC address as soon as a packet is detected by the switch. After storing the six bytes that make up the address information, they immediately begin sending the packet to the destination node, even as the rest of the packet is coming into the switch.
A switch using store and forward will save the entire packet to the buffer and check it for CRC errors or other problems before sending. If the packet has an error, it is discarded. Otherwise, the switch looks up the MAC address and sends the packet on to the destination node. Many switches combine the two methods, using cut-through until a certain error level is reached and then changing over to store and forward. Very few switches are strictly cut-through, since this provides no error correction.
A less common method is fragment-free. It works like cut-through except that it stores the first 64 bytes of the packet before sending it on. The reason for this is that most errors, and all collisions, occur during the initial 64 bytes of a packet.
LAN switches vary in their physical design. Currently, there are three popular configurations in use:
Shared-memory - Stores all incoming packets in a common memory-buffer shared by all the switch ports (input/output connections), then sends them out via the correct port for the destination node.
Matrix - This type of switch has an internal grid with the input ports and the output ports crossing each other. When a packet is detected on an input port, the MAC address is compared to the lookup table to find the appropriate output port. The switch then makes a connection on the grid where these two ports intersect.
Bus-architecture - Instead of a grid, an internal transmission path (common bus) is shared by all of the ports using TDMA. A switch based on this configuration has a dedicated memory-buffer for each port, as well as an ASIC to control the internal bus access.
Learning and flooding continues as the switch adds nodes to the lookup tables. Most switches have plenty of memory in a switch for maintaining the lookup tables; but to optimize the use of this memory, they still remove older information so that the switch doesn't waste time searching through stale addresses. To do this, switches use a technique called aging. Basically, when an entry is added to the lookup table for a node, it is given a timestamp. Each time a packet is received from a node, the timestamp is updated. The switch has a user-configurable timer that erases the entry after a certain length of time with no activity from that node. This frees up valuable memory resources for other entries. As you can see, transparent bridging is a great and essentially maintenance-free way to add and manage all the information a switch needs to do its job!
In our example, two nodes share segment A, while the switch creates independent segments for Node B and Node D. In an ideal LAN-switched network, every node would have its own segment. This would eliminate the possibility of collisions and also the need for filtering.
In this example, if either switch A or C fails, then the nodes connected to that particular switch are affected, but nodes at the other two switches can still communicate. However, if switch B fails, then the entire network is brought down. What if we add another segment to our network connecting switches A and C?
In this case, even if one of the switches fails, the network will continue. This provides redundancy, effectively eliminating the single point of failure.
But now we have a new problem. In the last section, you discovered how switches learn where the nodes are located. With all of the switches now connected in a loop, a packet from a node could quite possibly come to a switch from two different segments. For example, imagine that Node B is connected to Switch A, and needs to communicate with Node A on Segment B. Switch A does not know who Node A is, so it floods the packet.
The packet travels via Segment A or Segment C to the other two switches (B and C). Switch B will add Node B to the lookup table it maintains for Segment A, while Switch C will add it to the lookup table for Segment C. If neither switch has learned the address for Node A yet, they will flood Segment B looking for Node A. Each switch will take the packet sent by the other switch and flood it back out again immediately, since they still don't know who Node A is. Switch A will receive the packet from each segment and flood it back out on the other segment. This causes a broadcast storm as the packets are broadcast, received and rebroadcast by each switch, resulting in potentially severe network congestion.
Each switch is assigned a group of IDs, one for the switch itself and one for each port on the switch. The switch's identifier, called the Bridge ID (BID), is 8 bytes long and contains a bridge priority (2 bytes) along with one of the switch's MAC addresses (6 bytes). Each Port ID is 16 bits long with two parts: a 6 bit priority setting and a 10 bit port number.
A path cost value is given to each port. The cost is typically based on a guideline established as part of 802.1d. According to the original specification, cost is 1000 Mbps (1 gigabit per second) divided by the bandwidth of the segment connected to the port. Therefore, a 10 Mbps connection would have a cost of 100 (1000 divided by 10).
To compensate for the speed of networks increasing beyond the gigabit range, the standard cost has been slightly modified. The new cost values are:
STP Cost Value
You should also note that the Path Cost can be an arbitrary value assigned by the network administrator, instead of one the standard cost values.
Each switch begins a discovery process to choose which network paths it should use for each segment. This information is shared between all the switches by way of special network frames, called bridge protocol data units (BPDU). The parts of a BPDU are:
Root BID - This is the BID of the current Root Bridge.
Path Cost to Root Bridge - Determines how far away the Root Bridge is. For example, if the data has to travel over three 100 Mbps segments to reach the Root Bridge, then the cost is 38 (19 + 19 + 0). The segment attached to the Root Bridge will normally have a Path Cost of zero.
Sender BID - The BID of the switch that sends the BPDU.
Port ID - The actual port on the switch that this BPDU was sent from.
All of the switches are constantly sending BPDUs to each other, trying to determine the best path between various segments. When a switch receives a BPDU (from another switch) that is better than the one it is broadcasting for the same segment, it will stop broadcasting its BPDU out that segment. It will, instead, store the other switch's BPDU for reference and for broadcasting out to inferior segments, such as those that are farther away from the root bridge.
A Root Bridge is chosen based on the results of the BPDU process between the switches. Initially, every switch considers itself the Root Bridge! When a switch first powers up on the network, it sends out a BPDU with its own BID as the Root BID. When the other switches receive the BPDU, they compare the BID to the one they already have stored as the Root BID. If the new Root BID has a lower value, they replace the saved one. But if the saved Root BID is lower, a BPDU is sent to the new switch with this BID as the Root BID. When the new switch receives the BPDU, it realizes that it is not the Root Bridge and replaces the Root BID in its table with the one it just received. The result is that the switch that has the lowest BID is elected by the other switches as the Root Bridge.
Based on the location of the Root Bridge, the other switches determine which of their ports has the lowest path cost to the Root Bridge. These ports are called Root Ports, and each switch (other than the current Root Bridge) must have one.
The switches determine who will have Designated Ports. A Designated Port is the connection used to send and receive packets on a specific segment. By having only one Designated Port per segment, all looping issues are resolved!
Designated Ports are selected based on the lowest path cost to the Root Bridge for a segment. Since the Root Bridge will have a path cost of "0," any ports on it that are connected to segments will become Designated Ports. For the other switches, the path cost is compared for a given segment. If one port is determined to have a lower path cost, it becomes the Designated Port for that segment. If two or more ports have the same path cost, then the switch with the lowest BID is chosen.
Once the Designated Port for a network segment has been chosen, any other ports that connect to that segment become non-Designated Ports. They block network traffic from taking that path so that it can only access that segment through the Designated Port.
Each switch has a table of BPDUs that it continually updates. The network is now configured as a single spanning tree, with the Root Bridge as the trunk and all the other switches as branches. Each switch communicates with the Root Bridge through the Root Ports, and with each segment through the Designated Ports, thereby maintaining a loop-free network. In the event that the Root Bridge begins to fail or have network problems, STP allows the other switches to immediately reconfigure the network with another switch acting as Root Bridge. This amazing process gives a company the ability to have a complex network that is fault-tolerant and yet fairly easy to maintain.
Like routers, Layer 3 switches actually work at the Network layer.
When a router receives a packet, it looks at the Layer 3 (Network Layer) source and destination addresses to determine the path the packet should take. A standard switch relies on the MAC addresses to determine the source and destination of a packet, which is Layer 2 (Data) networking.
The fundamental difference between a router and a Layer 3 switch is that Layer 3 switches have optimized hardware to pass data as fast as Layer 2 switches, yet they make decisions on how to transmit traffic at Layer 3, just like a router. Within the LAN environment, a Layer 3 switch is usually faster than a router because it is built on switching hardware. In fact, many of Cisco's Layer 3 switches are actually routers that operate faster because they are built on "switching" hardware with customized chips inside the box.
The pattern matching and caching on Layer 3 switches is similar to the pattern matching and caching on a router. Both use a routing protocol and routing table to determine the best path. However, a Layer 3 switch has the ability to reprogram the hardware dynamically with the current Layer 3 routing information. This is what allows much faster packet processing.
On current Layer 3 switches, like the Cisco Catalyst 6000, the information received from the routing protocols is used to update the hardware caching tables. The 6000 is a great way to connect to the Internet because it has WAN cards; but, based on traffic flow and budget, simple routers of varying sizes are usually fine for Internet connections.
An important item to note: Routers are necessary when communicating between two VLANs...
Here are some common reasons why a company might have VLANs:
Security - Separating systems with sensitive data from the rest of the network decreases the chance that someone will gain access to information they are not authorized to see.
Projects/Special applications - Managing a project or working with a specialized application can be simplified by the use of a VLAN that brings all of the required nodes together.
Performance/Bandwidth - Careful monitoring of network use allows the network administrator to create VLANs that reduce the number of router hops and increase the apparent bandwidth for network users.
Broadcasts/Traffic flow - Since a principle element of a VLAN is the fact that it does not pass broadcast traffic to nodes that are not part of the VLAN, it automatically reduces broadcasts. Access lists provide the network administrator with a way to control who sees what network traffic. An access list is a table the network administrator creates that lists what addresses have access to that network.
Departments/Specific job types - Companies may want VLANs set up for departments that are heavy network users (such as Multimedia or Engineering), or a VLAN across departments that is dedicated to specific types of employees (such as managers or sales people).
You can create a VLAN using most switches simply by logging into the switch via Telnet and entering the parameters for the VLAN (name, domain and port assignments). After you have created the VLAN, any network segments connected to the assigned ports will become part of that VLAN.
While you can have more than one VLAN on a switch, they cannot communicate directly with one another on that switch. If they could, it would defeat the purpose of having a VLAN, which is to isolate a part of the network. Communication between VLANs requires the use of a router.
VLANs can span across multiple switches and you can have more than one VLAN
on each switch. For multiple VLANs on multiple switches to be able to
communicate via a single link between the switches, you must use a process
called trunking; trunking is the technology that allows information from
multiple VLANs to be carried over just one link between switches.
The VLAN Trunking Protocol (VTP) is the protocol that switches use to
communicate among themselves about VLAN configuration.
In the image above, each switch has two VLANs. On the first switch, VLAN A and VLAN B are sent through a single port (trunked) to the router and through another port to the second switch. VLAN C and VLAN D are trunked from the second switch to the first switch, and through the first switch to the router. This trunk can carry traffic from all four VLANs. The trunk link from the first switch to the router can also carry all four VLANs. In fact, this one connection to the router allows the router to appear on all four VLANs, as if it had four, different, physical ports connected to the switch.
The VLANs can communicate with each other via the trunking connection between the two switches using the router. For example, data from a computer on VLAN A that needs to get to a computer on VLAN B (or VLAN C or VLAN D) must travel from the switch to the router and back again to the switch. Because of the transparent bridging algorithm and trunking, both PCs and the router think that they are on the same physical segment!
As you can see, LAN switches are an amazing technology that can really make a difference in the speed and quality of your network. For more information, please be sure to check out the great links on the next page.