Dear viewer, these subtitles were generated by a machine via the service YouTube and therefore are (very) buggy. If you are capable, please help us to create good quality subtitles: https://c3subtitles.de/talk/2589 Thanks!
[Music]
so this talk will be held in
English so um there will be no
translation for for this talk but um uh
today I I'm very pleased to introduce
yop to you he's going to talk about uh
protocols he is here uh prot calls and
algorithms that help communicating
through the vast expanse of space ah
exciting isn't it and uh everything that
has to do with networking and the title
of the talk is how to route a package to
Mars yop your
stage yeah uh thank you very much uh
thanks for the introduction and thanks
for uh coming to uh this episode of the
space track at nortex I think there
around this time is actually every day a
talk about something space related um
some of them already very good I already
cut my script because other people
explained it better so we have uh more
time for the things that I think are
particularly cool which is generally
space networking I think I don't have to
convince you but I'll I'll tell you what
I particularly think it's cool so strap
in so uh I'm yop uh some people call me
Yan Sha
um yeah some stuff I am is there I
studied informatics I'm some sort of re
researcher I guess and I or originally
scoped this out as a PhD topic
maybe and yeah I still hope it's going
to work out someday so we'll see so um
where should we
start uh here I guess so
uh networking layer models Maybe
probably a lot of you have heard about
it uh idea is okay how do you build
computer networks lots of machines
talking to each other data goes where it
should you build protocols on top of
each other uh first layer is physical
that's actual on thewire signals radio
stuff fiber optics whatever and above
that data link that's U I think U most
of the time ethernet other stuff I guess
and these protocols all package data of
the protocol above it so you build
Little Onion where you have lowlevel
protocols that do like Point too stuff
and more high level protocols do end to
end
stuff probably very bad explanation of
the
concept anyway in reality it's much more
complicated and so it is in
space so uh the ccsds protocol ecosystem
um is not the only one but it has a lot
of Standards uh that you can look at so
uh I did that and that's probably where
a lot of this talk came from um it's uh
the ccsds is um a board by most of the
space agencies of the world where they
work out standards for how their setcom
systems should communicate so they have
some
interoperability and other people use it
too so they can rent out their equipment
I've heard
so
um okay why am i showing you all of
this so anyway down here we have uh I
guess space
ethernet so stuff at the data link level
where yesterday's talk by cipia
explained that pretty well so I'm just
going to say it's space ethernet
ethernet and above that uh we have um
yeah it's called something like shim
protocols it's uh basically those
lowlevel protocols they only transport
certain other um types of protocols and
if you want to do networking so if you
want to hand this out hand the stuff to
other higher level protocols who will
then do complex routing
stuff uh you use the encapsulation
protocol and you for example uh talk uh
to your Satellites with
IP but that's boring so we want to talk
about the other stuff
um actually where is the next slide oh
yeah um I'm going to talk about uh ltp
and BP over here we're going to learn
what those mean those are I'd say proper
networking protocols for interplanetary
activity but uh frankly I think most of
the space topace communication so actual
multihop communication right now works
with a bent pipe Style Network
for example this here is a tdrs
satellite it's called a tracking data
relay system anyway it's how you uh I
think uh the the International Space
Station is actually reached so how those
guys get internet they need uh to get
one of those satellites as a relay it's
operated by NASA I hear the US military
uses most of the band with doesn't
matter too much but it's not that
interesting networking Wise It's it's
just those data link protocols I used
and
then it's manually told okay be a relay
here be a relay there it's not that much
more interesting than I have you seen
those guys who have like an old school
manual uh phone operator table where
they plug in the cables and connect
phone lines yeah they're next to a Fang
anyway it's connecting um the actual
networking is pretty manual the
satellite is just told connect here
connect
there um but that's not really what we
understand as networking
protocols so let's get to the first
thing uh lick lier transmission protocol
this was uh developed for the express
purpose of um interplanetary missions or
stuff that's very far away um the the
motivation for it was
uh I think all of the missions that go
in let's say past the moon are using the
uh deep space Network which is I think a
corporation of multiple agencies who
have
uh really big antennas on multiple
places around the world to uh reach
those really far away
crafts but uh they're really over booked
and it's
uh any bandwidth you get is a premium so
lick lier is trying to optim optimally
use
that and
how is it doing
that so I'm going to try to explain lick
ligher protocol very
fast um so you may see here some red
arrows and some green
arrows
um that's lick lier has two modes of
data Transportation one's called red
part data that's important data that you
really want to get through and it uses
retransmission for uh for anything that
doesn't get acknowledged and green part
data is sort of okay nice to have but
it's fire and forget transmission
basically and how it works is
uh the this redport data occasionally it
sends out checkpoints that uh requests
um an acknowledgement back okay if what
have you received and the checkpoint has
a timeout and when the timeout fails uh
then you politely inquire again hey did
you get that data or maybe you get a you
get a back uh an acknowledgement that
doesn't include enough data so you know
what to resend that's the basic gist of
it but uh it was specifically designed
to have uh I think lots of parallel
timeouts running so you can just keep
sending all the time and um only when
you're sure you need to resend
something then you're rescheduling
it uh that was the logic behind it as
I'm aware
right um but um maybe you've noticed um
not so much networking yet going on uh
this is still a single hop
protocol uh one
second right just checking the time um
yeah it's it's used for uh transmission
to deep space but uh it's still only
recommended for single hops from Craft
uh to ground station usually
um but that's not uh well if you uh know
something about IP and routing that's
not really what we expect networking to
do we want to automatically get you know
from point A to point B across multiple
devices anyway the system should be
smart enough to figure it out but
um right and I think the first
uh protocol where they really um found
it necessary to implement something like
this um was with bundle protocol and I
tell you shortly for what
circumstances
um I guess I should uh go into what is
uh dtn or delay tolerant
networking um or delay and disruption
tolerant networking it's uh when we're
going for one into um environments where
we have very long delays like we go to
places like Mars or Jupiter we have many
minutes or hours of transmission
delay
but
um also uh orbital Dynamics is a thing
and sometimes things uh disappear behind
an object so you have intermittent
connections and uh bundle protocol is
sort of a a framework for also dealing
with intermittent connections and it
basically introduces the concept of
custody transfers passive
transmit um I'll explain it here on this
funny little graphic
so this is supposed to be a a lunar
rover or
something and here a lunar
orbiter and you can easily imagine uh a
lot of the time something object on the
back of the Moon doesn't actually get
reached by the Earth ground
station so you want to go uh through a
relay of some
kind so how I've drawn it yeah you can
you basically have a
a direct connection link availability
all the way but it can be that
the um that the Orbiter also gets lost
behind uh the object and then you need
to send stuff first to the Orbiter it
needs to hang on to it take over custody
and then it comes back around and then
it can send stuff
back right and um apparently these
situations have have a tendency to get a
bit complicated
so they they've actually started uh
they've actually designed a routing
protocol to deal with these
situations um there's actually also some
terrestrial uses for uh bundle protocol
um some of them pretty cool for example
when you
have uh distributed sensors um where
there's not a lot of internet connection
and you fly a drone overhead so you
collect the
data
uh um with a data mule also a place you
can use it I I heard it's also been used
for uh for bus systems where the city
buses pass each other all the time
so what if you the buses if you can
transmit to the buses directly then they
can just exchange information between
each other for example about I don't
know schedule changes
or emergency info of some kind i' I've
heard that's what it's been used for and
there also routing uh for these sorts of
scenarios also interesting stuff
epidemic routing is one way of doing it
was is just send everything to
everyone and you see where it turns up
but that's not uh for a use case here
where we still want to be pretty
bandwidth
efficient and the protocol that was
developed to solve that was uh contact
graph
routing so now I'm going to explain
contact graph routing in a
slide
um okay I'm I'm going to explain this
little diagram over here so we have
again our situation ground
station uh a relay satellite and uh and
the
Rover and here these little blocks if
you can see them are supposed to be
contacts let's say we have a contact of
1 hour between the Rover and the
satellite with 100 kilobits per
second and later the satellite has a
contact home to the ground
station also 1 hour 500 kilobits per
second just some
numbers that's that's a called a contact
plan that's
um you have to do it uh even if you have
line of sight between crafts you still
need to plan out okay where is it
facing when uh can when
uh when or which craft supposed to have
a link this you know pretty much
beforehand unless something goes wrong
so you have this contact plan and
uh and you turn this into a contact
graph uh the contact graph is below
basically this thing here is connected
into when you want to get something from
the Rover to the ground station so the
Rover is sort of a source node then
every
contact is
uh is also turned into a node and they
are connected if um something from one
contact can be transmitted to the next
contact like here this Edge means the
satellite is holding on to the data and
then transmit it
on and then there's basically you run uh
algorithms of U path finding basically
do I have a a file of a certain size uh
can I fit this through this uh through
this graph where we have to remember
every contact has a limited
data amount it can uh put
through
and
um so that's contact graph routing a in
a nutshell I guess
and uh one other thing to remember is
uh contact graph routing is um it needs
to keep track a bit of what data is at
sent
where for example if if the router um if
the Rover is uh has sent enough data to
um to basically uh fill this contact
entirely okay it needs to remember okay
this this node is now out of the
equation no more space on that and then
if available you have to choose another
route but uh when we have uh multiple
relays multiple crafts available then
this becomes a bit more complicated then
you need um you need an proper algorithm
for it uh you can at least not easily
hardcode
it um yeah and uh I guess to loop back
around uh why I'm talking to you about
this uh this was actually sort of stuff
I found really interesting for research
um because that there's uh in how I've
described it there's a lot of things uh
you can improve still
um uh some one of it is for example um
bundle of
fragmentation um which
is if you um if you have a data unit
that is too big to fit through a cont a
specific contact on a certain path but
you have still room okay you can you can
like send a fragment okay this should be
squeezed through and then uh the rest
can be go through some other contact
maybe um with a more expensive
route uh this one's actually been uh
implemented by someone already or at
least there been a a standard
recommendation unfortunately I don't
really know if these uh algorithms are
in use right now in deep
space it's uh a bit difficult uh to get
the exact information on that at least I
hadn't found it but uh has been work on
this bundle fragmentation thing another
uh interesting topic for me is
congestion control uh for example if you
go back what if we just imagine here um
two
Rovers who are using the same relay and
don't know about each other how are they
supposed to know when uh this red
contact has been
exhausted they don't really so um
there's also been some work done on that
how
the
um how nodes share with each other some
information about uh how much they've
already been queued so um so uh other
nodes know when to expect delays and
they can um reroute other places usually
it's uh it's optimized by shortest
delivery
time um and if you can expect okay I'm
going to wait on this note for hours and
days then okay I'm might want to use
another slower
route that's a sort of a routing
questions that arise and otherwise um
you know right now I think the the most
you can realistically apply this is uh
with the master Rovers uh curiosity and
uh what's the other big
one opportunity
thanks
um and there's certainly orbiters
overhead who could serve this function I
think they already do it in some fashion
like this though I'm not sure if they
use the they use bundler protocol but uh
you know what if you have I don't know
10 times the Rover five times the relays
multiple hops I don't know I think uh
it's I feel like this isn't figured out
and I would be interested in doing it
and uh this is where I'm complaining
that uh it's kind of difficult so
uh
um when you're uh you know uh come from
the internet world you expect okay these
sort of Standards uh surely there's
reference implementation that I can just
plug together somehow and run
simulations um well it's uh it's a
little tough uh there's not at least I
didn't find so much and I uh I found a a
lick ligher implementation in a in a in
a network simulator ns3 uh for bundle
protocol there is an that is actually an
implementation published by
NASA um but um yeah for some of the
papers I've been looking at um uh I
should mention as got Burley and Sangita
Dara uh which have been writing uh
the the papers about this stuff that
I've been referring to um yeah I've
asked for their simulators but they
haven't uh they haven't sent it to me
yet but uh maybe they will or maybe they
won't there sometimes there's weird
export restrictions on um on Space code
and apparently NASA publishes a lot of
code but a lot of code is uh hey we'll
send it only to you if you're an
American
citizen okay I guess it's not sure if
that's a real security uh achievement
but some stuff is difficult to guess but
um you know I've been sort of dreaming
up how how um how would I want you know
this sort of simulation research to be
conducted what would be really cool then
I think U you know some sort of modular
framework like this where for example
you have um I guess what you would need
is uh orbit simulations link simulations
and and node
simulations in in my head that makes a
lot of sense so you have one one part
you the trajectories of the crafts that
you're trying to build a network with
because that of course informs what kind
of networks make sense then uh you need
uh to determine okay what's line of
sight going to be uh if you're um
sending stuff through the atmosphere
maybe you there's a changing uh
interference depending on what angle you
you send stuff so that's that's the
other part of the simulation and then
you need uh well some sort of emulation
of the networking code that's running on
the
Node so that's what I would want and
then you just combine it in some sort of
uh Miss Mission composed.
yaml but it doesn't exist yet so uh
maybe I have time to write it
um and thanks for coming to my talk uh
some cool people I found uh C3 Space
Center Libra space
Foundation they also try to do some open
source space stuff and yeah thanks for
listening I'll be by the side for
questions thank you very much for your
presentation so we're uh pretty much
spot on for time um so maybe the most
important information would then be
where can people find you to talk to you
about um oh right uh I guess I'll hang
out by the stage for a while and uh I'll
be at the uh WTF Village for a while
very good so unfortunately no time for
questions since we're running uh a tight
schedule here but let's thank again our
uh our speaker yop for his nice
presentation thank
[Applause]
you