Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Now that routers are affordable, why should I build a network using Layer 2 switches, which degenerate to broadcasting under poor conditions, and not just use real routing at Layer 3?

Edit: Got some great replies. Let me clarify the question: Of course, at the lowest level, you want to plug your end nodes into a switch, not a router (as demonstrated by AlReece). I'm referring to switches which are used to bridge traffic between segments - that is, switches connected to other switches.

share|improve this question
    
You seem to insinuate that Layer 3 is "better" than Layer 2, when Layer 3 is impossible without the former. Most managed switches have Layer 3 capabilities and are more than powerful enough for most routing functions. On the flip side, if you're asking why not route between segments instead of transporting VLANs by trunking then that's an architectural design choice. I typically only employ routers for WAN connectivity, VPN, and VoIP. –  SpacemanSpiff Jan 16 '11 at 8:00
    
Typically, switches and routers are optimized for different tasks. Just as firewalls wil sometimes have crypto crunching offloaded to hardware/ASICs, switches usually have better link layer forwarding optimization. And this distinction is somewhat artificial in any case. Cisco has MLS -- multi-layer -- switches which do routing and switching, and most enterprise switches will have some layer three functionality (if only mgmt connectivity). Marketing is also involved -- Cisco will charge more for BGP in an enterprise image, and crypto capability costs extra in 'switches' or 'routers'. –  belacqua Jan 20 '11 at 6:14
add comment

3 Answers

I'm assuming that you're talking about reducing the broadcast domain between all of the nodes. So every broadcast domain in the entire network is 2 nodes.

IPv4:

  • Every computer on the network has a different gateway addresses.
  • Every router uses up a lot more IP addresses (16-port router would use at least 16 ip addresses).
  • There would be two IP addresses "wasted" for every node (network and broadcast). Three if you include the extra router IP address.
  • The router configuration is a lot more complicated because of all the addresses on it (imagine replacing a 48-port switch and the router having 48 IP addresses).
  • DHCP won't work as easily (because of the isolated broadcast domains). This might have effects on networks where you want wireless or other functionality.
    • DHCP server will either have to be on every subnet/vlan (if using vlans)
    • More DHCP servers will be required
    • Routers will have to be configured to forward DHCP requests otherwise.

IPv6:

  • Local Link addresses become almost useless (only 2 nodes on each network).
  • Networks are designed to be /64 not /126
  • If you go with /126, you lose a lot of the auto-configuration goodness (they won't automatically base themselves off of the MAC address).
  • If you don't use auto-configuration: everything in IPv4, but 8x worse (128-bit addresses)

Both:

  • Layer 3 Switches are more expensive than comparable Layer 2 switches.
  • The Routing protocols use more bandwidth to transfer routing information (BGP).
  • You need more IP addresses. Setting up those IP addresses takes hardware, time, memory, and possibly disk space.
  • You're still using a layer 2 layer underneath the IP address, so instead of only checking the layer 3 layer at a view points, the layer 3 information is processed at every point. (it becomes slower)
  • Bonding/Trunking: As far as I can still tell, you can't add an IP address to a device twice (none of the systems let you). If you had 2x1Gbps ports, I'm not aware of any way to aggregate the bandwidth for one IP address at a layer 3 level. Only the layer 2.

UPDATE

The broadcast storms honestly depends on your architecture and services. If you have enough control over a network (rack), the broadcasts can be isolated. Otherwise, isolate based on use case (Servers, Workstations, File Sharing, whatever needs it). I wouldn't try to fit one model into everything if it doesn't fit.

Even after isolating the problem and having your network set up. Configure the switches so that they send a SNMP trap when they detect a broadcast storm (when they can). A lot of switches can be configure to prevent the impact of a broadcast storm (it should minify the effects until an administrator can deal with it). Dealing with it is important, it could mean that a user is trying to attack your network from the inside, a network configuration problem, human error, rouge devices, compromised equipment, etc (usually not good)

share|improve this answer
    
Great response! I clarified the question: I'm referring to intersegment switches - that is, switches connected to other switches. Of course, you want to plug end nodes into a switch, not a router. –  SRobertJames Jan 16 '11 at 4:19
    
@SRoberJames Well, its better than having so many subnets. It simply a lesser scale of the same issues above. Different default routes all over the place. Less efficient use of each subnet (especially on IPv6). Bonding/Trunking is more common between switches than servers. I'm not sure how many hosts you have: usually you go to an IP network for the servers that have access from anywhere: where you're dealing with 2k-1k MAC address. I'll be updating my answer shortly with more details. –  Reece45 Jan 16 '11 at 11:16
add comment

Four things I can think of:

  1. Layer 2 is simpler than layer 3, so presumably network devices can handle it more quickly with less overhead than layer 3.

  2. There have been many years of work on switching so it's extremely robust and well-understood.

  3. Some protocols only work at layer 2, for example spanning tree to prevent broadcast storms.

  4. Switching devices are cheaper than routing devices, so your costs are lower.

share|improve this answer
add comment

Typically, switching is faster than routing (there's no hierarchy, so there's at least a chance for fewer lookups). However, switching is not (typically) hierarchical, so you need (potentially) larger state tables ("MAC forwarding tables") in each device.

The assumption that routing tables are smaller relies on having a decent hierarchy of IP addresses, if you need to have a routing table that contains a /32 for each of your end nodes, you have not won anything (the routing table isn't any smaller than the MAC fdb, it's not nearly as trivial to auto-generate, as it relies on a routing protocol instead of packet inspection, if you ever run out of routing-table-space, there is no graceful degradation (or, as you put it "degenerate to broadcating"), it'd just Stop Working).

So, all in all, if I were to build a network, I'd use routed links between larger, switched, networks, trying to get the best of both worlds.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.