Episode Transcript
Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Wolf (00:05):
Howdy everybody, it is
another episode of Runtime
Arguments.
Um I'm so happy you'relistening.
I'm Wolf, and uh here's mypartner, Jim.
Hey Jim.
Hey Wolf, good to be here.
Yeah, uh today I just want totell you right up front, uh,
(00:25):
we're gonna be talking about uhnetworking and specifically IPv6
and what that means and how itcompares to IPv4, which is good
because I don't know a whole lotabout that.
Uh but let's start off with uhwhat'd you do this week, Jim?
Jim (00:43):
You know, this was a really
good week.
I got some uh some nice bigprojects from one of my
customers, so that's gonna keepus busy for quite a while.
So that's always fun.
But I know you uh you had awhole different kind of thing
going on today.
You had an issue with one ofyour dogs.
Wolf (00:59):
I am a dog person, as you
well know, Jim.
And so am I.
I guess everybody everybody elseshould know too.
I love my dogs, and for thepast, well, I think one of the
greatest things uh aboutmarrying the woman to whom I'm
married now is that she broughtdogs into my life.
Other animals are great.
(01:20):
Anything that gives you love, Idon't even care if it's a
parrot.
If it gives you love, I thinkthat's the right thing.
For me, that's dogs.
I love my dogs.
I have pictures, I talk aboutthem all the time, and I usually
have about three at a time.
Uh so we have a pair ofthree-year-old girls and a
(01:40):
one-year-old boy.
They're all small because I'molder now.
We used to have big Rhodes andRidgebacks, but now we have
little dogs.
And my boy, my one-year-old,Oscar, he's a cavapoo, he weighs
about 14 pounds.
He stopped eating and drinking.
Um he started uh not eventhrowing up, just sort of
(02:01):
regurgitating his food, he justsort of fell out of him.
So we decided he needed to go tothe vet.
And a regular vet uh didn't evenhave any open.
This was Saturday morning.
Uh they didn't even have anyopenings till Monday.
And we thought, oh no, he can'twait that long.
So we went to a sp a specialnearby emergency veterinary
(02:24):
hospital, and they looked at himand did x-rays, and then they
said, His belly is completelyfull, and we don't know what it
is, but whatever it is, it's gotto come out.
I mean, they gave me somecheaper options, like we can
give him laxatives and just waitand watch.
(02:46):
Um but the surgeon said, andmaybe this is just what surgeons
do, they sell the thing they do.
She said, um whatever it is inthere, it's gotta come out.
He needs surgery.
Uh and she's the expert.
When people ask me for help andI'm the expert, I expect them to
(03:08):
do what I say.
Because I already know I knowwhat's right for them.
Uh, and I know they don't.
So when she said he needssurgery, my answer was I don't
know how I'm gonna pay for it,but that doesn't matter compared
to uh Oscar being, okay, let'sfigure out how to get him the
(03:29):
surgery.
So Saturday he had surgery.
Turned out that what wascompletely filling his belly was
a gigantic wad of string that heuh had somehow extracted from a
toy and some tiny piece ofmetal, probably also from that
(03:49):
toy, that was so small it wasunidentifiable.
Uh so he spent, I think, twonights at the veterinary
hospital, and uh he's been homefor a couple of days now.
He's still recovering, but he'sdoing way better uh than I
expected him to be doing, and umthat makes me so happy because I
(04:14):
know I'm not supposed to havefavorites, but he's kind of my
favorite.
Of course he is.
Of course he is.
Um this dog gives me so muchYeah, I think so happy he's uh
doing better.
Jim (04:29):
I know that was a big thing
for you.
Wolf (04:31):
And it really was.
Yeah, um and uh the fact that wefigured out how to pay for it
and that he got the surgery andthat the surgeon was good and
that this was the right thingand that it all came together,
and that now he's home and thathe's doing okay, um, that really
(04:52):
was about the biggest, mostimportant thing that happened to
me during the week.
Um So that's how my week went.
I started scary, ended um aboutas about as happy as I could
reasonably be.
Um so let's move from how ourweeks were uh into uh feedback.
(05:15):
Uh we love feedback, as I say,every single time.
We do get some.
Uh if you want to send usfeedback, you can email it to
us, feedback atruntimearguments.fm.
At the end of the show, um, I'mgonna repeat that, and I'm also
gonna tell you how to reach uhboth me and Jim directly uh if
(05:40):
you're on Mastodon, which whichif you're a tech person and you
probably are listening to thispodcast, you you should probably
be on Mastodon.
Uh we got some feedback about uhthe latest release of WASM.
Uh Jim, what what did we hear?
Jim (05:57):
Yeah, uh uh WASM, WASM.
We did an episode on it.
Uh our third episode was on itsWebAssembly.
Um a new version of it came out,uh 3.0.
It was released a couple of daysago.
Uh one of the big things is ithandles 64-bit address space
now.
So that's huge.
A lot more memory is availableto uh programs running in that.
(06:19):
Uh they added exceptionhandling, so that's pretty cool.
Um, a few little things that itcan directly modify JSON.
Um, it already works in mostbrowsers.
That surprised me.
Um, it's already out there inthe browsers.
Um so yeah, I I've got a link tothe announcement down in the
show notes.
Um, so check that out if you'reinterested.
Wolf (06:41):
Which you and the show
notes you will see in your
podcast player.
That's the text that shows upwith the podcast.
Jim (06:49):
That's right.
Wolf (06:51):
Okay.
Um, I think we're just gonna getright into it.
Um, Jim, you're the one who didthe research this time.
Uh, tell me about IPv6.
Jim (07:01):
All right.
Uh several months ago, I neededa new router in my house.
And uh uh anytime I have networkquestions, uh ask my buddy
Marlon.
Uh Marlon's in uh he's abrilliant network engineer at
Meta.
Um, so when I have questions,he's the guy.
So he recommended I get aNetGate router.
I got the Model 1100.
(07:22):
It's a little tiny thing, notterribly expensive.
It runs PF Sense, uh, which isbased on FreeBSD, and it's it's
been just a fantastic router.
I I can't recommend it enough uhfor people.
Uh but as I was setting it up,Marlon was coaching me along,
and he said, uh, neat thingabout this router, that the
firewall is enabled by default,which is important because I've
(07:44):
got IPv6 in my network.
And I thought, okay, well, I Iwould normally enable it anyway,
but he made a point to tell meit is enabled.
And why does it matter?
Because IPv6 is there.
Um well, it turns out that IPv6uh gives you an public it gives
every host on the network apublic IP address.
(08:06):
And if you don't have afirewall, uh people can
communicate with that machine.
So if you've got machines insideyour house and you don't have a
firewall, people are gonna behitting that machine um because
the the address is is isroutable to the internet, uh, if
you have IPv6 uh from yourinternet service provider.
Um the reason is it's that way.
(08:29):
Yeah, yeah, right.
Wolf doesn't have it.
Um but back in the days of IPv4,uh in order to connect to the
internet, uh you had to use NATor uh uh network address
translation.
I'll talk about more about thatin a minute.
But IPv6 doesn't need that,doesn't use that at all.
So everything end to end, thecomputers can talk to each
(08:53):
other.
So yeah, a firewall is reallyimportant.
So, like anybody, uh when youlearn something important like
this, what do you do?
You you tell all your friendsabout it.
So I was telling my friend Ron,uh, we've mentioned him a few
times on various episodes.
Uh I told Ron about this, and hethought, wow, that that sounds
important, and maybe we shoulddo an episode on IPv6.
(09:14):
So here we are.
I did a bunch of research and itwas really kind of fun.
Um, so anyway, here we aretalking about IPv6.
Um what is it and why do I needit?
Uh let's get into it.
Uh, it's the sixth generation orthe sixth version of the
internet protocol.
(09:35):
We've been using the fourthversion, IPv4, for more than 40
years.
Uh, I I know some of you aren't40 years old yet, but uh believe
me, Wolf and I, we are.
And uh and we've been using theinternet pretty much since the
beginning.
Uh IPv4 only supports 32-bitaddresses.
And what that means is you canonly have up to about 4.3
(09:56):
billion IP addresses.
And every machine on the networkhas to have an IP address.
4.3 billion sounds like a lot,but yeah, it it turns out it's
it's not that much.
Uh, neat thing about IPv6 isthey upped it to 128 bits.
That's a huge increase in theaddress space.
(10:17):
Where uh uh IPv4 had uh 4.3billion addresses.
IPv6 has 340 undecilianaddresses.
Uh I've never even heard thatterm before.
It's undecilium.
Wolf (10:32):
I I hate it when we do the
big numbers.
Jim (10:35):
Oh, this is the same thing.
I mean, I'm supposed to be anumber guy and it's I'll break
it down for you, okay?
300 and that that number is 340followed by 36 zeros.
That's 30 that's 340 trillion,trillion, trillion unique IP
addresses.
(10:56):
So what you're saying is that'senough.
That's well, it's enough for ourlifetime.
Um it's probably enough untilthe sun burns out.
Um that's enough IP addressesfor every grain of sand on Earth
to have its own unique IPaddress and still have plenty
(11:17):
left over.
Uh, another way of saying thatis uh you could assign a unique
address to every atom in thehuman body and every star in the
observable universe and stillhave enough addresses left over
to create new galaxies.
So, yeah, we we're not gonna runout anytime soon.
(11:39):
That's that's that's the bigthing that IPv6 gives gives us,
but we're gonna talk a littlebit more about it.
First, I want to get into alittle bit of history about
networking.
Back in the olden days, uh therewas something called
circuit-switched networking.
That was basically the phonesystem.
You remember you you you'veprobably seen pictures of the
switchboard operators, uh allthe women sitting in in chairs
(12:01):
at the at these boards withthese patch cables, and they you
you make a phone call and andsomebody is uh uh in fact, you
didn't even dial the phone,right?
You you you you picked up thereceiver, you're talked into it,
and you know said, give meQuincy 901.
Wolf (12:15):
And and uh let me ask you
a question.
Yeah does that mean Quincy 901has a hole on that board?
Jim (12:26):
And if you want to talk to
them, I thought it would plug
into that hole.
It you know what it might belike a a queue that she would
plug into, and then somebodyfurther on up the line would
plug their cord into the nine,and eventually it would get to
the destination uh it and itwould uh make the connection.
Anyway, that's a circuit switchnetwork.
(12:47):
Once a connection was made, thatconnection stayed up for the
entire duration of the call.
Whether it was 30 seconds or twohours, that connection stayed
connected.
Um in the 60s, in the 1960s, uhthe defense department of
defense, uh DARPA, uh theystarted working on something
(13:08):
called packet switchednetworking.
Uh in this way, voice and dataand uh uh would be broken up
into small chunks calledpackets, and those would be sent
out on a network uh on on theline, and and each packet uh
would have a source address anda destination address, and they
would go through this series ofof I guess there were routers,
(13:33):
and they would get to the otherend.
And and each packet might eventake a different path to get
there.
But the idea was if uh if therewere something like
catastrophic, like a nuclearexplosion that wiped out part of
the grid, uh those packets wouldfind a new way.
They would just get rerouted,and in some cases though that
that rerouting could happen inmilliseconds.
(13:55):
So that was much better than thecircuit switch networking.
Um the uh in 1983, this thisproject to do this was called
ARPANET.
And in 1983, they switched toTCP IP.
Uh and it was version four.
It was the first public use ofIPv4.
(14:18):
Uh for nodes on the network totalk to each other, each one
would get a unique address.
Um remember 32-bit addresses,4.3 billion unique addresses.
Um in those days there were onlya few hundred nodes on the
network.
Um, so it was no big deal.
Wolf (14:36):
So this is a perfect
demonstration of my ignorance.
Yes.
Um right up until this minute,yeah.
I thought it was called IPv4because it had four numbers.
And I thought IPv6, well, Idon't know what I thought about
IPv6.
Jim (14:55):
Because four bytes?
Wolf (14:58):
I know right.
That's what I thought.
I really I see now that I am I'mnot just wrong, I'm horribly
embarrassingly wrong.
Jim (15:07):
In fact, every every IP
packet has a header in the
beginning.
IPv4 is a 20 uh uh 20-byteheader that included the source
address and the destinationaddress and a bunch of flags and
stuff.
But the first four bits of thatpacket header uh is the version.
And uh version four is uh what'sthat in binary 0100?
(15:28):
So that's that's what it was.
Um uh so yeah, IPv4 uh was inuse for a long time.
Uh in the late 80s, uh ARPANETuh gave way to the internet,
what we call the internet now.
It it got its roots in in uh inthe ARPANET.
Uh as it grew, millions of nodescame online.
(15:50):
Universities, corporations, uhthey were all connected full
times.
We we would dial up.
You remember the having to use amodem?
Uh what fun that was.
You'd you'd dial up, you'd getan IP address, and you'd you'd
do your communicating, and whenyou disconnect, you'd lose that
IP address, somebody else wouldget it.
So there's still there was stillplenty of addresses.
No big deal.
(16:11):
We weren't gonna run it anytimesoon, but people could start to
see the light that 4.3 billionin the long run wasn't gonna cut
it.
So work began on a new version.
Um lots of companies gotinvolved, IBM, digital
equipment, uh the phonecompanies, everybody got
involved in this thing, and theystarted working on what became
(16:31):
IPv6.
And the big thing was let'sincrease the address size from
32 bits to 128 bits, like Italked about before.
Wolf (16:40):
Uh I guess that's good
because I used to hear all the
time, like the thing peoplealways said is, Yep, we're gonna
run out.
There, we're not gonna haveenough addresses.
Jim (16:52):
Um yeah, that's and that's
what they were saying.
There was there was real fear wewere gonna run out and and
everything would come crashingdown.
Um I remember hearing in thelate 90s we were gonna run out,
uh, you know, and then in the2000s we were gonna run out.
And and you know, it it wasn'tuntil January of 2011 uh when
(17:13):
they finally ran out of uh classuh uh of uh IPv4 32-bit
addresses that they couldallocate.
Uh there's all kinds of tricksto uh that kept us working.
Um initially, uh the 32-bitaddresses they were uh handed
out in what they called classes.
Uh there was a class A, and andthey would take that 32-bit
(17:36):
address, and the first eightbits of it would identify um uh
the the network.
So really, really largecompanies, maybe the military,
would get a class A.
Uh within that class A, uh thewhoever got that, um, they could
assign 16 million hosts in thatnetwork.
(17:56):
Nobody's got 16 million hosts,right?
And there was only 128 of those.
Uh and and I'm kind of usinground numbers here.
I'm not taking intoconsideration the fact that you
lose the first and the last.
So it wasn't 128, it was 126.
Uh that's that's that's not thatimportant for what we're talking
about.
Uh so that was class A's.
Uh then there was class B, andthat was the uh the first 16
(18:19):
bits was the network, and thelast 16 bits was the host on
that network.
Now there was um 16.
Wolf (18:25):
When you said lose the
first and the last, yeah.
That's because you need those tosay whether it's a class A or a
class B or whatever other class.
Jim (18:35):
Certainly the the I think
the first two bits or first
three bits would say whether itwas a class A or class B.
Um uh part of that.
But uh like if you look at thefirst eight bits, uh you've
really got a number from zero totwo fifty-five.
Well, zero, uh you couldn'tassign an address of zero.
And two fifty-five, um, yeah,you couldn't do that because
(18:59):
that's that's used for that'sreserved for something else.
So uh you really had 126addresses.
In fact, the way they laid itout, uh only half of the half
the address space was reservedfor class A.
So it's really 0 to 127.
0 is reserved.
Uh 127 is reserved becausethat's your local host address,
(19:21):
your loopback address,127.0.0.1.
So that couldn't be used.
But everything in between thatwas usable.
So anyway, 126 of those.
Class B was 16 bits.
There's 16,384 of those.
Uh, and you could have 65,536machines on each of those
networks.
Still a very large company,right?
(19:44):
Uh class C that was much morecommon.
That was the first 24 bitsidentified the network, and the
last eight bits identified themachine.
Um there was also class D, whichis uh multicast, that was
reserved for multicast, andclass E Uh which was used for
other uses.
Wolf (20:02):
Um Okay.
This gives me kind of a weirdquestion.
Yeah.
I don't know if the thing I'mabout to say is related to
classes, uh, or even if you wantto say anything about it.
But a lot of times when I seesomeone specify a range of IP
addresses, yeah.
(20:23):
And where I mean IPv4, um, theywill say blah blah blah slash
16.
Jim (20:30):
What does that mean?
Yeah, that was one of the tricksthey used to uh extend the use
here.
The the problem with you doingthese classful network addresses
is they're incredibly wasteful,right?
You assign a class A tosomebody, nobody's gonna use 16
have 16 million hosts on thatnetwork.
So it's an awful lot ofaddresses that went to waste.
A class B, how many companies doyou know that have 65,000 hosts?
(20:56):
Uh I mean, now certainly, youknow, uh Facebook, they have
that, right?
Google, they have that.
But uh, you know, those aren'tpublicly accessible machines
anyway.
They're behind a load balancerand they have a private network
address and all that kind ofstuff.
But um, it was incrediblywasteful.
Even a class C.
(21:16):
Uh, you know, I uh back in the90s I worked for a very small
company.
We got assigned a class C uhaddress, and uh we only had five
machines, five or six machineson the network.
So we had 256 addresses we coulduse, but we only used six of
them.
It was kind of silly, still alot of waste.
That's what was happening.
(21:37):
So they came up with a neattrick uh to get us past that.
They they switched to somethingcalled um classless uh networks.
Uh it was uh have you heard ofCIDR C-I-D-R.
That's um classless interdomainrouting.
And what they would do insteadof breaking it up in eight, 16,
(22:00):
24-bit networks, they couldbreak it at any boundary they
wanted.
So, like you said, a slash 16.
Well, a slash 16 is roughlyequivalent to a class B.
Um, but uh, you know, I had a Ihad a network, uh I had a bunch
of machines in a data center.
In fact, if you look back, Ithink episode one or two, we
(22:20):
talked about uh moving out ofthe data center.
But back when I had that datacenter, I had a rack of machines
in it, and the ISP assigned us aclass 28.
Or I'm sorry, not a class, aslash 28.
So what that meant was the first28 bits recognized the the
network, us, and the last fourbits we could use for uh to
(22:44):
assign addresses to our machinesin that network.
Uh so slash 28 gave us fourbits.
We couldn't use the first one,we couldn't use the last one, so
that gave us 14 uh addresses.
Uh so there's your classlessinterdomain routing.
Uh routing got much simplerbecause now you could uh the the
(23:04):
big routers out on the network,they would just look at the you
know the first uh the firsteight bits or sixteen bits or
eleven bits or whatever, andthey would know that yeah, all
of those machines are sittingthere at um uh uh MCI at the
time, right?
Or or Xfinity or whoever.
Uh so routing got much simpler.
(23:26):
The the big routers just had topoint to the the big ISPs, and
then the ISPs would figure therouting out from there.
So that that got a lot easier.
Um it it extended uh the thelength uh of those IP address uh
uh the allocations.
It it allowed us to allocate alot more IP addresses.
(23:48):
So it got us through it.
But like I said, the uh IANAInternet Assigned Name
Authority, they ran out of classC's that they could assign, or
really addresses that they couldassign.
Uh, you know, all the companieshave the big block that they're
still using, but there's no moreto assign.
So if you wanted to become anISP, you'd have a hard time
(24:09):
getting an IP address block togive to your customers.
You'd have to buy it from uhfrom one of the big guys.
Um, it wasn't perfect, but itsure helped a lot.
Now, all the machines in ournetworks, like right now, if if
if you're at home, you mostcertainly have an IPv4 address
assigned to you.
Uh like me, I'm I'm usingXfinity, and they give me an IP
(24:30):
address.
Uh internally, I'm using privateIP addresses, like the range of
182.168.something something.
Uh, I'm using that.
And then to get to the outsideworld, we use NAT, network
address translation.
And that helps a lot, but it'sit's a it's an ugly hack,
really.
What NAT does, if you're notfamiliar with it, is uh you the
(24:55):
packet starts on your desktopmachine.
Uh you let's say you want to getto Facebook, uh, you're using
your your private IP address, ithits your router.
Your router translates thataddress into its public address,
and then it goes out to thenetwork, it's Facebook, and then
the return packets come back thesame way.
They will hit your router, andthen your router will translate
(25:17):
that back to your privateaddress, and then it'll hit your
desktop machine.
It requires uh tables to keeptrack of all that, and it's
slow, and it's it's you know,it's got some problems,
especially when you want to getinto like doing firewalls or
VoIP or gaming.
It it can get kind of ugly.
But it it got us through uh notrunning out, right?
Wolf (25:40):
So Okay, so yeah, uh so
now we know uh a lot about IPv4,
which we have tons of experiencewith.
Um tell me what exactly does anIPv6 address look like?
Jim (25:58):
All right, so it's 128 bits
long.
Uh only you don't, you know,that's binary.
You don't read it, you know,it's not presented to humans
that way.
Just like IPv4 addresses wereoctets, you had uh like you
thought four octets.
192.168.0.1 is an IPv4 address.
IPv6 is uh eight hex tets.
(26:23):
That's eight groups of fourcharacters, uh hex characters,
zero through F, uh separated bycolons.
So uh I you can imagine whatthat looks like.
Uh I I've got an address on mymachine, it's like 2601 040E
colon and a whole bunch of otherdigits.
(26:43):
I'm not gonna read those all outto you.
It doesn't really matter.
But it's a it's a long string ofdigits, four digits at a time,
separated by colons.
Wolf (26:53):
Okay, so the thing I I
just have to say about this is
when you tell me an IPv4address, I can remember it and I
can use it in some text fieldsomewhere, and I can write it
down.
And if you tell me one of thesehuge long strings of tuples of
hex digits separated by colons,uh by the time you get to the
(27:17):
fourth set of hex digits, I'vealready forgotten the first
ones.
Jim (27:21):
Oh yeah.
So yeah.
I well, I think the goal ishumans shouldn't even need to
worry about these, right?
That's what you have DNS for.
Um and I'll talk in a little bitabout another way to uh have
names assigned to these IPaddresses to make it easier.
Uh nobody's typing in thesekinds of addresses.
If anything, if you if you doneed to deal with that, you're
cutting and pasting, you know,uh on your screen.
(27:43):
Um, but yeah, those numbers areare kind of crazy.
There is a shorthand for them,though.
Um uh if within the middle ofthe address uh you got a long
series of zeros, all those zeroscan be squishing.
Wolf (27:57):
My driver's license.
Jim (27:58):
Yeah.
All those zeros can be squishedout and replaced with a double
colon.
Um so the address can can beshortened to look better.
Also, leading zeros in each ofthose hextets can be uh uh
removed.
So that helps a little bit.
It's still a long, ugly address,right?
Wolf (28:19):
So how do I know what my
IPv6 address is?
Jim (28:26):
Great question.
Um there's a couple of ways todo it, uh, and it depends on
what machine you're on.
If you're on a Linux machine, uhthe best way to do it is the IP
command with the ADDR argument.
So it's IP space adr.
That'll list out all of yourinterfaces and all of your
addresses.
Um Mac OS, it's IFconfig.
(28:46):
That'll list all your interfaceswith all of your addresses.
And in Windows, it's IPconfigslash all.
I'm sorry, for Mac OS, did I sayIF config or IP?
It's IFconfig.
Wolf (28:57):
You did the right thing.
Jim (28:58):
And IP config for Windows.
Uh IPconfig slash all will spitout all of your interfaces.
I mean, you you might only havea couple uh uh interfaces,
right?
You're gonna have a loopbackinterface, uh, and you're gonna
have either an ethernetinterface or a Wi-Fi interface
uh interface or both.
So it'll it'll list all ofthose.
Wolf (29:19):
Okay, so um this reminds
me a lot of MAC addresses.
Um on my machine I know uh thatI have a MAC address for each
network interface.
So I I've got one for myEthernet, I've got one for my
(29:40):
Wi-Fi, I've got one for my if Ihave a firewall or something, I
think I have a MAC address forthat.
Um and and I think I usuallyhave that many IPv4 addresses.
Um how many IPv6 addresses do Ihave?
Jim (30:03):
Yeah, well i in IPv4, oh i
i in a computer you have as many
MAC addresses as you haveinterfaces, right?
And you'll have one IP addressassigned to each, but IPv6, you
might have a lot more.
Um uh you'll see those when yourun the the IF config or the IP
config command.
Uh on my machine right now, it'sa Mac, my uh Ethernet interface,
(30:26):
I have 11 addresses on it.
Uh and you might wonder why youhave so many, and I'll talk
about that in just a second.
I am wondering why.
Yeah.
So uh if if you're at your ifyou're at your desk right now,
listener, uh go ahead and runone of those commands, IP adder,
uh, ifconfig, or ipconfig, justto see what you've got.
And you're gonna see lots ofdifferent addresses, and each
(30:47):
one of them has a specialmeaning.
Uh and if you're if you're uh ifyou want to see what address
you're talking to the world on,uh try this this this website
called test-ipv6.com.
It'll give you a bunch of coolinformation, including the
address that you hit it with.
Uh go to that website and andit'll tell you.
(31:10):
It'll also tell you what yourIPv4 address is.
And the neat thing that youlearn.
Wolf (31:15):
I have been using
whatismyp.com.
Jim (31:19):
Uh you can do that too.
I do that all the time because Ican always remember that one,
right?
And that'll tell you what yourIP address is.
The problem with that is it'sjust full of pop-up ads.
They're really trying to sellyou something.
Test IPv6 is not doing that.
They're just telling you aboutyour addresses.
And they give you some usefulinformation about uh uh if
(31:39):
everything looks okay and if youcan reach uh sites on the
internet, and that's prettycool.
So um give that a try.
And what you'll find is youryour IPv6 address is actually
the address on your localmachine, on your desktop, your
laptop, whatever.
Your IPv4 address is gonna bethe address of your router, the
(32:03):
external address of your router.
So if you sit down at anothercomp if you sit at another
computer in your network, thatcomputer's gonna get a different
IPv6 address, but it's gonna getthe same IPv4.
That's because of NAT, right?
Network address translation.
Wolf (32:18):
The thing that you were
saying before about network
address translation.
Jim (32:21):
Yeah.
So uh that's kind of neat.
It sort of really points out thefact that you have a unique
address, a unique, unique globaladdress for each machine that's
on your network.
Wolf (32:33):
Um okay, well, let me stop
you there because um this is
sort of reminding me of MACaddresses.
Yes.
Um and uh I have a feeling thething I'm about to say can't
possibly be true because itwould be a gigantic privacy
violation.
(32:54):
But um you are born with aspecific MAC address because for
a specific network networkinterface, and you know, the
start of that is the companythat made that piece of network
hardware or whatever, and theend of it is tells you it's
three comma or real time orwhatever.
(33:14):
And there's so many availableIPv6 addresses, um, it was just
my assumption that just like aMAC address, a network interface
is born with uh a specific IPv6address.
But you said two things thatmake me feel like that can't be
(33:36):
true.
One of them is that you havemore IPv6 addresses than you do
network interfaces.
And the second one um is thatthey're all public.
And if they were all public,then being born with one sounds
bad.
Jim (33:55):
Okay, first off, they're
not all public.
I have 11 addresses on mynetwork interface.
Uh I've got some privateaddresses.
Uh I'm going to talk about thatright now.
And I'll get into your questionabout how the MAC address
relates to the IP address injust a minute.
Uh if you list your IP addressesusing uh the IF config command
(34:16):
or whatever, uh, you'll see abunch of addresses.
You'll see at least one thatstarts with FE80.
That's a link local address.
That address uh is private toyour network.
Uh you can use that address totalk to other machines on your
same network, the same physicalnetwork.
Okay.
(34:37):
Uh you can't use that address totalk to anybody outside of your
network, whether it's out on theinternet or another network
someplace else.
You can't do it because it's itwon't get routed.
There's other addresses youmight see one that starts with
FD, uh, like uh Frank David.
Uh if it starts with that, uhthat's a unique local address,
(34:58):
and that's kind of like a linklocal address, only that can be
routed.
It's not going to get routed outto the internet, but you can
have multiple networks in yourhome or your business or
whatever, and you can have thatkind of address, and it'll get
routed across those thoserouters, and you can talk from
one machine to another as aprivate IP address.
Okay.
Um if your ISP supports IPv6,uh, I I feel I'm lucky.
(35:22):
I've got Xfinity and and they'rethey support IPv6 really, really
well.
Um, if you have that support,then you're gonna see some
addresses that start withsomething else.
In my case, my addresses startwith uh 2601, 2601, something,
something, something.
Right?
That's that tells me that I havea uh Xfinity address.
(35:44):
Uh uh all it is is the first 64bits that that Xfinity has given
me.
The remaining 64 bits, mymachines generate on their own.
So any any packet out on thenetwork that wants to get to me,
or any anybody that wants toconnect to me, uh, they're gonna
have to hit uh Xfinity with thatfirst 64 bits, and then once it
(36:08):
gets to my router, it's gonnaroute to the to my machine.
Um Verizon, on the other hand,you know, I I might start with
2601.
If you've got Verizon, it'sgonna be 2600.
Uh if you have ATT, it'ssomething else.
Uh Starlink, they support IPv6,it's gonna be something else.
Uh, but anyway, uh uh you'regonna get that prefix from your
(36:33):
internet service provider, thefirst 64 bits.
And that whole 64 bits is gonnabe unique for me, for my
network.
Uh, my next door neighbor mightalso have Xfinity, and they're
gonna get a unique 64-bitprefix.
It's gonna start off with thesame 2601, but the rest of the
the other uh what's left, 48bits, um they're going to uh be
(36:56):
something unique for them,right?
So everybody on Xfinity is gonnastart with 2601, but they're
gonna have something after that.
In fact, it's a few more digits.
It's it's uh 20 bits, so it's uh26014 something for uh Xfinity.
But all the rest of the digitsare are gonna be uh unique for
(37:17):
your network.
Um so you get to assign the last64 bits for each of your
machines.
Uh what happens is you don'treally assign it, your machines
generate their own address.
And early on, they use the MACaddress to to figure out what
those 64 bits were gonna be.
Wolf (37:36):
That doesn't sound like
that.
Jim (37:37):
Well, it turned out it's a
privacy issue, right?
Because now they can identifyyou.
If you move that machine, let'slet's say you you you're using a
laptop and you're moving around,you're going to a coffee shop,
you're going anywhere and you'retalking, or your cell phone.
Uh if it's the MAC address, youcould be tracked, right?
Even though the first 64 bitsmight change, the last 64 bits,
(37:58):
if they're always the same, andif they're based on your MAC
address, they can they can trackyou.
And that's not good.
So there's these privacyextensions that pretty much
everybody uses now.
All the all the vendors are aredoing this, and they will
generate a unique random addressfor that machine.
Um now I said I have 11 IPaddresses.
(38:20):
The reason I have 11 is I've gotmy FE80 address, my link local
address.
I've got an FD somethingaddress, my uh unique local
address, and then I've got awhole bunch of 2601 addresses.
And the reason is, remember wesaid uh they can track you with
(38:40):
with your IP address.
Well, every day you get a newIPv6 address.
Every day your machine generatesa new address, um, and it's a
unique random address, andwhatever address you had, that
gets marked deprecated, andthose stick around for up to
(39:03):
seven days.
So at any given time, you mighthave seven addresses, your one
current address and your sixdeprecated addresses.
These are all temporary, theyall go away eventually, but
those extra ones stick aroundbecause you might be in the
middle of a communication or aconnection with somebody out on
the net, and you're talkingusing that address.
So the address still works, butafter seven days, it's gonna go
(39:25):
away.
Wolf (39:26):
So it's a ring buffer or
something like that.
Jim (39:29):
Well, I mean, they fall off
the end.
It's not like they keepcircling.
Uh you just keep getting a newone every time.
And remember, with 340undecilian addresses, we can
afford to throw some of thisaway.
And it's, you know, who knows?
Another machine on your networkmight randomly pick that address
next year, and it's really notgoing to cause any problem.
Although, with 64 bits ofaddress space, you're you
(39:52):
another machine's not going topick that address, right?
What are the chances?
So you've got all thesetemporary addresses, they're all
uh marked.
Deprecated, they're gonna goaway.
Um, but all of this happensmagically, it just happens for
you.
Um interesting thing though,it's consumer devices.
Uh just hold hold your questionfor just a second.
(40:13):
Consumer devices are gonna dothis, they're gonna do this uh
temporary address allocation.
If you set up a server on youron your network, servers usually
don't do that because serversneed a static IP address.
So they're gonna assignthemselves an address and
they're gonna stick with itforever.
Um I noticed that when I set upan Ubuntu server and a Debian
server, they both just gotthemselves one IPv6 address and
(40:37):
they stuck with it.
But when I set up desktopversions of those two, uh, they
got uh the temporary addresses.
Uh so you had a question?
Wolf (40:47):
Um Actually, I I think you
just answered that.
You think I you think I coveredit?
All right.
Well, I mean I have morequestions.
Oh, sure.
So do I.
Uh my next question is whatwe're throwing these things
around.
How do you actually uh do whattools do we have to deal with
(41:10):
these things?
Jim (41:11):
I I'll get to the tools in
just a second.
I just want to spend just aminute on uh on uh how these
addresses get assigned.
There's this thing called Slack,S-L-A-A-C, stateless address
auto configuration.
Uh for your link local address,it just takes the FE80 and it
generates a uh a unique set ofdigits that comes after that.
(41:31):
Um you might have a DHCP serveron your network, a DHCP V6.
Uh if that's the case, it'llit'll get the prefix from your
ISP and it'll assign you anaddress in a range.
You can go into your router andconfigure your DHCP server to
give you a range of addresses.
Like mine is from 1000 to colon2000.
(41:51):
It's zeros.
It's like the 64-bit prefix, awhole bunch of zeros, and then
some something between 1000 and2000 hex.
Um so yeah, you want to talkabout tools, right?
What tools do we have to look atthese things?
Well, I already talked about theIF config and IP config
commands.
Um, but other tools, you know,if if you've been playing with
(42:14):
networks at all, you you alwaysuse ping, uh, traceroute,
netstat, all those tools.
Um, well, ping, uh just pingwill do IPv4.
Ping six will do Ipv6.
That's the name of the command.
Now in Linux, you can just doping-six, and and that the ping
and ping six are really the samebinary.
(42:35):
Uh there's a sim link from oneto the other.
But anyway, if you want to pingsomebody with an IPv6 address,
you use ping six and you canping.
And it's, you know, it worksjust the same way.
Same thing with traceroute.
There's a tracerou six.
Um uh address lookups.
If you want to look up anaddress of a machine, like let's
say you want to look up uh CNN'sIPv6 address, you can use dig.
(42:58):
You just type dig space aAAspacecn.com.
It'll give you better.
Wolf (43:05):
So AAA is the type of the
DNS record?
Jim (43:10):
It's the type of the record
in the DNS server.
Wolf (43:14):
So I've used A addresses.
I know about those.
Jim (43:17):
Normally, yeah, IPv4, it
was just an A record.
These are quad A records.
Uh so dig.
If you're old school, you mightuse NS Lookup.
That'll still work.
For that, though, you've got tospecify the type.
You say NS lookup space dashtype equals A A.
Then follow it with the name ofthe host you're looking for.
(43:38):
Uh if you get a chance, though,try uh try to do a dig on uh
Facebook.
It's neat because their publicIP address comes back and it's a
whole series of digits, but thenembedded within it is F-A-C-E
colon B O O C.
I mean they don't K isn't avalid uh uh character in in hex,
but so they use C, but itbasically spells out Facebook in
(44:00):
their IP address.
I I I think that's kind ofclever, and it sort of shows me
they they do have a sense ofhumor.
Um so yeah.
That's that's kind of how thatworks.
Wolf (44:12):
Um what if I only have an
IPv4 address, but the server I
want to access only has IPv6?
Um can I get to it?
Uh or or maybe turn that around.
What if I have an IPv6, uh, butthe server I want to talk to
(44:36):
only has IPv4?
What do I do?
Jim (44:39):
Well, there are ways.
It's it's kind of clumsy.
Uh there was this thing called624.
That's the digit 6, the lettersTO, the digit 4.
And that allows tunneling ofIPv6 packets across an IPv4
network.
That doesn't really help youhere.
It is still out there, but itdoesn't really help you here.
There's this other thing calledNAT64.
(45:00):
Uh, what that'll let you do isif you have an IPv6 address, you
can talk to an IPv4 server bygoing through a NAT64 uh relay,
and it will it'll translate theaddress for you.
It's really kind of like aproxy.
You hit that relay, it forwardsthe request on using IPv4, the
answer comes back to that relayand it gets bounced back to you
(45:21):
over IPv6.
That's out there, it works.
Uh there's something else calleduh, I think it's pronounced
Teredo, T-E-R-E-D-O tunneling.
It's kind of the same thing.
It's a technology fromMicrosoft.
Uh, it can work.
There's an open source packageif you want to try it on Linux
called Mirato M-I-R-E-D-O.
Uh that's for Linux and Mac OS,if you want to give that a try.
(45:42):
So there is some hope if youneed to talk to a machine uh and
you don't have the right IPstack.
Um that that's kind of theproblem here is compatibility
between IPv4 and IPv6.
Now, the real answer to that isdual stack.
Have both IPv4 and IPv6, both onyour device and the servers
(46:06):
you're trying to communicatewith.
So you can use whatever protocolyou need to use to talk to that.
Uh the thing about IPv6 is everystep along the way has to handle
IPv6.
Wolf (46:16):
Right?
Okay.
So um as I think everybody knowsby now, you and I are both
developers.
Yeah.
We write code, I write tons ofcode.
Some of that code is networkcode.
Yep.
Um I don't usually in my networkcode go so low as to actually
(46:39):
think about uh IP addresses.
But uh let's pretend that I did.
It as a uh developer doingnetwork code, do I have to make
changes?
What I mean, obviously IPv6 is athing, and I need to think about
it.
What do I need to do now innetwork code?
Jim (47:00):
Well, if you're if you're
just trying to hit a website,
you know, you write a a Pythonscript to go out and scrape data
out of a website.
If you're dealing with hostnames, the tran the the the
whole uh transition from uhwhatever from IPv4, IPv6, that
all happens for you.
You don't have to worry aboutit.
You're hitting a uh a host nameunderneath the the stack will
(47:23):
take care of uh doing the rightthing.
But if you're writing low-levelnetwork code where you're
dealing with IP addresses andstuff, um, as long as you use
the the the methods that you'resupposed to use, even for IPv4,
um uh things like um uh what isthere, uh N2P and P2N, and
there's some various functionsthat you're supposed to call to
(47:47):
uh do the translation between atext version of the address and
the internal binary version ofthe address.
Uh just make sure you're usingthe right methods to do that.
And please don't store IPaddresses as strings.
Uh uh my buddy Marlon tried tomake sure that was really clear
to me.
(48:07):
If you're doing anything whereyou're storing IP addresses, uh
store them in the appropriateformat.
Uh, I know, like if you'retrying to store addresses in
post uh Postgres, uh, there is adata type called INET.
Uh and that'll handle IPv4 andIPv6.
So use the appropriate thing.
He he sort of compared it tostoring dates.
(48:29):
You never want to store dates asuh as as a string.
You want to store it internallyas a date type if you can.
If you have a language ordatabase that lets you do that,
do the use the right type forthat, and you'll be okay.
I think the type of networkingstuff you and I write, there's
really no issue.
Uh, you know, the programs thatwe wrote a long time ago
(48:50):
continue to function uh ifyou're using IPv6.
Wolf (48:54):
So the thing you just
said, um, I'm gonna go off topic
for one sentence.
Yeah.
Uh, but I have said this before,and I'm gonna say it again.
Um absolutely, as a programmer,your job is to say what you
mean.
And uh using using a date typeor an uh IP address type, that
(49:18):
is saying what you mean.
Jim (49:20):
So you're signaling to the
computer what you're trying to
do, and you're signaling toother programmers and even
yourself what you're trying todo.
Use the right type.
That's a great point to make.
Um so yeah.
So uh you might be wondering nowuh just how widespread is IPv6?
(49:43):
Um wondering that.
Yeah, I'm sure you are.
Well, it turns out Google hasreported they've got a really
nice status page, and andthey're saying right about now,
48% of the network traffic theyget is over over IPv6.
Now, internally they're usingIPv6 all the time.
Uh, but 48% of the traffic thathits their servers uh from
(50:04):
outside is is IPv6.
I think that's pretty good.
In um in 2020, five years ago,it was only 30%.
Uh and when they startedtracking it in 2008, it was
0.05%.
So they've seen quite a growthin in the amount of uh IPv6
traffic they're seeing.
Facebook uh is over 60% now, sothey're seeing an awful lot of
(50:28):
IPv6.
And my buddy Marlon told meinternally, Facebook, that's all
they use.
All their machines internally isall IPv6.
They don't even do IPv4.
Um worldwide, uh uh basically USinternet traffic, about 55% of
that is IPv6, Canada, 42.5%,France 85%, or over 85% Russia.
(50:53):
16%.
That's a lot of IPv6, right?
Um so yeah, it's it's out there,it's being used, um, but there
are still some large ISPs thatdon't use it.
As you found out, you switch toa fiber carrier, and they don't
give you IPv6.
Wolf (51:11):
And I have to say, um I I
guess I just don't know what I'm
missing, um, which makes me wantto ask, okay, IPv6 has this way,
way bigger address space.
Um but what am I missing?
Why else is IPv6 better?
Jim (51:32):
Well, there's there's a lot
of features to it that are that
are pretty nice.
Um the whole auto configurationthing is is really cool.
Uh you can do some of that withIPv4, but it's uh it really uh
works well with IPv6.
It's much more efficientrouting, the routing tables uh
got simpler.
Um there's no broadcast uhaddress in IPv6, which kind of
(51:53):
threw me off because, like, howdo you find a DHCP server?
You know, I'm I'm used to thedays where you send out a
broadcast to look for an IP,look for a DHCP server.
Um, you know, how does that allwork?
Well, it turns out it usessomething else, it uses
multicast.
And then I thought, well, what'sthe difference between multicast
and broadcast?
You still got to send out amulticast packet looking for
(52:14):
your server.
Well, as Marlon explained to me,multicast is much more
efficient.
Um, it gets handled in thekernel.
Many times it gets handleddirectly on the network card.
If your machine isn't interestedin those multicast requests,
your machine completely ignoresthem.
It just gets to the card andthat's it.
Or it gets to the kernel andthat's it.
(52:35):
Where broadcasts broadcasts,they go all the way up into the
kernel and into then there's acontext switch, and now they're
in user space.
And so it it puts quite a burdenon each machine on the network.
They all have to at least lookat that broadcast request.
Whereas they don't have to lookat the multicast request.
So it cuts down quite a bit oftraffic that your machine sees
(52:56):
when it's trying to do otherthings, right?
Um, there's no network uh uhfragmentation with uh IPv4.
You might send out really bigpackets, and if somewhere along
the line there's a router thatcan't handle large packets, that
router will break it down intosmaller packets and then send
those small packets.
(53:16):
Um with IPv6, uh there's this uhuh MTU discovery thing that
happens where it'll it'll sendout a query all the way end to
end and figure out what's thesmallest MTU that can be used
from here to there, and thenthat's the packets it sends out.
There's none of this uhfragmenting in the middle.
(53:37):
So that's kind of neat.
Uh IPv6, there's no need forNAT.
That's a huge thing, especiallyif you're a gamer or if you're
into VPNs and VoIP and that kindof thing.
You don't have to worry aboutNAT.
Uh it's just direct end-to-enduh configurations, end-to-end
connections, and it works.
So there's a lot of featuresthat are really nice, right?
Wolf (54:01):
Um I don't know.
So this this kind of leaves mewith a question.
Yeah.
Uh now that I know it's not IPv4because there's four digits.
Yeah.
Nah.
That makes and because they'reversions, we got IPv4 and we got
(54:22):
IPv6, uh, but I I actually haveseen the number line, and and
there is a spot in between fourand six.
They sometimes call that spotfive.
Um what exactly happened tofive?
Jim (54:37):
Well, I I I I mentioned way
early on in this episode that uh
the first four bits of the IPheader dis determines the
version.
Well, version five was used forsomething called internet stream
protocol.
It was kind of an experimenttrying to figure out how to do
streaming across the network,like for voice and stuff.
(54:57):
This is years and years ago.
Uh so that used up uh versionfive.
They never called it IPv5, itwas just version five in the
protocol header.
So that that that used up thatversion.
So the next logical step wasIPv6.
So that's what we get.
Wolf (55:15):
I agree with that because
um the stream provider um
acronym would be terrible tohave right now because we
already have something for ISP.
I don't think we need anotherthing.
Right.
Right, right.
Jim (55:33):
Anyway, so so yeah, so
that's you know, I I learned a
ton about IPv6 uh doing this.
One of the really neat things Ilearned about that really isn't
directly related to IPv6, butthat was uh Avahi and Banjour.
Uh it's it's like the samething, right?
I think uh uh Avahi is the opensource thing that does it.
(55:56):
But there's this protocol forlike self-discovery and
discovery of your neighbors andputting names on IP addresses
and stuff, and it's really cool.
Um, I I didn't know anythingabout it before, I just always
knew it was there, and it's it'sone of those things I I was
annoyed by.
Um, but it turns out it's quiteuseful.
So like I set up a test machine,uh test virtual machine called
(56:19):
test dash net, and I it's aUbuntu machine.
I booted it up, and uh then Ifound I could reach it from
other machines.
I didn't have to type in thatbig long IP address, I could uh
ping it or SSH to it by by usinguh test-net dot local.
(56:39):
It was there automatically.
I didn't have to put it in DNSor anything, it was just there.
Uh uh, local.
Wolf (56:48):
Yeah, the dot local.local
before.
And I thought dot local uh wasjust a nice thing that the Mac
added.
I didn't realize Ubuntu did it.
I didn't realize everybodydidn't.
Jim (57:01):
All the devices on the
network have have that, their
host name followed by dot local.
That's the the top level domainthat they're in.
It's really quite handy.
Uh so I didn't have to go putthat in my hosts table.
I didn't have to put it in myDNS anywhere.
Uh, you know, sometimes when Iset up a new machine, I'll just
go into my SSH config and I'llcreate a host entry in there and
put that there.
(57:21):
I didn't need to do any of that.
I could just SSH space test dashnet dot local and it works.
And it turns out that worksthrough uh something called
mDNS, uh multicast DNS.
Uh so there's theseannouncements that go out
through multicast uhannouncements um to say, here's
my name, here's my IP address,put it in your neighbor table.
(57:44):
And that's what happens.
So all these machines on mynetwork are uh uh able to able
to talk to all the othermachines by name.
Now, you know, I say machines onmy network.
It turns out I have 69 deviceson my network.
Um a lot of those devices arenot machines, like I've got
cameras and and my doorbell andmy garage door.
(58:04):
Um uh they've all got IPaddresses, but they all have
IBs.
Wolf (58:08):
My doorbell has a pair of
wires coming out of it.
That's what I have.
Jim (58:12):
Yours is uh it's it's a
it's two-bit, right?
Or my lights it up.
Yeah.
Uh so anyway, uh all themachines on my network seem to
have an IPv uh 6 address and aname to go with it.
I I I thought that was prettycool.
So I I I use that a lot uh now.
Wolf (58:30):
This actually gives me a
question.
Yeah, because you said SSH.
And I use SSH all the time.
Yeah.
And I have a.ssh slash configfile.
Yep.
And one of the things uh, youknow, for each machine you care
to connect to, you have an entryin your uh config file, and uh
(58:53):
often there's a host, and theninside that host entry there's a
host name, and you can put an IPaddress there.
You can put an IP address there.
Can I put an IPv6 address there?
Jim (59:08):
Absolutely.
It doesn't care.
It's an IP address.
So just put that there.
Wolf (59:15):
Except that IP addresses
that would have to be one of
those kind of more static yserver type addresses.
Oh shit.
Jim (59:26):
I wouldn't just put one for
a uh uh for a for another
desktop machine, anotherconsumer device.
You wouldn't want to do thatbecause that that address is
only good for a day.
And uh then a new one getsassigned.
Uh what you could instead doinstead of putting an address
there, you could put the namelike me.
I could put test dash net dotlocal.
When when that IP addresschanges, uh my machine knows it
(59:50):
because the the the that machinesends out a a uh uh an
announcement to say, here's myaddress now that goes with this.
Name.
So you can just put a name inthere if you want.
Something with dot local on it.
Wolf (01:00:04):
So this actually makes me
want to reference back to uh one
of the previous topics that youcovered, uh, where you
introduced me to Tail Scale.
Yeah.
And uh that may Tail Scale isanother but different answer to
this same problem, always havinga good name for some other
(01:00:27):
machine that you want to connectto that's one of yours.
Yeah.
So that's for this particularproblem that I'm describing to
you.
Um it's this isn't an answer foreverything, but Tailscale
happens to be another answerbesides.ssh slash config for
this particular problem for me.
Jim (01:00:47):
Sure, because the way that
Tailscale does it, they've got
this thing called a tailnet, andthey give you a name and an IP
address, and you can refer tothat machine by that name, and
it goes through the VPN, andit's really, really pretty
slick.
They they do a really nice jobwith it.
And they use IPv6.
Uh I think they support IPv4 andIPv6, but it's there.
(01:01:07):
If you want to use IPv6 throughTailnet, Tail Scale, you can do
it.
So that's pretty neat.
Wolf (01:01:13):
So um, so this leads me to
this.
Yes.
And that is um, it sounds likewe're kind of at the end.
Are we at the end?
Jim (01:01:24):
Do you think we're covered
a lot?
There's a lot for people tothink about.
Uh they can go home and uh, youknow, they got some homework to
do, they can go home and trythis.
So yeah.
Wolf (01:01:35):
Uh I was gonna ask you,
how do I know if I have IPv6?
But you said two things.
Um one is you gave actualcommands to list the IPv6
addresses you have.
So obviously, if I run thosecommands and I see addresses,
well, I've got it.
(01:01:55):
And second, you described howwidespread it is, um, which
makes me feel like on anydesktop you almost certainly
have it, at least for thatdesktop, even if your network
provider doesn't let it comeout.
Jim (01:02:13):
Right.
So internally you'll you'llalmost certainly have it.
Now I um uh I I used to just getannoyed by IPv6, right?
I'd I'd list my networkinterfaces and I'd see all these
really long addresses thatdidn't mean anything to me.
So on my servers, I woulddisable it because I was annoyed
by it.
I didn't understand it.
Um looking back, that was kindof silly, right?
Wolf (01:02:35):
Sounds like me and Unicode
and ASCII.
Um just ignore it.
Unicode's okay.
Jim (01:02:42):
Yeah, right, right.
Ignore it, right?
Not yeah, try not to think aboutit, and it turns out it's great.
Well, that's like IPv6, it'sgreat.
Um, I I I got a few takeawaysfor you.
Uh the thing is IPv6 is muchmore prevalent than you might
have thought.
It's out there everywhere.
Um, it shouldn't be feared, itdoesn't have to be annoying, and
(01:03:04):
and it isn't terribly complex.
Uh, it's pretty neat.
Uh, probably the most importantthing I gotta tell you if you
have IPv6 in your network with apublic IPv6 address, make sure
you have a firewall, please.
Um, because the connections canget right through to you if you
don't.
Now, maybe you have a firewallon your device, on your desktop
(01:03:28):
machine, and that's great.
Um, but please have a firewalluh at your router because you
might have a lot of devices inyour network that can't have a
firewall, right?
My my camera, is that gonna havea firewall?
No, right?
It's there.
In fact, those things arenotoriously uh vulnerable.
So, first line of defense shouldbe a firewall at your at your
(01:03:49):
gateway uh into your house.
Um beyond that, uh if you want afirewall on your individual
machine, it's probably a goodidea too.
Um let's see, uh last point Iwanted to make.
Even if your ISP doesn't provideyou with IPv6, at least you can
(01:04:10):
use it internally.
Wolf, you can use it.
I saw your list of IP addresses.
You can talk to all yourmachines over IPv6.
Right?
So that's and I think I mightbe.
Yeah, yeah, right.
So that's pretty much it.
Wolf (01:04:24):
Well, let me let me say
this.
Um I learned I know you learneda ton doing this, but you
describing it, I learned a ton.
I had a lot of misconceptions.
Um and I I feel smarter now, andthat I like to feel smarter, so
that's that's good.
Jim (01:04:45):
That's you know, if I make
you feel smarter, I must be
doing something right, becausethat's a I'm usually I'm usually
the one leaching leachingknowledge from you.
Wolf (01:04:56):
Uh yeah, so I I want to
thank everybody for listening
because it's that's what makesus go.
That's what gives us the energy,and it's your feedback that uh
tells us how we're doing, whereto go, what we got right, what
we got wrong.
Please uh continue to send usfeedback, which you can do with
(01:05:21):
email uh by sending to feedbackat runtimearguments.fm, and you
can contact us.
I am oh crap, now I have tolook.
I think I'm yesjustwolf athackyderm.io and Jim, you are
(01:05:41):
Jam MCQ?
Yes, is that right?
Jim (01:05:44):
MmcQ.
Wolf (01:05:46):
At Hackyderm.io.
Right.
So if you're on Mastodon, uh youcan write to us.
And if you're not on Mastodon,why aren't you on Mastodon?
That's my next question.
Yeah, right.
Um uh I think uh you have somespecific people to thank.
Jim (01:06:05):
Yeah, yeah.
You know, I I I I gotta give aspecial shout out to Marlon.
I mentioned his name severaltimes.
Uh he uh he taught me so much.
He's my go-to guy.
Every time I needed to learnsomething about IBv6, I'd I'd
knock on his door.
If I said anything correct inthis episode, it's because of
Marlon.
If I said anything wrong, that'stotally on me.
(01:06:27):
And I'm sure I didn't geteverything right.
That's totally on me.
But super thanks to Marlon.
Uh, I really appreciate his helphere.
And also a shout out to Ron.
Ron, it was Ron's idea to dothis episode to begin with.
And you know, I've had more funand I've learned more by
researching the information forthis episode than any episode
(01:06:48):
I've done so far.
So it it it it was truly a blastdoing this, and I hope you all
learned something about it.
And really, you have Marlon andRon to thank for that.
So, yeah, thank you.
Wolf (01:07:00):
And I can say, uh, because
we run in the same circles, and
I know both Marlon and Ron, uh,both of those are sterling
people.
They're both smart, they're bothkind, they're both helpful.
Um yeah, you definitely went tothe right place to get help.
I I feel like that.
Anyway, um, I think we've runout of time, we've run out of
(01:07:23):
knowledge.
Uh, it's time to say goodbye.
So thanks for listening,everybody.
Send us some feedback and uhgoodbye.
Thank you, everybody.
Goodbye.