10.0. Applicatielaag
10.0.1. Introductie
We ervaren internet via het World Wide Web wanneer we video’s streamen, online games spelen, chatten met en e-mailen met vrienden en winkelen voor deals op websites. Applicaties, zoals degene die worden gebruikt om de genoemde services te leveren, bieden de menselijke interface naar het onderliggende netwerk. Ze stellen ons in staat om relatief gemakkelijk gegevens te verzenden en te ontvangen. Meestal hebben we toegang tot deze applicaties en kunnen we ze gebruiken zonder te weten hoe ze werken. Voor netwerkprofessionals is het echter belangrijk om te weten hoe een applicatie in staat is om berichten die via het netwerk worden verzonden en ontvangen, te formatteren, verzenden en interpreteren.
Het visualiseren van de mechanismen die communicatie over het netwerk mogelijk maken, wordt gemakkelijker gemaakt als we het gelaagde raamwerk van het OSI-model gebruiken.
In dit hoofdstuk onderzoeken we de rol van de applicatielaag en hoe de applicaties, services en protocollen binnen de applicatielaag robuuste communicatie over datanetwerken mogelijk maken.
10.1. Applicatielaagprotocollen
10.1.1. Applicatie, sessie en presentatie
10.1.1.1. OSI- en TCP / IP-modellen herzien
Zoals weergegeven in de afbeelding, gebruiken netwerkprofessionals de OSI- en TCP / IP-modellen om zowel mondeling als in schriftelijke technische documentatie te communiceren. Als zodanig kan netwerkprofessional deze modellen gebruiken om het gedrag van protocollen en applicaties te beschrijven.
In het OSI-model worden gegevens van de ene laag naar de volgende doorgegeven, beginnend bij de applicatielaag op de verzendende host, en verder door de hiërarchie naar de fysieke laag, en vervolgens via het communicatiekanaal naar de bestemmingshost, waar de gegevens gaat terug omhoog in de hiërarchie en eindigt bij de applicatielaag.
De applicatielaag is de bovenste laag van zowel de OSI- als de TCP / IP-modellen. De TCP / IP-applicatielaag bevat een aantal protocollen die specifieke functionaliteit bieden aan een verscheidenheid aan eindgebruikerstoepassingen. De functionaliteit van de TCP / IP-toepassingslaagprotocollen past ruwweg in het raamwerk van de drie bovenste lagen van het OSI-model: applicatie-, presentatie- en sessielagen. De OSI-modellagen 5, 6 en 7 worden gebruikt als referenties voor ontwikkelaars en leveranciers van toepassingssoftware om producten te produceren, zoals webbrowsers die toegang moeten hebben tot netwerken.
10.1.1.2. Applicatielaag
De applicatielaag staat het dichtst bij de eindgebruiker. Zoals weergegeven in de afbeelding, is het de laag die de interface vormt tussen de applicaties die we gebruiken om te communiceren en het onderliggende netwerk waarover onze berichten worden verzonden. Toepassingslaagprotocollen worden gebruikt om gegevens uit te wisselen tussen programma’s die op de bron- en bestemmingshosts worden uitgevoerd. Er zijn veel protocollen voor toepassingslagen en er worden altijd nieuwe protocollen ontwikkeld. Enkele van de meest bekende toepassingslaagprotocollen zijn onder meer Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP), Internet Message Access Protocol (IMAP) en Domain Name System (DNS) -protocol.
10.1.1.3. Presentatie- en sessielagen
De presentatielaag
De presentatielaag heeft drie primaire functies:
- Presenteert gegevens van het bronapparaat in een compatibele vorm voor ontvangst door het bestemmingsapparaat.
- Compressie van de gegevens op een manier die kan worden gedecomprimeerd door het bestemmingsapparaat.
- Versleuteling van de gegevens voor verzending en ontsleuteling van gegevens bij ontvangst door de bestemming.
Zoals weergegeven in de afbeelding, formatteert de presentatielaag gegevens voor de applicatielaag en stelt het standaarden voor bestandsformaten. Enkele bekende standaarden voor video zijn onder meer QuickTime en Motion Picture Experts Group (MPEG). QuickTime is een Apple-computerspecificatie voor video en audio, en MPEG is een standaard voor video- en audiocompressie en -codering.
Tot de bekende grafische afbeeldingsindelingen die op netwerken worden gebruikt, behoren Graphics Interchange Format (GIF), Joint Photographic Experts Group (JPEG) en Portable Network Graphics (PNG) -indeling. GIF en JPEG zijn compressie- en coderingsstandaarden voor grafische afbeeldingen. PNG is ontworpen om enkele beperkingen van het GIF-formaat aan te pakken en het uiteindelijk te vervangen.
De sessielaag
Zoals de naam al aangeeft, creëren en onderhouden functies op de sessielaag dialogen tussen bron- en doelapplicaties. De sessielaag zorgt voor de uitwisseling van informatie om dialogen te starten, ze actief te houden en om sessies te herstarten die onderbroken of lange tijd niet actief zijn.
10.1.1.4. TCP/IP-toepassingslaagprotocollen
Hoewel het OSI-model de afzonderlijke applicatie-, presentatie- en sessiefunctie scheidt, bevatten de meest bekende en geïmplementeerde TCP/IP-applicaties de functionaliteit van alle drie de lagen.
De TCP/IP-toepassingsprotocollen specificeren het formaat en de besturingsinformatie die nodig zijn voor veel gangbare internetcommunicatiefuncties. Onder deze TCP/IP-protocollen zijn:
- Domain Name System (DNS) – Dit protocol zet internetnamen om in IP-adressen.
- Telnet – Dit wordt gebruikt om externe toegang tot servers en netwerkapparaten te bieden.
- Simple Mail Transfer Protocol (SMTP) – Dit protocol brengt e-mailberichten en bijlagen over.
- Dynamic Host Configuration Protocol (DHCP) – Een protocol dat wordt gebruikt om een IP-adres, subnetmasker, standaardgateway en DNS-serveradressen toe te wijzen aan een host.
- Hypertext Transfer Protocol (HTTP) – Dit protocol brengt bestanden over die de webpagina’s van het World Wide Web vormen.
- File Transfer Protocol (FTP) – Een protocol dat wordt gebruikt voor interactieve bestandsoverdracht tussen systemen.
- Trivial File Transfer Protocol (TFTP) – Dit protocol wordt gebruikt voor actieve bestandsoverdracht zonder verbinding.
- Bootstrap Protocol (BOOTP) – Dit protocol is een voorloper van het DHCP-protocol. BOOTP is een netwerkprotocol dat wordt gebruikt om IP-adresinformatie te verkrijgen tijdens het opstarten.
- Post Office Protocol (POP) – Een protocol dat door e-mailclients wordt gebruikt om e-mail op te halen van een externe server.
- Internet Message Access Protocol (IMAP) – Dit is een ander protocol voor het ophalen van e-mail.
Applicatielaagprotocollen worden gebruikt door zowel de bron- als de bestemmingsapparatuur tijdens een communicatiesessie. Voor een succesvolle communicatie moeten de toepassingslaagprotocollen die op de bron- en bestemmingshost zijn geïmplementeerd, compatibel zijn.
10.1.2. Hoe applicatieprotocollen samenwerken met applicaties van eindgebruikers
10.1.2.1. Peer-to-peer-netwerken
Bij het openen van informatie op een netwerkapparaat, of het nu een pc, laptop, tablet, smartphone of een ander apparaat is dat op een netwerk is aangesloten, worden de gegevens mogelijk niet fysiek op het apparaat opgeslagen. In dit geval moet een verzoek om toegang tot die informatie worden ingediend bij het apparaat waarop de gegevens zich bevinden. In het peer-to-peer (P2P) netwerkmodel worden de gegevens benaderd vanaf een peer-apparaat zonder het gebruik van een speciale server.
Het P2P-netwerkmodel bestaat uit twee delen: P2P-netwerken en P2P-applicaties. Beide onderdelen hebben vergelijkbare kenmerken, maar werken in de praktijk heel anders.
P2P-netwerken
In een P2P-netwerk zijn twee of meer computers verbonden via een netwerk en kunnen ze bronnen (zoals printers en bestanden) delen zonder een speciale server. Elk aangesloten eindapparaat (ook wel peer genoemd) kan zowel als server als client functioneren. De ene computer kan de rol van server op zich nemen voor de ene transactie en tegelijkertijd als client voor een andere dienen. De rollen van client en server worden per aanvraag ingesteld.
Een voorbeeld is een eenvoudig thuisnetwerk met twee computers. Peer2 heeft bijvoorbeeld een printer die rechtstreeks via USB is aangesloten en is ingesteld om de printer op het netwerk te delen, zodat Peer1 ernaar kan afdrukken. Peer1 is ingesteld om een schijf of map op het netwerk te delen. Hierdoor kan Peer2 bestanden openen en opslaan in de gedeelde map. Naast het delen van bestanden, zouden gebruikers met een netwerk zoals dit netwerkgames kunnen inschakelen of een internetverbinding kunnen delen.
P2P-netwerken decentraliseren de bronnen op een netwerk. In plaats van gegevens te lokaliseren die moeten worden gedeeld op speciale servers, kunnen gegevens overal en op elk aangesloten apparaat worden gelokaliseerd. De meeste van de huidige besturingssystemen ondersteunen het delen van bestanden en afdrukken zonder dat aanvullende serversoftware nodig is. P2P-netwerken gebruiken echter geen gecentraliseerde gebruikersaccounts of toegangsservers om machtigingen te behouden. Daarom is het moeilijk om beveiligings- en toegangsbeleid af te dwingen in netwerken met meer dan slechts een paar computers. Gebruikersaccounts en toegangsrechten moeten afzonderlijk worden ingesteld op elk peer-apparaat.
10.1.2.2. Peer-to-peer-applicaties
Een peer-to-peer (P2P) -toepassing stelt een apparaat in staat om zowel als client als server binnen dezelfde communicatie te fungeren, zoals weergegeven in de afbeelding. In dit model is elke client een server en elke server een client. Beiden kunnen een communicatie initiëren en worden als gelijkwaardig beschouwd in het communicatieproces. P2P-toepassingen vereisen echter dat elk eindapparaat een gebruikersinterface biedt en een achtergrondservice uitvoert. Wanneer u een specifieke P2P-applicatie start, laadt deze de vereiste gebruikersinterface en achtergrondservices; daarna kunnen de apparaten direct communiceren.
Sommige P2P-toepassingen gebruiken een hybride systeem waarbij het delen van bronnen is gedecentraliseerd, maar de indexen die naar bronlocaties verwijzen, worden opgeslagen in een gecentraliseerde directory. In een hybride systeem heeft elke peer toegang tot een indexserver om de locatie van een bron op een andere peer op te halen. De indexserver kan ook helpen bij het verbinden van twee peers, maar na verbinding vindt de communicatie plaats tussen de twee peers zonder aanvullende communicatie met de indexserver.
P2P-toepassingen kunnen worden gebruikt op P2P-netwerken, client / server-netwerken en op internet.
10.1.2.3. Algemene P2P-toepassingen
Met P2P-applicaties kan elke computer in het netwerk waarop de applicatie draait, fungeren als een client of een server voor de andere computers in het netwerk waarop de applicatie draait. Veel voorkomende P2P-toepassingen zijn:
- eDonkey
- eMule
- Shareaza
- BitTorrent
- Bitcoin
- LionShare
Sommige P2P-toepassingen zijn gebaseerd op het Gnutella-protocol. Ze stellen mensen in staat om bestanden op hun harde schijf met anderen te delen. Zoals weergegeven in de afbeelding, kunnen gebruikers met Gnutella-compatibele clientsoftware verbinding maken met Gnutella-services via internet en bronnen zoeken en openen die worden gedeeld door andere Gnutella-peers. Er zijn veel clienttoepassingen beschikbaar voor toegang tot het Gnutella-netwerk, waaronder BearShare, Gnucleus, LimeWire, Morpheus, WinMX en XoloX.
Terwijl het Gnutella Developer Forum het basisprotocol onderhoudt, ontwikkelen applicatieleveranciers vaak extensies om het protocol beter te laten werken met hun applicatie.
Veel P2P-applicaties gebruiken geen centrale database om alle bestanden op te nemen die beschikbaar zijn op de peers. In plaats daarvan vertellen de apparaten op het netwerk elk aan de anderen welke bestanden beschikbaar zijn wanneer ze worden opgevraagd, en gebruiken ze het protocol en de services voor het delen van bestanden om het lokaliseren van bronnen te ondersteunen.
10.1.2.4. Client-server-model
In het client-server-model wordt het apparaat dat de informatie opvraagt een client genoemd en het apparaat dat op het verzoek reageert, een server. Client- en serverprocessen worden geacht zich in de applicatielaag te bevinden. De client begint de uitwisseling door gegevens op te vragen bij de server, die reageert door een of meer gegevensstromen naar de client te sturen. Applicatielaagprotocollen beschrijven het formaat van de verzoeken en reacties tussen clients en servers. Naast de feitelijke gegevensoverdracht, kan deze uitwisseling ook gebruikersauthenticatie en de identificatie van een gegevensbestand vereisen dat moet worden overgedragen.
Een voorbeeld van een client-server-netwerk is het gebruik van de e-maildienst van een ISP om e-mail te verzenden, ontvangen en op te slaan. De e-mailclient op een thuiscomputer stuurt een verzoek naar de e-mailserver van de ISP voor ongelezen e-mail. De server reageert door de gevraagde e-mail naar de klant te sturen.
Hoewel gegevens doorgaans worden beschreven als stromen van de server naar de client, stromen sommige gegevens altijd van de client naar de server. De gegevensstroom kan in beide richtingen gelijk zijn, of zelfs groter in de richting van de client naar de server. Een client kan bijvoorbeeld een bestand naar de server verzenden voor opslagdoeleinden. Zoals weergegeven in de figuur, wordt gegevensoverdracht van een client naar een server een upload genoemd en gegevens van een server naar een client een download.
10.2. Bekende toepassingslaagprotocollen en -services
10.2.1. Algemene toepassingslaagprotocollen
10.2.1.1. Toepassingslaagprotocollen herzien
Er zijn tientallen protocollen voor toepassingslagen, maar op een normale dag gebruikt u er waarschijnlijk maar vijf of zes. Drie toepassingslaagprotocollen die betrokken zijn bij het dagelijkse werk of vrije tijd zijn:
- Hypertext Transfer Protocol (HTTP)
- Simple Mail Transfer Protocol (SMTP)
- Postkantoor Protocol (POP)
Deze toepassingslaagprotocollen maken het mogelijk om op internet te surfen en e-mail te verzenden en te ontvangen. HTTP wordt gebruikt om gebruikers in staat te stellen verbinding te maken met websites op internet. SMTP wordt gebruikt om gebruikers in staat te stellen e-mail te verzenden. En POP wordt gebruikt om gebruikers in staat te stellen e-mail te ontvangen.
De volgende pagina’s gaan over deze drie toepassingslaagprotocollen.
10.2.1.2. Hypertext Transfer Protocol en Hypertext Markup Language
Wanneer een webadres of Uniform Resource Locator (URL) in een webbrowser wordt getypt, brengt de webbrowser een verbinding tot stand met de webservice die op de server wordt uitgevoerd met behulp van het HTTP-protocol. URL’s en Uniform Resource Identifier (URI’s) zijn de namen die de meeste mensen met webadressen associëren.
De http://www.cisco.com/index.html URL is een voorbeeld van een URL die verwijst naar een specifieke bron; een webpagina met de naam index.html op een server die wordt aangeduid als cisco.com. Klik op elk cijfer om de stappen te zien die door HTTP worden gebruikt.
Webbrowsers zijn het type clienttoepassing dat een computer gebruikt om verbinding te maken met het World Wide Web en toegang te krijgen tot bronnen die op een webserver zijn opgeslagen. Zoals bij de meeste serverprocessen, draait de webserver als achtergrondservice en stelt hij verschillende soorten bestanden beschikbaar.
Om toegang te krijgen tot de inhoud, maken webclients verbinding met de server en vragen ze de gewenste bronnen aan. De server antwoordt met de bronnen en bij ontvangst interpreteert de browser de gegevens en presenteert deze aan de gebruiker.
Browsers kunnen veel gegevenstypen interpreteren en presenteren (zoals platte tekst of Hypertext Markup Language, de taal waarin webpagina’s zijn opgebouwd). Voor andere soorten gegevens is mogelijk een andere service of programma nodig, meestal plug-ins of add-ons genoemd. Om de browser te helpen bepalen welk type bestand het ontvangt, specificeert de server wat voor soort gegevens het bestand bevat.
Om beter te begrijpen hoe de webbrowser en de webclient samenwerken, kunnen we onderzoeken hoe een webpagina in een browser wordt geopend. Gebruik voor dit voorbeeld de http://www.cisco.com/index.html URL.
Ten eerste interpreteert de browser de drie delen van de URL:
- http (het protocol of schema)
- www.cisco.com (de servernaam)
- index.html (de specifieke gevraagde bestandsnaam)
De browser controleert vervolgens met een naamserver om www.cisco.com om te zetten in een numeriek adres dat wordt gebruikt om verbinding te maken met de server. Met behulp van HTTP-vereisten stuurt de browser een GET-verzoek naar de server en vraagt om het bestand index.html. De server stuurt de HTML-code voor deze webpagina naar de browser. Ten slotte ontcijfert de browser de HTML-code en formatteert de pagina voor het browservenster.
10.2.1.3. HTTP en HTTPS
HTTP wordt op het World Wide Web gebruikt voor gegevensoverdracht en is tegenwoordig een van de meest gebruikte toepassingsprotocollen. Het is oorspronkelijk ontwikkeld om eenvoudig HTML-pagina’s te publiceren en op te halen; De flexibiliteit van HTTP heeft het echter tot een essentiële toepassing gemaakt binnen gedistribueerde, samenwerkende informatiesystemen.
HTTP is een verzoek / antwoord-protocol. Wanneer een client, meestal een webbrowser, een verzoek naar een webserver verzendt, specificeerde HTTP de berichttypen die voor die communicatie worden gebruikt. De drie algemene berichttypen zijn GET, POST en PUT (zie de afbeelding).
GET is een klantverzoek om gegevens. Een client (webbrowser) stuurt het GET-bericht naar de webserver om HTML-pagina’s op te vragen. Wanneer de server het GET-verzoek ontvangt, reageert deze met een statusregel, zoals HTTP/1.1 200 OK, en een eigen bericht. Het bericht van de server kan het gevraagde HTML-bestand bevatten, indien beschikbaar, of het kan een fout- of informatiebericht bevatten, zoals ‘De locatie van het gevraagde bestand is gewijzigd’.
POST en PUT worden gebruikt om gegevensbestanden naar de webserver te uploaden. Wanneer de gebruiker bijvoorbeeld gegevens invoert in een formulier dat is ingesloten in een webpagina (zoals bij het invullen van een bestelverzoek), wordt het POST-bericht naar de webserver gestuurd. Inbegrepen in het POST-bericht zijn de gegevens die de gebruiker in het formulier heeft ingediend.
PUT uploadt bronnen of inhoud naar de webserver. Als een gebruiker bijvoorbeeld probeert een bestand of afbeelding naar een website te uploaden, wordt een PUT-bericht van de client naar de server gestuurd met het bijgevoegde bestand of de afbeelding.
Hoewel HTTP opmerkelijk flexibel is, is het geen veilig protocol. De verzoekberichten sturen informatie naar de server in platte tekst die kan worden onderschept en gelezen. Evenzo zijn de serverreacties, meestal HTML-pagina’s, ook niet versleuteld.
Voor veilige communicatie via internet wordt het HTTP Secure (HTTPS) -protocol gebruikt voor toegang tot of het plaatsen van webserverinformatie. HTTPS kan authenticatie en codering gebruiken om gegevens te beveiligen terwijl deze tussen de client en de server worden verzonden. HTTPS specificeert aanvullende regels voor het doorgeven van gegevens tussen de toepassingslaag en de transportlaag. HTTPS gebruikt hetzelfde client-verzoek-server-responsproces als HTTP, maar de gegevensstroom wordt gecodeerd met Secure Socket Layer (SSL) voordat deze over het netwerk wordt getransporteerd. HTTPS zorgt voor extra laad- en verwerkingstijd op de server vanwege de versleuteling en ontsleuteling van verkeer.
10.2.1.4. SMTP, POP en IMAP
Een van de belangrijkste services die door een ISP worden aangeboden, is e-mailhosting. E-mail heeft een revolutie teweeggebracht in de manier waarop mensen communiceren door zijn eenvoud en snelheid. Maar om op een computer of ander eindapparaat te kunnen werken, heeft e-mail verschillende toepassingen en services nodig.
E-mail is een opslag-en-doorstuurmethode voor het verzenden, opslaan en ophalen van elektronische berichten via een netwerk. E-mailberichten worden opgeslagen in databases op mailservers. ISP’s onderhouden vaak mailservers die veel verschillende klantaccounts ondersteunen.
E-mailclients communiceren met mailservers om e-mail te verzenden en te ontvangen. Mailservers communiceren met andere mailservers om berichten van het ene domein naar het andere te transporteren. Een e-mailclient communiceert niet rechtstreeks met een andere e-mailclient bij het verzenden van e-mail. In plaats daarvan vertrouwen beide clients op de mailserver om berichten te transporteren. Dit geldt zelfs als beide gebruikers zich in hetzelfde domein bevinden.
E-mailclients sturen berichten naar de e-mailserver die is geconfigureerd in de toepassingsinstellingen. Wanneer de server het bericht ontvangt, controleert hij of het ontvangende domein zich in zijn lokale database bevindt. Als dit niet het geval is, wordt een DNS-verzoek verzonden om het IP-adres van de mailserver voor het doeldomein te bepalen. De e-mail wordt vervolgens doorgestuurd naar de juiste server.
E-mail ondersteunt drie afzonderlijke protocollen: Simple Mail Transfer Protocol (SMTP), Post Office Protocol (POP) en Internet Message Access Protocol (IMAP). Het applicatielaagproces dat e-mail verzendt, gebruikt SMTP. Dit is het geval bij het verzenden van een client naar een server, maar ook bij het verzenden van de ene server naar de andere.
Een client haalt echter e-mail op met behulp van een van de twee toepassingslaagprotocollen: POP of IMAP.
Simple Mail Transfer Protocol
Simple Mail Transfer Protocol (SMTP) verstuurt e-mail betrouwbaar en efficiënt. Om SMTP-toepassingen correct te laten werken, moet het e-mailbericht correct zijn opgemaakt en moeten SMTP-processen op zowel de client als de server worden uitgevoerd.
SMTP-berichtindelingen vereisen een berichtkop en een berichttekst. Hoewel de berichttekst elke hoeveelheid tekst kan bevatten, moet de berichtkop een correct opgemaakt e-mailadres van de ontvanger en een afzenderadres hebben. Alle andere koptekstinformatie is optioneel.
Wanneer een client e-mail verzendt, maakt het client-SMTP-proces verbinding met een server-SMTP-proces op bekende poort 25. Nadat de verbinding tot stand is gebracht, probeert de client de e-mail via de verbinding naar de server te sturen. Wanneer de server het bericht ontvangt, plaatst deze het bericht in een lokale account, als de ontvanger lokaal is, of stuurt het bericht door met hetzelfde SMTP-verbindingsproces naar een andere mailserver voor bezorging.
De bestemmings-e-mailserver is mogelijk niet online of is mogelijk bezet wanneer e-mailberichten worden verzonden. Daarom spoolt SMTP berichten om op een later tijdstip te worden verzonden. Periodiek controleert de server de wachtrij op berichten en probeert deze opnieuw te verzenden. Als het bericht na een vooraf bepaalde vervaltijd nog steeds niet is afgeleverd, wordt het teruggestuurd naar de afzender als onbestelbaar.
Post Office Protocol
Met Post Office Protocol (POP) kan een werkstation e-mail ophalen van een mailserver. Met POP wordt e-mail van de server naar de client gedownload en vervolgens op de server verwijderd.
De server start de POP-service door passief te luisteren op TCP-poort 110 voor verbindingsverzoeken van klanten. Wanneer een klant gebruik wil maken van de dienst, stuurt deze een verzoek om een TCP-verbinding met de server tot stand te brengen. Wanneer de verbinding tot stand is gebracht, stuurt de POP-server een begroeting. De client en POP-server wisselen vervolgens opdrachten en reacties uit totdat de verbinding wordt verbroken of afgebroken.
Omdat e-mailberichten naar de client worden gedownload en van de server worden verwijderd, is er geen centrale locatie waar e-mailberichten worden bewaard. Omdat POP geen berichten opslaat, is het ongewenst voor een klein bedrijf dat een gecentraliseerde back-upoplossing nodig heeft.
POP3 is wenselijk voor een ISP, omdat het hun verantwoordelijkheid voor het beheren van grote hoeveelheden opslagruimte voor hun e-mailservers verlicht.
Internet Message Access Protocol
Internet Message Access Protocol (IMAP) is een ander protocol dat een methode beschrijft om e-mailberichten op te halen. In tegenstelling tot POP worden kopieën van de berichten gedownload naar de clienttoepassing wanneer de gebruiker verbinding maakt met een voor IMAP geschikte server. De originele berichten worden op de server bewaard totdat ze handmatig worden verwijderd. Gebruikers bekijken kopieën van de berichten in hun e-mailclientsoftware.
Gebruikers kunnen een bestandshiërarchie op de server maken om e-mail te organiseren en op te slaan. Die bestandsstructuur wordt ook op de e-mailclient gedupliceerd. Wanneer een gebruiker besluit een bericht te verwijderen, synchroniseert de server die actie en verwijdert het bericht van de server.
Voor kleine tot middelgrote bedrijven zijn er veel voordelen aan het gebruik van IMAP. IMAP biedt langdurige opslag van e-mailberichten op mailservers en maakt gecentraliseerde back-up mogelijk. Het stelt werknemers ook in staat om e-mailberichten te openen vanaf meerdere locaties, met behulp van verschillende apparaten of clientsoftware. De mappenstructuur van de mailbox die een gebruiker verwacht te zien, kan worden bekeken, ongeacht hoe de gebruiker de mailbox opent.
Voor een internetprovider is IMAP mogelijk niet het voorkeursprotocol. Het kan duur zijn om schijfruimte aan te schaffen en te behouden om het grote aantal opgeslagen e-mails te ondersteunen. Bovendien, als klanten verwachten dat er routinematig een back-up van hun mailboxen wordt gemaakt, kan dat de kosten voor de ISP verder verhogen.
10.2.2. IP-adresservices leveren
10.2.2.1. Domeinnaamservice
In datanetwerken zijn apparaten gelabeld met numerieke IP-adressen om gegevens via netwerken te verzenden en te ontvangen. De meeste mensen kunnen dit numerieke adres niet onthouden. Domeinnamen zijn gemaakt om het numerieke adres om te zetten in een eenvoudige, herkenbare naam.
Op internet zijn deze domeinnamen, zoals http://www.cisco.com, veel gemakkelijker te onthouden voor mensen dan 198.133.219.25, het daadwerkelijke numerieke adres voor deze server. Als Cisco besluit om het numerieke adres van www.cisco.com te wijzigen, is dit transparant voor de gebruiker, omdat de domeinnaam hetzelfde blijft. Het nieuwe adres wordt simpelweg gekoppeld aan de bestaande domeinnaam en de connectiviteit blijft behouden. Toen netwerken klein waren, was het een eenvoudige taak om de koppeling tussen domeinnamen en de adressen die ze vertegenwoordigden te onderhouden. Naarmate netwerken zijn gegroeid en het aantal apparaten toenam, werd dit handmatige systeem onwerkbaar.
Het Domain Name System (DNS) is gemaakt voor de omzetting van domeinnamen naar adressen voor deze netwerken. DNS gebruikt een gedistribueerde set servers om de namen op te lossen die aan deze genummerde adressen zijn gekoppeld. Klik op de knoppen in de afbeelding om de stappen te zien om DNS-adressen op te lossen.
Het DNS-protocol definieert een geautomatiseerde service die resourcenamen koppelt aan het vereiste numerieke netwerkadres. Het bevat de indeling voor vragen, antwoorden en gegevens. De DNS-protocolcommunicatie gebruikt een enkele indeling, een bericht genaamd. Deze berichtindeling wordt gebruikt voor alle soorten clientvragen en serverreacties, foutmeldingen en de overdracht van bronrecordinformatie tussen servers.
10.2.2.2. DNS-berichtformaat
Een DNS-server zorgt voor de naamomzetting met behulp van het Berkeley Internet Name Domain (BIND), of de naamdaemon, die vaak wordt genoemd (uitgesproken als naam-dee). BIND is oorspronkelijk ontwikkeld door vier studenten van de University of California Berkley in het begin van de jaren tachtig. Het DNS-berichtformaat dat door BIND wordt gebruikt is het meest gebruikte DNS-formaat op internet.
De DNS-server slaat verschillende soorten bronrecords op die worden gebruikt om namen om te zetten. Deze records bevatten de naam, het adres en het type record.
Enkele van deze recordtypen zijn:
- A – Een adres van een eindapparaat
- NS – Een gezaghebbende naamserver
- CNAME – De canonieke naam (of volledig gekwalificeerde domeinnaam) voor een alias; wordt gebruikt wanneer meerdere services hetzelfde netwerkadres hebben, maar elke service heeft zijn eigen vermelding in DNS
- MX – E-mailuitwisselingsrecord; wijst een domeinnaam toe aan een lijst met mailuitwisselingsservers voor dat domein
Wanneer een client een zoekopdracht doet, kijkt het BIND-proces van de server eerst naar zijn eigen records om de naam op te lossen. Als het de naam niet kan herleiden met behulp van zijn opgeslagen records, neemt het contact op met andere servers om de naam te achterhalen.
Het verzoek kan worden doorgegeven aan een aantal servers, wat extra tijd en bandbreedte kan kosten. Nadat een overeenkomst is gevonden en teruggestuurd naar de oorspronkelijke aanvragende server, slaat de server tijdelijk het genummerde adres op dat overeenkomt met de naam in het cachegeheugen.
Als dezelfde naam opnieuw wordt gevraagd, kan de eerste server het adres retourneren met behulp van de waarde die is opgeslagen in de naamcache. Caching vermindert zowel het DNS-gegevensnetwerkverkeer als de werkbelasting van servers hoger in de hiërarchie. De DNS Client-service op Windows-pc’s optimaliseert de prestaties van DNS-naamomzetting door ook eerder omgezette namen in het geheugen op te slaan. Met de opdracht ipconfig / displaydns worden alle DNS-vermeldingen in de cache op een Windows-computersysteem weergegeven.
10.2.2.3. DNS-hiërarchie
Het DNS-protocol maakt gebruik van een hiërarchisch systeem om een database te maken voor naamomzetting. De hiërarchie ziet eruit als een omgekeerde boom met de wortel bovenaan en takken eronder (zie de afbeelding). DNS gebruikt domeinnamen om de hiërarchie te vormen.
De naamgevingsstructuur is opgedeeld in kleine, beheersbare zones. Elke DNS-server onderhoudt een specifiek databasebestand en is alleen verantwoordelijk voor het beheer van naam-naar-IP-toewijzingen voor dat kleine deel van de gehele DNS-structuur. Wanneer een DNS-server een verzoek ontvangt voor een naamvertaling die niet binnen zijn DNS-zone valt, stuurt de DNS-server het verzoek door naar een andere DNS-server binnen de juiste zone voor vertaling.
Opmerking: DNS is schaalbaar omdat de hostnaamomzetting over meerdere servers is verspreid.
De verschillende topleveldomeinen vertegenwoordigen het type organisatie of het land van herkomst. Voorbeelden van hoofddomeinen zijn:
- .au – Australië
- .co – Colombia
- .com – een bedrijf of branche
- .jp – Japan
- .org – een non-profitorganisatie
Na top-level domeinen zijn domeinnamen van het tweede niveau, en daaronder zijn andere domeinen op een lager niveau. Elke domeinnaam is een pad door deze omgekeerde boom, beginnend bij de wortel. Zoals in de afbeelding wordt weergegeven, weet de root-DNS-server bijvoorbeeld niet precies waar het record voor de e-mailserver, mail.cisco.com, zich bevindt, maar houdt het een record bij voor het .com-domein binnen het hoofddomein . Evenzo hebben de servers binnen het .com-domein mogelijk geen record voor mail.cisco.com, maar ze hebben wel een record voor het domein. De servers binnen het cisco.com-domein hebben een record (een MX-record om precies te zijn) voor mail.cisco.com.
DNS vertrouwt op deze hiërarchie van gedecentraliseerde servers om deze bronrecords op te slaan en bij te houden. De bronrecords bevatten domeinnamen die de server kan omzetten en alternatieve servers die ook verzoeken kunnen verwerken. Als een bepaalde server bronrecords heeft die overeenkomen met zijn niveau in de domeinhiërarchie, wordt er gezegd dat hij gezaghebbend is voor die records. Een naamserver in het cisco.netacad.net-domein zou bijvoorbeeld niet gezaghebbend zijn voor het mail.cisco.com-record, omdat dat record wordt bewaard op een server op een hoger domeinniveau; specifiek de naamserver in het domein cisco.com.
10.2.2.4. nslookup
DNS is een client / server-service; het verschilt echter van de andere client / server-services. Terwijl andere services een client gebruiken die een applicatie is (zoals een webbrowser, e-mailclient), werkt de DNS-client zelf als een service. De DNS-client, ook wel de DNS-resolver genoemd, ondersteunt naamomzetting voor andere netwerktoepassingen en andere services die deze nodig hebben.
Bij het configureren van een netwerkapparaat verstrekken we doorgaans een of meer DNS-serveradressen die de DNS-client kan gebruiken voor naamomzetting. Gewoonlijk verstrekt de internetprovider (ISP) de adressen die voor de DNS-servers moeten worden gebruikt. Wanneer de applicatie van een gebruiker vraagt om op naam verbinding te maken met een extern apparaat, vraagt de verzoekende DNS-client een van deze naamservers om de naam om te zetten in een numeriek adres.
Computerbesturingssystemen hebben ook een hulpprogramma genaamd nslookup waarmee de gebruiker handmatig de naamservers kan opvragen om een bepaalde hostnaam op te lossen. Dit hulpprogramma kan ook worden gebruikt om problemen met naamomzetting op te lossen en om de huidige status van de naamservers te verifiëren.
C:\nslookup
Default Server: dns-sj.cisco.com
Address: 171.70.168.183
> www.cisco.com
Server: dns-sj.cisco.com
Address: 171.70.168.183
Name: www.cisco.com
Address: 198.133.219.25
>cisco.netacad.com
Server: dns-sj.cisco.com
Address: 171.70.168.183
Non-authorative answer:
Name: cisco.netacad.com
Address: 128.107.229.50
In het voorbeeld wordt, wanneer de opdracht nslookup wordt uitgegeven, de standaard DNS-server weergegeven die voor uw host is geconfigureerd. In dit voorbeeld is de DNS-server dns-sj.cisco.com met het adres 171.70.168.183.
De naam van een host of domein kan worden ingevoerd bij de nslookup-prompt. In de eerste vraag wordt gevraagd naar www.cisco.com. De antwoordende naamserver geeft het adres 198.133.219.25 op.
De vragen zijn slechts eenvoudige tests. Het hulpprogramma nslookup heeft veel opties beschikbaar voor uitgebreide tests en verificatie van het DNS-proces. Als u klaar bent, typt u exit om het hulpprogramma nslookup te verlaten.
10.2.2.5. Dynamic Host Configuration Protocol
Met de Dynamic Host Configuration Protocol (DHCP) -service kunnen apparaten in een netwerk IP-adressen en andere informatie van een DHCP-server verkrijgen. Deze service automatiseert de toewijzing van IP-adressen, subnetmaskers, gateway en andere IP-netwerkparameters. Dit wordt dynamische adressering genoemd. Het alternatief voor dynamische adressering is statische adressering. Bij gebruik van statische adressering voert de netwerkbeheerder handmatig IP-adresgegevens in op netwerkhosts.
Met DHCP kan een host dynamisch een IP-adres verkrijgen wanneer deze verbinding maakt met het netwerk. Er wordt contact opgenomen met de DHCP-server en er wordt een adres gevraagd. De DHCP-server kiest een adres uit een geconfigureerd adresbereik, een pool genaamd, en wijst het toe aan de host (verhuurt) voor een bepaalde periode.
Op grotere lokale netwerken, of waar de gebruikerspopulatie vaak verandert, heeft DHCP de voorkeur voor adrestoewijzing. Nieuwe gebruikers kunnen komen met laptops en hebben een verbinding nodig; anderen hebben misschien nieuwe werkstations die moeten worden aangesloten. In plaats van dat de netwerkbeheerder IP-adressen toewijst aan elk werkstation, is het efficiënter om IP-adressen automatisch te laten toewijzen met behulp van DHCP.
DHCP-gedistribueerde adressen worden niet permanent toegewezen aan hosts, maar worden alleen voor een bepaalde tijd verhuurd. Als de host wordt uitgeschakeld of van het netwerk wordt gehaald, wordt het adres teruggestuurd naar de pool voor hergebruik. Dit is vooral handig voor mobiele gebruikers die op een netwerk komen en gaan. Gebruikers kunnen vrij van locatie naar locatie gaan en netwerkverbindingen herstellen. De host kan een IP-adres verkrijgen nadat de hardwareverbinding tot stand is gebracht, via een bekabeld of draadloos LAN.
DHCP maakt het mogelijk om toegang te krijgen tot internet via draadloze hotspots op luchthavens of coffeeshops. Wanneer een draadloos apparaat een hotspot binnengaat, maakt de DHCP-client van het apparaat contact met de lokale DHCP-server via een draadloze verbinding, en de DHCP-server wijst een IP-adres toe aan het apparaat.
Zoals de afbeelding laat zien, kunnen verschillende soorten apparaten DHCP-servers zijn wanneer DHCP-servicesoftware wordt uitgevoerd. De DHCP-server in de meeste middelgrote tot grote netwerken is meestal een lokale speciale pc-server. Bij thuisnetwerken bevindt de DHCP-server zich meestal op de lokale router die het thuisnetwerk met de ISP verbindt. Lokale hosts ontvangen IP-adresinformatie rechtstreeks van de lokale router. De lokale router ontvangt een IP-adres van de DHCP-server bij de ISP.
DHCP kan een beveiligingsrisico vormen omdat elk apparaat dat op het netwerk is aangesloten een adres kan ontvangen. Dit risico maakt fysieke beveiliging een bepalende factor bij het gebruik van dynamische of handmatige adressering. Zowel dynamische als statische adressering hebben een plaats in netwerkontwerp. Veel netwerken gebruiken zowel DHCP als statische adressering. DHCP wordt gebruikt voor hosts voor algemene doeleinden, zoals apparaten voor eindgebruikers; statische adressering wordt gebruikt voor netwerkapparaten, zoals gateways, switches, servers en printers.
10.2.2.6. DHCP-werking
Zonder DHCP moeten gebruikers het IP-adres, het subnetmasker en andere netwerkinstellingen handmatig invoeren om zich bij het netwerk aan te sluiten. De DHCP-server houdt een pool van IP-adressen bij en least een adres aan elke voor DHCP geschikte client wanneer de client wordt ingeschakeld. Omdat de IP-adressen dynamisch (geleased) zijn, in plaats van statisch (permanent toegewezen), worden adressen die niet langer in gebruik zijn, automatisch teruggestuurd naar de pool voor herverdeling. Zoals weergegeven in de afbeelding, zendt de client een DHCP-detectie (DHCPDISCOVER) -bericht uit om beschikbare DHCP-servers op het netwerk te identificeren wanneer een DHCP-geconfigureerd apparaat opstart of verbinding maakt met het netwerk. Een DHCP-server antwoordt met een DHCP-aanbieding (DHCPOFFER) bericht, dat een lease aanbiedt aan de klant. Het aanbiedingsbericht bevat het IP-adres en het subnetmasker dat moet worden toegewezen, het IP-adres van de DNS-server en het IP-adres van de standaardgateway. Het huuraanbod omvat ook de duur van de huurovereenkomst.
De cliënt kan meerdere DHCPOFFER-berichten ontvangen als er meer dan één DHCP-server op het lokale netwerk is; daarom moet het tussen beide kiezen en een DHCP-verzoek (DHCPREQUEST) -bericht verzenden dat de expliciete server en het lease-aanbod identificeert dat de client accepteert. Een klant kan er ook voor kiezen om een adres op te vragen dat hem eerder door de server was toegewezen.
Ervan uitgaande dat het IP-adres dat door de client is aangevraagd of wordt aangeboden door de server, nog steeds beschikbaar is, stuurt de server een DHCP-bevestigingsbericht (DHCPACK) terug dat aan de client bevestigt dat de lease is voltooid. Als het aanbod niet langer geldig is, misschien als gevolg van een time-out of een andere client die de lease heeft genomen, antwoordt de geselecteerde server met een negatief DHCP-bevestigingsbericht (DHCPNAK). Als een DHCPNAK-bericht wordt geretourneerd, moet het selectieproces opnieuw beginnen met een nieuw DHCPDISCOVER-bericht dat wordt verzonden. Nadat de klant de lease heeft ontvangen, moet deze worden verlengd voordat de lease afloopt via een ander DHCPREQUEST-bericht.
De DHCP-server zorgt ervoor dat alle IP-adressen uniek zijn (hetzelfde IP-adres kan niet tegelijkertijd aan twee verschillende netwerkapparaten worden toegewezen). Door DHCP te gebruiken, kunnen netwerkbeheerders IP-adressen van clients eenvoudig opnieuw configureren zonder dat ze handmatig wijzigingen aan de clients hoeven aan te brengen. De meeste internetproviders gebruiken DHCP om adressen toe te wijzen aan hun klanten die geen statisch adres nodig hebben.
10.2.3. Het aanbieden van services voor het delen van bestanden
10.2.3.1. File Transfer Protocol
Het File Transfer Protocol (FTP) is een ander veelgebruikt protocol voor toepassingslagen. FTP is ontwikkeld om gegevensoverdracht tussen een client en een server mogelijk te maken. Een FTP-client is een applicatie die op een computer wordt uitgevoerd en die wordt gebruikt om gegevens te pushen en op te halen van een server waarop een FTP-daemon (FTPd) draait.
Zoals de afbeelding illustreert, heeft FTP twee verbindingen tussen de client en de server nodig om gegevens met succes over te dragen, één voor opdrachten en antwoorden, de andere voor de daadwerkelijke bestandsoverdracht:
De client brengt de eerste verbinding tot stand met de server voor controleverkeer, bestaande uit clientopdrachten en serverantwoorden.
De client brengt de tweede verbinding met de server tot stand voor de daadwerkelijke gegevensoverdracht. Deze verbinding wordt gemaakt telkens wanneer er gegevens moeten worden overgedragen.
De gegevensoverdracht kan in beide richtingen plaatsvinden. De cliënt kan data van de server downloaden (pull) of, de cliënt kan (push) data naar de server uploaden.
10.2.3.2. Server Message Block
Het Server Message Block (SMB) is een client / server-protocol voor het delen van bestanden, dat eind jaren tachtig door IBM is ontwikkeld om de structuur van gedeelde netwerkbronnen te beschrijven, zoals mappen, bestanden, printers en seriële poorten. Het is een verzoek-antwoordprotocol.
Het SMB-protocol beschrijft de toegang tot het bestandssysteem en hoe clients om bestanden kunnen verzoeken. Het beschrijft ook de communicatie tussen processen van het SMB-protocol. Alle SMB-berichten hebben een gemeenschappelijk formaat. Dit formaat gebruikt een koptekst met een vaste grootte, gevolgd door een parameter met een variabele grootte en een gegevenscomponent.
SMB-berichten kunnen:
- Sessies starten, verifiëren en beëindigen
- Beheer de toegang tot bestanden en printers
- Toestaan dat een app berichten van of naar een ander apparaat verzendt of ontvangt
SMB-bestandsuitwisseling en afdrukservices zijn de steunpilaren geworden van Microsoft-netwerken. Met de introductie van de Windows 2000-softwareserie heeft Microsoft de onderliggende structuur voor het gebruik van SMB gewijzigd. In eerdere versies van Microsoft-producten gebruikten de SMB-services een niet-TCP/IP-protocol om naamomzetting te implementeren. Vanaf Windows2000 gebruiken alle daaropvolgende Microsoft-producten DNS-naamgeving, waardoor TCP/IP-protocollen het delen van SMB-bronnen rechtstreeks ondersteunen, zoals weergegeven in bovenstaande afbeelding. Het proces van SMB-bestandsuitwisseling tussen Windows-pc’s wordt weergegeven in onderstaande afbeelding.
In tegenstelling tot het delen van bestanden dat wordt ondersteund door File Transfer Protocol (FTP), brengen clients een langdurige verbinding met servers tot stand. Nadat de verbinding tot stand is gebracht, heeft de gebruiker van de client toegang tot de bronnen op de server alsof de bron lokaal is ten opzichte van de clienthost.
De besturingssystemen LINUX en UNIX bieden ook een methode om bronnen te delen met Microsoft-netwerken met behulp van een versie van SMB genaamd SAMBA. De Apple Macintosh-besturingssystemen ondersteunen ook het delen van bronnen met behulp van het SMB-protocol.
10.3. De boodschap over de hele wereld gehoord
10.3.1. Move IT!
10.3.1.1. The Internet of Things
De applicatielaag is verantwoordelijk voor directe toegang tot de onderliggende processen die de communicatie via het netwerk beheren en leveren. Deze laag dient als bron en bestemming van communicatie over datanetwerken, ongeacht het type datanetwerk dat wordt gebruikt. De vooruitgang in de manier waarop we netwerken, heeft in feite een direct effect op het type applicaties dat wordt ontwikkeld.
Trends als Bring Your Own Device (BYOD), overal toegang, virtualisatie en machine-to-machine (m2m) verbindingen hebben plaatsgemaakt voor een nieuw soort applicaties. Geschat wordt dat tegen 2020 ongeveer 50 miljard apparaten verbonden zullen zijn. Alleen al in 2010 werden meer dan 350.000 applicaties ontwikkeld met meer dan drie miljoen downloads. Dit alles leidt tot een wereld van intuïtieve verbindingen tussen mensen, processen, gegevens en dingen op het netwerk.
Door smart-tagging en geavanceerde connectiviteit te gebruiken om onintelligente producten – van fietsen en flessen tot koelkasten en auto’s – te digitaliseren en te verbinden met internet, kunnen mensen en bedrijven op nieuwe en bijna onvoorstelbare manieren met elkaar communiceren. Objecten kunnen informatie verzamelen, ontvangen en verzenden naar gebruikers en andere verbonden objecten. Zoals de figuur laat zien, staat deze nieuwe golf in internetontwikkeling bekend als het internet der dingen!
Meer dan 100 miljoen automaten, voertuigen, rookmelders en andere apparaten delen vandaag al automatisch informatie, een cijfer dat marktanalisten van Berg Insight verwachten te stijgen tot 360 miljoen in 2016. Tegenwoordig kunnen fotokopieerapparaten met een M2M-module verse toner bestellen en papier automatisch of waarschuwt technici voor een storing – en vertel hen zelfs welke onderdelen ze moeten meenemen.
10.3.1.2. Berichten reizen via een netwerk
De enorme explosie van applicaties is grotendeels te danken aan het genie van de gelaagde benadering voor het verwerken van gegevens via een netwerk. Door de functionaliteit van de applicatielaag gescheiden te houden van de functionaliteit van het transporteren van de gegevens, kunnen de protocollen van de applicatielaag worden gewijzigd en nieuwe applicaties worden ontwikkeld, zonder dat de ontwikkelaar zich zorgen hoeft te maken over de mechanica om de gegevens over het netwerk te krijgen. Dat is de functionaliteit van andere lagen en dus van andere ontwikkelaars.
Zoals getoond in de figuur, wanneer een applicatie een verzoek naar een servertoepassing verzendt, wordt het bericht gebouwd door de applicatielaag, maar wordt het vervolgens door alle verschillende laagfunctionaliteiten op de client geleid voor aflevering. Terwijl het door de stapel beweegt, kapselt elke onderste laag de gegevens in met een header die de communicatieprotocollen voor die laag bevat. Deze protocollen, die zijn geïmplementeerd op zowel de verzendende als de ontvangende host, werken samen om end-to-end levering van applicaties via het netwerk te bieden.
Protocollen zoals HTTP ondersteunen bijvoorbeeld de levering van webpagina’s aan eindapparaten. Nu we alle verschillende lagen en hun functionaliteiten hebben geleerd, kunnen we een klantverzoek van een webpagina van de webserver volgen om te zien hoe elk van deze onafhankelijke functionaliteiten volledig samen werken.
Bij gebruik van het TCP / IP-model omvat een compleet communicatieproces zes stappen:
Creatie van de gegevens
De eerste stap is het creëren van gegevens op de applicatielaag van het oorspronkelijke bron-eindapparaat. In dit geval, na het bouwen van het verzoek van de webclient, bekend als een HTTP GET, worden die gegevens vervolgens gecodeerd, gecomprimeerd en indien nodig gecodeerd. Dit is de taak van het applicatielaagprotocol binnen het TCP / IP-model – maar dit omvat ook de functionaliteit die wordt beschreven door de applicatie-, presentatie- en sessielagen van het OSI-model. De applicatielaag stuurt deze data als een stroom naar de transportlaag.
Segmentatie en initiële inkapseling
De volgende stap is het segmenteren en inkapselen van de gegevens terwijl ze door de protocolstapel gaan. Op de transportlaag wordt het HTTP GET-bericht opgesplitst in kleinere, beter beheersbare stukken en aan elk deel van het bericht wordt een koptekst van de transportlaag toegevoegd. Binnen de koptekst van de transportlaag bevinden zich indicatoren voor het opnieuw opbouwen van het bericht. Ook inbegrepen is een identificatie, poortnummer 80. Dit wordt gebruikt om de doelserver te vertellen dat het bericht bestemd is voor zijn webservertoepassing. Er wordt ook een willekeurig gegenereerde bronpoort toegevoegd om ervoor te zorgen dat de client de retourcommunicatie kan volgen en doorsturen naar de juiste clienttoepassing.
10.3.1.3. De gegevens naar het eindapparaat sturen
Vervolgens worden adres-ID’s aan de segmenten toegevoegd, zoals weergegeven in de afbeelding. Net zoals er meerdere protocollenlagen zijn die de gegevens voorbereiden voor verzending naar de bestemming, zijn er meerdere adresseringslagen om de levering ervan te garanderen. De rol van de netwerklaag is om adressering toe te voegen die de overdracht van de gegevens mogelijk maakt van de host waaruit de gegevens afkomstig zijn, naar de host die deze gebruikt. De netwerklaag bereikt dit door elk segment in te kapselen in een IP-pakketkop. De IP-pakketkop bevat de IP-adressen van de bron- en bestemmingsapparaten. (Het IP-adres van het bestemmingsapparaat wordt meestal bepaald via een eerder aanvraagproces dat bekend staat als domeinnaamservice.) De combinatie van het bron- en bestemmings-IP-adres met het bron- en bestemmingspoortnummer wordt een socket genoemd. De socket wordt gebruikt om de server en service te identificeren die door de client worden aangevraagd.
10.3.1.4. De gegevens ophalen via internet
Voorbereiden op transport
Nadat IP-adressering is toegevoegd, wordt het pakket doorgegeven aan de netwerktoegangslaag voor het genereren van de gegevens op de media, zoals weergegeven in de afbeelding. Om dit te laten gebeuren, moet de netwerktoegangslaag het pakket eerst voorbereiden voor verzending door het in een frame met een header en trailer te plaatsen. Dit frame bevat het fysieke hostadres van de bron, evenals het fysieke adres van de volgende sprong op het pad naar de eindbestemming. Dit komt overeen met de Layer 2, of datalinklaag, functionaliteit van het OSI-model. Laag 2 houdt zich bezig met het afleveren van berichten op één lokaal netwerk. Het Layer 2-adres is uniek op het lokale netwerk en vertegenwoordigt het adres van het eindapparaat op de fysieke media. In een LAN dat gebruikmaakt van Ethernet, wordt dit adres het Media Access Control-adres (MAC) genoemd. Zodra de netwerktoegangslaag het frame met bron- en bestemmingsadressen heeft voorbereid, codeert het het frame in bits en vervolgens in elektrische pulsen of lichtflitsen die over de netwerkmedia worden verzonden.
Transporteren van de gegevens
De gegevens worden getransporteerd via het internetwerk, dat bestaat uit media en eventuele tussenliggende apparaten. Omdat het ingekapselde bericht over het netwerk wordt verzonden, kan het zich via verschillende media en netwerktypes verplaatsen. De netwerktoegangslaag specificeert de technieken om het frame aan en uit elk medium te krijgen, ook wel bekend als de mediatoegangscontrolemethode.
Als de bestemmingshost zich in hetzelfde netwerk bevindt als de bronhost, wordt het pakket tussen de twee hosts op de lokale media afgeleverd zonder dat er een router nodig is. Als de bestemmingshost en de bronhost zich echter niet in hetzelfde netwerk bevinden, kan het pakket via veel netwerken, op veel verschillende mediatypen en via veel routers worden overgedragen. Terwijl het door het netwerk gaat, wordt de informatie in het frame niet gewijzigd.
Op de grens van elk lokaal netwerk ontkapselt een tussenliggend netwerkapparaat, meestal een router, het frame om het bestemmingshostadres in de header van het pakket te lezen. Routers gebruiken het netwerkidentificatiegedeelte van dit adres om te bepalen welk pad moet worden gebruikt om de bestemmingshost te bereiken. Zodra het pad is bepaald, kapselt de router het pakket in een nieuw frame in en stuurt het naar de volgende hop op weg naar het eindapparaat van de bestemming
10.3.1.5. De gegevens naar de juiste toepassing krijgen
Ten slotte wordt bij het eindapparaat van de bestemming het frame ontvangen. De-inkapseling en het opnieuw samenvoegen van de gegevens vindt plaats wanneer de gegevens door de stapel in het bestemmingsapparaat worden doorgegeven. De gegevens worden continu door de lagen heen gestuurd, van de netwerktoegangslaag naar de netwerklaag, naar de transportlaag, totdat ze uiteindelijk de applicatielaag bereiken en vervolgens kunnen worden verwerkt. Maar hoe kan het apparaat er zeker van zijn dat het juiste aanvraagproces wordt geïdentificeerd?
U moet herinneren dat op de transportlaag de informatie in de PDU-header het specifieke proces of de service identificeert die op het bestemmingshostapparaat wordt uitgevoerd en die op de gegevens zal reageren. Hosts, of het nu clients of servers op internet zijn, kunnen meerdere netwerktoepassingen tegelijkertijd uitvoeren. Mensen die pc’s gebruiken, hebben vaak een e-mailclient die tegelijk met een webbrowser wordt uitgevoerd, een instant messaging-programma, bepaalde streaming media en misschien zelfs een game. Al deze afzonderlijk draaiende programma’s zijn voorbeelden van individuele processen.
Het bekijken van een webpagina roept ten minste één netwerkproces op. Door op een hyperlink te klikken, communiceert een webbrowser met een webserver. Tegelijkertijd kan op de achtergrond een e-mailclient e-mail verzenden en ontvangen, en een collega of vriend kan een expresbericht verzenden.
Denk aan een computer die maar één netwerkinterface heeft. Alle datastromen die zijn gemaakt door de applicaties die op de pc draaien, komen binnen en verlaten die ene interface, maar instant messages verschijnen niet plotseling midden in tekstverwerkingsdocumenten, noch verschijnen e-mails in de interface van een game.
Dit komt doordat de afzonderlijke processen die op de bron- en bestemmingshosts worden uitgevoerd, met elkaar communiceren. Elke applicatie of dienst wordt op laag 4 vertegenwoordigd door een poortnummer. Een unieke dialoog tussen apparaten wordt geïdentificeerd met een paar Layer 4 bron- en bestemmingspoortnummers die representatief zijn voor de twee communicerende applicaties. Wanneer de gegevens bij de host zijn ontvangen, wordt het poortnummer onderzocht om te bepalen welke applicatie of proces de juiste bestemming voor de gegevens is.
10.4. Samenvatting
De applicatielaag is verantwoordelijk voor directe toegang tot de onderliggende processen die communicatie beheren en leveren aan het menselijke netwerk. Deze laag dient als bron en bestemming van communicatie over datanetwerken. De applicaties, services en protocollen van de toepassingslaag stellen gebruikers in staat om op een zinvolle en effectieve manier met het datanetwerk te communiceren.
- Applicaties zijn computerprogramma’s waarmee de gebruiker communiceert en die op verzoek van de gebruiker het proces van gegevensoverdracht starten.
- Services zijn achtergrondprogramma’s die de verbinding maken tussen de applicatielaag en de onderste lagen van het netwerkmodel.
- Protocollen bieden een structuur van overeengekomen regels en processen die ervoor zorgen dat services die op een bepaald apparaat worden uitgevoerd, gegevens kunnen verzenden en ontvangen vanaf een reeks verschillende netwerkapparaten.
Levering van gegevens via het netwerk kan worden aangevraagd bij een server door een client, of tussen apparaten die werken in een P2P-opstelling, waarbij de client / server-relatie tot stand wordt gebracht, afhankelijk van welk apparaat op dat moment de bron en bestemming is. Berichten worden uitgewisseld tussen de applicatielaagdiensten op elk eindapparaat in overeenstemming met de protocolspecificaties om deze relaties tot stand te brengen en te gebruiken.
Protocollen zoals HTTP ondersteunen bijvoorbeeld de levering van webpagina’s aan eindapparaten. SMTP en POP ondersteunen het verzenden en ontvangen van e-mail. Met SMB en FTP kunnen gebruikers bestanden delen. P2P-toepassingen maken het voor consumenten gemakkelijker om naadloos media en gedistribueerd te delen. DNS zet de voor mensen leesbare namen die worden gebruikt om naar netwerkbronnen te verwijzen, om in numerieke adressen die door het netwerk kunnen worden gebruikt. Clouds zijn afgelegen stroomopwaartse locaties die gegevens opslaan en toepassingen hosten, zodat gebruikers niet zoveel lokale bronnen nodig hebben en zodat gebruikers naadloos toegang hebben tot inhoud op verschillende apparaten vanaf elke locatie.
Al deze elementen werken samen, op de applicatielaag. De applicatielaag stelt gebruikers in staat om via internet te werken en te spelen.