it is uh in fact there's a bit of yellow
Cable in the shot what's that all about
no should we leave it there then let's
just leave it as a bit of a tease okay
what we're looking at then today Steve
uh well the Clue's over there
um but no I think as we're recording
this it's a few days after the 50th
anniversary of ethernet
um ethernet well it's become the network
to rule them all even though it's not a
ring Network
or anything that was created at Xerox
Park like lots of things by uh Bob
Metcalfe and others back in 1973 at that
time there were lots of different
Network Technologies being developed
we've talked in another video about
Aloha which was the wireless network
being created in Hawaii to connect their
computers up to Terminals and other
machines dotted around the islands but
at Park they were interested in creating
a local area network a network for
connecting computers within a single
area perhaps within I think the paper
suggests around a kilometer would be the
maximum length and when you actually
think about that in terms of distance
you think well the kilometers quite a a
big distance so for our American friends
that's just over half a mile right it's
five eighths of a mile
but actually when you think about how
computers get connected up you can very
quickly get even within a single room 40
or 50 meters of cable in this room we've
got about 40 computers uh dotted around
the places our cyber security lab a
cyber physical lab as well
um but we can use it as a proxy to think
about how much cable we'd actually need
let's take these two computers here
we'll use the monitors as a proxy rather
than actually trying to find the actual
devices underneath the desks because
they're very small these days they're
about a meter apart from Center to
Center that's roughly a meter three feet
for you people who deal with weird
injures and feet so we need a meter
cable to connect these to it roughly
over here another meter that's two
meters to connect three
four meters uh no three meters four
meters five meters to get here it will
take six seven eight nine we need nine
meters just to connect the 10 machines
on this desk and we're going to continue
the cable because they're trying to do
it with a single cable and we'll see why
in a second so we need to continue it
here there's probably another three or
four meters 13 meters and then 14 15 16
17 18 19 20 21 22. so we need 22 meters
to connect the computers over on this
side of the room there's the same over
in that side of the room
so that's another 22 meters of cable
that's 44 meters and then what let's say
that's five meters so we need about 50
meters of cable I mean that's assuming
we can put them a meter apart when
you're dealing with some of the original
ethernets there was rules that say you
actually have to have them two meters
two and a half meters apart so actually
when you're thinking about the cable
snaking around the whole room or a whole
building a kilometer isn't actually
that long if we go to a diagram what do
you think about how we can connect
computers up if we've got two computers
then connecting it up is quite
straightforward we can put a cable
between the two this machine let's call
this a
can talk to machine B let's add a third
machine machine to see
getting imaginative see for computer
well let's say we want to connect C up
to the other two machines as well now we
could add another cable let's connect C
to B now B can talk to A and B can talk
to C
but I can't talk to see
directly it could send a message to B
and B could then pass it on but it can't
talk directly if you wanted to talk
directly then we'd have to add another
cable in so we now need three cables
three machines
let's add in a fourth machine and I'm
sure you can guess what this one's going
to be
yep that's right it is d
I should have gone for E just to sort of
number four yeah number four just to
really trigger some people we can do the
same thing again we connect this up now
it can talk to machine a but it can't
talk to any others directly we can
connect it up to machine C and then
connect up to machine B and we now need
one two three four five six cables to
connect four machines and as you add
more machines if you want everything to
be able to talk to everything else
directly
then the number of cables goes up
um if you had another one you would need
another three Cat four cables adding so
you've got ten for five machines if you
want another one you've got 15 for six
machines and so on you get an explosion
of cables which would also come with an
explosion of sockets on the back of the
machine and by the end of it your
machine will be huge because you've just
got sockets on it to connect every other
machine and then let's see able to
actually plug another machine in you've
got to add another socket for some
applications having a mesh like that
fully connected mesh like that is really
useful so what most networks do is
rather than directly connect everything
they share a medium they share some
access media that they can then speak
over and so the idea in Ethernet
uh was that rather than having each
machine
directly connected to each other as so
what they would do is they have a single
cable and you need to terminate it at
each end and then you would connect each
machine to that cable so we had machine
a and that's connected to the cable
machine B and then we have machine C and
machine D and we can connect that to the
cable as well we now have every machine
connected to every other machine and
machine a you can send a message over
that cable to machine C no problem
machine so you can send a message over
it to machine B Machine B you can send
one to machine a or to machine D the
problem now is how do we make sure that
two machines aren't transmitting at the
same time how do we make sure that
where machine I use transmission the
machine being machine C don't try and
transmit at the same time because if
they do it'd be like two people speaking
at the same time you'd end up with a
confusing yeah
because I'm talking at the same time and
no one can hear what's actually being
said
so we have to do what's called media
Access Control how do we make sure that
a can transmit and then it can be
received by everyone the advantage of
this is that if you wanted to add
another machine onto the network let's
add machine e
over here then it's dead easy
we can just so take the cable to that
machine ADD it in and it can talk to
everything over the same shared medium
the beauty of what came in the original
ethernet specification that was proposed
in 1973 and the uh Xerox memo that's um
wonderfully zero sensitive I think this
was released at ethernet at 30 at least
that's what it says on the back of the
PDF that we've got here so this memory
describes how they were thinking about
how they would solve the media Access
Control problem how do you make sure
that only one machine is transmitting at
the same time I made a joke at the
beginning about this bit not being a
ring Network ethernet as it's laid out
here is a bus Network we have one long
piece of wire which is commonly referred
to as a bus in computer science uh
Hardware terms and everything is
connected to that interestingly there's
a wonderful bit in the memo about why
it's called ether and not cable net or
I'm using the the alto Aloha Network
because they did borrow quite a few
ideas from Aloha which had come out a
couple of years earlier Bob had the
foresight to say that while we may end
up using coaxial cable to carry our
broadcast Transmissions it seems wise to
talk of an ether going back to the idea
of The Ether which electromagnetic
signals traveled through back in the
sort of late 19th yeah late 19th century
ideas about how things worked of course
now we know it doesn't quite work along
those ideas but the name stuck it seems
wise to talk in terms of an ether rather
than the cable for as long as possible
this will keep things General and who
knows what other media will prove better
than cable for a broadcast network
maybe radio or telephone circuits radio
wireless wi-fi modern Wi-Fi is based in
part on ethernet power wiring we have
power based ethernet things frequency
Multiplex cable TV
cable modems for transmitting things
microwaves or any combination of that it
really is quite insightful about whether
50 years of networking is going to go
there's a wonderful diagram of what if I
predict in the 1970s but of course you
already had Aloha running over in Hawaii
so perhaps it isn't that surprising so
their idea would be that you'd create
your network with a single piece of
cable
um this isn't the sort of Xerox Park
ethernet that we've got here this is the
sort of what came a bit later on after
it had been standardized and sort of
adopted by everyone in the early 80s
this is what's called 10 base five and
so you'd have a huge cable and the idea
would be that you would have this
running around the building running in
the ceiling uh and the specification I
think meant that you would maybe hook
computers every two and a half meters
apart
from it so you'd have that and then
you'd have devices like this which would
physically puncture the cable and if I
just take it to bits we can sort of see
what's going on
um so we've got a circuit board here
this is the transceiver that actually
talks to it and it connects to the
computer there we'll come to that in a
second but if we lift that off for now
we can see that there are three spikes
and they're quite sharp sitting
um there and these go through and on the
other side they puncture the actual
cable two of them are going into the
screening on the character cable and
then one goes all the way through to the
actual signal wire in the middle and so
that enables it to make a connection
without having to break the cable which
gives you good signal Integrity
um and just makes things I want so
easier to do because putting these
things on was probably a nightmare but
compared to having to sort of splice the
cable put connectors on it was
relatively straightforward of course
later you had 10 base 2 which did do
that use T pieces and connect things
together so you'd have your connection
to the ethernet to the cable there and
then you'd have your transceiver sitting
on top of it which of course is now
connected through to that table by the
connections here interestingly this
designs is a digital one you can put the
circuit board on either way depending on
whether you want the cable to come out
the left or the right at this part of
the circuit will take the data from the
computer
and modulate it into the format that was
transmitted over the actual cable and it
also did a few other things as we'll
come to and look at in a second so this
is the actual bit that would then sit on
top of it
I like that and then you would have a
cable so this would be in your ceiling
void or under the floor perhaps you
wouldn't have this sort of running
behind the computer I mean these are
actually referred to colloquially as
vampire chats because obviously you've
got sort of pins piercing into the
ethernet cable to suck the data out a
bit like Dracula piercing your neck to
suck the blood out I guess is the sort
of idea behind that what you then have
is a drop cable like so which would
connect onto there so this is a 15 Pin
cable and it's got locking connectors on
it so once you've connected it you can't
get it off and that's got the transmit
and receive from the data that's on here
back over a couple of Twisted Pairs and
it's got Collision detection we'll come
to that in a second and Power
for this device these were designed so
that if the power went off they would
just not be there effectively
electrically equivalent and then you
would connect this back to the back of
your computer and you'd have your
network card
and then you would plug that in
like so and so your computer was then on
the network even when I first started
being around the university in the mid
90s
um
there were still drop cables coming out
the ceilings in places and it being used
to connect things the other thing you
needed to make sure is if a signal is
traveling down the cable and it comes to
an abrupt end you'd get a reflection
back along the same cable which of
course would interfere with the data
it's not attached to anything if it's
not attached to anything so if you just
said it like that you'd get a reflection
back because the signals come to an end
and it just sort of reflects back so
that would sort of absorb the energy and
terminate the connection standard coax
cable rj8 was a specification for 10
base 5 I'm not sure what they're using
Xerox but similar sort of stuff no doubt
let's have a look at how they actually
solve this problem as soon as you've got
some sort of shared medium that machines
are communicating over you need some
sort of algorithm for one of a better
word to decide who can speak when
um
if you've got a sort of centralized
Network which is another way you can
build it sort of star network is
referred to where everything's connected
back to a central point that can
arbitrate and only transmit data or
receive data from one or send a signal
down it's your turn to send anything you
could do things like that if you've got
a ring Network and you can pass things
around as it goes from one machine to
another a token that goes around a bit
like you do on an old single track
Railway to only allow one engine train
to be on that bit of the line at time
you have a token that is collected by
the train as it goes past and then
deposited at the other end to make sure
there's only one thing at a time
with ethernet with the approach we've
taken there they had a distributed
algorithm so there's no Central Point
except the cable
they've got a distributed algorithm that
the machines use based on some
principles that are neatly outlined in
Bob's memo to decide
whether a machine can transmit and these
are sort of based on what was done at
Aloha because that had been put the size
it was shown to be working but they
modified it because they were based on a
cable the way Aloha worked if you go
back to the video is that it transmitted
and received on different radio
frequencies so machine
couldn't receive Transmissions from
other machines because they're on a
completely different frequency from what
it was receiving up so if it transmitted
at the same time as another machine was
transmitting it had no idea about it one
of the advantages of everything being on
the same cable you can see if something
else is being transmitted which we'll
come to so let's bring up the
paper or the memo again and we get a
couple of bits down the whole section on
how does the stations transmitter
acquire the use of the IFA for a
particular transmission but they base it
around four or five axioms four or five
ideas that they're going to use to make
this work the first one is The Ether
Axiom as he calls it and that is that
The Ether the cable carries
Transmissions To All stations so if a
machine
sends a packet of data it will be
received by all stations it's not being
sent specifically to see if a transmits
something it's sent to everything and
then there's address Fields within that
which says which machine it's for and
they're transmitted first because that
way all the other machines can ignore it
if they're not interested in it second
one the proximity Axiom is the the
propagation times basically how far
apart the machines are is relatively
small so if a is sending something to D
it's not going to take too long for it
to get there and by not too long
millions billionths of a second we're
talking about it's all relative when you
get down to these things a long time
isn't there's a thousands of a second
which to a human is quite a short time
but it's all relative the next Axiom is
a detection Axiom and that states that
stations can detect that's the machines
on the network at all times
Transmissions of other stations so it's
not just that they receive it but they
can detect whether something else is
transmitted as they pass in about one
bit's time so as soon as one bit of data
from another machine has been
transmitted all the other machines on
the network should know that that data
is being transmitted uh and that
something is transmitting on the network
so the fourth Axiom is referred to as
the deference Axiom and this is where we
get to the core of how the algorithm
works and we can start to see what's
going on so it says while detecting a
passing transmission so it's tied into
the detection Axiom
no worth of station will begin or
continue its own transmission
and this is really the core the heart of
how the system works it later became
known as carrier sense multiple access
with Collision detection so let's have a
think about how it works so the basic
property is that any machine can send
any message and it's received by all the
machines and there's address fields in
there that are used to specify who it's
going to and it's down to those machines
to say oh this is not for me I'll ignore
it of course you can put it into what's
known as promiscuous mode and see all
the traffic that's traveling past on a
network like this
um
so we can get data from any machine to
any other but the problem we've got
if there's more than one machine wanting
to transmit
how do we decide who transmits
if there's only one machine wanted to
transmit then it's fine it just
transmits its data it gets sent out over
The Ether and it's received by all the
machines including hopefully the one
that wants to receive it but if there's
two machines wanting to transmit then we
need some way of arbitrating which one
gets access so the first thing is the
carrier sense the deference Axiom and it
basically says if something else is
transmitting
don't start transmitting or don't
continue your own transmission
so basically we're saying if you see
something else is speaking on the
network if you see someone else who's
transmitting don't start transmitting
and that will remove a whole load of
what we call collisions where two things
are trying to talk at the same time
um it's a bit like having a conversation
you wait until the other person is
finished speaking and then say something
exactly yeah because that way it doesn't
overlap everyone can hear what's saying
so we can get rid of a whole other
problems there that
but he doesn't get rid of all of them
let's say we've got machine a
transmitting something and machine B and
C
both want to transmit a packet
Okay so we've got machine a transmitting
A's transmitting so these defer to it
and don't send anything a then stops
transmitting machines B and C then say
okay the Network's clear I'm going to
transmit boom two machines start
transmitting at the same time to get a
collision so how do we get around that
well the key as we said is that these
machines can detect
if there is a transmission error if
there is a collision as we call it and
the way that they can do that is that
they know what they're sending but
because they're also receiving on the
stuff from the same network they can
compare what they're sending with what's
being received and if they're the same
everything's fine if they're not the
same
then there is a problem so what do you
do if you take there's been a collision
and actually you can know based on the
size of the network and the conditions
that are there you can measure that you
can know that within a certain amount of
time
but you've acquired the network and the
data should barring accidents get
transmitted without any problem because
once you've sent enough data that the
amount of time it will take to propagate
around the whole network and then come
back to you as past you know that you've
got the bus Acquired and you can send
everything because all the machines if
they follow the algorithm correctly will
have detected that you're transmitting
and not send anything
you can get a situation where if you
start sending and machine D is several
hundred meters away that by the time you
it's it starts transmitting when it's
clear you've already started
transmitting
um and if that happens right at the end
of that time period it takes to get
there it will take the same time to get
back and so it can be potentially twice
the distance to propagate the full
length of the network so we can get
collisions we can detect them so we can
then stop transmitting and stop the
Collision the next thing that comes up
is well how do we then send the data
um and the way that they do this is they
actually use what's called exponential
back off has been termed that afterwards
and basically
these two machines B and C were trying
to transmit and they've detected that a
collision has happened how do you decide
next well they can't they're not talking
to each other because the network is the
conversation is the communication media
so presumably they've got to kind of
pick a random amount of time or
something like this right exactly
exactly right so what they you do is you
say Okay machine's B and C they want to
transmit they've detected a collision
they say right I've got the dice or
something yeah they're basically they'll
pick a random number and they will wait
that long
in seconds but they are they're clever
they know what they think actually it's
going to be twice the length of Network
in Time
Danny I'll pick a number between that
distance
random so I pick a random number and
there's various ways you can do that and
I will wait that long and then try
transmitting again if something else
starts transmitting before then well I
defer and the whole thing starts again
because someone's got in performing
um otherwise
I will pick a number and wait that time
and hopefully
and hopefully if they pick random
numbers they'll be different so one of
them will start transmitting and the
data will get through and then the other
one will say oh something has to use on
the network
you can get to the point though where if
the network gets busy
then you've got lots of machines on it
and they're all trying to transmit that
your probability of a collision
happening even though you've had a
collision and they're picking random
times become so high the more machines
on the network that are trying to
transmit the chances that they'll pick
the same duration or very similar
durations is becomes more likely than
not
well then what do you do well you get
another Collision what those machines
then do
is they do the same thing again oh we
had another Collision just after having
a collision we'll pick a random number
but this time they double the maximum
wait time so if they waited for it to go
twice around the network before they'll
now wait for it to go four times around
the network and if it still collides or
you double it again and
you go on and until eventually the data
gets through and so by using all those
different aspects
they can get it to the point where
without any of the machines and being
able to talk need to talk to each other
directly they can acquire access to the
ether to send the data when they need to
now that doesn't guarantee the data is
going to be received correctly I mean
the machine needs to be switched on
um there might still be noise someone
might switch a vacuum cleaner on right
next to the cable which we can introduce
some temporary noise on the system or
something that might be a dodgy cable
um a connection somewhere which would
then corrupt the packet and so you still
have to have error checking there and if
the machine's Switched Off you're not
going to know it hasn't been received
unless something extends thing back but
it's it can do its best effort it's just
what's referred to as the best effort
Network at getting the data
transmitted and that was how the
original ethernet worked I mean
originally it ran at three megabits it
was designed to connect the Xerox Alto
workstations PDP 11s PDP others Novas
for together at Xerox Arc but it became
incredibly popular it sort of escaped
other companies started implementing it
and it's quickly certainly by through
the 80s and the 90s I mean it wasn't the
only networking standards there were
others about token ring econet uh what
else we had Arc net we were around but
it was very much
ethernet that won out
um probably because it was it wasn't the
cheaper option but it just became the
standard that people use and the others
sort of fell by the wayside and probably
because it was easiest to implement or
something I don't know why it became
popular but it did and these days pretty
much all networking connections that we
use are based in some form of the
original ethernet now that these days
they don't use a shared medium there's
not masses of ethernet cable running
around this building with all the
machines attached onto it
um one of the big problems with the
shared medium Network right Wi-Fi is the
more machines you have on there the less
bandwidth there is around we talked
about this in another video and there's
less bandwidth there is around for each
machine to communicate
um so particularly on wired networks
you'll get them to be switch based now
but actually all that does is say well
okay we have a central point and between
the machine and the switch we'll run
ethernet but there's only one machine on
there so there's not going to be any
collisions but we'll send the data in
the same way or with the same packet
format and different modulations so the
speeds increase from three megabits to
10 megabits or 100 megabit to gigabit to
10 gigabit then down to 2.5 and 5
gigabit 25 gigabit 40 gigabit 100
gigabit 400 gigabit whatever we've got
to in terms of networking the speeds
change the mediums change from
rj8 uh 10 base 2 to UTP at CAT5 Cat6
cat7 fiber optics whatever using it and
with the switch what happens is you send
the packet to the switch and the switch
will look at it and say oh this is for
this machine and I know that this
machine is on
this network here on this port here so
I'll cue it to go out there at that
point and you can get full duplex
communication
but this is where it began 50 years ago
at the time of recording designed around
this and yeah it's quite a Nifty
algorithm to solve those problems it's
not the only one
um there's other approaches that people
have used we talked about Wi-Fi in
another video and that use carrier sense
and multiple access but with collision
avoidance because as we talked about the
hidden node problem you can't always
when you're on a radio based Network
detect
because something might be out of range
of where you are but the other
approaches that you can use to sort of
share access to this shared medium
if you're wondering why we've got red
and blue ends of the room
um well this is because we use this for
cyber security amongst other things when
we're teaching and so we can do red team
blue team the actual rights uh for
another purpose which is probably a
video on its own they react to the state
of the room and I shall leave it at that