Waar staat mijn server?

Facilitator

Voordat we daadwerkelijk webpagina’s van andere deelnemers bezoeken, introduceren we het concept van het IP-adres door een vergelijking te maken tussen een IP-adres/webadres en een straatadres. Dit helpt om de fysieke aard van het web te benadrukken: websites staan op servers die zich ergens in een gebouw in de fysieke wereld bevinden.

Wat is een IP-adres?

IP-adres staat voor Internet Protocol-adres, de communicatiemethode die door alle soorten computers/servers op het internet wordt gebruikt (webservers, e-mails, bestandsoverdrachten, enz.). Aangezien het internet een enorm netwerk van computers is, hebben we een unieke manier nodig om elke server te identificeren, zodat we verzoeken naar de server kunnen sturen en de server informatie terug kan sturen naar het juiste apparaat.

Zie het als een straatadres: elk IP-adres is uniek en geeft aan waar die server zich bevindt en hoe je daar kunt komen.

Traditioneel bestaan IP-adressen uit een reeks van vier sets getallen (0 tot 255) gescheiden door een punt. Daarom zijn er adressen variërend van 0.0.0.0 tot 255.255.255.255, dat zijn meer dan 4,3 miljard unieke adressen! Door de exponentiële toename van het aantal apparaten dat online is aangesloten, raken we echter bijna door onze adressen heen. Daarom gebruiken sommige apparaten nu een nieuw, langer IP-adresformaat, IPv6 genaamd (dat er zo uitziet: 2600:1f1c:446:4900::259).

Lokaal versus wereldwijd netwerk

Facilitator

Terugkomend op de tutorial, gaan we het IP-adres van elke telefoon achterhalen, maar eerst moeten we weten wat een privé-IP-adres is en wat een openbaar IP-adres is.

Wat is het IP-adres van mijn server?

In Termux is er een commando om het huidige IP-adres van mijn apparaat te bepalen. We gebruiken het commando ifconfig om de bereikbaarheid van een server te testen. 1. Typ en voer in:

curl ifconfig.me
  1. We krijgen iets als dit:
200.300.304.304

Facilitator

Door iedereen te vragen dit IP-adres op te schrijven en voor te lezen, zien we dat iedereen hetzelfde adres heeft. We leggen uit waarom (hieronder): Nu zou elke telefoon die met dezelfde wifi is verbonden hetzelfde adres moeten krijgen. Waarom is dat zo? Dit is eigenlijk het openbare IP-adres van de wifi-router, het unieke adres dat de router gebruikt om toegang te krijgen tot het internet. Alle verzoeken die we (via het internet) naar externe servers sturen, gaan via onze wifi-router, die de toegangspoort is tot het grote internet, het wereldwijde netwerk. Alle apparaten die via wifi of kabel met de router zijn verbonden, vormen echter ook een netwerk: het lokale netwerk. Als je multiplayer-videogames in LAN (Local Area Network) hebt gespeeld, bijvoorbeeld met een Minecraft-server met je vrienden thuis, is dit je wellicht bekend. Via dit lokale netwerk kunnen we ook op afstand met onze printer communiceren, terwijl we met hetzelfde wifi-netwerk zijn verbonden. In dit lokale netwerk heeft elk aangesloten apparaat ook een uniek IP-adres, zodat de router weet wie verzoeken verstuurt (naar het internet of naar andere apparaten) en het verkeer kan sturen. Dit lokale IP-adres wordt het privé-IP-adres* genoemd. Kort gezegd is het openbare IP-adres het adres van onze router wanneer deze op het internet surft, terwijl een privé-IP-adres** het lokale adres is van elk apparaat in ons thuisnetwerk.

Het kleine internet (uw lokale wifi-netwerk) versus het grote internet
Figure 1: Het kleine internet (uw lokale wifi-netwerk) versus het grote internet

Facilitator

De afbeelding hierboven helpt het concept van een lokaal netwerk te verklaren. Elk apparaat op het lokale netwerk is via wifi (draadloos) of kabel (ethernet) verbonden met de router. Om elk apparaat te kunnen onderscheiden en verzoeken te kunnen ontvangen, wijst de router aan elk apparaat een lokaal IP-adres toe. Alle verzoeken gaan via de router, hetzij om tussen apparaten te communiceren (bijvoorbeeld een computer die bestanden naar de printer stuurt om af te drukken), hetzij via de “gateway” naar het grote internet en terug.

Wat is het privé-IP-adres van mijn telefoon?

In de terminal gebruiken we ifconfig om het privé-adres van ons apparaat te achterhalen: 1. Typ en druk op Enter:

ifconfig

Het commando ifconfig gebruiken 2. In de uitvoer zoeken we naar de regel die begint met wlan0....inet, dit heeft betrekking op de wifi-interface. Na inet staat een IP-adres dat er als volgt uitziet:

192.168.1.255 
  1. Noteer dit adres. Dit is het IP-adres van uw apparaat zolang je verbonden blijft. (Het kan veranderen als je de verbinding verbreekt en vervolgens opnieuw verbinding maakt).

Het lokale netwerk verkennen

Nu we het lokale (privé) IP-adres van onze webserver kennen (waar onze server zich bevindt), kunnen we andere apparaten op het netwerk onze webpagina laten bezoeken!

Facilitator

Nu kunnen we de aangepaste webpagina van elke deelnemer bezoeken. Met een laptop die is verbonden met wifi en een beamer kunnen we elke deelnemer om zijn of haar “adres” (IP-adres) vragen, dit invoeren en aan iedereen laten zien! 1. Gebruik een ander apparaat dan uw telefoonserver om de servers van uw telefoon via het lokale netwerk te bezoeken. 2. Typ in de browser + enter: http:// + 192.168.XX.XX+ :8080 3. Zorg ervoor dathttp:// gebruikt en niet https:// (we hebben nog geen secure SSL-certificaat). 4. Je kunt nu uw aangepaste webpagina bekijken.

Een webpagina bezoeken via de telefoon
Figure 2: Een webpagina bezoeken via de telefoon

Facilitator

We kunnen nu nauwkeuriger uitleggen wat er gebeurt. Onze client (telefoon of laptop) vraagt de index.html op bij een bepaald adres. De router stuurt dit verzoek door naar de telefoonserver (met zijn lokale IP). De server “serveert” het index.html-bestand.

De etherbox - een lokale server die etherpad host: software voor het gezamenlijk maken van aantekeningen (een beetje zoals Google Docs)
Figure 3: De etherbox - een lokale server die etherpad host: software voor het gezamenlijk maken van aantekeningen (een beetje zoals Google Docs)

Facilitator

Dit lokale netwerk heeft al veel potentieel. Nu we weten dat dit mogelijk is, zouden veel toepassingen van het internet net zo goed kunnen werken met een lokaal netwerk, zonder dat er een datacenter nodig is. Het QR-codemenu van een restaurant zou bijvoorbeeld op het lokale netwerk kunnen staan, net als lokaal nieuws, enz. Op die manier hoeven gegevens niet te worden opgeslagen en van een externe locatie te worden verzonden. De afbeelding hierboven toont een project van Constant VZW (BE): zij hebben een lokaal netwerk om aantekeningen te maken tijdens een vergadering of workshop. In plaats van de notities op een externe server te bewaren, worden ze hier gehost. Dat zorgt er ook voor dat ze privé blijven, aangezien ze alleen toegankelijk zijn als je binnen het bereik van de wifi bent.

Facilitator

We kunnen de deelnemers een vraag stellen om een discussie op gang te brengen: welke toepassingen van het internet zouden ook op een lokaal netwerk kunnen werken? Welke nieuwe toepassingen kun je je voorstellen?