COMPUTERNETWERKEN II
HOOFDSTUK 1: INTRODUCTIE ........................................................................................................ 4
LAGEN VAN HET INTERNETPROTOCOLSTACK .............................................................................................. 4
VIDEO: LAGEN VAN HET INTERNETPROTOCOLSTACK .......................................................................................... 6
HOOFDSTUK 2: APPLICATIELAAG.................................................................................................... 8
2.1. PRINCIPES VAN NETWERKAPPLICATIES .............................................................................................. 8
VIDEO: COMMUNICATIE TUSSEN NETWERKAPPLICATIES .................................................................................... 8
2..2. SOCKETS PROGRAMMEREN EN (DE-)MULTIPLEXEN ....................................................................... 9
VIDEO: WAT ZIJN NETWERK SOCKETS? ........................................................................................................... 9
(DE)MULTIPLEXEN (RESPONSE) .................................................................................................................. 11
2.2. – 2.2.3. HET WEB + HTTP ...........................................................................................................11
VIDEO: HYPERTEXT TRANSFER PROTOCOL .................................................................................................... 11
VIDEO: PERSISTENTE « NIET-PERSISTENTE HTTP ......................................................................................... 16
2.2.4. COOKIES ................................................................................................................................17
2.2.5. WEBCACHING .........................................................................................................................18
2.2.6. CONDITIONAL GET...................................................................................................................21
2.4. DNS ........................................................................................................................................22
VIDEO: HOE WERKEN DNS-SERVERS SAMEN? ............................................................................................... 22
VIDEO: DNS RESOLVER ............................................................................................................................. 25
VIDEO: DNS REGISTRATIE .......................................................................................................................... 27
VIDEO: INTERACTIE TUSSEN E-MAIL EN DNS.................................................................................................. 30
VIDEO: DNS SERVER ................................................................................................................................. 31
VIDEO: REVERSE DNS............................................................................................................................... 37
HOOFDSTUK 4 ...............................................................................................................................40
4.3.3. IPV4 ADRESSERING ..................................................................................................................40
VIDEO: HOE WERKEN IP-ADRESSEN EN WAT IS EEN SUBNET? ............................................................................ 40
VIDEO: TOEKENNING VAN IP-ADRESBLOKKKEN .............................................................................................. 42
VIDEO: EFFICIËNT GEBRUIK VAN IP-ADRESBLOKKEN ........................................................................................ 42
VIDEO: FORWARDING IN EEN IP-ROUTER ...................................................................................................... 42
VIDEO: VOORBEELD FORWARDING TABEL IP ROUTER....................................................................................... 44
VIDEO: IP ADRESAGGREGATIE ..................................................................................................................... 45
4.3.3. IPV4 DYNAMIC HOST CONFIGURATION PROTOCOL .........................................................................46
VIDEO: DHCP ......................................................................................................................................... 46
VIDEO: DHCP RENEWAL & RELAY ............................................................................................................... 49
1
,VIDEO: DHCP SERVER .............................................................................................................................. 51
4.3.4. NETWORK ADDRESS TRANSLATION PROTOCOL ...............................................................................53
NETWORK ADDRESS TRANSLATION.............................................................................................................. 53
5.6. INTERNET CONTROL MESSAGE PROTOCOL (ICMP) ............................................................................57
VIDEO: INTERNET CONTROL MESSAGE PROTOCOL ......................................................................................... 57
HOOFDSTUK 6 ...............................................................................................................................61
6.4. LOCAL AREA NETWERKEN MET SWITCHES .........................................................................................61
VIDEO: ARP ............................................................................................................................................ 61
VIDEO: ARP CACHE MANAGEMENT ............................................................................................................. 65
VIDEO: ETHERNET SWITCHING.................................................................................................................... 66
VIDEO: VLAN.......................................................................................................................................... 71
HOOFDSTUK 5 ...............................................................................................................................76
5.7. NETWERKBEHEER EN SNMP .........................................................................................................76
VIDEO: NETWERK MANAGEMENT ................................................................................................................ 76
VIDEO: SNMP ........................................................................................................................................ 78
VIDEO: NETWERK AUTOMATISERING EN ANSIBLE ........................................................................................... 83
HOOFDSTUK 4*: NETWERKLAAG IPV6 ...........................................................................................89
IPV6 (P1-31) ...................................................................................................................................89
VIDEO: IPV6 ADDRESS SPACE & NOTATIE...................................................................................................... 89
VIDEO: IPV6 ADDRESS SCOPE ..................................................................................................................... 90
VIDEO: IPV6 ULA SCOPE ........................................................................................................................... 94
VIDEO: IPV6 ADDRESSS TYPE ..................................................................................................................... 96
IPV6 (P32 -35, ACHTERGROND) ...........................................................................................................98
VIDEO: IPV6 HEADER (ACHTERGROND) ........................................................................................................ 98
ICMPV6 (P36-59) ............................................................................................................................98
VIDEO: IPV6 ADDRESS RESOLUTION ............................................................................................................. 98
VIDEO: IPV6 DUPLICATE ADDRESS DETECTION (DAD) .................................................................................. 101
VIDEO: IPV6 STATELESS ADDRESS AUTOCONFIGURATION (SLAAC) ............................................................... 103
VIDEO: IPV6 DHCPV6 ............................................................................................................................ 106
TRANSITION TO IPV6 (P60-73) .......................................................................................................... 108
VIDEO: IPV6 DUAL STACK V6/V4 ............................................................................................................... 108
VIDEO: IPV6 (ONLY) TO AN IPV4 NETWORK ................................................................................................ 111
HOOFDSTUK 5: NETWERKLAAG – INTRA-AS ROUTERING ............................................................. 115
5.1. INTRODUCTIE ........................................................................................................................... 115
VIDEO: WAT IS ROUTING? ....................................................................................................................... 115
5.2. ROUTERINGSALGORITMEN (ACHTERGROND) ................................................................................... 118
2
,VIDEO: DISTANCE VECTOR ROUTING ......................................................................................................... 118
5.3. INTRA-AS ROUTERING: OSPF...................................................................................................... 120
VIDEO: LINK-STATE ROUTING EN OSPF ...................................................................................................... 120
LINK-STATE « DISTANCE VECTOR ............................................................................................................ 124
5.4. ROUTING AMONG THE ISP’S: BGP ............................................................................................... 124
VIDEO: STRUCTUUR VAN HET INTERNET...................................................................................................... 124
VIDEO: BGP.......................................................................................................................................... 125
HOOFDSTUK 8: (NETWERK)BEVEILIGING ..................................................................................... 130
8.9. FIREWALLS & IDS ..................................................................................................................... 130
VIDEO: FIREWALL & IDS ......................................................................................................................... 130
HOOFDSTUK 5: NETWERKLAAG ................................................................................................... 134
4.4. GEGENERALISEERDE FORWARDING EN SDN .................................................................................... 134
5.5. HET SDN CONTROLE-LEVEL ......................................................................................................... 134
VIDEO: SDN = SOFTWARE DEFINED NETWORKING ...................................................................................... 134
VIDEO: NETWERKVIRTUALISATIE ............................................................................................................... 141
RESPONSE COLLEGES .................................................................................................................. 146
WEEK 1 ........................................................................................................................................ 146
UDP .................................................................................................................................................... 146
TCP ..................................................................................................................................................... 146
CONNECTION-ORIENTED (DE)MULTIPLEXING TCP ........................................................................................ 147
NETSTAT, TELNET, NETCAT ...................................................................................................................... 147
WEEK 2 (DNS) ................................................................................................................................ 150
DNS HIGH JACKING ................................................................................................................................ 150
WEEK 3 ........................................................................................................................................ 151
IFCONFIG .............................................................................................................................................. 151
WEEK 4 ........................................................................................................................................ 151
WEEK 5 ........................................................................................................................................ 153
ETHERNET SWITCH: FORWARDING ............................................................................................................. 153
ARP .................................................................................................................................................... 153
WEEK 6 ........................................................................................................................................ 154
OVERZICHT ................................................................................................................................. 155
3
,HOOFDSTUK 1: INTRODUCTIE
LAGEN VAN HET INTERNETPROTOCOLSTACK
Elke laag voegt een functie toe aan onderliggende laag (dienst)
o Bepaalde handelingen binnen de laag
o Diensten van onderliggende laag gebruiken
STAPELEN VAN PROTOCOLLEN
• Elk protocol hoort bij een laag
o Softwarematig, hardwarematig, combinatie
o Protocol gedistribueerd tussen hosts, packetswitches en andere componenten in het
netwerk
• Servicemodel = diensten van een laag
• Voordelen
o Bijwerken systeemcomponenten eenvoudiger
o Elke laag afgeschermd
o Elke laag kan aangepast worden zonder effect op andere laag
• Nadelen
o Een functie op een hogere laag voert nogmaals de functie uit (vb foutherstel)
o Functie op een laag heeft info nodig die op een andere laag aanwezig is
• Protocolstack = alle protocollen in de ≠ lagen
o Fysieke laag, Datalinklaag, Netwerklaag, Transportlaag, Applicatielaag
APPLICATIELAAG
= netwerkapplicaties + protocollen uitvoeren
• Protocollen
o HTTP: verzoeken voor een overdracht van webdocument
o SMTP: overdracht e-mailberichten
o FTP: overdracht bestanden tussen 2 hosts
o DNS
o Eventueel zelf maken
o In software in de hosts
• Sommige netwerkfuncties met DNS (Domain Name System): specifiek voor applicatielaagprotocol
• Gedistribueerd over ≠ hosts
o Applicatie op host gebruikt protocol om packets met informatie uit te wisselen met
applicatie op andere host
o Bericht = packet met info op de applicatielaag
TRANSPORTLAAG
= transport van de berichten van de applicaties
• Protocollen
o TCP
4
, § Connection-oriented service: verbinding opzetten en afsluiten
§ Lange berichten splitsen
§ Congestiecontrolemechanisme: zender verlaagt transmissiesnelheid wanneer
netwerk overbelast
§ Flow control = afstemmen van snelheid tussen zender en ontvanger
o UDP = User Datagram Protocol
§ Connection-less service: geen verbinding, direct bericht
§ Geen betrouwbare diensten
o In software in de hosts
• Segment = packet op transportlaag
NETWERKLAAG = IP-LAAG
= transport datagrammen van ene host naar andere
• Datagram = packet van de netwerklaag
• Bestemmingsadres van transportlaagsegment doorgegeven
• Protocollen
o IP: definieert velden in datagram
o Routereringsprotocollen
o Gemengde implementatie hard- en software
DATALINKLAAG
= bepaalt pad van een packet langs een reeks routers tussen de bron en de bestemming
• Link andere laag
• Communicatie via een bepaalde link
• Frame = packet van de datalaag
• Protocollen
o Afhankelijk van dienst (betrouwbare dienst)
o Ethernet
o Wifi
o DOCSIS
o PPP = Point-to-Point-Protocol
o Geïmplementeerd in netwerkkaart voor bepaald type link
• Meerdere protocollen mogelijk want langs ≠ links
FYSIEKE LAAG
= afzonderlijk bits in een frame van node naar volgende node verplaatsen
• Communicatie via een bepaalde link
• Protocollen
o Linkafhankelijk
o Ethernet
§ Twisted-pairkoperdraad
§ Coaxiale kabel
§ Glasvezel
o Geïmplementeerd in netwerkkaart voor bepaald type link
5
,VIDEO: LAGEN VAN HET INTERNETPROTOCOLSTACK
• Samenvatting
Laag Doel Protocol
Applicatielaag Ondersteunende netwerktoepassingen (e-mail, webapps) FTP, SMTP, HTTP
Transportlaag Communiceren tussen processen van eindtoestellen UDP, TCP
Routering van datagrammen van bron naar bestemming
Netwerklaag IP, routeringsprotocollen
à links verbonden door routers
Gegevensoverdracht tussen aangrenzende
Linklaag Ethernet, PPP
netwerkelementen (link delen) (vb switch)
Versturen bits over gegeven fysisch medium (koper,
Fysische laag
draadloos,…)
• Waarom lagen?
o Opsplitsen in modules met eigen functies + relaties met andere lagen
§ Elke laag biedt een dienst/service aan de bovenliggende laag
o Functionaliteit afgeschermd voor andere delen
§ Bij updaten van 1 laag, transparant voor de rest van het systeem
o Nadeel: optimalisatiemogelijkheden gaan verloren
VOORBEELD (VIDEO)
Eindgebruiker surft naar www.sporza.be waarbij een request wordt gestuurd op de webserver en een
antwoord (de webpagina) wordt ontvangen. Deze 2 berichten overlopen alle lagen van het referentiemodel.
1. Browser op client: webpagina op webserver à HTTP-request + response à applicatielaag
2. TCP: naar bestemming (betrouwbaar naar de eindpunten) à transportlaag
3. Netwerklaag: transport TCP-berichten doorheen netwerk van routers à routers gebruiken IP-
protocol (ontvangen pakketten van de bron en forwarden deze naar de bestemming)
4. Routers verbonden door links in de linklaag (elke link kan een andere technologie hebben)
6
,ENCAPSULATIE
• Lager liggende lagen bieden diensten aan aan hoger liggende lagen à extra info wordt toegevoegd
• Voorbeeld
o HTTP-get request in de applicatielaag
o TCP: HTTP opsplitsen in segmenten en nummeren om te weten welk segment als ontvangen
(via TCP-header)
§ à Payload ge-encapsuleerd in TCP segment
o IP: TCP-segmenten encapsuleren en over netwerk versturen
§ à IP-header toegevoegd met IP van bron en bestemming
o Linklaag: extra header met MAC-adressen bron en bestemming
§ à ge-encapsuleerd in Ethernet frame
o Fysische laag: omzetten naar enen en nullen om te versturen over fysisch medium
• Als frame aankomt op bestemming
o Telkens data afleveren aan bovenliggende laag
o = decapsulatie
• Routers en switches
o Eindpunten = hosts L1-5
o Router L1-3
o Ethernetswitch L1-2
• Narrow waist/zandlopermodel
o L5 HTTP, POP3, SMTP, …, DNS
o L4 TCP, UDP
o L3 IP globale adressering
o L2 CSMA/CD, PPP alle toestellen communiceren alle nodes een adres
o L1 coax, draadloos, …
7
,HOOFDSTUK 2: APPLICATIELAAG
2.1. PRINCIPES VAN NETWERKAPPLICATIES
VIDEO: COMMUNICATIE TUSSEN NETWERKAPPLICATIES
• Wat is nodig?
o Adres van bestemming
§ IP-adresssen nodes lokaliseren (elke interface een adres)
§ Op de host de juist applicatie te vinden
à poortnummer = nummer kamer op een adres (app op host lokaliseren)
o Onderliggend transportprotocol à transportdiensten
§ TCP = betrouwbare transportdienst voor byte-streams
§ UDP = datagrammen afleveren
• Voorbeelden webbrowsen en DNS
o Voorbeeld TCP
§ Webverkeer gebruikt HTTP-protocol om webpagina’s uit te wisselen
§ HTTP gebruikt TCP
§ Servers wachten passief tot clients request sturen à luisteren op poort 80
§ Browser stuurt berichten op poort 80 naar IP-adres van webserver
§ Poortnummers clients liggen niet vast
- Toegekend door BS
- Tijdelijk
- Vanaf 1024
- Als vrijgegeven, kunnen poortnummers worden hergebruikt
o Voorbeeld UDP
§ DNS gebruikt ook client-server architectuur
§ Server wacht op requests op poort 53
§ DNS gebruikt UDP
o Poortnummers
§ Clients: random, tijdelijk, toegekend door BS
§ Servers: vast bij conventie voor specifieke apps
8
, • Meest voorkomende nummers serverapplicaties vanbuiten kennen!
o Poortnummers > 1024 vrij gebruikt (vb webserver op poort 443)
Applicatie/protocol Beschrijving Serverpoort Transportlaag
protocol
FTP Bestanden 20: datacommunicatie TCP
uitwisselen 21: controlecommunicatie
SSH 22 TCP
Telnet 23 TCP
SMTP Email uitwisselen 25 TCP
DNS 53 UDP-TCP
HTTP Web 80 TCP
443: veiligheid
POP Email server 109 TCP
Applicaties die gebruik maken van welke poorten op een pc: sudo netstat -plnt
2..2. SOCKETS PROGRAMMEREN EN (DE-)MULTIPLEXEN
VIDEO: WAT ZIJN NETWERK SOCKETS?
• Socket = toegangspoort waarlangs een applicatie kan communiceren met anderen
• Toegangspoort
o IP-adressen bron + bestemming
o Poortnummers bron + bestemming
o Gebruikte transportprotocol
o = 5-tuple
• Voorbeeld: sockets via systeemcalls naar onderliggend BS
o Dit voorbeeld is theoretisch
o In praktijk: threads om afhandeling clients parallel Socketobject aanmaken:
AF_INET = IPv4 adres,
SERVER SOCK_STREAM = TCP als transportprotocol
Server luistert naar het IP-adres,
9999 is het poortnummer
Max 5 inkomende verbindingen
Wachten op inkomende verbinding
Als client verbinding maakt, wordt IP en poortnummer
meegegeven à nieuw socket-object aangemaakt
Bericht formatteren in bytestream
Bericht terugzenden naar de client en verbinding sluiten
Socketobject aanmaken:
AF_INET = IPv4 adres,
SOCK_STREAM = TCP 9
, CLIENT
Actief verbinden met serverproces à
poortnummer client bepaalt door BS
Bericht gestuurd + respons ontvangen
DYNAMIC SERVER PROCES CREATION
• Meerdere requests per keer à gebruik van threads voor afhandeling meerdere clients naast elkaar
• Webserver verbonden met netwerk en Serverapplicatie gestart
o Server deamon wacht op inkomende connecties
o Als server connecteert à server maakt nieuwe thread
o Threads gebruikt om meerdere clients tegelijk af te handelen
• Voorbeeld
o Client 1 maakt verbinding met de server
o Server maakt bij ontvangen van request een requesthandler aan + koppelen aan request van
client
o Bij client 2 en 3 gebeurt hetzelfde
o Server heeft “pool van threads” gekoppeld aan afhandeling van request van ≠ clients
o Werking
§ Server luistert op 1 IP-adres op poort 80, TCP
§ Clients: eigen IP-adres en poortnummers (lokaal toegekend door BS)
- Kan 1 poortnummer gebruiken voor ≠ clients
- Sockets bepaald door IP en poortnummer à geen probleem onderscheid
verbindingen
10