I was reading the Comptia Network+ All in One book and I came to know that we cannot create a hierarchy of hubs. My question is why so? Are MDIX ports simplex? Why is it not possible for the hubs to read from the MDIX port and broadcast the frame to the remaining ports? Is there anything specific laid out by the IEEE that prevents the hubs from doing so?

If there is a flaw in my understanding, please rectify.

  • 12
    Note: no one has made a hub in decades, so there's no point debating it.
    – Ricky
    Jul 5 '20 at 23:49
  • A lot of introductory networking books are poor but it's hard to tell without an exact quote whether the book is in error or you have misunderstood.
    – richardb
    Jul 6 '20 at 6:23
  • 2
    Because you can't purchase hubs anymore ;)
    – JFL
    Jul 7 '20 at 11:15

To add to Ron's point - a hub (...or a number of hubs) basically models the behavior of the original Ethernet, which is to say basically a big piece of coaxial cable. If one station transmits, all the others receive. When a station wants to transmit, it waits for an opening. If multiple stations try to transmit at the same time then a collision occurs and they all stop, wait a random period an attempt to re-transmit. The fact that this is accomplished on a series of repeaters (..in whatever topology) doesn't change this behavior.

This collision behavior is predicated on the two (or more) transmitting stations realizing they're colliding within a fairly specific period of time. If the propagation delay between stations is too long, this breaks (resulting in late collisions, giants, etc). In the original Ethernet the limit corresponded to roughly 1.5KM (or 3 500m segments connected by two repeaters) and is largely a function of the speed of light across those pieces of coax.

So, yes, there is a limit - not so much as a function of how many hubs (or, again, what topology) but rather based on how long it takes each hub to repeat the frames it receives and the subsequent delay when crossing the cables connecting these hubs. In the bad old days there were absolutely cases of people stretching dozens of hubs together.

All that said (...and as Ron also rightly points out), this is purely an academic exercise. Collisions (...and repeaters/hubs) are the domain of original half-duplex Ethernet, which has been out of common usage for 20+ years.

  • Fieldbuses and special-purpose multi-station radio networks are still employing (and suffering) from such network topologies. Jul 6 '20 at 16:22
  • Fair enough. No technology ever really dies.
    – rnxrx
    Jul 7 '20 at 1:57
  • I remember about 10 years ago telling the admin to get the last hub off the network and replace it with a switch as that was what was causing his gigabit network to run so badly (collisions...).
    – Joshua
    Jul 7 '20 at 15:37

Are uplink ports simplex ?

Hub interfaces are simply hub interfaces, there really are no uplink interfaces.

Why is it not possible for the hubs to read from the uplink port and broadcast the frame to the remaining ports ?

Hubs are stupid. They simply copy the signals received on any interface to all other interfaces. They do not read anything, and they have no concept of frames.

Is there anything specific laid out by the IEEE that prevents the hubs from doing so ?

No, it is just that hubs have no intelligence, just think of a hub as a powered cable.

  • So why can't we make a hierarchical structure with one hub at the top and many other hubs on the lower level. It should be possible right? Just copy a signal at the uplink port to the remaining ports. Jul 5 '20 at 17:57
  • 6
    Again, there are no uplink interfaces. You can arrange hubs in any fashion you like, but all interfaces on any hub are equal, and any signal sent in one interface on one hub will be sent to all the interfaces on all the hubs. There is no hierarchy to that. Also, hubs are half duplex, so when one device is sending in the hub network, no other device can send without creating a collision. Does a cable connecting multiple devices create a hierarchy? No, and a hub is just a powered cable.
    – Ron Maupin
    Jul 5 '20 at 18:01
  • All interfaces on a switch are also equal (sometimes), but the one going up the hierarchy can be called an uplink port anyway, right? @RonMaupin
    – user253751
    Jul 6 '20 at 10:20
  • 5
    @user253751: With hubs, having two roots creates a cycle and will break your network. Please read what people write. Hubs are outdated technology. How networks are designed today has no relation to networks in the 20th century.
    – MSalters
    Jul 6 '20 at 10:57
  • 1
    @user253751, the switch hierarchy and root(s) are determined by BPDUs that are created, sent, and interpreted by the switches, but hubs are stupid and do not create or look at anything. I go back to my point that cables (a hub is a powered cable) do not create a hierarchy. Intelligent devices are what can create a hierarchy.
    – Ron Maupin
    Jul 6 '20 at 15:39

It's not that you cannot physically create a hierarchy of hubs. You can. And it will work to some extent (limited by timeouts once your network is too big). The thing to know is that such a configuration from a networking point of view is flat - it is not a hierarchy.

Why is a hierarchy not a hierarchy? Because as mentioned before, hubs are stupid. The network topology of a hub is flat. There is no uplink or downlinks - there are only neighbor links. And a neighbor of neighbors is not above or below a hierarchy - they are all at the same level.

  • Many switches also don't have dedicated uplink ports
    – user253751
    Jul 6 '20 at 10:20
  • 3
    @user253751: That's because switches can be smart enough to figure it out themselves. In particular, switches with Spanning Tree Protocol can dynamically figure out what ports are used for active uplinks, and which ports are backup uplinks for redundancy.
    – MSalters
    Jul 6 '20 at 11:52
  • @user253751 To the very least, even without STP switches do not (or almost never) send out all incoming traffic on all ports, but only on the (one) port where they know the destination is (directly or behind another switch, which can be "up" or "down" in hierarchy). Sometimes a dedicated uplink port in a swicth is also simply one capable of higher bandwidth. The tree of switches still does not have a root. It works just as well as a tree of hubs, but better (more levels, more distance) due to the better separation at level 2 versus level 1 Jul 7 '20 at 8:33
  • 1
    @HagenvonEitzen And an uplink port (when it's not higher bandwidth or crossover) is just a port that happens to have a lot of MAC addresses learned.
    – user253751
    Jul 7 '20 at 9:37

An Ethernet network (without fancy extensions) MUST be a tree. You can put a sticker on one of those hubs saying "main hub" and call it the top of your hierachy if you want the protcol doesn't care. What you can't do is have a hub at a lower level of the hierachy connected to more than one hub at the next level up of the heiracy.

Furthermore the latency within a collision domain must be kept within acceptable bounds. To remain fully compliant with 10 megabit hubs you need to have no more than four hubs between the two most distant endpoints. Which effectively limits you heirachy to two levels. With 100 megabit hubs you are limited to one or two hubs depending on the type of hub which effectively rules out a heirachy of hubs.


I think your terminology of "uplink port" might be a source of confusion.

Connecting a pair of hubs together by a patch cable will fail, unless one or both of the hubs does auto MDI detection, also known as MDI-X for Crossover.

Some hubs have a doubled-up port where two RJ45 jacks are present, with one wired "straight" and the next one wired "crossover" And some hubs have a manual switch to set teh crossover on a specific port, often the highest/lowest numbered port.

If your hubs didn't have this, then you had to use a Crossover patch cable for this link. Locally everyone seemed to use Purple for crossovers, though there were also black adapters.

Upshot - the TX on one hub's port has to connect to RX on the other hub's port, and vise-versa. That's all an Uplink port did.

Functionally, you could have one hub with a crossover patching to n other hubs, and it would be all "uplinks" but it wouldn't be fast compared to modern switches.

Essentially hubs are dumb, and switches have varying levels of smarts.


I came to know that we cannot create a hierarchy of hubs. My question is why so?

That depends on the book's definition of "hierarchy". In CSMA/CD, no repeater has more "weight" than any other, so there's no hierarchy in terms of priority.

However, you can (and should) arrange repeater hubs in a tree (multi-star) topology, so there's a center hub that you might call root.

The other alternative, chaining the hubs, quickly increases your network diameter beyond the 5-4-3 rule for 10 Mbit/s Ethernet. Of course, you may only cascade two (class II) repeaters for 100 Mbit/s Ethernet, so there's really not much choice.

Some repeater hubs may be more important logically, e.g. the one(s) connecting servers or other hubs.

Of course, repeaters, repeater hubs, half duplex, and CSMA/CD are long since obsolete for serious networking. Gigabit or faster links don't even support all that any more. (Gigabit Ethernet did define a single repeater in a network, but that has been deprecated and practically no hardware exists for that. 10G+ Ethernet never supported repeaters and half duplex at all.)

Are uplink ports simplex?

No. First of all, repeaters have no uplink or downlink ports, all ports are equal. Also, communication across a repeater is always half-duplex: one node may send and all others listen, but the currently sending node varies.

The point is that a repeater (hub) doesn't control traffic. When the network is idle, the first attempting sender seizes the network and transmits. Since all sender bits are simply copied to all other ports, no other node is allowed to send at the same time. After all, what would a listener on the network hear? It can't receive multiple signals at the same time.

A switch in contrast buffers and queues frames and specifically forwards them to the correct destination. That enables multiple senders in the network (one on each switch port) as they don't collide with each other.

Simplex means generally one-way, like a radio or TV broadcast network. That wouldn't work for any network on topic here.

Why is it not possible for the hubs to read from the uplink port and broadcast the frame to the remaining ports?

That is pretty much all they can do, the "uplink" port being the current sender's port.

Edit after comments

"Uplink" also used to be[1] the term for a hub or switch port intended to connect to another hub or switch. By convention, those concentrators use a MDI-X port pinout with an internal signal crossover that allows other devices - with a MDI pinout - to connect using a "straight", 1:1 cable.

However, connecting like devices - MDI-X to MDI-X, or MDI to MDI requires an external signal crossover: a crossover cable or adapter. That led some manufacturers to include a switchable "uplink" port in their hubs or switches, or a dual port that was present in either configuration. Apart from the pinout, such a port has no other function than all the other ports.

[1] "Used to be" because starting in 1998, pretty much all network devices today feature Auto MDI-X, removing the need for crossover cables. Auto MDI-X uses an algorithm to automatically determine the required port pinout for linking.

"Uplink" can have different meanings, depending on context.

On the physical layer (L1), "uplink" on hub/switch can refer to an MDI port, intended as a connection to a more central hub or switch, as outlined above. Alternatively, the uplink is a higher-speed port used to (or intended to) connect towards the core network.

On the data link layer (L2), "uplink" can refer to a non-blocked port in a spanning tree that points toward the root bridge (the root port).

On the network layer (L3), "uplink" usually refers to port pointing towards the core network or the Internet (most often that's the same port).

  • Just to be clear, by uplink port on a hub I mean the ports that eliminate the requirement of crossover cables. Jul 7 '20 at 2:47
  • @ShayakSarkar That's just MDI-X vs MDI pinout. The crossover cable can be replaced with dual port versions, a switchable port or - theoretically - even Auto MDI-X. Normally, "uplink" refers to the port leading to the center of the network, often with more bandwidth (to reduce the oversubscription ratio).
    – Zac67
    Jul 7 '20 at 4:54
  • So .... can hubs receive signals through the MDI-X and transmit it to the other ports? Jul 7 '20 at 6:58
  • MDI-X is the port pinout for switches and hubs - it includes the internal signal crossover absent in MDI, the pinout for all other devices. So, you can connect MDI-to-MDI-X with a straight, 1:1 cable. Like-to-like connections (MDI to MDI, or MDI-X to MDI-X) require an external crossover. Auto MDI-X ports figure out the required pinout by themselves (pretty much standard today). The MDI vs MDI-X pinout is just a convention and has no further relation to a port's actual functionality.
    – Zac67
    Jul 7 '20 at 9:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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