Het internet: een netwerk van netwerken

advertisement
Computernetwerken: samenvatting alles
1) Fundamentals
Communicatie in een netwerkgeoriënteerde wereld
Netwerken ondersteunen ons dagelijkse leven
Vroeger




Praten
Telefoon
Tv
Post
Nu: webgebaseerde communicatie







Skype
Smart-TV
E-Banking
E-Mail
Websites
GPS
Buienradar
- eerste datanetwerken:
 Karakter-gebaseerde info doorsturen
 Typische terminal-mainframe toepassingen
- Internet: 90’s WWW
- Huidige datanetwerken
 Voice
 Video streams
 Tekst
 Grafische bestanden
1
Computernetwerken: samenvatting alles
Voorbeelden van het gebruik van netwerken





Instant messaging
Weblogs
Wiki’s
Podcasting
Collaboration tools
Netwerken ondersteunen het leerproces
- Online learning:
 Dokeo’s
 interactieve
 tools
- Packet tracer
- Online inschrijven, testen
afleggen, resultaten bekijken
- Online courseware
 up-to-date materiaal
 educatieve
mogelijkheden voor breed publiek
 online curriculum = consistente leerstof
 kostenbesparing
Netwerken ondersteunen ons werk
- Collaboration software
 werkgroepen vs domeinen
- Intranet
 enkeltoegang voor interne werknemers
- Extranet
 (gedeeltelijke) toegang voor business partners, klanten
2
Computernetwerken: samenvatting alles
Netwerken ondersteunen ontspanning


Websites met boeken, games, films, muziek,...
Games over het internet (vb. WOW)
Communicatie: een essentieel deel van ons leven
Wat is communicatie?
Communicatie vereist regels. Deze regels noemen we protocollen.
Deze protocollen bevatten dikwijls:
 Een zender
 Een ontwanger
 Overeengekomen manier van communicatie
 Gemeenschappelijke taal en grammatica
 Overeengekomen snelheid en timing
 Een bevestiging
Kwaliteit van communicatie
Kwaliteit is heel belangrijk bij netwerken.
Vb.: VOIP (Voice over IP)
Vertraging of verlies van pakketten betekent verlies van info.
Veel potentiële problemen:
 Kwaliteit van weg tussen zender en ontvanger
 Omzetten van formaat van bericht
 Aantal keer dat het bericht verandert van pad
 Aantal berichten dat tegelijk gestuurd worden
= extern
 Grootte van bericht
 Complexiteit van het bericht
 Belangrijkheid van het bericht
= intern
Het netwerk als een platform
Communicatie over netwerken
Eén groot netwerk dat alle verkeer
afhandelt is niet mogelijk. Verschillende
kleine verbonden netwerken kunnen dit
wel.
= sterkte netwerk
3
Computernetwerken: samenvatting alles
Elementen van een netwerk




Regels: Protocol dat gevolgd wordt
Medium: tussen apparaten
Berichten: info die van het éne naar het ander apparaat gaat
Apparaten: apparaten die nodig voor het versturen van info
4
Computernetwerken: samenvatting alles
Regels/protocollen
Geconvergeerde netwerken
Alle communicatie is tegenwoordig netwerkgebaseerd:
 Telefoon
 Data
 Tv
 …
5
Computernetwerken: samenvatting alles
De architectuur van het internet
Netwerkarchitectuur samenvatting

Foutentolerantie door redundantie:

Schaalbaarheid:
6
Computernetwerken: samenvatting alles

QOS: Quality Of Service:

Beveiliging:
7
Computernetwerken: samenvatting alles
Foutentolerantie in netwerken
- Internet = uitvinding van US DoD (Department of Defense
- Circuit-switched netwerken (connection-oriented):
 Eens een connectie gemaakt is blijf deze bestaan.
 Bestaande infrastructuur was vroeger typisch circuit-switched. Typisch
voorbeeld: telefoon
 Eerst verbinding opzetten, nadien data-uitwisseling
 Connection-oriented: Wanneer er ergens een probleem was tussen zender en
ontvanger viel de lijn weg »Slechte betrouwbaarheid (geen foutentolerantie)
 Circuit kan maar voor één gesprek gebruikt worden
Schaalbaarheid
- Packet Switched netwerken (connectionless networks):
 Om foutentolerantie in te voeren koos men voor packet-switching
 Bericht wordt opgebroken in pakketten
 Elk pakket bevat sender/receiver info voor adressering
 Elk pakket kan een andere route volgen
 Pakketten kunnen verloren gaan en opnieuw aangevraagd worden
 Connectionless:
Geen verbinding opzetten (fysiek) alvorens te kunnen
sturen, verbindingen zijn constant aanwezig
8
Computernetwerken: samenvatting alles
Schaalbaarheid
Groei moet mogelijk zijn, zonder grote veranderingen aan de core.
Lagen:
–Tier-1 ISPs (Internet Service Provider) netwerken vormen de bovenste laag
–Tier-2 ISPs vormen volgende laag
–Aan de Tier-2 ISPs hangen de lokale ISPs (bv. belgacom, telenet, fulladsl, tele2,
...)
–Onder de lokale ISPs hangen de bedrijfsnetwerken en thuisnetwerken
9
Computernetwerken: samenvatting alles
Quality of Service (QoS)
Gebruikers zijn gewend aan de kwaliteit van diensten



Constante up-time
Redelijke responstijden
Weinig of geen pakketten die verloren gaan
Data moet afhankelijk van de functie prioriteiten krijgen




Tijdsgevoelige data Bv. VOIP
Niet-tijdsgevoelige data Bv. web-pagina ophalen, mail versturen
Belangrijke data voor het bedrijf Bv. transacties
Ongewenste communicatie vb File sharing, youtube, chatten, ...
10
Computernetwerken: samenvatting alles
Netwerk security
Internet is een drijfveer voor nieuwe toepassingen, maar ook voor nieuwe vormen
van criminaliteit.
–Zeer uiteenlopende aanvallen



Persoonlijke gebruikers (VISA-gegevens, online banking)
Hele netwerken of services (DoS-attack)
Bedrijven: stelen van belangrijke informative
–Belangrijke eisen



Confidentialiteit: authenticatie (Ben jij diegene die je zegt dat je bent?)
Integriteit: encryptie (Niemand kan de communicatie afluisteren)
Beschikbaarheid: Firewalls, SPOF vermijden, ...
Netwerk Trends
Belangrijke tendensen
- Mobile communicatie wordt zeer belangrijk
 Smartphone
 Wireless netwerken
- Groeien aantal genetwerkte apparaten
 Telefoons /smartphone, VOID, iphone
- Groeiend aantal services
11
Computernetwerken: samenvatting alles
2) OSI- en IP-model
Platform voor communicatie
Elementen van communicatie
3 belangrijke elementen bij elke vorm van communicatie:
 Bron (zender): iets of iemand die een bericht stuurt naar iets/iemand
 Doel (ontvanger): iets/iemand die een bericht ontvangt en interpreteert
 Kanaal: medie waarover het bericht wordt “verzonden
Versturen van berichten
Computernetwerken versturen zeer uiteenlopende data:
 Kleine berichten: bv. Mailtje
 Grote berichten: bv. Foto in hoge resolutie
Oplossing voor uiteenlopende data?
 Segmentatie: in segmenten opdelen
 Voordelen van segmentatie:
- multiplexing
- verbeterde efficiëntie
- segmenten kunnen verschillende paden volgen
 Nadelen van segmentatie: verhogen complexiteit
12
Computernetwerken: samenvatting alles
Componenten in een netwerk
Eenvoudige netwerken:
bv. Directe verbinding van 2pc’s via kabel
Ingewikkelde netwerken
 Vele tussenliggende stations
 Communicatie kan over lange afstand lopen
Hardware componenten:
 PC, router, switch, hub,…
 Bekabeling
Software componenten:
 Sevices
 Software die op netwerkapparaat draait
End devices
- Zender of ontvanger van berichten
- “Host”
- voorbeelden:
 Computers: workstations, laptops, servers
 Network printers
 VoIP telefoons
 Camera’s
 PDA
 Remote monitoring station (weerstation)
- Host address:
 = uniek fysiek adress
 fysiek adres
Tussenliggende apparaten
Van source naar destination kom je veel apparaten tegen. Tussen liggende
apparaten verzorgen de echte netwerkfunctionaliteit.
 Hubs
 Switches
 Wireless accec points
 Modems
 Routers
 …
Funtionaliteit: zeer uitlopen:
 Routing
 Hergenereren van signalen
 Dedecteren van alternatieve routes
13
Computernetwerken: samenvatting alles

QoS
Netwerkmedia
3 belangrijke netwerkmedia vandaag:
 Koper
 Fiber
 Wireless
LAN’s, WAN’s en internetwerken
Local-Area Networks (LAN)
- Een groep van end devices en gebruikers onder 1 gezamenlijke administratie
- verbonden via hogesnelheidsnetwerk
- In een beperkte fysieke locatie
 Vroeger: zelfde kamer, verdiep
 Nu: zelfde gebouw, zelfde campus
Wide-Area Networks (WAN)
- Een type netwerk dat verschillende LAN’s die ver uit elkaar liggen interconnecteerd
- Typisch over lange afstand
- Gebrukk maken van linen van netwerkprovider (<-> LAN)
14
Computernetwerken: samenvatting alles
LAN vs WAN
Het internet: een netwerk van netwerken




Vroeger: communicatie beperkt tot LAN
Nu: LAN’s interconnecteren via WAN = internet
Zogenaamde “internetwerken”
ISP’s vormen de “lijm”
15
Computernetwerken: samenvatting alles
Protocollen
Regels voor communicatie
Elke vorm van communicatie wordt door zijn eigen vorm van regels bepaalt.
De verzameling regels die de communicatie in goede banen leiden moent men het
protocol.
Netwerkprotocollen
Bij menselijke communicatie wordt het protocol aangeleerd, of volgt men zijn
ervaring.
Bij netwerkprotocollen moet zeer duidelijk vastliggen (technisch)
 Wat de structuur is van de berichten
16
Computernetwerken: samenvatting alles

De manier waarop route-informatie wordt uitgewisseld

Hoe en wanneer fouten- en systeemberichten worden gestuurd

Hoe een data transfer wordt opgezet/afgebroken
17
Computernetwerken: samenvatting alles
Protocollen en industry standards
Standaarden worden vastgelegd door standaardisatie-organisaties:



IEEE (Institute of Electrical and Electronics Engineers)
IETF (Internet Engineering Task Force)
IAB (Internet Achitecture Board)
Industry standarts zorgen ervoor dat hardware van verschillende fabrikanten tock kan
samenwerken Bijvoorbeeld een netwerkkaart van 3com verbonden met Linksys
switch.
Eerste netwerken waren eerdere proprietary standaarden.
De interactie van protocollen
Web browser die met web server communiceert:
- Aplication Protocol
 HTTP: HyperText Transfer Protocol
Legt vast op welke manier de client en server html-bestanden uitwisselen
(bv.GET, POST)
- Transport Protocol
 TCP: Transport Control Protocol
Deelt grotere berichten op in kleine segmenten om deze te versturen
- Internetwork Protocol
 IP: Internet Protocol
Neemt segmenten van TCP en pakt deze in een “enveloppe” met
adresseringsinformatie
- Network Access Protocol
 Hoe wordt data op de draad gezet?
18
Computernetwerken: samenvatting alles
Technologie-onafhankelijke protocols
Een protocol hangt meestal niet af van technologie:
 HTTP definieert niet dat de browser die wordt gebruikt in een bepaalde
programmeertaal moet gemaakt worden
 HTTP definieert niet dat de machine Windows moet draaien
Dus ook PDA, GSM,.. met eender welke browser die HTTP ondersteunt kan surfen!
Gelaagde modellen
Gelaagde modellen
Lagen worden in veel takken van informatica gebruikt:
 Lagenmodel in software ontwikkeling
 Lagen model bij besturingssystemen
 …
Voordelen van gelaagde modellen




Helpt bij protocolontwerp: interface duidelijk omlijnt
Concurrentie: producten van verschillende producenten werken samen
Wijziging in een laag blijft lokaal
Helpt om netwerken beter te begrijpen
2 soorten modellen
- Protocol model
 Model dat de werking van een protocol-suite beschrijft
 Functionaliteit die in werkelijkheid voorkomt
 Bv. TCP/IP model
- Referentie model (reference model)
 Algemene referentie
 Helpt om algemene principes beter te verstaan
 Bv. OSI model
19
Computernetwerken: samenvatting alles
Het TCP/IP model
- Ontworpen in 70’s
- Internet model dat vandaag nog blijft bestaan is TCP/IP
- Open standaard
- Protocol van TCP/IP staan beschreven in RFCs (Request For Comments):
 Technische dosiers (tekst-files) warin de protocols beschreven staan
 Opgesteld door de IETF
Het communicatieproces bij gelaagde modellen
20
Computernetwerken: samenvatting alles
Protocol data units (PDU) en encapsulatie
- PDU
 De vorm dat een stukje data aanneemt op een eender welke laag
 Bv.: segment op laag 4, packet op laag 3, frame op laag 2
- Encapsulatie
 Bij het versturen wordt het ene PDU ingepakt in het andere, dit noemt men
encapsulatie
Zend- en ontvangproces (zie ook 2.4.6.1)
21
Computernetwerken: samenvatting alles
Het OSI model
- International Organization for Standardization (ISO)
- Op basis van bestaande protocollen: TCP/IP, DECnet
- Nooit echt “gebruikt” omwille van populatiteit TCP/IP
- Gids bij netwerkcommunicatie
 Producenten van netwerkenhardware verwijzen altijd naar dit model
- OSI defineert…
 Lagen + welke functies in welke laag
 Hoe info door een netwerk stroomt
LAGEN:
- Laag 7: Applicatielaag
 Dichtste bij de gebruiker
 Aanbieden van netwerkservices aan
gebruikersapplicaties
 Biedt geen dienst aan aan andere OSI
lagen
 End-to-end connectiviteit
 Voorbeelden
–File Transfer Protocol (FTP)
–Domain Naming System (DNS)
–Hypertext Transfer Protocol (HTTP)
–Telnet
- Laag 6: Presentatielaag
 Ervoor zorgen dat de informatie die de
applicatielaag zendt kan gelezen worden op
het andere systeem
 Indien nodig, vertalen tussen meerdere
dataformaten –Tot een gemeenschappelijk
formaat
 Voorbeelden: encryptie, decryptie, ...
 Voorbeelden van standaarden
–JPEG, TIFF, PICT voor afbeeldingen
–MIDI, MPEG voor geluid en film
- Laag 5: Sessielaag
 Opzetten, beheren en afsluiten van sessies tussen 2 communicerende hosts
 Aanbieden van diensten aan Presentatielaag
–Synchroniseren van dialoog tussen beide presentatielagen
 Gebruik maken van Transportlaag
 Voorzieningen voor
–Serviceklassen (prioriteiten), uitzonderingen
 Voorbeelden
–NFS (Network File System), X-Window System, ASP (Appletalk Session
22
Computernetwerken: samenvatting alles
Protocol)
- Laag 4: Transportlaag
 Segmenteren van data (zender)
 Herassembleren van gesegmenteerde data (ontvanger)
 Scheiding transportlaag – sessielaag belangrijk: scheiding ts
applicatieprotocols – data-flow protocols
 Data-transport aanbieden sessielaag
–Verbergen van transport-implementatiedetails
 Betrouwbaarheid: opzetten, onderhouden en afsluiten van virtuele circuits
(een virtueel communicatiekanaal opzetten)
 Voorbeelden
–TCP (Transmission Control Protocol)
»Betrouwbaar
–UDP (User Datagram Protocol)
»Onbetrouwbaar
–SPX (Sequenced Packet Exchange)
- Laag 3: Netwerklaag
 Complexe laag
 Verbinding en padselectie tussen twee hosts
 Logische adressering
 Voorbeelden
–Internet Protocol (IP)
–Internetwork Packet Exchange (IPX)
–Appletalk
- Laag 2: Datalinklaag
 Betrouwbaar transport van data over een fysieke link
 Fysieke adressering
 Netwerktopologie
 Netwerktoegang (tegelijk?, token-passing?)
 Signaleren van fouten
 Geordend afleveren van frames
 Flow control
 Voorbeelden
–Ethernet, Token Ring, ISDN, PPP, Frame Relay
- Laag 1: Fysieke laag
 Elektrische, mechanische, procedurele en functionele speficaties voor
activeren, onderhouden en afbreken van een fysieke verbinding tussen
eindsystemen
 Typische karakteristieken
–Voltages
–Timing van voltagewissels
–Fysieke snelheden
–Maximale verzendafstanden
–Fysieke connectoren
23
Computernetwerken: samenvatting alles
OSI vs TCP/IP



OSI deelt applicatie- en network access lagen verder in
TCP/IP zegt niets over fysieke medium op network access laag
Layer 3 en 4 zijn hetzelfde
24
Computernetwerken: samenvatting alles
3) Application - Presentation – Sessionlayer
Applicaties: de interfaces tussen netwerken
Het OSI en TCP/IP model
- OSI




Open System Interconnect
Reference model
Gids voor netwerkprototcol ontwerp
Bestaat uit 7 lagen
- Dit deel gaat opver laag 7: application layer
 OSI: Application layer, Presentation layer, Session layer
 TCP/IP: Application layer
– Application layer (L7): vooral uitwisselen van data mogelijk maken





DNS (Domain Name System)
– Om een DNS naam naar een IP adres om te zetten
HTTP (Hypertext Transfer Protocol)
– Om webpagina’s uit te wisselen
SMTP (Simple Mail Transfer Protocol)
– Mails uitwisselen (bv. met attachments)
Telnet
–Plaintext remote shell toelaten voor remote access
FTP (File Transfer Protocol)
–Interactief bestanden uitwisselen tussen systemen
Elk van bovenstaande protocols ligt vast in een RFC (IETF)
25
Computernetwerken: samenvatting alles
– Presentation layer


3 primaire functies
– Coderen en converteren van data
– Compresseren en decompresseren van data
– Encryptie en decryptie van data
Voorbeelden
–Quicktime, MPEG
–GIF, JPEG, TIFF
–Session layer

Gesprekken tussen source en destination onderhouden
De meeste huidige applicaties voorzien zelf ook functionaliteit van laag 5 en 6
(presentation en session layer)
26
Computernetwerken: samenvatting alles
Software in de applicatielaag
Deze software laat ons toe met het netwerk te werken.
2 soorten van software:
 Network-aware applicacties
- Wat wij zelf dagelijks gebruiken
- Typisch met grafische user interface
- Voorbeelden: Browser, mail, client,…
 Application layer services
- Diensten die worden aangeboden via het netwerk
- Typische diensten aan via een interface, niet grafisch
- Voorbeelden: Web service, netwerkprinter delen,…
27
Computernetwerken: samenvatting alles
Applicatielaag functionaliteiten
Voorzieningen voor applicaties en netwerken
Het client-server model
28
Computernetwerken: samenvatting alles
Servers
Een apparaat dat antwoord op requests van de client (applicaties)is een server.
Server voorziet soms extra functionaliteit naast basisfunctionaliteit.
Bijvoorbeeld: authenticatie
Op server draait meestal een achtergrondproces (daemon). Dit proces luistert en
antwoord op aanvraag (“listening”)
1 serever kan meerdere services aanbieden.
Bijvoorlbeeld: telnet, ssh, file, sharing, www,…
1 server kan de service tegelijkertijd aan meerdere clients aanbieden;
Bijvoorbeeld: duizenden gebruikers die op een website surfen
29
Computernetwerken: samenvatting alles
Peer-to-peer netwerken en applicaties
Bij client-server model is er 1 belangrijke machine: server.
Server is typisch zwaarder (hardware) en is dus “meerderwaardig”.
Server is typisch SPOF (Single Point Of Failure)
Bij peer-to-peer netwerken zijn de apparaten evenwaardig:
 Geen dedicated server nodig.
 Geen echte client/server nodig
 Gedecentraliseerd
 Voordelen
 Nadelen
Peer-to-peer applicaties:
 Apparaat is zowel client als server
 Iedereen kan communicatie initiëren en is evenwaardig
30
Computernetwerken: samenvatting alles

Ook hybride vormen mogelijk
–Bv. torrents idee
–1 of meerdere centrale servers om elkaar te vinden
–Eens een partner gevonden, kan de communicatie peer-to-peer gebeuren
Applicatie-laag protocollen en services: voorbeelden
Poortnummers
Transport layer zla een poortnummer gebruiken om de service te kunnen
onderscheiden voor wie het segment bedoelt is. Dit is dus eigenlijk de link tussen
layer 7 en layer 6.
Elke services heeft typisch een eigen poortnummer (meestal vast gedefineerd).
Bekende poortnummer:
 DNS: TCP/UDP poort 53
 HTTP: TCP poort 80
 SMTP: TCP poort 25
 POP: TCP poort 110
 Telnet: TCP poort 23
 DHCP: TCP poort 67
 FTP: TCP poort 20 en 21
DNS (Domain Name System)
IP adressen zijn niet eenvoudig te onthouden.
Bijvoorbeeld: zeker niet voor de tientallen websites die we dagelijks bezoeken.
DNS zet namen om naar IP-adressen
 Domein naam: bijvoorbeeld www.cisco.com
 IP adress: bijvoorbeeld 198.133.219.25
Gedistribueerd systeem
31
Computernetwerken: samenvatting alles
Eerste systeem: manueel bijhouden van host-file. Niet onderhoudbaar.
Opvolgers: centrale host file
 nadeel: te grote load op 1 machine
DNS: gedistribueerd over meerdere servers
 Voordelen:
 Load verdelen
 Administratieve delegatie
 Eigen beslissingen kunnen nemen
DNS protocol:
 Formaat voor queries
 Formaat voor antwoorden
 Dataformaten
DNS werkt volgens het client/server model. Maar client is zelf een service voor onder
andere browser, email- programma, ...


Wanneer deze programma’s name resolving nodig hebben, spreken ze de dns
client service aan
De DNS client service zal contact opnemen met de DNS server voor de
effectieve omzetting van naam -> IP
Record types (informatie die op de server wordt opgeslagen):




A: host -> ip mapping
NS: Name Server: geeft aan welke de authoritative name server is voor een
domein
CNAME: host -> host (vergelijkbaar met symbolic link in linux)
MX: Mail eXchange, voor het vinden van SMTP servers
DNS sever kijkt of hij naam kan resolven:
Indien ja => antwoorden
Indien nee =>
 Query doorsturen naar andere servers
 De client verder helpen met een link naar andere DNS server
DNS maakt veel gebruik van caching:
 Server-side
 Client-side (Ipconfig/displaydns commando)
Werking:
 Root servers zijn de bovenste in de boomstructuur. Deze bevatten links naar
de top-level domain servers
 Top-level domain servers zijn de servers die de domeinen .com, .net, .be, ...
beheren Deze bevatten links naar de second-level domain servers
 Second-level domain servers bevatten meestal gewone A-records,
32
Computernetwerken: samenvatting alles
of kunnen links bevatten naar subdomeinen.. (dit kan blijven doorgaan tot zeer
lange domeinnamen...)
HTTP (HyperText Transfer Protocol)
Voorbeeld: http://www.cisco.com/index.html
 http = protocol http
 www.cisco.com = naam van webserver
 index.html = webpagina op de webserver die moet worden opgehaald
Request/respons protocol:
 Client stuurt typisch een GET request naar webserver
 Webserver ontvangt webpagina en interpreteert deze…:
Plaintext, html, jpg, mpg, pdf,…
4 belangrijke berichten:
 GET:
- webpagina opvragen
 POST:
- Bij het invoeren van gegevens (formulier)
- Gegevens moeten worden doorgestuurd naar webserver
 HEAD
- vraag alleen header van het opvragen document
 PUT
- Zal bestanden uploaden naar server
33
Computernetwerken: samenvatting alles
HTTP is niet beveiligd:
Kan met authenticatie/encryptie beveiligd worden: HTTPS
E-mail services: SMTP en POP
POP: Post Office Protocol
 Ophalen van mail uit mailbox
SMTP: Simple Mail Transfer Protocol
 Verzenden van mail
MUA: Mail User Agent
Bijvoorbeeld: outlook, thunderbird,…
2 aparte processen op mailserver:
 MTA: Mail Transfer Agent
- Zorgt voor forwarden van emails naar andere mailservers
- Ontvangt deze mails van MUA of andere MTA
 MDA: Mail delivery Agent
- Zorgt voor het afleveren van een mail in lokale mailbox
- Enkel indien het emailadres overeenstemt
- Zorgt voor extra services: anti-virus, anti-spam, return-receipt
SMTP: enkele belangrijke commando’s
 HELO: identificatie (wordt niets mee gedaan)
 EHLO : idem als HELO, maar extensions
 MAIL FROM: aangeven van zender
 RCPT TO: aangeven van ontvanger
 DAT: aangeven van body van mailtje
34
Computernetwerken: samenvatting alles
Dikwijls wordt ook een “proprietary” protocol gebruikt voor decommunicatie tussen
MUA en MTA
Bv. Exchange, Lotus Notes, Novell Groupwise
Deze mailservers communiceren met externe systemen meestal wel via SMTP
35
Computernetwerken: samenvatting alles
Bekijken of mail voor het eigen domein bestemd is…
Verschil POP(3)-SMTP
36
Computernetwerken: samenvatting alles
FTP (File Transfer Protocol)
Uitwisselen van bestanden
PTPd (daemon) op server
Verbindingsproces:
 Eerst initieert de client connectie op poort 21
- Gebruikt voor doorgeven van de commando’s
 Daarna zet de client een tweede connectie op naar poort 20
- Gebruikt voor de echte file transfer
DHCP (Dynamic Host Configuration Protocol)
IP adressen toekennen:
 Kan manueel gebeuren
–Meestal administratieve nachtmerrie
 DHCP zal dynamisch IP adressen toekennen
Typisch niet alleen IP adres instellen .Ook subnetmasker, gateway, DNS server,
DHCP “leent” een adres uit voor een bepaalde tijd (lease time)
37
Computernetwerken: samenvatting alles
DHCP server kan op zeer uiteenlopende machines draaien



Op thuisrouter (lokaal netwerkje)
Op ISP routers (voor uitdelen adressen aan klanten)
Op speciale DHCP server (bv. op UNIX/Windows 2003)
Belangrijkste idee voor IP-adressering:


DHCP voor gewone hosts
–Indien de lease time voorbij of de client geeft het adres op komt dit IP-adres
opnieuw in de pool
»Interessant voor bv. laptops die korte tijd aangesloten zijn
Statische IP adressen voor speciale apparaten
–Servers, routers, ...
–Deze IP adressen wijzigen best niet te vaak
38
Computernetwerken: samenvatting alles
DHCP proces




DHCP discover
DHCP offer
DHCP request
DHCP acknowledge
DHCP server zorgt dat elke pc een eigen uniek IP adres heeft (bijhouden!)
Reeds eerder gebruikt IP adres kan opnieuw aangevraagd worden
Indien een andere client het IP adres in gebruik heeft of ondertussen
was een andere client voor, dan zal de DHCP een DHCP NAK sturen
SMB (Server Message Block)
File sharing protocol
Printers en bestanden delen over een Windows netwerk
39
Computernetwerken: samenvatting alles
SMB protocol beschrijft:


File system access
De manier waarop clients requests kunnen doen
SMB berichten



Starten, authenticeren en beëindigen van sessies
Controle over file en printer access
Berichten sturen en ontvangen tussen apparaten
P2P services en het Gnutella protocol
Peer-to-Peer idee
Delen van bestanden
Verschillende client applicaties die
hetzelfde protocol ondersteunen






BearShare
Limewire
Gnucleus
Morpheus
WinMX
Gnutella




Geen server voor lokaliseren van bestanden
Doorvertellen aan andere clients welke bestanden bekend zijn
File transfer zelf gebeurt aan de hand van HTTP
5 verschillende pakketten
– Ping: discovery
– Pong: antwoord op
discovery
– Query: bestanden
zoeken
– Query hit: antwoord
op een query
– Push: een download
request
40
Computernetwerken: samenvatting alles
Telnet
Een van de oudste TCP/IP applicatielaagprotocollen
Text-based terminal emuleren over een TCP/IP netwerk
Een verbinding is een Virtual Terminal sessie (VTY)
Typische CLI (Command Line Interface)
Verschillende clients
 Command prompt
 HyperTerminal
 Minicom
 TeraTerm
Opvolger: SSH (Secure SHell)


Altijd te verkiezen in omgevingen waar beveiliging belangrijk is
Tekst wordt geëncrypteerd alvorens te verzenden
41
Computernetwerken: samenvatting alles
4) Transportlayer
Rollen van de transportlaag
Doel van de transportlaag
Belangrijkste taken:
- Segmenteren van data, herassembleren van data:
Header toevoegen om te weten tot welke communicatie het segment behoort
- Verschillende communicaties tussen applicaties op source en destination host
beheren:
Weten naar welk applicatielaagprogramme de data moet
- De verschillende applicaties identificeren: poortnummers
De transportlaag is de link tussen de applicatielaag en de lagen die verantwoordelijk
zijn voor datatransmissie over een netwerk.
Vereisten op transportlaag niveau kunnen uiteenlopend zijn.
Sommige programma’s…:
 … vereisen strikte volgorde van segmenten
 … kunnen geen segmenten missen
 … moeten alle segmenten aankrijgen
42
Computernetwerken: samenvatting alles


… kunnen een bepaalde vertraging tolereren
–Bv. browser moet alles aankrijgen, maar kleine delay kan geen kwaad
… zijn zeer tijdskritisch
–Bv. Telefoongesprek over datanetwerk (VoIP)
Verschillende diensten worden aangeboden op de transportlaag:


Betrouwbare aflevering van segmenten
Onbetrouwbare maar snelle aflevering van segmenten
43
Computernetwerken: samenvatting alles
Beheren van conversaties
Segmenteren en herassembleren:
 Meeste netwerken hebben een max grootte voor de PDU
 Op source de data segmenteren
 Op destination herassembleren
Multiplexing van conversaties
Deze taak brengt heel wat met zich mee:
 De sessies opzetten
–Connectie logisch gezien opzetten, voor de effectieve datatransfer
 Betrouwbare levering
–Transport layer zorgt dat (indien nodig) alle segmenten aankomen
 Juiste volgorde levering
–Nummeren van segmenten zodat deze in de juiste volgorde
aankomen (segmenten kunnen immers ≠ paden volgen)
 Flow control
–Elk netwerk is beperkt qua bandbreedte
–Zorgen dat netwerk (of eindhost) niet overspoeld wordt
44
Computernetwerken: samenvatting alles
Ondersteunen van betrouwbare communicatie
Heel wat applicatielaag-protocollen vereisen betrouwbare communicatie: HTTP,
SMTP, FTP, POP3, IMAP4, ...
Basisfunctionaliteiten voor betrouwbaarheid
:
 Lijst bijhouden van de reeds verstuurde data
 Ontvangen data bevestigen
 Niet aangekomen (bevestigde) segmenten opnieuw versturen
De informatie voor deze functionaliteiten wordt opgenomenin de transport header
45
Computernetwerken: samenvatting alles
TCP en UDP
2 belangrijke protocols in de transportlaag
 UDP
– Connectionless (verbindingsloos)
–“Best effort” delivery (geen garanties)
– 8 bytes overhead voor header (quasi geen informatie nodig)
 TCP
–Connection-oriented
–Voorzieningen
»Volgorde van afleveren
»Betrouwbare levering
»Flow control
–20 bytes overhead voor deze voorzieningen in de header
46
Computernetwerken: samenvatting alles
Poortadressering
Zowel UDP als TCP moet weten aan welk applicatie de data moet
worden doorgegeven (de link met de applicatielaag). Poortnummers worden sowieso
in de header opgeslagen.
Telkens 2 poortnummers :



Source port
–Poort die op de verzender wordt gebruikt voor de communicatie
Destination port
–Poort die op de ontvanger wordt gebruikt voor de communicatie
Poortnummers worden toegekend op verschillende manieren:


Op client, wanneer een connectie wordt geopend, typisch een poortnummer
kiezen >=1024
Op server worden vaste poortnummers gekozen, afhankelijk van de
aangeboden service (POP3: 110, HTTP: 80, ...) poortnr < 1024
De combinatie van IP en poortnummer = SOCKET
Een socket identificeert op een unieke wijze de verbinding
47
Computernetwerken: samenvatting alles
Voorbeelden van sockets


Web server luistert op IP adres 192.123.2.4 op poort 80
–192.123.2.4:80 is de gebruikte socket op de server
Web browser op een pc met IP adres 123.124.125.126 initieert via poort
14332 een verbinding met een web server
–123.124.125.126:14332 is de gebruikte socket op de client
Poortnummers



0 tot 1023
–Well known ports (HTTP, FTP, SMTP, DNS, DHCP, ...)
1024 tot 49151
–Registered ports: gebruikerprocessen/applicaties
49152 tot 65535
–Dynamisch aan clients toekennen bij initiëren connective
Gezamenlijke poorten UDP/TCP
Poorten worden “uitgedeeld” door IANA (Internet Assigned Number Authority)
48
Computernetwerken: samenvatting alles
Segmentatie en herassembleren
TCP: betrouwbare communicatie
Conversaties betrouwbaar maken
Betrouwbaarheid kan enkel door eerst afspraken te maken
 Bij TCP wordt eerst een connectie aangemaakt
 Zo zijn zender/ontvanger klaar voor betrouwbare communicatie
Ontvanger verstuurt bevestigingen (acknowledgements) voor elk ontvangen
segment. Indien de zender niet na bepaalde tijd een bevestiging ontvangt, wordt het
segment opnieuw verzonden.
49
Computernetwerken: samenvatting alles
TCP server processen
Elk server-side proces heeft een uniek poortnummer. Er kunnen dus geen 2 services
zijn die op hetzelfde poortnummer luisteren!
50
Computernetwerken: samenvatting alles
TPC sessies beheren
Herordenen van segmenten
Tijdens setup (three-way handshake) wordt het ISN afgesproken:
 Initial Sequence Number (ISN)
 Vanaf dit nummer telkens met 1 verhogen
–Elk segment heeft zo een uniek nummer
–Volgorde kan worden nagegaan
51
Computernetwerken: samenvatting alles
UDP: communicatie zonder overhead
UDP – Lage overhead vs Betrouwbaarheid
UDP voorziet enkel basisfunctionaliteit
Geen betrouwbaarheid, hertransmissie, volgorde, flow control, ...
Applicaties gebaseerd op UDP zijn daarom niet onbetrouwbaar. Kunnen zelf een
vorm van betrouwbaarheid inbouwen
Belangrijkste protocollen die op UDP gebaseerd zijn:






DNS
SNMP
DHCP
RIP
TFTP
Online games
Liever een segment verloren dan veel te laat aankomen door hertransmissie
UDP datagram herassemblatie
PDU (protocol data unit) die bij UDP gebruikt wordt is een segment (Maar ook
dikwijls datagram genoemd)
Segmentatie moet nog steeds gebeuren


Herassembleren aan ontvangerskant dus ook!
–Geen volgorde afdwingen!
Ontvangerskant zal de segmenten gewoon 1 per 1 doorgeven aan de
applicatielaag
52
Computernetwerken: samenvatting alles
5) Networklayer
Inleiding
Tot nu toe:
Communicatie tussen end devices (eindapparaten)
In dit hoofdstuk:
–Hoe wordt de data van zender naar ontvanger gebracht?
–Belangrijke aspecten




Adressen
Pakketstructuur
Groeperen van hosts
Communicatie tussen netwerken via routing
53
Computernetwerken: samenvatting alles
IPv4
Netwerklaag: communicatie van host naar host
Netwerklaag voorziet transport end-to-end over een netwerk
Verschillende functies:
 Adressering
- Adressen voor eindapparaten voorzien
- Gebaseerd op IPv4 adressering
- Apparaat met IPv4 adres = host
 Encapsulatie
- Toevoegen van informatie voor L3
- Netwerklaag PDU = packet (pakket)
- Informatie omvat onder andere source en destination IP-adres
 Routing
- Source en destination zitten niet altijd op zelfde netwerk
- Routing (routering) nodig tussen beide hosts
- Routing gebeurt op alle tussenliggende routers
- Routing = selecteren van een pad op basis van het destination IPadres in het pakket
- Vooral bepalen wat de “next hop” is richting de destination
 Decapsulatie
- Bij destination apparaat
- Netwerklaag-header eraf strippen en de rest doorgeven aan de transportlaag
Netwerklaagprotocols:





IPv4
– Internet Protocol versie 4
IPv6
– Internet Protocol versie 6
IPX
– Novel Internetwork Packet Exchange
Appletalk
CLNS/DECNet – Connectionless Network Service
54
Computernetwerken: samenvatting alles
IPv4: Voorbeeld netwerklaagprotocol
In TCP/IP is IPv4 het netwerklaagprotocol
IPv4 is het enige L3 protocol dat op het Internet data vervoert
IPv6 bestaat reeds en wordt op sommige plaatsen gebruikt
 v4 en v6 zullen lange tijd naast elkaar blijven bestaan
 v4 zal nog wel een tijd in gebruik blijven
IP pakketten vervoeren L4 segmenten (UDP of TCP)
Zeer lage overhead
Enkel pakket van bron naar doel krijgen
Geen tracking van berichten (langs waar onderweg?) of managen van flow
Belangrijkste eigenschappen:




Verbindingloos
–Geen verbinding opzetten tussen zender en ontvanger, direct
pakketten versturen
Best Effort service
–Geen garanties
–Best doen om pakketten afgeleverd te krijgen
Media-onafhankelijk
–Kan over zeer uiteenlopende L2 en L1 protocollen werken
55
Computernetwerken: samenvatting alles
IPv4: Verbindingloos
Typevoorbeeld: brief sturen zonder de ontvanger eerst in te lichten
In tegenstelling tot bijvoorbeeld TCP
 Eerst connectie opzetten (three-way handshake)
 Daarna pas data uitwisselen
Geen velden toevoegen in header voor onderhouden verbinding
Verbindingsloos werken heeft voor- en nadelen:


weinig overhead
geen garanties
Hogere lagen moeten hiervoor zorgen (cf. TCP)
56
Computernetwerken: samenvatting alles
Best effort service (onbetrouwbaar)
Zeer kleine header
 Minder data te vervoeren
L3 moet zelfs niet weten WAT er vervoerd wordt
IP wordt dikwijls onbetrouwbaar genoemd

Indien een pakket verloren gaat wordt er niet opnieuw verzonden
Betrouwbaarheid wordt op L4 geïmplementeerd

Op Layer 3 zou niet interessant zijn omdat de applicatie niet beslist wat ze wil
(snelheid vs. betrouwbaarheid)
Media-onafhankelijk
IPv4 en IPv6 kunnen op verschillende media verstuurd worden
 Fiber
 Koper
 Wireless
 ...
57
Computernetwerken: samenvatting alles
IPv4 pakket: inpakken van transportlaag PDU
IPv4 pakket pakt een transportlaag PDU in
 Toevoegen van de IP header
Encapsulatie zorgt voor flexibiliteit
 Netwerklaag trekt zich niets aan van WAT er geëncapsuleerd wordt
Routers werken op de netwerklaag
 Bekijken alles tot en met de L3 header (dus L1->L3)
58
Computernetwerken: samenvatting alles
IPv4 pakket header
59
Computernetwerken: samenvatting alles
60
Computernetwerken: samenvatting alles
Netwerken: host in groepen verdelen
Netwerken: host onderdelen in groepen
Eerste idee achter internet: 1 groot network
 Moeilijk te managen
 Moeilijk schaalbaar
Om problemen te vermijden/op te lossen: Hosts in groepen onderverdelen
 Geografisch
 Doel
 Eigenaar
61
Computernetwerken: samenvatting alles
62
Computernetwerken: samenvatting alles
Waarom hosts in groepen verdelen?
Performantie


Bandbreedte is altijd gelimiteerd
Broadcast probleem: bericht naar iedereen sturen
 Broadcast komt regelmatig voor (dus weglaten is geen optie)
63
Computernetwerken: samenvatting alles
Security

Internet in de beginjaren: enkele overheidbedrijven enonderzoeksgroepen die
1 groot netwerk vormden
 Security geen probleem
 Internet tegenwoordig: bedrijven, organisaties, scholen, particulieren in 1 groot
netwerk
 Probleem beveiliging: bv. vertrouwelijke gegevens in een bedrijf
Adresmanagement






Elke computer moet een uniek IP-adres hebben
Elke computer kan niet alle adressen kennen van alle andere computers
Dit zou een serieus probleem betekenen qua management
Routers zouden zeer grote (en dus trage) routing tabellen bevatten
Hosts die met elkaar moeten communiceren samen plaatsen
Tussen deze groepen is communicatie ook mogelijk, maar dan via een
zogenaamde gateway
64
Computernetwerken: samenvatting alles
Hoe host indelen in groepen?
Netwerken van netwerken
IPv4 adressering is ook hiërarchisch
Typisch wordt een IP adres onderverdeeld in 4 groepen (bytes)
 Geschreven in dotted decimal notatie
65
Computernetwerken: samenvatting alles
Typisch 2 delen


Netwerkgedeelte: voor hosts in hetzelfde netwerk is dit gedeelte gelijk
Hostgedeelte: binnen een bepaald netwerkgedeelte is dit nummer uniek
Onderverdeling in netwerkgedeelte-hostgedeelte ahv subnetmasker





Subnetmasker is een 32-bits getal (ook in dotted decimal notatie)
Subnetmasker bevat 1-en om het netwerkgedeelte aan te geven
Subnetmasker bevat 0-en om het hostgedeelte aan te geven
Voorbeeld
–255.255.255.0
»3 netwerkbytes, 1 host byte
–255.255.0.0
»2 netwerkbytes, 2 host bytes
–255.192.0.0
»1 netwerkbyte + 2 netwerkbits, 2 host bytes + 6 host bits
»255.192.0.0 = 11111111.11000000.00000000.00000000
N
H
66
Computernetwerken: samenvatting alles
Routing: afhandeling van datapakketten
Parameters vd IP laag: communicatie naar andere netwerken
Binnen een subnetwerk kunnen hosts rechtstreeks met elkaar praten
 Geen tussenliggend L3 apparaat nodig (router)
Wanneer een host naar een ander netwerk wil sturen
 Tussenliggend L3 apparaat nodig (router)
 Gebruik maken van de “(default) gateway”
- Dit is de eerste router die op het netwerk van de zender aangesloten is en
die verbonden is met andere netwerken
67
Computernetwerken: samenvatting alles
IP pakketten: van zender tot ontvanger
Indien ontvanger in zelfde netwerk als verzender
 Direct afleveren
Indien ontvanger in ander netwerk als verzender
 Sturen naar default gateway (router)
 Bij elke tussenliggende router (startend bij de DG) een forwarding
 decision uitvoeren op basis van routeringstabellen
- Router haalt het pakketje helemaal open top op laag 3 en kijkt naar het
destination IP adres
- Het doelnetwerk waar de destination zich in bevindt kan dan
»Rechtstreeks aangesloten zijn: direct afleveren
»Verder weg liggen: forwarden naar volgende router (“next hop”)
68
Computernetwerken: samenvatting alles
69
Computernetwerken: samenvatting alles
70
Computernetwerken: samenvatting alles
71
Computernetwerken: samenvatting alles
De gateway: de weg naar andere netwerken
(Default) gateway zal pakketten naar andere netwerken versturen
Default gateway wordt typisch geconfigureerd op het besturingssysteem
72
Computernetwerken: samenvatting alles
Pakket kan pas doorgestuurd worden als er een route is

Zowel op host als op tussenliggende apparaten (routers)
Route bevat steeds een destination network + next hop
73
Computernetwerken: samenvatting alles
Een route: het pad naar een netwerk
Host routing tables
 Ook elke host heeft een routing table
–Meestal heel eenvoudig: directly connected networks + 1 default gateway
voor alle andere netwerken te bereiken
–Route add, route print, route change
74
Computernetwerken: samenvatting alles
Routing processen: hoe routes leren?
Delen van routes
Elke hop (router) moet een route naar destination hebben
 Anders wordt het pakket onderweg gedropt (waar geen route is)
Routing table moet dus alle nodige informatie bevatten
 Up-to-date
 Correct
Hoe informatie verkrijgen?
 Statisch: manueel ingeven
 Dynamisch via routing protocols
Statische routing
= Manueel configureren van elke route
Elk gekend destination netwerk moet een route hebben
Elke hop moet geconfigureerd zijn
Administratief moeilijk te onderhouden

Stel wijziging in topologie, link up-down, nieuwe links, ...
75
Computernetwerken: samenvatting alles
Dynamische routing
Gebruik van routing protocols:
 Algoritmen die de route-informatie uitwisselen tussen routers onderling
Wanneer een router nieuwe informatie ontvangt


Eigen routing table aanpassen
Andere routers op de hoogte brengen
Bekende routing protocols
:



Routing Information Protocol (RIP)
Enhanced Interior Gateway Protocol (EIGRP)
Open Shortest Path First (OSPF)
Nadelen:


Extra verkeer voor uitwisselen data
Sommige routing protocols vergen veel van de router
–CPU, memory, ...
–Naast de “hoofd”-taak van routers om pakketten door te sturen!
Meeste gevallen



Statische routes voor routes die waarschijnlijk niet wijzigen
Dynamische routes
Default routes
76
Download