I exchanged my pool sign with someone in
Slovakia if the conditions are just
right and that depends on weather and
sunspot activity and stuff you can
really sort of get your RF out across
the world 2 meter band is generally
considered to be sort of much closer
range
we are we looking at the
post-apocalyptic internet yeah I think
so yeah I'll be talking to Jack I'll be
talking to Dave over making sure
everything's ok
it seemed to die briefly I'm scared to
touch anything because it will suddenly
die so this is quite flaky stuff right
it mainly it's normally very reliable
the problem is that we have these cables
which I made myself and don't look at
this one what to think past another desk
or visitors are going to sleep well I
thought it might be interesting to talk
a little bit about packet radio and
maybe touch on amateur radio in general
as well packet radio is it's essentially
sending data over the radio waves and
the frequency spectrum that follows
three can see spectrum not using at the
moment is the amateur radio bands so
this is two meter band what I'm using
now and that's about one hundred and
forty four hundred and forty five
megahertz to either man is probably the
band with the most packet radio because
there's something called a PRS which is
the automatic packet reporting system
that's all based upon one protocol
called x.25 and this is kind of a sort
of it's x.25 but modified to accommodate
some of the things required by or
required to make it work on amateur
radio instead of over a some kind of
cable okay so we've got two of the
cheapest ham radios these about feng UV
five hours we've got two laptops and
we've got two what are essentially
modems they're called their terminal
node controllers and they essentially
take data through a serial input and
turn it into some some sort of strange
sound a bit like dialer
essentially we're encapsulating what we
would normally put on Ethernet but we're
encapsulating into what's called kiss
framing and on top of that a x.25 I
think I should probably draw this out
because going it's a bit complicated
let's draw a radio and then we have our
modems or terminal those controllers and
these are talking to the radio this is
actually an audio cable so this is just
audio going straight into the radio and
then we have two computers this is my
laptop and this is a serial cable I will
draw the frame so the tcp/ip so at the
very bottom we have kiss which stands
for keep it simple stupid and the way
this type of framing works is that if
you send a zero that means there's a
data frame coming in so it's very simple
after that we have sort of a x.25 and
this essentially talks at Hardware
addresses so what you might typically
consider to be MAC addresses but in the
case of radio essentially my callsign
which is m 6p IU and get on the radio
yeah and then so this X 25 actually
becomes the lowest layer in the setter
that I've got here over the tcp/ip stack
so this is sort of let's say m 6p IU
to my friend g1 said ek this guy
actually gave me this TNC here so this
is sort of very low-level framing of
messages it's just saying pass this data
over to this and this is the the length
of the data so this entire thing is
going to be the the tcp/ip stack with
this framing underneath it on top of
that we have the internet layer so this
internet layer works on the basis of IP
addresses so ham radio operators are
fortunate enough to be allocated 44.0
dot 0 dot 0 / 8 so that's a huge range
of IP addresses and you can as a ham
radio operator be allocated a small
portion of that so this is the kind of
level that the
Internet Protocol there runs out so
actual IP addresses rather than Ethernet
addresses or call signs as in the case
of x.25
if you look in op C in the Linux kernel
you'll see existing references to ax 25
for the way that it formats callsigns as
if they were Ethernet addresses MAC
addresses so on top of the internet
layer we have the transport layer so
this is TCP so this is TCP / IP let's
just call it TCP it could also be UDP
and on top of this we have the
application maybe we can talk about
what's actually being transmitted right
now every five seconds we're sending a
ping is that the same level of TCP UDP
so we could also write ping here and
you'd also have for example o here so
this is the address resolution protocol
so it's converting Internet addresses
into Ethernet or call signs when I want
to send a ping to this machine
essentially what's happening is my
computer first users up to resolve the
call sign for the IP address so it says
who is 44.1 31.5 6.17 tel and then the
address that it's coming from so in this
case what we 4.13 1.56 top 16 so 17 if
it's available will respond to this
packet and say that 44 is on 31.5 6.17
is at m6 p iu - some SSID so in the case
I think one of these is 0 and the other
one is 1 well is that different devices
yes because the call sign is being used
as the kind of Ethernet address in that
in a typical sense you can't have the
same address in two places especially if
you use more than two machines because
they would both respond or both yeah
they would both end up receiving a
packet destined to a certain IP address
so once you have once you know that
the cool sign of the ethernet address
the packets can be actually sent via X
25 because that's the the only the only
level above X 25 it doesn't understand
anything past that it's just cool signs
and sort of packet length this
information is going to be cached for a
while I forget how long exactly maybe
five or ten minutes or until it fails to
contact the remote host again I've got a
vision of the Airways being fooled with
lots of this happening from lots of
devices but on the same travel is that
how it works
so lots of devices can use the same
frequency with a extent e5 because the
packets are being sent with a sender and
a recipient in each packet
you do actually one of the biggest
problems with running modern-day Linux
on / ham radio is that it's expecting
the network hardware to respond very
quickly so when it does this step it
says who has this address tell whoever
it has already requested the same
information again before it's even gone
out of the the modem so you have to kind
of set this to more reasonable time like
five seconds or something instead of a
hundred if you're continuously
requesting the same information the the
recipient has no time to respond because
this is only half duplex only one person
on the on the on the radio wave go the
frequency can speak at a time this one
is actually pinging right now I've set
the interval to five seconds and it
takes about 2.6 seconds for a ping to
reach its destination and be replied to
what we have here is machine zero
pinging machine 1 so this is from no app
information cached at all yet so the
first packet that we received is coming
from m6p I you with some SSID going to
qst and qst and it's kind of USQ code
speak for all operators that are
listening
so we're saying to everyone that's
listening tell me who has this address
41 1 3 1 5 6 17 this gets sent a couple
of times and eventually machine 1
response to machine 0 so it's coming
again from me
to me and it's saying that machine wanna
dress is 44 131 56 17 and it's at this
sort of Ethernet address will hardware
address this hardware address is
actually my callsign encoded in some
strange way with some bit shifting just
to kind of make the character set fit
into what would typically be a hardware
address so this happens a few times
because not all packets are sent
successfully sometimes it's quite
impatient and will send the same packet
again especially in the beginning but
once machine zero has learned that the
map the the hardware dress my callsign
is associated with the IP address of
Machine one it can start sending ping
requests so these purple packets are
ICMP which is the pinging protocol here
we have two ping requests and then two
responses so these are going at a higher
layer now in the tcp/ip stack they're
using IP addresses as opposed to
Hardware addresses so what we ended up
with is sort of a ping response time of
about two and a half seconds which is
not bad considering we're running it
probably around 1.2 kilobits per second
so I quite frequently talk to my friend
do you want a TK over X 25 not via TCP
but lower level so if you if you don't
connect up the stuff or if you don't
activate the TCP layer is above this you
can connect to these just by a serial
terminal such as beginning screen and
you can exchange messages just as text
it's much more reliable than trying to
get tcp/ip working off of it because
you've got these layers working the
tcp/ip what does that give us that you
wouldn't get another way would you be
able to say send a website or we can
definitely send the website I can show
you that it will take quite a while to
load it will be a very small website
let's set up a small web server and try
to load that page one of the problems is
that so really operating two radios in
such close proximity is a terrible idea
you can actual
damaged them I've got these set to 1
watt and I tried to put as much space
between them as I can the problem is
that with these very cheap usb-to-serial
adapters they kind of crash if there's
too much RF around so a lot of the time
I have to keep on restarting this
because it breaks basically so so let's
try and load a page yeah so on this side
it says X method for transmit and
receive you can see that when transmit
is right here
receivers read over on this side so they
should be alternating ping actually
takes up a significant amount of
bandwidth when here at this speed so
I'll kill ping it seems to be working so
your web browser open I propose a little
page earlier it's only one sentence but
what we look out for a sentence a minute
several minutes it depends on how
reliable it is because it could take
hours of this right but a single
sentence I don't know maybe if you have
everything tuned quite precisely maybe
20 seconds or something that's the silly
question pictures I have done it it took
maybe 10 minutes so but a picture of me
has trans trans pin well probably it's
out of space now you know a very weak
signal of my face
so this machine on the Left received a
packet saying here is this address tell
that one but it doesn't seem to have
responded so these connectors are also
very flaky so give them a squeeze
come on you can do it from the activity
light here it looks like pings are being
sent and there are responses coming
through but currently it says that
destination host is unreachable well you
can do instead of using these things is
actually use the sound card and that
sort of become a lot more popular now I
quite like these because yeah I think I
think they're much more cool than using
a sound card it has timed out or
surprise it's showing the packets being
exchanged so it is they're definitely
talking to each other right now there's
a lot of packets which are becoming out
of order or being retransmitted yeah I
think it has time that again let's try
using Curl Curl is just simple
command-line utility to request web
pages and files from web servers the
Python web server here picked up that I
requested a page yeah hasn't ah the
pages loaded but only in color don't
want to show you well it's just down
here so this is the HTML that I typed in
which is this hello computer file from
m6p I you so we're going to try and load
it in the web browser now it's all your
CSS right oh yeah for this for this
website and I'm my personal one loaded
at the CSS sure a timed it shouldn't we
that's just to be sure
opening a new tab yes I just saw her on
this little Python web server that the
page was requested easy also got it
working this morning it was fine so
these are our our aha it's done there
you go hello computer file I spelled it
right I think I think in the early days
it probably contributed somewhat to
research towards tcp/ip and other
network protocol calls especially on
slow connections unreliable connections
like this and I like to think of it as
the grandfather of like GPRS and Wi-Fi
and
everything that works now you would have
to s-boxes here to 4-bit s boxes for
example plugging into one 8-bit
permutation box so the outputs of these
get jumbled about a mixed up here the
way an SP network works is it looks a
lot more rounded you have some of
questions and things actually these
numbers were chosen 3/16 5/16 or 1/16
7/16