Archived from groups: comp.dcom.lans.ethernet (
More info?)
"Walter Roberson" <roberson@ibd.nrc-cnrc.gc.ca> wrote:
> It depends on what you mean by 'fully connected'. 'Fully connected'
> does not -necessarily- mean that traffic has to be able to flow in
> both
> directions directly between any two given links, not even when you are
> referring to a 'mesh' network.
>
> For example, in graph theory, "fully connected" could mean that
> there is no one link that you could cut that would create two
> disconnected
> graphs. Or it could mean that there is no one link that you could
> cut that would destroy the possibility of traversing the graph between
> some
> pair of nodes. (Graph traversal == routing). You can create that
> topology with no more than 15 simplex links.
Parenthetically, the definition of "fully connected" was never in doubt
in this thread. I would have expected any ambiguity in that terminology
to have surfaced in a previous response, rather than at this late date.
You may find the definition at
http://www.atis.org/tg2k/_network_topology.html, and elsewhere.
Moving on, for the Spanning Tree Protocol to work, you need a topology
in which all nodes are linked with duplex links, if these links are to
be candidates for the spanning tree. So in order to talk sensibly about
a fully connected mesh in the context of switched Ethernet mesh
networks, each link is assumed to be duplex. Since Ethernet switches are
connected together with full duplex links in practice, might as well
accept that these duplex links are full duplex.
If that assumption were not correct, i.e. if you wanted to create a
fully connected Ethernet mesh out of simplex links, you would *still*
need to create two-way paths between each node to make them eligible for
the spanning tree. In this case, the number of simplex links is n(n-1).
That is, any given node connects to n-1 other nodes in the mesh with an
outbound link, and this must be repeated for all n nodes in the mesh.
Matter of fact, n(n-1) applies to the number of *fibers* required to
create a fully connected fiber optic Ethernet mesh, or of *copper
twisted pairs* required to create the fully connected Ethernet mesh up
to 100BASE-TX. And 2n(n-1) twisted pair would be required for
1000BASE-T, where four twisted pair are used in each link.
> .... Besides, the question was about "full duplex links". The
> networking opposite of "full duplex" is not "directed simplex"
> but rather "half duplex" -- one direction at a time. The number of
> links needed for a mesh doesn't change whether the links are
> full duplex or half duplex. That's why your reasoning
> about "divide by two because of the full duplex" is faulty.
Not faulty at all. If I ever said "full duplex," I take it back. I
thought I said duplex plain and simple. But in practice, since we the
original question *was* after all about Ethernet bridges, this is a
"making a distinction when there is no difference."
Again, in the context of switched Ethernet switches, which is the
context here, the derivation of n(n-1)/2 is simple enough. The fully
connected two-way link mesh can be created out of simplex links. If
created out of simplex links, the algebraic expression is simply derived
as n(n-1). Since the links used between Ethernet switches are instead
(full) duplex, each pair of simplex links between any two switches is
replaced with a single link (bundling two simplex fibers or two simplex
twisted pair into single cables). Therefore, trivially, the number of
links in the fully connected mesh of n nodes must be n(n-1)/2. This is
precisely the logic I used in my original response.
It's not essential that only one derivation exist for the solution to a
problem, right? Most of the time, the same answer will emerge if the
logic followed in deriving the answer was correct. (I've seen some
possible exceptions to this in probability problems.) What does matter
is that algebraic expressions be understood to be the codification of
the result of a logical path. Not the other way around.
Bert