Hoe werkt het Internet?

© 2002 Rus Shuler @ Pomeroy IT Solutions, all rights reserved

inhoud

  1. Inleiding
  2. waar beginnen? Internetadressen
  3. Protocolstacks en pakketten
  4. netwerkinfrastructuur
  5. internetinfrastructuur
  6. de Internetrouteringshiërarchie
  7. domeinnamen en Adresresolutie
  8. internetprotocollen opnieuw bekeken
  9. toepassingsprotocollen: HTTP en het World Wide Web
  10. toepassingsprotocollen: HTTP en het World Wide Web
  11. : SMTP en elektronische post
  12. Transmission Control Protocol
  13. Internet Protocol
  14. Wrap Up
  15. bronnen
  16. Bibliografie

Inleiding

Hoe werkt het Internet? Goede vraag! De groei van het Internet is explosief geworden en het lijkt onmogelijk om te ontsnappen aan het bombardement van www.com ‘ s constant gezien op televisie, gehoord op de radio, en gezien in tijdschriften. Omdat het Internet zo ‘ n groot deel van ons leven is geworden, is een goed begrip nodig om deze nieuwe tool zo effectief mogelijk te gebruiken.

dit whitepaper legt de onderliggende infrastructuur en technologieën uit die het Internet laten werken. Het gaat niet in grote diepte, maar beslaat genoeg van elk gebied om een basis begrip van de betrokken concepten te geven. Voor alle onbeantwoorde vragen, een lijst van middelen wordt verstrekt aan het einde van het document. Eventuele opmerkingen, suggesties, vragen, enz. worden aangemoedigd en kunnen worden gericht aan de auteur op [email protected].

waar moet ik beginnen? Internetadressen

omdat Internet een wereldwijd netwerk van computers is, moet elke computer die met Internet is verbonden een uniek adres hebben. Internetadressen zijn in de vorm nnn.nnn.nnn.nnn waarbij nnn een getal moet zijn van 0-255. Dit adres staat bekend als een IP-adres. (IP staat voor Internet Protocol; hierover later meer.)

de afbeelding hieronder toont twee computers die met Internet zijn verbonden; uw computer met IP-adres 1.2.3.4 en een andere computer met IP-adres 5.6.7.8. Het Internet wordt weergegeven als een abstract object ertussen. (Naarmate dit artikel vordert, zal het internetgedeelte van Diagram 1 worden uitgelegd en meerdere malen opnieuw worden getekend naarmate de details van het Internet worden blootgelegd.)

Diagram 1

Diagram 1

Als u verbinding maakt met het Internet via een Internet Service Provider (ISP), krijgt u meestal een tijdelijk IP-adres toegewezen voor de duur van uw inbelsessie. Als u verbinding maakt met Internet vanaf een LAN (local area network), kan uw computer een permanent IP-adres hebben of een tijdelijk IP-adres verkrijgen van een DHCP-server (Dynamic Host Configuration Protocol). In ieder geval, als u bent verbonden met het Internet, uw computer heeft een uniek IP-adres.

Check It Out-het Ping programma

Als u Microsoft Windows of een flavor van Unix gebruikt en een verbinding met het Internet hebt, is er een handig programma om te zien of een computer op het Internet in leven is. Het heet ping, waarschijnlijk naar het geluid van oudere sonarsystemen.1 Als u Windows gebruikt, start u een opdrachtpromptvenster. Als je een flavor van Unix gebruikt, ga dan naar een opdrachtprompt. Type ping www.yahoo.com. het ping programma zal een ‘ping’ (eigenlijk een ICMP (Internet Control Message Protocol) echo request bericht) naar de genoemde computer sturen. De gepingde computer zal reageren met een antwoord. Het ping programma zal de verlopen tijd tellen totdat het antwoord terugkomt (als dat zo is). Ook, als u een domeinnaam (d.w.z. www.yahoo.com) in plaats van een IP-adres, zal ping de domeinnaam oplossen en het IP-adres van de computer weergeven. Meer over domeinnamen en adresresolutie later.

Protocolstacks en pakketten

zodat uw computer is verbonden met het Internet en een uniek adres heeft. Hoe ‘praat’ het met andere computers die verbonden zijn met het Internet? Een voorbeeld zou hier moeten dienen: laten we zeggen dat uw IP-adres 1.2.3 is.4 en je wilt een bericht sturen naar de computer 5.6.7.8. Het bericht dat u wilt verzenden is ” Hallo computer 5.6.7.8!”. Het is duidelijk dat het bericht moet worden verzonden via welke draad dan ook die uw computer met het Internet verbindt. Stel dat je thuis in je internetprovider hebt gebeld en het bericht via de telefoonlijn moet worden verzonden. Daarom moet het bericht worden vertaald van alfabetische tekst in elektronische signalen, verzonden via het Internet en vervolgens vertaald terug in alfabetische tekst. Hoe wordt dit bereikt? Door het gebruik van een protocol stack. Elke computer heeft er een nodig om te communiceren op het Internet en het is meestal ingebouwd in het besturingssysteem van de computer (bijvoorbeeld Windows, Unix, enz.). De protocolstack die op het Internet wordt gebruikt, wordt aangeduid als de TCP / IP-protocolstack vanwege de twee belangrijkste communicatieprotocollen die worden gebruikt. De TCP / IP stack ziet er als volgt uit:

protocollaag toepassingsprotocollen laag protocollen specifiek voor toepassingen zoals WWW, e-mail, FTP, enz.
Transmission Control Protocol Layer TCP stuurt pakketten naar een specifieke toepassing op een computer met behulp van een poortnummer.
Internet Protocol Layer IP stuurt pakketten naar een specifieke computer met behulp van een IP-adres.
Hardware Layer converteert binaire pakketgegevens naar netwerksignalen en terug.
(bijvoorbeeld ethernet-netwerkkaart, modem voor telefoonlijnen, enz.)

als we het pad zouden volgen dat het bericht ” Hello computer 5.6.7.8!”took from our computer to the computer with IP address 5.6.7.8, it would happen something like this:

Diagram 2

Diagram 2

  1. het bericht zou beginnen bij de top van het protocol stack op uw computer en werk het is veel naar beneden.
  2. als het bericht lang is, kan elke stapellaag waar het bericht doorheen gaat het bericht opsplitsen in kleinere stukjes data. Dit komt omdat gegevens die via het Internet (en de meeste computernetwerken) worden verzonden in beheersbare brokken worden verzonden. Op het Internet staan deze stukken data bekend als pakketten.
  3. de pakketten zouden door de applicatielaag gaan en doorgaan naar de TCP-laag. Elk pakket krijgt een poortnummer toegewezen. Ports zullen later worden uitgelegd, maar het volstaat om te zeggen dat veel programma ‘ s de TCP/IP stack gebruiken en berichten versturen. We moeten weten welk programma op de bestemmingscomputer het bericht moet ontvangen omdat het op een specifieke poort zal luisteren.
  4. na het doorlopen van de TCP-laag gaan de pakketten door naar de IP-laag. Dit is waar elk pakket zijn bestemmingsadres ontvangt, 5.6.7.8.
  5. nu onze berichtenpakketten een poortnummer en een IP-adres hebben, zijn ze klaar om via Internet verzonden te worden. De hardwarelaag zorgt ervoor dat onze pakketten met de alfabetische tekst van ons bericht in elektronische signalen worden omgezet en via de telefoonlijn worden verzonden.
  6. aan de andere kant van de telefoonlijn heeft uw internetprovider een directe verbinding met het Internet. De ISPs-router onderzoekt het bestemmingsadres in elk pakket en bepaalt waar het moet worden verzonden. Vaak is de volgende stop van het pakket een andere router. Meer over routers en Internet infrastructuur later.
  7. uiteindelijk bereiken de pakketten de computer 5.6.7.8. Hier beginnen de pakketten onderaan de TCP/IP-stack van de doelcomputer en werken ze naar boven.
  8. als de pakketten omhoog gaan door de stack, worden alle routeringsgegevens die door de stack van de verzendende computer zijn toegevoegd (zoals IP-adres en poortnummer) verwijderd van de pakketten.
  9. wanneer de data de top van de stack bereikt, zijn de pakketten opnieuw samengesteld in hun oorspronkelijke vorm, ” Hello computer 5.6.7.8!”

netwerkinfrastructuur

dus nu weet je hoe pakketten van de ene computer naar de andere reizen via het Internet. Maar wat zit er tussen? Wat maakt het Internet eigenlijk uit? Laten we een ander diagram bekijken:

Diagram 3

Diagram 3

hier zien we Diagram 1 opnieuw getekend met meer details. De fysieke verbinding via het telefoonnetwerk naar de Internet Service Provider zou kunnen zijn gemakkelijk te raden, maar verder dan dat kan enige verklaring dragen.

de ISP onderhoudt een pool van modems voor hun inbelklanten. Dit wordt beheerd door een of andere vorm van computer (meestal een dedicated) die de gegevensstroom van de modem pool naar een backbone of dedicated line router regelt. Deze setup kan worden aangeduid als een poort server, omdat het ‘dient’ toegang tot het netwerk. Facturering en gebruiksinformatie wordt meestal hier ook verzameld.

nadat uw pakketten het telefoonnetwerk en de lokale apparatuur van uw ISP doorkruisen, worden ze naar de backbone van de ISP of een backbone van de ISP gekocht bandbreedte. Vanaf hier zullen de pakketten meestal door meerdere routers en over meerdere backbones, speciale lijnen en andere netwerken reizen totdat ze hun bestemming vinden, de computer met adres 5.6.7.8. Maar zou het niet leuk zijn als we wisten welke route onze pakketjes het Internet overnemen? Het blijkt dat er een manier is…

Check It Out-het Traceroute programma

Als u Microsoft Windows of een flavor van Unix gebruikt en een verbinding met het Internet hebt, is hier een ander handig internetprogramma. Deze heet traceroute en het toont het pad dat uw pakketten nemen naar een bepaalde Internet bestemming. Net als ping moet u traceroute gebruiken vanaf een opdrachtprompt. Gebruik tracert In Windows www.yahoo.com. typ traceroute vanaf een UNIX-prompt www.yahoo.com. net als ping kunt u ook IP-adressen invoeren in plaats van domeinnamen. Traceroute zal een lijst afdrukken van alle routers, computers en andere internetentiteiten die uw pakketten moeten doorlopen om naar hun bestemming te komen.

Als u traceroute gebruikt, zult u merken dat uw pakketten door veel dingen moeten reizen om op hun bestemming te komen. De meeste hebben lange namen zoals sjc2-core1-h2-0-0.atlas.digex.net en fddi0-0.br4.SJC.globalcenter.net. dit zijn internetrouters die beslissen waar u uw pakketten naartoe stuurt. Verschillende routers worden weergegeven in Figuur 3, maar slechts een paar. Diagram 3 is bedoeld om een eenvoudige netwerkstructuur te tonen. Het Internet is veel complexer.

internetinfrastructuur

de backbone van het Internet bestaat uit vele grote netwerken die met elkaar verbonden zijn. Deze grote netwerken staan bekend als Network Service Providers of NSP ‘ s. Sommige van de grote NSP ‘ s zijn Uunet, CerfNet, IBM, BBN Planet, SprintNet, PSINet, evenals anderen. Deze netwerken peer met elkaar om pakketverkeer uit te wisselen. Elke NSP is vereist om verbinding te maken met drie Netwerktoegangspunten of Nap ‘ s. Tijdens de NAP ‘ s kan pakketverkeer van de backbone van een NSP naar de backbone van een andere NSP springen. NSP ‘ s verbinden zich ook via Metropolitan Area Exchanges of MAEs. MAEs dienen hetzelfde doel als de NAP ‘ s, maar zijn particulier eigendom. NAP ‘ s waren de oorspronkelijke internetverbindingspunten. Zowel Nap ‘ s als MAEs worden aangeduid als Internet Exchange Points of IXs. NSP ’s verkopen ook bandbreedte aan kleinere netwerken, zoals ISP’ s en kleinere bandbreedteproviders. Hieronder is een foto van deze hiërarchische infrastructuur.

Diagram 4

Diagram 4

Dit is geen echte weergave van een echt stuk van het Internet. Diagram 4 is alleen bedoeld om te laten zien hoe de NSP ’s met elkaar en kleinere ISP’ s kunnen verbinden. Geen van de fysieke netwerkcomponenten wordt weergegeven in Figuur 4 zoals in Figuur 3. Dit komt omdat de backbone infrastructuur van een enkele NSP op zichzelf al een complexe tekening is. De meeste NSP ‘ s publiceren kaarten van hun netwerkinfrastructuur op hun websites en zijn gemakkelijk te vinden. Om een echte kaart van het Internet te tekenen zou bijna onmogelijk zijn vanwege de grootte, complexiteit en steeds veranderende structuur.

de Internetrouteringshiërarchie

dus hoe vinden pakketten hun weg over het Internet? Weet elke computer die verbonden is met het Internet waar de andere computers zijn? Krijgen pakketten gewoon ‘uitgezonden’ naar elke computer op het Internet? Het antwoord op beide voorafgaande vragen is ‘Nee’. Geen enkele computer weet waar een van de andere computers is, en pakketten worden niet naar elke computer verzonden. De informatie die wordt gebruikt om pakketten naar hun bestemmingen te krijgen, is opgenomen in routeringstabellen die worden bijgehouden door elke router die met het Internet is verbonden.

Routers zijn pakketschakelaars. Een router is meestal verbonden tussen netwerken om pakketten tussen hen te routeren. Elke router weet over zijn sub-netwerken en welke IP-adressen ze gebruiken. De router weet meestal niet welke IP-adressen er ‘boven’ staan. Bekijk Figuur 5 hieronder. De zwarte dozen die de backbones verbinden zijn routers. De grotere NSP backbones aan de bovenkant zijn verbonden tijdens een NAP. Daaronder bevinden zich verschillende subnetwerken en daaronder meer subnetwerken. Onderaan bevinden zich twee lokale netwerken met aangesloten computers.

Diagram 5

Diagram 5

wanneer een pakket bij een router aankomt, onderzoekt de router het IP-adres dat door de IP-protocollaag op de oorspronkelijke computer is geplaatst. De router controleert de routetabel. Als het netwerk met het IP-adres wordt gevonden, wordt het pakket naar dat netwerk verzonden. Als het netwerk met het IP-adres niet wordt gevonden, verzendt de router het pakket op een standaardroute, meestal via de backbone-hiërarchie naar de volgende router. Hopelijk weet de volgende router waar het pakket heen moet. Als dit niet het geval is, wordt het pakket opnieuw naar boven gerouteerd totdat het een NSP backbone bereikt. De routers die verbonden zijn met de NSP backbones bevatten de grootste routeringstabellen en hier zal het pakket naar de juiste backbone worden gerouteerd, waar het zijn reis ‘naar beneden’ zal beginnen door kleinere en kleinere netwerken totdat het zijn bestemming vindt.

domeinnamen en Adresresolutie

maar wat als u het IP-adres van de computer waarmee u verbinding wilt maken niet weet? Wat als het je nodig hebt om toegang te krijgen tot een webserver aangeduid als www.anothercomputer.com? Hoe werkt uw webbrowser weet waar op het Internet Deze computer woont? Het antwoord op al deze vragen is de Domain Name Service of DNS. De DNS is een gedistribueerde database die de namen van de computer en de bijbehorende IP-adressen op het Internet bijhoudt.

veel computers die verbonden zijn met het internet host-deel van de DNS-database en de software die anderen toegang geeft tot de DNS-database. Deze computers staan bekend als DNS-servers. Geen DNS-server bevat de volledige database; ze bevatten slechts een subset ervan. Als een DNS-server de door een andere computer gevraagde domeinnaam niet bevat, wordt de aanvragende computer door de DNS-server naar een andere DNS-server doorverwezen.

Diagram 6

Diagram 6

de domeinnaam Service is gestructureerd als een hiërarchie vergelijkbaar met de IP-routeringshiërarchie. De computer die een naamomzetting aanvraagt, wordt ‘ naar boven ‘gestuurd totdat een DNS-server is gevonden die de domeinnaam in de aanvraag kan omzetten. Figuur 6 illustreert een deel van de hiërarchie. Bovenaan de boom staan de domeinwortels. Sommige van de oudere, meer voorkomende domeinen worden gezien in de buurt van de top. Wat niet wordt weergegeven zijn de veelheid van DNS-servers over de hele wereld die de rest van de hiërarchie vormen.

wanneer een internetverbinding is ingesteld (bijvoorbeeld voor een LAN of Inbelnetwerk in Windows), worden een primaire en een of meer secundaire DNS-servers meestal opgegeven als onderdeel van de installatie. Op deze manier kunnen alle internettoepassingen die domeinnaamomzetting nodig hebben, correct functioneren. Wanneer u bijvoorbeeld een webadres invoert in uw webbrowser, maakt de browser eerst verbinding met uw primaire DNS-server. Na het verkrijgen van het IP-adres voor de domeinnaam die u hebt ingevoerd, de browser maakt vervolgens verbinding met de doelcomputer en vraagt de webpagina die u wilde.

Check It Out – DNS uitschakelen in Windows

Als u Windows 95 / NT gebruikt en toegang hebt tot Internet, kunt u uw DNS-server(s) bekijken en zelfs uitschakelen.

Als u Dial-Up Networking gebruikt:
Open uw Dial-Up Networking venster (dat kan worden gevonden in Windows Verkenner onder uw CD-ROM station en boven de netwerkomgeving). Klik met de rechtermuisknop op uw internetverbinding en klik op Eigenschappen. Druk onderaan het venster verbindingseigenschappen op de TCP / IP-instellingen… knop.

Als u een permanente verbinding met het Internet heeft:
Klik met de rechtermuisknop op Netwerkomgeving en klik op Eigenschappen. Klik op TCP / IP-eigenschappen. Selecteer het tabblad DNS-configuratie bovenaan.

u zou nu naar de IP-adressen van uw DNS-servers moeten kijken. Hier kunt u DNS uitschakelen of uw DNS-servers instellen op 0.0.0.0. (Schrijf eerst de IP-adressen van uw DNS-servers op. U zult waarschijnlijk ook Windows opnieuw moeten opstarten.) Voer nu een adres in uw webbrowser. De browser zal niet in staat zijn om de domeinnaam op te lossen en u krijgt waarschijnlijk een vervelend dialoogvenster waarin wordt uitgelegd dat een DNS-server niet kon worden gevonden. Als u echter het bijbehorende IP-adres invoert in plaats van de domeinnaam, kan de browser de gewenste webpagina ophalen. (Gebruik ping om het IP-adres te krijgen voordat u DNS uitschakelt.) Andere Microsoft-besturingssystemen zijn vergelijkbaar.

internetprotocollen Revisited

zoals eerder aangegeven in de paragraaf over protocolstacks, kan men veronderstellen dat er veel protocollen worden gebruikt op het Internet. Dit is waar; er zijn veel communicatieprotocollen nodig om het Internet te laten functioneren. Deze omvatten de TCP-en IP-protocollen, routeringsprotocollen, medium access control-protocollen, applicatieniveau-protocollen, enz. In de volgende paragrafen worden enkele van de belangrijkste en meest gebruikte protocollen op het Internet beschreven. Protocollen op hoger niveau worden eerst besproken, gevolgd door protocollen op lager niveau.

toepassingsprotocollen: HTTP en het World Wide Web

een van de meest gebruikte diensten op het Internet is het World Wide Web (WWW). Het toepassingsprotocol dat het web laat werken is Hypertext Transfer Protocol of HTTP. Verwar dit niet met de Hypertext Markup Language (HTML). HTML is de taal die wordt gebruikt om webpagina ‘ s te schrijven. HTTP is het protocol dat webbrowsers en webservers gebruiken om met elkaar te communiceren via het Internet. Het is een applicatie niveau protocol omdat het zit op de top van de TCP-laag in de protocol stack en wordt gebruikt door specifieke toepassingen om met elkaar te praten. In dit geval zijn de toepassingen webbrowsers en webservers.

HTTP is een op tekst gebaseerd protocol zonder verbinding. Clients (webbrowsers) sturen verzoeken naar webservers voor webelementen zoals webpagina ‘ s en afbeeldingen. Nadat de aanvraag door een server is onderhouden, wordt de verbinding tussen client en server via Internet verbroken. Voor elk verzoek moet een nieuwe verbinding worden gemaakt. De meeste protocollen zijn verbindingsgericht. Dit betekent dat de twee computers die met elkaar communiceren de verbinding open houden via het Internet. HTTP doet dat echter niet. Voordat een HTTP-aanvraag door een client kan worden gedaan, moet een nieuwe verbinding met de server worden gemaakt.

wanneer u een URL in een webbrowser typt, gebeurt dit:

  1. als de URL een domeinnaam bevat, maakt de browser eerst verbinding met een domeinnaam server en haalt het bijbehorende IP-adres van de webserver op.
  2. de webbrowser maakt verbinding met de webserver en verzendt een HTTP-verzoek (via de protocolstack) voor de gewenste webpagina.
  3. de webserver ontvangt het verzoek en controleert op de gewenste pagina. Als de pagina bestaat, verzendt de webserver deze. Als de server de gevraagde pagina niet kan vinden, zal het een HTTP 404 foutmelding sturen. (404 betekent ‘pagina niet gevonden’ zoals iedereen die op het web heeft gesurft waarschijnlijk weet.)
  4. de webbrowser ontvangt de pagina terug en de verbinding wordt gesloten.
  5. de browser ontleedt vervolgens de pagina en zoekt naar andere pagina-elementen die hij nodig heeft om de webpagina te voltooien. Deze omvatten meestal afbeeldingen, applets, enz.
  6. voor elk element dat nodig is, maakt de browser extra verbindingen en HTTP-verzoeken naar de server voor elk element.
  7. wanneer de browser klaar is met het laden van alle afbeeldingen, applets, enz. de pagina wordt volledig geladen in het browservenster.

Check It Out-Gebruik uw Telnet Client om een webpagina op te halen met behulp van HTTP

Telnet is een remote terminal service die wordt gebruikt op het Internet. Het gebruik is de laatste tijd afgenomen, maar het is een zeer nuttig hulpmiddel om het Internet te bestuderen. Zoek in Windows het standaard telnet programma. Het kan zich in de Windows-map met de naam telnet.executable. Wanneer geopend, trek het menu Terminal en selecteer Voorkeuren. Controleer lokale Echo in het venster Voorkeuren. (Dit is zodat u uw HTTP-verzoek kunt zien wanneer u het typt.) Trek nu het Verbindingsmenu naar beneden en selecteer Remote System. Voer www in.google.com voor de hostnaam en 80 voor de poort. (Webservers luisteren meestal op poort 80 standaard.) Druk Op Connect. Typ nu

GET / HTTP / 1.0

en druk tweemaal op Enter. Dit is een eenvoudig HTTP verzoek aan een webserver voor zijn root pagina. U zou een webpagina moeten zien flitsen en dan zou er een dialoogvenster moeten verschijnen om u te vertellen dat de verbinding verloren is gegaan. Als u de opgehaalde pagina wilt opslaan, schakelt u logging in het Telnet-programma in. U kunt dan bladeren door de webpagina en zie de HTML die werd gebruikt om het te schrijven.

De meeste internetprotocollen worden gespecificeerd door Internetdocumenten die bekend staan als een Request For Comments of RFCs. RFC ‘ s zijn op verschillende locaties op Internet te vinden. Zie de bronnen sectie hieronder voor de juiste URL ‘ s. HTTP versie 1.0 is gespecificeerd door RFC 1945.

toepassingsprotocollen: SMTP en elektronische post

een andere veelgebruikte internetdienst is elektronische post. E-mail maakt gebruik van een applicatie niveau protocol genaamd Simple Mail Transfer Protocol of SMTP. SMTP is ook een tekst gebaseerd protocol, maar in tegenstelling tot HTTP, SMTP is verbinding georiënteerd. SMTP is ook ingewikkelder dan HTTP. Er zijn veel meer commando ‘ s en overwegingen in SMTP dan in HTTP.

wanneer u uw e-mailclient opent om uw e-mail te lezen, gebeurt dit meestal:

  1. de e-mailclient (Netscape Mail, Lotus Notes, Microsoft Outlook, enz.) opent een verbinding met de standaard mailserver. Het IP-adres of de domeinnaam van de mailserver wordt meestal ingesteld wanneer de mailclient is geïnstalleerd.
  2. de mailserver zal altijd het eerste bericht versturen om zichzelf te identificeren.
  3. de client zal een SMTP HELO Commando sturen waarop de server zal reageren met een 250 OK bericht.
  4. afhankelijk van of de client e-mail controleert, e-mail verzendt, enz. de juiste SMTP commando ‘ s worden naar de server gestuurd, die hierop zal reageren.
  5. deze request / response transactie zal doorgaan totdat de client een SMTP QUIT Commando verstuurt. De server zal dan afscheid nemen en de verbinding wordt gesloten.

een eenvoudig’ gesprek’ tussen een SMTP-client en SMTP-server wordt hieronder getoond. R: geeft berichten aan die door de server (ontvanger) worden verzonden en S: geeft berichten aan die door de client (afzender) worden verzonden.

 This SMTP example shows mail sent by Smith at host USC-ISIF, to Jones, Green, and Brown at host BBN-UNIX. Here we assume that host USC-ISIF contacts host BBN-UNIX directly. The mail is accepted for Jones and Brown. Green does not have a mailbox at host BBN-UNIX. ------------------------------------------------------------- R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready S: HELO USC-ISIF.ARPA R: 250 BBN-UNIX.ARPA S: MAIL FROM:<[email protected]> R: 250 OK S: RCPT TO:<[email protected]> R: 250 OK S: RCPT TO:<[email protected]> R: 550 No such user here S: RCPT TO:<[email protected]> R: 250 OK S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah... S: ...etc. etc. etc. S: . R: 250 OK S: QUIT R: 221 BBN-UNIX.ARPA Service closing transmission channel

deze SMTP-transactie is afkomstig van RFC 821, die SMTP specificeert.

Transmission Control Protocol

onder de applicatielaag in de protocolstack is de TCP-laag. Wanneer toepassingen een verbinding met een andere computer op het Internet openen, worden de berichten die ze verzenden (met behulp van een specifiek applicatielaagprotocol) via de stack doorgegeven aan de TCP-laag. TCP is verantwoordelijk voor het routeren van toepassingsprotocollen naar de juiste toepassing op de doelcomputer. Hiervoor worden poortnummers gebruikt. Poorten kunnen worden gezien als afzonderlijke kanalen op elke computer. Bijvoorbeeld, u kunt surfen op het web tijdens het lezen van e-mail. Dit komt omdat deze twee toepassingen (de webbrowser en de mailclient) verschillende poortnummers gebruikten. Wanneer een pakket op een computer aankomt en de protocolstack omhoog komt, bepaalt de TCP-laag welke toepassing het pakket ontvangt op basis van een poortnummer.

TCP werkt als volgt:

  • wanneer de TCP-laag de applicatielaag-protocolgegevens van bovenaf ontvangt, segmenteert het deze in beheersbare ‘chunks’ en voegt vervolgens een TCP-header met specifieke TCP-informatie toe aan elk ‘chunk’. De informatie in de TCP-header bevat het poortnummer van de toepassing waarnaar de gegevens moeten worden verzonden.
  • wanneer de TCP-laag een pakket ontvangt van de IP-laag eronder, verwijdert de TCP-laag de TCP-headergegevens van het pakket, voert zo nodig wat gegevensreconstructie uit en stuurt de gegevens vervolgens naar de juiste toepassing met behulp van het poortnummer uit de TCP-header.

dit is hoe TCP de gegevens die door de protocolstack gaan naar de juiste toepassing stuurt.

TCP is geen tekstueel protocol. TCP is een verbinding-georiënteerde, betrouwbare, byte stream service. Verbindingsgeoriënteerd betekent dat twee toepassingen die TCP gebruiken eerst een verbinding tot stand moeten brengen voordat gegevens worden uitgewisseld. TCP is betrouwbaar omdat voor elk ontvangen pakket een bevestiging naar de afzender wordt gestuurd om de levering te bevestigen. TCP bevat ook een checksum in zijn header voor foutcontrole van de ontvangen gegevens. De TCP header ziet er zo uit:

Diagram 7

Diagram 7

merk op dat er geen plaats is voor een IP-adres in de TCP-header. Dit komt omdat TCP niets weet over IP-adressen. TCP ‘ s taak is om applicatie-niveau gegevens van toepassing naar toepassing betrouwbaar. De taak van het krijgen van gegevens van computer naar computer is de taak van IP.

Check It Out – bekende Internet poortnummers
Hieronder staan de poortnummers voor enkele van de meest gebruikte internetdiensten.

FTP 20/21
Telnet 23
SMTP 25
HTTP 80
Quake III Arena 27960

Internet Protocol

Unlike TCP, IP is an unreliable, connectionless protocol. IP maakt het niet uit of een pakket zijn bestemming bereikt of niet. IP Weet ook niet van verbindingen en poortnummers. IP ‘ s taak is te verzenden en route pakketten naar andere computers. IP-pakketten zijn onafhankelijke entiteiten en kunnen buiten de orde komen of helemaal niet. Het is de taak van TCP om ervoor te zorgen dat pakketten in de juiste volgorde aankomen. Het enige wat IP gemeen heeft met TCP is de manier waarop het data ontvangt en zijn eigen IP header informatie toevoegt aan de TCP data. De IP header ziet er zo uit:

Diagram 8

Diagram 8

hierboven zien we de IP-adressen van de verzendende en ontvangende computers in de IP-header. Hieronder staat hoe een pakket eruit ziet na het passeren van de applicatielaag, TCP-laag en IP-laag. De gegevens van de toepassingslaag worden gesegmenteerd in de TCP-laag, de TCP-header wordt toegevoegd, het pakket gaat door naar de IP-laag, de IP-header wordt toegevoegd en vervolgens wordt het pakket over het Internet verzonden.

Diagram 9

Diagram 9

Wrap Up

nu weet u hoe het Internet werkt. Maar hoe lang blijft het zo? De versie van IP die momenteel op het Internet wordt gebruikt (Versie 4) staat alleen 232 adressen toe. Uiteindelijk zullen er geen gratis IP-adressen meer over zijn. Verrast? Geen zorgen. IP-versie 6 wordt momenteel getest op een onderzoeksrub door een consortium van onderzoeksinstellingen en bedrijven. En daarna? Wie weet. Het Internet heeft een lange weg afgelegd sinds het is ontstaan als een ministerie van Defensie onderzoeksproject. Niemand weet echt wat het Internet zal worden. Eén ding is echter zeker. Het Internet zal de wereld verenigen zoals geen enkel ander mechanisme ooit heeft gedaan. Het informatietijdperk is in volle gang en ik ben blij er deel van uit te maken.

Rus Shuler, 1998
Updates gemaakt 2002

Resources

hieronder vindt u enkele interessante links die verband houden met enkele van de besproken onderwerpen. (Ik hoop dat ze allemaal nog werken. Alles open in een nieuw venster.)

http://www.ietf.org/ is de homepage van de Internet Engineering Task Force. Dit orgaan is in hoge mate verantwoordelijk voor de ontwikkeling van internetprotocollen en dergelijke.

http://www.internic.org/ is de organisatie die verantwoordelijk is voor het beheer van domeinnamen.

http://www.nexor.com/public/rfc/index/rfc.html is een uitstekende RFC-zoekmachine die nuttig is voor het vinden van elke RFC.

http://www.internetweather.com/ toont geanimeerde kaarten van Internet latency.

http://routes.clubnet.net/iw/ is het weer vanaf ClubNET. Deze pagina toont pakketverlies voor verschillende dragers.

http://navigators.com/isp.html is de ISP-pagina van Russ Haynal. Dit is een geweldige site met links naar de meeste NSP ‘ s en hun backbone infrastructuur kaarten.

Bibliografie

de volgende boeken zijn uitstekende bronnen en hebben veel geholpen bij het schrijven van dit artikel. Ik geloof dat Stevens ‘ boek is de beste TCP/IP referentie ooit en kan worden beschouwd als de Bijbel van het Internet. Sheldon ‘ s boek behandelt een veel breder bereik en bevat een enorme hoeveelheid netwerkinformatie.

  • TCP / IP geïllustreerd, deel 1, de protocollen. W. Richard Stevens. Addison-Wesley, Reading, Massachusetts. 1994.
  • Encyclopedia of Networking. Tom Sheldon. Osbourne McGraw-Hill, New York. 1998.

hoewel niet gebruikt voor het schrijven van dit artikel, zijn hier enkele andere goede boeken over de onderwerpen van het Internet en netwerken:

  • Firewalls en Internet Security; Repelling the Wiley Hacker. William R. Cheswick, Steven M. Bellovin. Addison-Wesley, Reading, Massachusetts. 1994.
  • datacommunicatie, computernetwerken en Open systemen. Vierde Editie. Fred Halsall. Addison-Wesley, Harlow, Engeland. 1996.
  • Telecommunicatie: protocollen en ontwerp. John D. Spragins met Joseph L. Hammond en Krzysztof Pawlikowski. Addison-Wesley, Reading, Massachusetts. 1992.

Related Posts

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *