broadcast traffic cause collision on switch?

Unanswered Question
Oct 11th, 2008

I am trying to make sense of broadcast vs. collision. In the process I thought of a way to have a collision on a switch. Say I have a 24-port switch with a host connected to each port. What if the host on port 7 sends a broadcast packet the exact same time the host on port 8 sends a packet to the host on port 9? Will there be a collision? If not, why? Thanks.

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
scottmac Sat, 10/11/2008 - 07:33

There will not be a collision.

Part of the architecture of the switching fabric/logic includes contention resolution (two or more ports talking at the same time).

Depending on the vendor some conflicts are resolved by port number (lower/higher get priority), type of traffic, random number ...

In all cases these days, every port is buffered and so the forwarding decision can be evaluated on a per-port basis and some arbitrary priorities can be assigned (or, like evaluating for QOS/COS).

When multiple ports inbound are going to the same port outbound (like a SOHO router with one port to the Internet) ... some logic must be in place to arbitrate the orderly flow of frames.

Contention resolution and queuing are critical to the operation of a switch ... think about what would happen if the first frame in the queue had to wait to send because of contention ... all the other frames behind it in the buffer would be stalled (head of the line blocking) and it would drive latency to possibly/probably unacceptably high levels.

The short answer is that all input is queued / buffered ("store & forward"), and there are logic mechanisms that control the traffic to prevent significant blocking or collisions.

It doesn't matter if the traffic is broadcast, flooded, or unicast, the designers of the switching fabric have taken it into consideration and provided logic to handle it.

Good Luck

Scott

Jon Marshall Sat, 10/11/2008 - 07:34

Steven

Every port on a switch is a separate collision domain so your scenario would not create a collision in that sense. The switch controls access to the switch fabric for each port so no 2 ports would get access at the exact same time.

Where you can have collisions is at the individual port level ie. host 8 sends it's packet and at the exact moment it puts the packet on the wire the broadcast from host 7 is sent to host 8.

If host 8 is running in full duplex then there is no collision. If host 8 us running in half-duplex then there will be a collision but note that this collision only affects host 8 which is what is meant by each port is it's own collision domain.

Hope this makes sense.

Jon

Actions

This Discussion