Network Address Translation - Computerphile

  Рет қаралды 157,853

Computerphile

Computerphile

10 жыл бұрын

IPv4 ran out of space, so how are we still all looking at the internet? - NAT has the answer! - Richard Mortier explains how the IP address space was expanded upon.
Network Stacks: • Network Stacks and the...
IP addresses: • IP Addresses and the I...
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottscomputer
Computerphile is a sister project to Brady Haran's Numberphile. See the full list of Brady's video projects at:periodicvideos.blogspot.co.uk/...

Пікірлер: 209
@mirageh264
@mirageh264 9 жыл бұрын
Sooo, this 10 minute discussion of NAT made way more sense then the 1 week discussion of the same topic in my networks course at my university. I'm not sure how I feel about that
@stevenschiro1838
@stevenschiro1838 8 жыл бұрын
To put it a little simpler, imagine your house with 10 devices on the internet (laptops, desktops, game consoles, etc). Those don't have their own external IP address (the one on the internet). You only have 1 for your modem/router, and your router then forwards a packet to each device based on the port # and internal IP address. This is why you need to set up port forwarding if you've ever played an online game, so that when a packet hits your router on a certain port, it knows which computer to send it to
@mina86
@mina86 10 жыл бұрын
If you want a computer inside your network to accept connections, it must be configured in NAT. This is called “port forwarding” and it instructs NAT that if it gets a connection to (say) port 80, it should direct it to (say) 10.0.0.1:80 in the private network. If there is no such configuration, incoming connections will be dropped. If incoming packet is part of already established connection, NAT just looks at destination port and maintains a state mapping it to ip:port in local network.
@gooeychocolatechipcookie5935
@gooeychocolatechipcookie5935 10 жыл бұрын
what he explained was overloading, or PAT(port address translation). But it was still a very nice explanation of PAT. just clarifying.
@DoctorCobweb
@DoctorCobweb 10 жыл бұрын
thankyou for uploading more of this guy. he explains things so clearly (as do all the others). going to rewatch them all soon. keep up the awesomeness.
@rlamacraft
@rlamacraft 10 жыл бұрын
Im starting a degree in Computer Science in a couple of weeks and these videos are getting me really excited for my course - brilliant videos, every single one :)
@KarlBeeThree
@KarlBeeThree 11 ай бұрын
Finally, a rational, clear explanation of how NAT works and how it's implemented. Thanks !!
@IzzyIkigai
@IzzyIkigai 10 жыл бұрын
There are now also ISPs that use IPv4 NAT instead of upgrading to IPv6, so it could happen that your "external" address of your router is in fact an IP address in a private range. This can severely impact some software, for example games or remote desktop solutions. A colleague of mine had the problem with Teamviewer on one of the German cable networks.
@Aemilindore
@Aemilindore 8 жыл бұрын
University of Notingham is awesome. you guys have conversant professors! I also love Nottingham for the fact that Robbin lived there!! Regards from Sri Lanka.
@footballhighlightsbynyakwa4679
@footballhighlightsbynyakwa4679 6 ай бұрын
You guys are my heroes, me who has no computer science background but I am learning how to develop softwares by myself. These videos are extremely helpful. God bless you all
@modus_ponens
@modus_ponens 10 жыл бұрын
I would appreciate subtitles. He's talking quite quietly and quickly about complex things.
@PlayStationKing
@PlayStationKing 9 жыл бұрын
nice, keep up the good work computerphile
@CaitlinJoRamsey
@CaitlinJoRamsey 10 жыл бұрын
Brady, it would be helpful to have a video focused on NAT or IPv6, or port-forwarding. I've been trying to solve a networking problem: connecting from a remote unix machine (a laptop--meaning I could be anywhere) to a database engine (SQL server) residing on my home network. I've learned more about networking than I ever wanted to know--just in tinkering to get to my database! But now I'm intrigued...
@cexploreful
@cexploreful 3 ай бұрын
👏👏thx i have that question for so long time, noone had explained me before that the translation not just translate the IP local to global, but also it translate THE PORT number!
@Gverri
@Gverri 10 жыл бұрын
My favorite KZbin Channel. Keep the good stuff going!
@h.oliabak
@h.oliabak 9 жыл бұрын
What tools did you use for creating this animation? Amazing!
@Kram1032
@Kram1032 10 жыл бұрын
it's also compensated by that mesmerizing animated avatar you have there.
@amak1131
@amak1131 10 жыл бұрын
We have IPv6 (v5 was skipped?) which allows for as MUCH larger pool of addresses. Many modern OSes and routers support it, but numerous older ones do not and some ISPs appear to be slow in implementing it.
@locust76
@locust76 10 жыл бұрын
UDP doesn't need any special trickery to be address translated. The PAT process isn't looking for sessions, it's looking at source and destination port pairs. Since UDP packets still have a source and destination port, they're translated without issue. Incoming port forwarding is the same.
@ksng767
@ksng767 10 жыл бұрын
As a person who had very little computer science knowledge, I found this harder to understand than quantum physics, and I love it.
@LittlePeng9
@LittlePeng9 10 жыл бұрын
My opinion on what MUST appear on this channel is what actually is an algorithm. We had lesson about sorting algorithms, but not on algorithms in general.
@jan709
@jan709 10 жыл бұрын
Would you consider doing a vidieo about the transition to ipv6? I would really like to know what the biggest challanges are and why it is taking so long, a lot of devices seem to have some ipv6 functionality already.
@meganisturtlecameron
@meganisturtlecameron 10 жыл бұрын
its really nice for this to be explained to be !
@Teck_1015
@Teck_1015 10 жыл бұрын
thanks...thank you very much that clears things up a lot
@jawharomeryaba8696
@jawharomeryaba8696 7 жыл бұрын
Thanks for your videos
@Aldwyns
@Aldwyns 10 жыл бұрын
Great video!
@timsr
@timsr 10 жыл бұрын
The first time I ran into a NAT problem I was trying to host a Warcraft 3 map online. Port forwardings at my router didn't work, I had to use something called "port triggering".
@tretronthedragon
@tretronthedragon 10 жыл бұрын
i had a lot of trouble with my XBOX because my NAT type was closed. and port forwarding didn't work. after i seen this video i suddenly solft it :o thank you!
@RemixPicture
@RemixPicture 10 жыл бұрын
A lot of counties are already using IPv6, though the US has a lot more IPv4 adresses than the rest of us so they keep using it. There's still some things to work out with IPv6 and there's still a lot of companies running old hardware that doesn't have IPv6 enabled which messes things up. Going from IPv4 to IPv6 is a big step and you pretty much need everyone to be able to take it at the same time.
@trzykawki
@trzykawki 10 жыл бұрын
I guess the assumption is that the outbound connection happens first and that allows NAT to assign a unique IP:port combination to this specific request and then store it in a table along with the original IP:port pair.
@MertonLansley
@MertonLansley 10 жыл бұрын
What effect does the NAT type have, Type 2 for example, or Strict, moderate and open.
@HotelInfinity
@HotelInfinity 10 жыл бұрын
Upvoted for the GIF :)
@mina86
@mina86 10 жыл бұрын
First of all, 65536. Second of all, you need to remove some edge cases like 128.243.0.0 or 128.243.255.255 so it's actually a bit less then that. But third of all, the way you design network is by dividing it into sub-networks. So for instance, department of Mathematics may get 128.243.0-15.*, department of Computer Science may get 128.243.32-63.*, and so on. In those cases, some departments may run out of addresses even though there are addresses available in different sub-networks.
@simonzhou8416
@simonzhou8416 3 жыл бұрын
this is great, the cissp textbook only explains how ip addresses are translated but never mentioned port number translation.
@gio_
@gio_ 10 жыл бұрын
I get the outgoing translation, but how does the incoming translation process work? I don't get how the hub knows to which local IP to send the data to if there's no indication where it is coming from. Especially since you're limited to the amount of ports.
@WombatDakk
@WombatDakk 10 жыл бұрын
It might be just me, but i would love to see a video about port forwarding, having had to do it for several different games/programs, i still don't understand what it does exactly.
@TrolIification
@TrolIification 10 жыл бұрын
because the NAT makes it hard to discover a private address does this add a layer of security?
@BGBTech
@BGBTech 10 жыл бұрын
yes and no. yes: in that ports are mapped and translated directly via the router (it doesn't need to care what they contain). no: in that the higher-level (application) protocols often need to be more aware what the public IP and ports are in order to work correctly, so sometimes the protocol needs some mechanism to figure this out (usually during a "handshake" process or similar). OTOH, with TCP, more of the details are often abstracted over, so it is less often an issue.
@leadbyexample108
@leadbyexample108 10 жыл бұрын
It is for the same reason that many industries and companies still use XP and haven't moved to Win7, which is because it simply works. Moving to IPv6 would require a huge amount of work an cooperation across the globe, and you can't guarantee that each computer/server/mainframe/workstation is compatible with IPv6.
@ColinRichardson
@ColinRichardson 10 жыл бұрын
With the arrival of IP6, (and lets laugh at the thought that the world all moves over to it eventually), would this be the end of NAT/PAT's needed? Is there an advantage/disadvantage to each home PC having a unique IP address and not a private internal one? I as this as a Small Company / Home user point of view.
@Pentium100MHz
@Pentium100MHz 10 жыл бұрын
It works, but not for all protocols, for example, FTP uses two connections - one for control and one for data, the server sends its IP/port over the control connection and the client connects to it (passive mode). Now the FTP server software has to be modified to figure its external IP first. Some routers can rewrite te IP in the packet, but not for all protocols (and not for encrypted connections). However, NAT has other uses than just to save some IP addresses.
@lefear2
@lefear2 10 жыл бұрын
IPv5 wasn't skipped it was given to the Internet Stream Protocol sometime in the late 70's which never saw widespread adoption. So when a new Internet Protocol was being designed it was assigned the next version number - IPv6
@ShaunDreclin
@ShaunDreclin 10 жыл бұрын
Portforward in a nutshell: Behind your router you have computer A, B, C, D, and E. All 5 of those computers are behind one single public IP address. When a computer somewhere else on the internet connects to your IP, it doesn't know which of your 5 computers to connect to. Portforward makes your router say "If it's this type of request, send it to computer B, if it's that type of request, send it to computer D"
@Keduce22
@Keduce22 10 жыл бұрын
Better than most my professors and lecturers
@Jake9066
@Jake9066 10 жыл бұрын
boenrobot is absolutely correct. They'd be using either 192.168.x.x, 172.16.x.x, or 10.x.x.x or there are also ways to reuse the same IP in multiple network segments, but if that is done knowing routing information (especially the router interface used) becomes important
@DaffyDaffyDaffy33322
@DaffyDaffyDaffy33322 10 жыл бұрын
7:06 I run a server behind a router. I've had to deal with all of these problems at one point or another. It's really annoying when my router is all like "CHANGE PLACES!!" and remaps all the private addresses.
@dkukov
@dkukov 10 жыл бұрын
Can you make a video explaning the difference between a router, switch and a hub?
@blidge8282
@blidge8282 10 жыл бұрын
IPv6 is superior to v4 in almost every way. The transition will occur naturally as older devices are replaced and it becomes more cost effective to implement IPv6 and cover any gaps with dual stacks.
@BlokenArrow
@BlokenArrow 10 жыл бұрын
When I was an IT technician, I used to use 10.100.0.0/16 as my live network and 172.16.0.0/16 as my "something is wrong" troubleshooting addresses. If a trace-route revealed a 172.16.x.x address, then I knew that one of the connections was bad, and with a little cleverness, I could almost always figure out which one it was on the first try. I liked NAT, and was sad when the network finally went to ipv6.
@Tyranisaur
@Tyranisaur 10 жыл бұрын
So how does NAT come into play when you're playing games online and it tells you that you have either strict, moderate or open NAT?
@BGBTech
@BGBTech 10 жыл бұрын
it also gets remapped, but it is a bit more problematic given it is connectionless. UDP-based protocols then have to often go through a bit of extra hassle to figure out the correct port-numbers and similar, but it works...
@majiddehbi9186
@majiddehbi9186 4 жыл бұрын
thanks sir that was so clear
@linkinsyed
@linkinsyed 9 жыл бұрын
can you please amplify the voice data? hardly able to hear.
@kaitlyn__L
@kaitlyn__L 10 жыл бұрын
that requires pretty much an entirely new backbone at every part of the network. ipv6 servers, ipv6 isps, ipv6 routers in people's homes even. old OSes aren't able to make sense of ipv6 either, so it really is a complete overhaul
@BGBTech
@BGBTech 10 жыл бұрын
while IPv6 is probably the eventual solution, I have wondered sometimes if an IP-suffix system could have also worked (as a compromise). basically, packets would daisy-chain 2 IP headers, with the first having the global IP and the second a local IP. ex: 243.119.24.31-10.0.169.173:6942. this would then effectively give a 64-bit address space, while still being routable over IPv4. then things are fudged in the network stacks to make it all work... also, sort of like an inverted VPN...
@maartentbm
@maartentbm 9 жыл бұрын
NAT sounds more complicated than introducing IPv6 to me. Doesn't global use of NAT also require changes in the software of lots of devices (like what in this video is called the gateway of a home or university campus network), just like introducing IPv6 would?
@ChrisEelmaa
@ChrisEelmaa 8 жыл бұрын
***** not an expert here, but I would assume that implementing NAT is easy, it's just a mapping table on a router which keeps track of the traffic, and modifies the ports. Could be introduced as an automatic update to router firmware, and that's it. That's all you have to do, update one router and you cover whole network. Ipv6 on the other hand - every device needs to be updated in the network, which clearly, will take quite a lot of time. That's the difference, NAT is transparent, while ipv6 is not.
@maartentbm
@maartentbm 8 жыл бұрын
That makes sense, thanks for the explanation!
@jan709
@jan709 10 жыл бұрын
That privacy benefit sounds a bit weird, aren't there things like tor for that?
@GothAlice
@GothAlice 10 жыл бұрын
Those terms are somewhat ambiguous, and different games will have different meaning for them. Generally with open NAT the game is able to request your router to forward an incoming port to the game, you effectively become a server. Strict means it was unable to do so. Moderate may mean it was able to "punch through" your firewall using a variety of tricks (UDP, not TCP), but such solutions may be sub-optimal or flakey.
@sapphirestone4017
@sapphirestone4017 6 жыл бұрын
Great video as always. But, boost up the volume a bit, hardly able to hear.
@mina86
@mina86 10 жыл бұрын
If it came from public Internet, it means that your hosting providers routers are misconfigured. Packets whose source or destination address falls within a private address space, must be dropped by the router that connects private network to public Internet. It's far more likely, that the packet did originate from within the hosting site's network.
@ButzPunk
@ButzPunk 10 жыл бұрын
So next up is port forwarding?
@WombatDakk
@WombatDakk 10 жыл бұрын
Ah okay, thank you, that makes it a little clearer. I thought it was "if information comes through this port, skip the router and send it directly to computer a/b/c" Even when im the only pc on a network i've had to set up portforwarding though. :)
@adavewiley
@adavewiley 10 жыл бұрын
I take a break from work to... go back to work. :-) Do you mind if I throw in some questions frame tunnelling? I'm a bit stuck on VXLAN at the moment. :-)
@ivahardy4885
@ivahardy4885 6 жыл бұрын
Can you please make a video on CIDR Notation!
@GothAlice
@GothAlice 10 жыл бұрын
Except for the fact that IPv6 has the capability of having a unique address for every cubic centimetre of the planet. We won't need a replacement until we become an interstellar civilization.
@dezent
@dezent 10 жыл бұрын
How about raising the level on computerphile? i guess numberphile and the other channels have pretty clever and complex questions when this is beginner stuff.
@ZacAttack1322
@ZacAttack1322 10 жыл бұрын
how do i switch my strict nat type to open?... my ps4 says that my router has a nat type of 2 but when i go to play games it says my ant type is strict and i cant connect to my friends.. i dont get it...
@JaredReabow
@JaredReabow 10 жыл бұрын
for most home routers the ip is 192.168.1.254, some of you guys at home type that into your address bar and press enter you will be directed to your home router
@MrLevtastic
@MrLevtastic 10 жыл бұрын
The website I maintain at work has had visits from a 10.*.*.* address - I contacted the hosting provider of our server and they say the connection didn't come from their network - so this private IP address must have been used on the public internet, and I was unable to track down where it came from. I assume this must be because of NAT? It's really a problem when tracking down suspicious behaviour.
@eideticex
@eideticex 10 жыл бұрын
See 802.3 ethernet frame structure. Both source and destination MAC are packaged near the start of the frame.
@Goues
@Goues 10 жыл бұрын
So, that problem at the end is solved by port mapping on my router, right?
@keithrozario6434
@keithrozario6434 10 жыл бұрын
Moving to IPV6 is a tremendous challenge because a lot of older routers/network devices don't support IPV6. TO suddenly mandate everyone use it would be a disaster. NAT is basically extending ipv4 capacity, the same a hotel extends it's phone network capacity by giving every room an extension number rather than an actual phone line.
@soup2634
@soup2634 10 жыл бұрын
Port forwarding. Now I understand you :)))
@jan709
@jan709 10 жыл бұрын
it would make home networks much less of a hassle, i have had a lot of nat related problems. I also can't imagine ISPs being completely fine with having to implement layers upon layers of nat of ther own.
@photosinensis
@photosinensis 10 жыл бұрын
There are a lot of backbone switches controlled by ISPs and second tier providers that are incredibly expensive and do not support IPv6. The transition will take a long time.
@TheWhitePianoKeyProductions
@TheWhitePianoKeyProductions 10 жыл бұрын
I know that he meant that? It would still take a while to wright them all and then sync them, I have done it once, and just syncing them took like an hour or something, it's really time consuming. Also, if everyone can upload subs, there would be a lot of stupid onces. Maybe brady can have the ability to make subs and sent them to him, then he can see if they are good and add them.
@thinkwithportal
@thinkwithportal 10 жыл бұрын
Can you do a video on network DMZ's?
@PoweredMinecart
@PoweredMinecart 10 жыл бұрын
Do I need a router in my house if I only have one device using the internet connection?
@kght222
@kght222 10 жыл бұрын
i already knew this, but i still love someone describing (roughly) how routers work and the fact that routers exist further than just at your house. unless you have a backbone instrument you are behind a router. i'm happy to be subscribed here. this video also explains the need for ipv6, because ipv6 would remove the need for allot of those backbone devices to act as routers, increasing available bandwidth due to less processing.
@ArnimSommer
@ArnimSommer 10 жыл бұрын
When will you talk about CARP?
@wesmatron
@wesmatron 10 жыл бұрын
Good one
@necromancerpencil
@necromancerpencil 10 жыл бұрын
Because Sean likes people asking that on every video.
@iRTheUnknown
@iRTheUnknown 10 жыл бұрын
Something he did not explain very well is that the relabeling is only done in the Source port when the packet is going out and that when it packet arrives back, that "fake relabled port" is now on the destination port. The reason being google (for instance) still needs to know that the packet is going to port 80, receiving "18" would not work as the packet would be rejected.
@pikuorguk
@pikuorguk 10 жыл бұрын
Suppose my ISP is doing NAT because it's run out of its allocation of IP addresses for the number of customers it has... what IP addresses is it going to give out to new customers? It can't give out 192.168.x.x or other private ones because that'd confuse the NAT in everyone's router, but that means it needs to give out public IP addresses... but they're all gone...
@MrRocketRat
@MrRocketRat 10 жыл бұрын
128.243.*.* is reserved for the University of Nottingham which is enough addresses for 70,225 computers (256*256) and that isn't enough? I know where I want to go to University.
@ShaunDreclin
@ShaunDreclin 10 жыл бұрын
A single computer doesn't need a router, but you still need a modem. Most ISPs now give you a modem/router combo anyway though.
@BeastOfTraal
@BeastOfTraal 10 жыл бұрын
NAT dose give you a layer of security because any unsolicited incoming packet gets blocked simply because the router doesn't know what to do with it.
@lolmovies7
@lolmovies7 10 жыл бұрын
this guy gave me a lecture at the Uni
@leeghanger
@leeghanger 10 жыл бұрын
MAC addresses are not sent over the internet. The source and destinaion MAC address inside a packet is changed whenever the packet passes a networking device. This way the devices have an idea on how the packet can return to it's destination, only the source and destantion IP addresses stay the same throughout the entire "journey". So the MAC of your PC can never be used to locate you, it is simply never transmitted.
@dutubsucks
@dutubsucks 10 жыл бұрын
As someone who has studied this kind of thing I found his explanation to be a lot more complex than how I would've easily described it. His version is more correct but unnecessarily complex.
@Gubber
@Gubber 10 жыл бұрын
I would love to hear more about how Nat Punch Through actually works.
@surrog
@surrog 10 жыл бұрын
Great video but why didn't you talk about ipv6 ...?
@ShaunDreclin
@ShaunDreclin 10 жыл бұрын
Part of it is technological, part of it is legal. Your internet service provider knows exactly who you are and what you connect to, so (depending on the laws of your country) if the police can go to your ISP and demand information about you, they'll find out who you are.
@jan709
@jan709 10 жыл бұрын
I guess NAT gained the upper hand over the introduction of ipv6 because it can be implemented on one party without the other noticing it?
@tinyw777
@tinyw777 10 жыл бұрын
Oh so that's what NAT stands for when i do my port mapping?
@cbernier3
@cbernier3 10 жыл бұрын
Every single computer in the world needs upgrading by 2038. Computers need to all be 64bit by then, because of the way time works. The upgrades will come.
@geraldinejns
@geraldinejns 9 жыл бұрын
I am a new IT Consultant @ the Veteran's Community Resource Center located in Miami FL. How much does it cost to rent your brain? I went to the library and took out a book called EXAM CRAM 2 Network+, it sucks. I need a good book that will actually explain it the way you do. I'm actually looking at all of the Computerphile videos on KZbin.
@EQuivalentTube2
@EQuivalentTube2 10 жыл бұрын
Because it's not Nubmerphile. It's Computerphile, they use old perforated printer paper, which is appropriate.
@PontusWelin
@PontusWelin 10 жыл бұрын
Why aren't ISPs using ipv6? It would solve some big problems, wouldn't it? And I don't understand what problems it would some with.
@jan709
@jan709 10 жыл бұрын
good question, i have no idea. Maybe it never made it off the drawing board?
Routers, The Internet & YouTube Offline - Computerphile
13:22
Computerphile
Рет қаралды 192 М.
NAT Explained | Overload, Dynamic & Static
8:45
CertBros
Рет қаралды 300 М.
SHE WANTED CHIPS, BUT SHE GOT CARROTS 🤣🥕
00:19
OKUNJATA
Рет қаралды 15 МЛН
Заметили?
00:11
Double Bubble
Рет қаралды 1,3 МЛН
How DNS Works - Computerphile
8:04
Computerphile
Рет қаралды 456 М.
What is NAT and Port Forwarding (Network Address Translation)
47:19
Eli the Computer Guy
Рет қаралды 13 М.
Vectoring Words (Word Embeddings) - Computerphile
16:56
Computerphile
Рет қаралды 278 М.
How Network Address Translation Works
10:05
PieterExplainsTech
Рет қаралды 799 М.
Hashing Algorithms and Security - Computerphile
8:12
Computerphile
Рет қаралды 1,5 МЛН
NAT - SNAT, DNAT, PAT & Port Forwarding
9:50
Sunny Classroom
Рет қаралды 346 М.
TCP Meltdown - Computerphile
14:52
Computerphile
Рет қаралды 219 М.
What Happens When You Click a Link? - Computerphile
9:51
Computerphile
Рет қаралды 198 М.
SHE WANTED CHIPS, BUT SHE GOT CARROTS 🤣🥕
00:19
OKUNJATA
Рет қаралды 15 МЛН