Vereniging van mondiale netwerken die het TCP IP-protocol ondersteunen. Wat is het TCP-IP-protocol

De werking van het mondiale internet is gebaseerd op een set (stapel) TCP/IP-protocollen. Maar deze termen lijken alleen op het eerste gezicht complex. In werkelijkheid TCP/IP-protocolstack is een eenvoudige set regels voor het uitwisselen van informatie, en deze regels zijn u goed bekend, ook al bent u zich er waarschijnlijk niet van bewust. Ja, dat is precies hoe het is; in wezen is er niets nieuws in de principes die ten grondslag liggen aan de TCP/IP-protocollen: al het nieuwe is al lang vergeten oud.

Een mens kan op twee manieren leren:

  1. Door het domme formele memoriseren van sjabloonoplossingen typische taken(wat nu vooral op school wordt onderwezen). Een dergelijke training is niet effectief. U heeft vast wel eens de paniek en totale hulpeloosheid gezien van een accountant bij het wijzigen van de versie van kantoorsoftware - met de kleinste verandering in de volgorde van muisklikken die nodig zijn om bekende handelingen uit te voeren. Of heb je ooit iemand in verdoving zien vallen bij het veranderen van de desktopinterface?
  2. Door de essentie van problemen, verschijnselen, patronen te begrijpen. Door begrip principes dit of dat systeem bouwen. In dit geval speelt het hebben van encyclopedische kennis geen grote rol: de ontbrekende informatie is gemakkelijk te vinden. Het belangrijkste is om te weten waar je op moet letten. En dit vereist geen formele kennis van het onderwerp, maar begrip van de essentie.

In dit artikel stel ik voor om de tweede weg te bewandelen, omdat het begrijpen van de principes die ten grondslag liggen aan internet u de kans geeft om u zelfverzekerd en vrij te voelen op internet - problemen die zich voordoen snel op te lossen, problemen correct te formuleren en vol vertrouwen te communiceren met technische ondersteuning.

Dus laten we beginnen.

De werkingsprincipes van de TCP/IP-internetprotocollen zijn inherent heel eenvoudig en lijken sterk op het werk van onze Sovjet-postdienst.

Onthoud hoe onze reguliere post werkt. Eerst schrijf je een brief op een stuk papier, stop het dan in een envelop, verzegel het, achterkant Schrijf de adressen van de afzender en de ontvanger op de envelop en breng deze naar het dichtstbijzijnde postkantoor. Vervolgens gaat de brief via een keten van postkantoren naar het dichtstbijzijnde postkantoor van de ontvanger, vanwaar hij door de postbode wordt afgeleverd op het door de ontvanger opgegeven adres en in zijn brievenbus (met zijn appartementnummer) wordt gedropt of persoonlijk wordt overhandigd. Dat is alles, de brief heeft de ontvanger bereikt. Wanneer de ontvanger van de brief u wil antwoorden, wisselt hij in zijn antwoordbrief de adressen van de ontvanger en de afzender om, en de brief wordt via dezelfde keten naar u verzonden, maar in tegengestelde richting.

De envelop van de brief ziet er ongeveer zo uit:

Adres afzender: Van wie: Ivanov Ivan Ivanovitsj Waar: Ivantejevka, st. Bolsjaja, 8, apt. 25 Adres van de ontvanger: Aan wie: Petrov Petr Petrovich Waar: Moskou, Usachevsky-laan, 105, apt. 110

Nu zijn we klaar om de interactie van computers en applicaties op internet (en ook op het lokale netwerk) te overwegen. Houd er rekening mee dat de analogie met reguliere post vrijwel volledig zal zijn.

Elke computer (ook wel: node, host) op internet heeft ook een uniek adres, dat een IP-adres (Internet Protocol Address) wordt genoemd, bijvoorbeeld: 195.34.32.116. Een IP-adres bestaat uit vier decimale getallen (0 tot en met 255), gescheiden door een punt. Maar alleen het IP-adres van de computer kennen is niet voldoende, omdat... Uiteindelijk zijn het niet de computers zelf die informatie uitwisselen, maar de applicaties die erop draaien. En er kunnen meerdere applicaties tegelijkertijd op een computer draaien (bijvoorbeeld een mailserver, een webserver, etc.). Om een ​​gewone papieren brief te bezorgen, is het niet voldoende om alleen het adres van het huis te weten; u moet ook het appartementnummer weten. Bovendien heeft elke softwaretoepassing een soortgelijk nummer, een poortnummer genaamd. De meeste serverapplicaties hebben standaardnummers, bijvoorbeeld: een mailservice is gebonden aan poortnummer 25 (ze zeggen ook: “luistert” naar de poort, ontvangt daarop berichten), een webservice is gebonden aan poort 80, FTP aan poort 21 , enzovoort.

We hebben dus de volgende bijna volledige analogie met ons reguliere postadres:

"huisadres" = "computer IP" "appartementnummer" = "poortnummer"

In computernetwerken die werken met TCP/IP-protocollen is er een analoog van een papieren brief in een envelop plastieken zak, dat de daadwerkelijk verzonden gegevens en adresinformatie bevat - het adres van de afzender en het adres van de ontvanger, bijvoorbeeld:

Bron adres: IP: 82.146.49.55 Poort: 2049 Adres van ontvanger (bestemmingsadres): IP: 195.34.32.116 Poort: 53 Pakket details: ...

Uiteraard bevatten de pakketten ook service-informatie, maar dit is niet van belang om de essentie te begrijpen.

Let op de combinatie: "IP-adres en poortnummer" - genaamd "stopcontact".

In ons voorbeeld sturen we een pakket van socket 82.146.49.55:2049 naar socket 195.34.32.116:53, d.w.z. het pakket gaat naar een computer met een IP-adres 195.34.32.116, naar poort 53. En poort 53 komt overeen met een naamherkenningsserver (DNS-server), die dit pakket zal ontvangen. Als hij het adres van de afzender kent, kan deze server, na verwerking van ons verzoek, een antwoordpakket genereren dat in de tegenovergestelde richting gaat van de afzendersocket 82.146.49.55:2049, die voor de DNS-server de ontvangersocket zal zijn.

In de regel wordt de interactie uitgevoerd volgens het “client-server”-schema: de “client” vraagt ​​om bepaalde informatie (bijvoorbeeld een webpagina), de server accepteert het verzoek, verwerkt het en verzendt het resultaat. Poortnummers van serverapplicaties zijn algemeen bekend, bijvoorbeeld: mail-SMTP de server “luistert” op poort 25, de POP3-server waarmee u mail uit uw mailboxen kunt lezen “luistert” op poort 110, de webserver luistert op poort 80, enz.

De meeste programma's staan ​​aan thuis computer zijn klanten - bijvoorbeeld e-mailclient Outlook, webbrowsers IE, FireFox, enz.

De poortnummers op de client liggen niet vast zoals die op de server, maar worden dynamisch toegewezen door het besturingssysteem. Vaste serverpoorten hebben meestal nummers tot 1024 (maar er zijn uitzonderingen) en clientpoorten beginnen na 1024.

Herhaling is de moeder van lesgeven: IP is het adres van een computer (knooppunt, host) op het netwerk, en poort is het nummer van een specifieke applicatie die op deze computer draait.

Het is echter moeilijk voor een persoon om digitale IP-adressen te onthouden - het is veel handiger om met alfabetische namen te werken. Het is immers veel gemakkelijker om een ​​woord te onthouden dan een reeks cijfers. Dit is gedaan - elk digitaal IP-adres kan aan een alfanumerieke naam worden gekoppeld. Als gevolg hiervan kunt u bijvoorbeeld in plaats van 82.146.49.55 de naam En de domeinnaamservice - DNS ( Domeinnaam Systeem).

Laten we eens nader bekijken hoe dit werkt. Uw provider expliciet (op een vel papier, om de verbinding handmatig te configureren) of impliciet (via automatische instelling verbindingen) geeft u het IP-adres van de naamserver (DNS). Op een computer met dit IP-adres draait een applicatie (nameserver) die alle domeinnamen op internet en de bijbehorende digitale IP-adressen kent. De DNS-server “luistert” naar poort 53, accepteert verzoeken ernaar en geeft antwoorden, bijvoorbeeld:

Verzoek van onze computer: "Welk IP-adres komt overeen met de naam www.site?" Serverantwoord: "82.146.49.55."

Laten we nu eens kijken wat er gebeurt als u in uw browser typt Domeinnaam(URL) van deze site () en door te klikken , als reactie van de webserver ontvangt u een pagina van deze site.

Bijvoorbeeld:

IP-adres van onze computer: 91.76.65.216 Browser: Internet Explorer (IE), DNS-server (stream): 195.34.32.116 (de jouwe kan anders zijn), De pagina die we willen openen: www.site.

Werven bij adresbalk browserdomeinnaam en klik . Vervolgens voert het besturingssysteem ongeveer de volgende acties uit:

Er wordt een verzoek (meer precies, een pakket met een verzoek) verzonden naar de DNS-server op socket 195.34.32.116:53. Zoals hierboven besproken, komt poort 53 overeen met de DNS-server, een applicatie die namen oplost. En de DNS-server, die ons verzoek heeft verwerkt, retourneert het IP-adres dat overeenkomt met de ingevoerde naam.

De dialoog gaat ongeveer zo:

Welk IP-adres correspondeert met de naam www.site? - 82.146.49.55 .

Vervolgens brengt onze computer een verbinding met de poort tot stand 80 computer 82.146.49.55 en verzendt een verzoek (verzoekpakket) om de pagina te ontvangen. Poort 80 komt overeen met de webserver. Poort 80 wordt meestal niet in de adresbalk van de browser geschreven, omdat... wordt standaard gebruikt, maar kan ook expliciet worden opgegeven na de dubbele punt - .

Nadat we een verzoek van ons hebben ontvangen, verwerkt de webserver dit en stuurt ons een pagina in verschillende pakketten. HTML-taal- een tekstopmaaktaal die de browser begrijpt.

Onze browser geeft de pagina weer, nadat hij deze heeft ontvangen. Als gevolg hiervan zien we op het scherm Startpagina deze site.

Waarom moeten we deze principes begrijpen?

U merkt bijvoorbeeld vreemd gedrag op uw computer, een onbegrijpelijk gedrag netwerkactiviteit, remmen, enz. Wat te doen? Open de console (klik op de knop "Start" - "Uitvoeren" - typ cmd - "Ok"). In de console typen we de opdracht netstat -een en klik . Dit hulpprogramma geeft een lijst weer met tot stand gebrachte verbindingen tussen de sockets van onze computer en de sockets van externe hosts. Wat zou dit kunnen betekenen als we enkele buitenlandse IP-adressen zien in de kolom 'Extern adres' en de 25e poort na de dubbele punt? (Herinner je je dat poort 25 overeenkomt met de mailserver?) Dit betekent dat je computer een verbinding tot stand heeft gebracht met een of andere mailserver(s) en er enkele brieven doorheen verzendt. En als uw e-mailclient (Outlook bijvoorbeeld) op dit moment niet actief is, en er nog steeds veel van dit soort verbindingen op poort 25 staan, dan staat er waarschijnlijk een virus op uw computer dat namens u spam verstuurt of uw tegoed doorstuurt. kaartnummers samen met wachtwoorden voor aanvallers.

Ook is inzicht in de werking van internet noodzakelijk juiste instellingen firewall (met andere woorden, firewall :)). Dit programma (dat vaak wordt geleverd met een antivirusprogramma) is ontworpen om pakketten te filteren - "vrienden" en "vijanden". Laat je eigen mensen door, laat geen vreemden binnen. Als uw firewall u bijvoorbeeld vertelt dat iemand een verbinding tot stand wil brengen met een poort op uw computer. Toestaan ​​of weigeren?

En het allerbelangrijkste: deze kennis is uiterst nuttig bij de communicatie met technische ondersteuning.

Tenslotte is hier een lijst met poorten die u waarschijnlijk zult tegenkomen:

135-139 - deze poorten worden door Windows gebruikt voor toegang gedeelde bronnen computer - mappen, printers. Open deze poorten niet naar buiten, d.w.z. op het regionale lokale netwerk en internet. Ze moeten worden afgesloten met een firewall. Ook als je op het lokale netwerk niets ziet netwerkomgeving of ze kunnen je niet zien, dit komt waarschijnlijk doordat de firewall deze poorten heeft geblokkeerd. Deze poorten moeten dus open zijn voor het lokale netwerk, maar gesloten voor internet. 21 - poort FTP server. 25 - postpoort SMTP server. Uw e-mailclient verzendt er brieven doorheen. IK P SMTP-adres De server en zijn poort (25e) moeten worden opgegeven in de instellingen van uw e-mailclient. 110 - poort POP3 server. Hiermee verzamelt uw e-mailclient brieven uit uw mailbox. Het IP-adres van de POP3-server en zijn poort (110e) moeten ook worden opgegeven in de instellingen van uw e-mailclient. 80 - poort WEB-servers. 3128, 8080 - proxyservers (geconfigureerd in browserinstellingen).

Verschillende speciale IP-adressen:

127.0.0.1 is het localhost-adres lokaal systeem, d.w.z. lokaal adres van uw computer. 0.0.0.0 - zo worden alle IP-adressen aangewezen. 192.168.xxx.xxx - adressen die willekeurig kunnen worden gebruikt op lokale netwerken; ze worden niet gebruikt op het wereldwijde internet. Ze zijn alleen uniek binnen het lokale netwerk. Adressen uit dit bereik kunt u naar eigen inzicht gebruiken om bijvoorbeeld een thuis- of kantoornetwerk op te bouwen.

Wat is het subnetmasker en de standaardgateway (router, router)?

(Deze parameters worden ingesteld in de netwerkverbindingsinstellingen).

Het is makkelijk. Computers zijn verbonden met lokale netwerken. Op een lokaal netwerk ‘zien’ computers elkaar rechtstreeks. Lokale netwerken zijn met elkaar verbonden via gateways (routers, routers). Het subnetmasker is ontworpen om te bepalen of de ontvangende computer tot hetzelfde lokale netwerk behoort of niet. Als de ontvangende computer tot hetzelfde netwerk behoort als de verzendende computer, wordt het pakket er rechtstreeks naartoe gestuurd, anders wordt het pakket naar de standaardgateway gestuurd, die het pakket vervolgens via bekende routes naar een ander netwerk verzendt, d.w.z. naar een ander postkantoor (naar analogie met het Sovjetpostkantoor).

Laten we tot slot eens kijken naar wat deze onduidelijke termen betekenen:

TCP/IP- dit is de naam van de set netwerkprotocollen. In feite doorloopt het verzonden pakket verschillende lagen. (Net als op het postkantoor: eerst schrijf je een brief, dan stop je hem in een geadresseerde envelop, dan plakt het postkantoor er een postzegel op, enz.).

IK P Het protocol is een zogenaamd netwerklaagprotocol. De taak van dit niveau is het afleveren van IP-pakketten van de computer van de afzender naar de computer van de ontvanger. Naast de gegevens zelf hebben pakketten op dit niveau een bron-IP-adres en een ontvanger-IP-adres. Poortnummers ingeschakeld netwerk niveau worden niet gebruikt. Welke poort, d.w.z. de applicatie is gericht aan dit pakket. Of dit pakket is afgeleverd of verloren is gegaan, is op dit niveau onbekend - dit is niet zijn taak, dit is de taak van de transportlaag.

TCP en UDP Dit zijn protocollen van de zogenaamde transportlaag. De transportlaag bevindt zich boven de netwerklaag. Op dit niveau worden een bronpoort en een bestemmingspoort aan het pakket toegevoegd.

TCP is een verbindingsgericht protocol met gegarandeerde pakketaflevering. Eerst worden speciale pakketten uitgewisseld om een ​​verbinding tot stand te brengen, er vindt zoiets als een handdruk plaats (-Hallo. -Hallo. -Zullen we chatten? -Kom op.). Vervolgens worden er over deze verbinding pakketjes heen en weer gestuurd (er is een gesprek gaande) en wordt gecontroleerd of het pakketje de ontvanger heeft bereikt. Als het pakket niet wordt ontvangen, wordt het opnieuw verzonden (“herhaal, ik heb het niet gehoord”).

UDP is een verbindingsloos protocol met niet-gegarandeerde pakketbezorging. (Zoals: iets geschreeuwd, maar of ze je hoorden of niet - het maakt niet uit).

Boven de transportlaag bevindt zich de applicatielaag. Op dit niveau kunnen protocollen zoals http, ftp etc. HTTP en FTP gebruiken bijvoorbeeld het betrouwbare TCP-protocol, en de DNS-server werkt via het onbetrouwbare UDP-protocol.

Hoe huidige verbindingen bekijken?

Met het commando kunnen huidige verbindingen worden bekeken

Netstat-een

(de parameter n geeft aan dat IP-adressen moeten worden weergegeven in plaats van domeinnamen).

Deze opdracht werkt als volgt:

"Start" - "Uitvoeren" - typ cmd - "Ok". Typ in de console die verschijnt (zwart venster) de opdracht netstat -an en klik . Het resultaat is een lijst met bestaande verbindingen tussen de sockets van onze computer en externe knooppunten.

We krijgen bijvoorbeeld:

Actieve verbindingen

Naam Lokaal adres Extern adres Staat
TCP 0.0.0.0:135 0.0.0.0:0 LUISTEREN
TCP 91.76.65.216:139 0.0.0.0:0 LUISTEREN
TCP 91.76.65.216:1719 212.58.226.20:80 GEVESTIGD
TCP 91.76.65.216:1720 212.58.226.20:80 GEVESTIGD
TCP 91.76.65.216:1723 212.58.227.138:80 SLUITEN_WAIT
TCP 91.76.65.216:1724 212.58.226.8:80 GEVESTIGD
...

In dit voorbeeld betekent 0.0.0.0:135 dat onze computer luistert (LISTENING) naar poort 135 op al zijn IP-adressen en klaar is om verbindingen te accepteren van iedereen erop (0.0.0.0:0) via het TCP-protocol.

91.76.65.216:139 - onze computer luistert naar poort 139 op zijn IP-adres 91.76.65.216.

De derde regel betekent dat de verbinding nu tot stand is gebracht (ESTABLISHED) tussen onze machine (91.76.65.216:1719) en de externe machine (212.58.226.20:80). Poort 80 betekent dat onze machine een verzoek heeft ingediend bij de webserver (ik heb eigenlijk pagina's geopend in de browser).

In toekomstige artikelen zullen we bekijken hoe we deze kennis kunnen toepassen, b.v.

StapelTCP/ IK P.

De TCP/IP-stack is een set hiërarchisch geordende netwerkprotocollen. De stapel is vernoemd naar twee belangrijke protocollen: TCP (Transmission Control Protocol) en IP (Internet Protocol). Daarnaast bevat de stapel nog enkele tientallen verschillende protocollen. Momenteel zijn TCP/IP-protocollen de belangrijkste voor het internet, maar ook voor de meeste bedrijfs- en lokale netwerken.

In het besturingssysteem Microsoft Windows Server 2003 wordt de TCP/IP-stack als hoofdstapel geselecteerd, hoewel ook andere protocollen worden ondersteund (bijvoorbeeld de IPX/SPX-stack, het NetBIOS-protocol).

De TCP/IP-protocolstack heeft twee belangrijke eigenschappen:

    platformonafhankelijkheid, d.w.z. het kan op verschillende manieren worden geïmplementeerd besturingssystemen en verwerkers;

    openheid, d.w.z. de standaarden waarmee de TCP/IP-stack is opgebouwd, zijn voor iedereen beschikbaar.

Geschiedenis van de scheppingTCP/ IK P.

In 1967 startte het Advanced Research Projects Agency van het Amerikaanse ministerie van Defensie (ARPA - Advanced Research Projects Agency) met de ontwikkeling van een computernetwerk dat een aantal universiteiten en onderzoekscentra moest verbinden die opdrachten van het Agentschap uitvoerden. Het project heette ARPANET. In 1972 verbond het netwerk 30 knooppunten.

Als onderdeel van het ARPANET-project werden de belangrijkste protocollen van de TCP/IP-stack - IP, TCP en UDP - ontwikkeld en gepubliceerd in 1980-1981. Een belangrijke factor in de verspreiding van TCP/IP was de implementatie van deze stapel in het UNIX 4.2 BSD-besturingssysteem (1983).

Tegen het einde van de jaren tachtig werd het sterk uitgebreide ARPANET bekend als internet (onderling verbonden netwerken). verbonden netwerken) en verenigde universiteiten en onderzoekscentra in de VS, Canada en Europa.

In 1992 verscheen een nieuwe internetdienst - WWW (World Wide Web), gebaseerd op het HTTP-protocol. Grotendeels dankzij WWW heeft het internet, en daarmee de TCP/IP-protocollen, in de jaren negentig een snelle ontwikkeling doorgemaakt.

Aan het begin van de 21e eeuw verwerft de TCP/IP-stack een leidende rol in de communicatiemiddelen, niet alleen van mondiale, maar ook van lokale netwerken.

ModelOSI.

Interactiemodel open systemen(OSI - Open Systems Interconnection) is ontwikkeld door de Internationale Organisatie voor Standaardisatie (ISO - Internationale Organisatie voor Standaardisatie) voor een uniforme aanpak voor het bouwen en verbinden van netwerken. De ontwikkeling van het OSI-model begon in 1977 en eindigde in 1984 met de goedkeuring van de standaard. Sindsdien is het model de referentie voor de ontwikkeling, beschrijving en vergelijking van verschillende protocolstacks.

Laten we kort kijken naar de functies van elk niveau.


Het OSI-model omvat zeven lagen: fysiek, datalink, netwerk, transport, sessie, presentatie en toepassing.

    De fysieke laag beschrijft de principes signaaloverdracht, transmissiesnelheid, specificaties van communicatiekanalen. De laag wordt geïmplementeerd door hardware (netwerkadapter, hubpoort, netwerkkabel).

    De datalinklaag lost twee hoofdtaken op: het controleert de beschikbaarheid van het transmissiemedium (het transmissiemedium is meestal verdeeld over verschillende netwerkknooppunten), en detecteert en corrigeert ook fouten die optreden tijdens het transmissieproces. De implementatie van het niveau is hardware en software (bijvoorbeeld een netwerkadapter en het stuurprogramma ervan).

    De netwerklaag zorgt voor de integratie van netwerken die werken met verschillende protocollen van de datalink en fysieke lagen in een samengesteld netwerk. In dit geval wordt elk van de netwerken in één enkel netwerk gebeld subnet(subnet). Op netwerkniveau moeten twee hoofdproblemen worden opgelost: routering(routering, selectie optimaal pad berichtoverdracht) en adresseren(adressering, elk knooppunt in een samengesteld netwerk moet een unieke naam hebben). Normaal gesproken worden netwerklaagfuncties geïmplementeerd door een speciaal apparaat - router(router) en de bijbehorende software.

    De transportlaag lost het probleem op van het betrouwbaar verzenden van berichten in een samengesteld netwerk door de bezorging te bevestigen en pakketten opnieuw te verzenden. Dit niveau en al het volgende zijn in software geïmplementeerd.

    Met de sessielaag kunt u informatie onthouden over de huidige status van een communicatiesessie en, in het geval van een verbindingsbreuk, de sessie vanuit deze status hervatten.

    De presentatielaag zorgt voor de conversie van verzonden informatie van de ene codering naar de andere (bijvoorbeeld van ASCII naar EBCDIC).

    De applicatielaag implementeert de interface tussen de andere lagen van het model en gebruikersapplicaties.

StructuurTCP/ IK P. De TCP/IP-structuur is niet gebaseerd op het OSI-model, maar op een eigen model, genaamd DARPA (Defense ARPA - de nieuwe naam van de Advanced Research Projects Agency) of DoD (Department of Defense - US Department of Defense). Dit model heeft slechts vier niveaus. De overeenkomst tussen het OSI-model en het DARPA-model, evenals de belangrijkste protocollen van de TCP/IP-stack, wordt getoond in figuur 2. 2.2.

Opgemerkt moet worden dat het lagere niveau van het DARPA-model – het netwerkinterfaceniveau – strikt genomen niet de functies van de datalink en fysieke lagen vervult, maar alleen communicatie (interface) biedt. hogere niveaus DARPA met samengestelde netwerktechnologieën (bijv. Ethernet, FDDI, ATM).

Alle protocollen in de TCP/IP-stack zijn gestandaardiseerd in RFC-documenten.

DocumentatieRFC.

Goedgekeurde officiële internet- en TCP/IP-standaarden worden gepubliceerd als RFC-documenten (Request for Comments). Normen worden ontwikkeld door de gehele ISOC-gemeenschap (Internet Society, een internationale publieke organisatie). Elk ISOC-lid kan een document indienen ter overweging voor publicatie in een RFC. Het document wordt vervolgens beoordeeld door technische experts, ontwikkelingsteams en de RFC-editor en doorloopt de volgende fasen, volwassenheidsniveaus genoemd, in overeenstemming met RFC 2026:

    voorlopige versie(Internet Draft) – in dit stadium maken experts zich vertrouwd met het document, worden toevoegingen en wijzigingen aangebracht;

    voorgestelde standaard(Voorgestelde norm) - het document krijgt een RFC-nummer toegewezen, experts hebben de haalbaarheid van de voorgestelde oplossingen bevestigd, het document wordt als veelbelovend beschouwd, het is wenselijk dat het in de praktijk wordt getest;

    ontwerp standaard(Conceptstandaard) - een document wordt een conceptstandaard als ten minste twee onafhankelijke ontwikkelaars de voorgestelde specificaties hebben geïmplementeerd en met succes hebben toegepast. In dit stadium zijn kleine correcties en verbeteringen nog steeds toegestaan;

    Internet standaard(Internetstandaard) - de hoogste fase van goedkeuring van de standaard, de documentspecificaties zijn wijdverspreid geworden en hebben zich in de praktijk bewezen. Een lijst met internetstandaarden wordt gegeven in RFC 3700. Van de duizenden RFC's zijn er slechts enkele tientallen documenten met de status 'Internetstandaard'.

Naast standaarden kunnen RFC's ook beschrijvingen zijn van nieuwe netwerkconcepten en -ideeën, richtlijnen, resultaten van experimentele onderzoeken die ter informatie worden gepresenteerd, enz. Dergelijke RFC's kunnen een van de volgende statussen krijgen:

    experimenteel(Experimenteel) - een document met informatie over wetenschappelijk onderzoek en ontwikkeling die interessant kan zijn voor ISOC-leden;

    informatief(Informatief) - een document dat is gepubliceerd om informatie te verstrekken en waarvoor geen goedkeuring door de ISOC-gemeenschap vereist is;

    beste moderne ervaring(Best Current Practice) - een document bedoeld om ervaringen uit specifieke ontwikkelingen, zoals protocolimplementaties, over te brengen.

De status wordt aangegeven in de kop van het RFC-document na het woord Categorie (Categorie). Bij documenten met de status van standaard (Proposed Standard, Draft Standard, Internet Standard) wordt de naam aangegeven Normen Spoor, aangezien het gereedheidsniveau kan variëren.

RFC-nummers worden opeenvolgend toegewezen en worden nooit opnieuw uitgegeven. De originele RFC wordt nooit bijgewerkt. De bijgewerkte versie wordt gepubliceerd onder een nieuw nummer. Een verouderde en achterhaalde RFC wordt historisch(Historisch).

Alle bestaande RFC-documenten zijn tegenwoordig bijvoorbeeld te bekijken op de website www.rfc-editor.org . In augustus 2007 waren dat er meer dan 5.000. De RFC's waarnaar in deze cursus wordt verwezen, staan ​​vermeld in bijlage I.

Overzicht van de belangrijkste protocollen.

Protocol IK P (Internet Protocol) – Dit is het belangrijkste netwerklaagprotocol dat verantwoordelijk is voor de adressering in samengestelde netwerken en de pakketoverdracht tussen netwerken. Het IP-protocol is datagram protocol, dat wil zeggen dat het geen levering van pakketten aan het bestemmingsknooppunt garandeert. Het transportlaagprotocol TCP biedt garanties.

Protocollen RUST IN VREDE. (Routering Informatie Protocol routeringsinformatieprotocol ) EnOSPF (Open Kortste Pad Eerst – « De kortste routes gaan als eerste open" ) – routeringsprotocollen in IP-netwerken.

Protocol ICMP (Internet Controle Bericht Protocol Control Message Protocol in Composite Networks) is ontworpen om foutinformatie uit te wisselen tussen netwerkrouters en het bronknooppunt van het pakket. Met behulp van speciale pakketten rapporteert het de onmogelijkheid om een ​​pakket af te leveren, de duur van het samenstellen van een pakket uit fragmenten, afwijkende parameterwaarden, veranderingen in de doorstuurroute en het type service, de status van het systeem, enz.

Protocol ARP (Adres Oplossing Protocol – Address Translation Protocol) converteert IP-adressen naar hardwareadressen van lokale netwerken. De omgekeerde conversie wordt uitgevoerd met behulp van het protocol RAPR (Omgekeerde ARP).

TCP (Overdragen Controle Protocol – transmissiecontroleprotocol) zorgt voor een betrouwbare overdracht van berichten tussen externe netwerkknooppunten door de vorming van logische verbindingen. Met TCP kunt u een bytestream die op één computer is gegenereerd, zonder fouten aan elke andere computer in het samengestelde netwerk leveren. TCP verdeelt de bytestroom in delen - segmenten en verzendt deze naar de netwerklaag. Zodra deze segmenten op hun bestemming zijn afgeleverd, voegt TCP ze opnieuw samen tot een continue stroom bytes.

UDP (Gebruiker Datagram Protocol – User Datagram Protocol) zorgt voor gegevensoverdracht op datagramwijze.

HTTP (HyperTekst Overdracht Protocol – hypertext transfer protocol) – webdocumentleveringsprotocol, het hoofdprotocol van de WWW-service.

FTP (Bestand Overdracht Protocol – bestandsoverdrachtprotocol) – een protocol voor het overbrengen van informatie die is opgeslagen in bestanden.

KNAL 3 (Na Kantoor Protocol versie 3 – postkantoorprotocol) en SMTP (Eenvoudig Mail Overdracht Protocol – Simple Mail Forwarding Protocol) – protocollen voor het bezorgen van inkomende e-mail (POP3) en het verzenden van uitgaande e-mail (SMTP).

Telnet – terminalemulatieprotocol 1, waardoor de gebruiker verbinding kan maken met anderen afgelegen stations en werk met hen vanaf uw machine alsof het hun externe terminal is.

SNMP (Eenvoudig Netwerk Beheer Protocol – eenvoudig netwerkbeheerprotocol) is ontworpen om de prestaties van verschillende netwerkapparaten te diagnosticeren.

UNIX, wat heeft bijgedragen aan de groeiende populariteit van het protocol, omdat fabrikanten TCP/IP in de softwareset van elke UNIX-computer hebben opgenomen. TCP/IP vindt zijn mapping in het OSI-referentiemodel, zoals weergegeven in figuur 3.1.

U kunt zien dat TCP/IP zich op de derde en vierde laag van het OSI-model bevindt. Het punt hiervan is om de LAN-technologie aan de ontwikkelaars over te laten. Het doel van TCP/IP is berichtoverdracht in lokale netwerken van elk type en waarbij communicatie tot stand wordt gebracht met behulp van elke netwerktoepassing.

Het TCP/IP-protocol werkt doordat het is gekoppeld aan het OSI-model op de twee laagste lagen: de gegevenslaag en de fysieke laag. Hierdoor kan TCP/IP vinden onderlinge taal met vrijwel elke netwerktechnologie en dus met elk computerplatform. TCP/IP omvat vier abstracte lagen, die hieronder worden vermeld.


Rijst. 3.1.

  • Netwerkinterface. Zorgt ervoor dat TCP/IP actief kan communiceren met alle moderne apparaten netwerktechnologieën, gebaseerd op het OSI-model.
  • Internetwerk. Definieert hoe IP controleert berichten doorsturen via routers van een netwerkruimte zoals internet.
  • Vervoer. Definieert een mechanisme voor het uitwisselen van informatie tussen computers.
  • Toegepast. Specificeert netwerktoepassingen voor het uitvoeren van taken, zoals doorsturen, e-mailen en andere.

Vanwege het wijdverbreide gebruik ervan is TCP/IP de de facto internetstandaard geworden. De computer waarop het is geïmplementeerd netwerktechnologie, gebaseerd op het OSI-model (Ethernet of Token Ring), heeft de mogelijkheid om met andere apparaten te communiceren. In "Networking Fundamentals" hebben we naar lagen 1 en 2 gekeken bij het bespreken van LAN-technologieën. Nu gaan we verder OSI-stapel en kijk hoe de computer een verbinding met internet tot stand brengt of prive netwerk. In deze sectie worden het TCP/IP-protocol en de configuraties ervan besproken.

Wat is TCP/IP

Het feit dat computers met elkaar kunnen communiceren is op zich al een wonder. Het zijn tenslotte computers van verschillende fabrikanten, werkend met verschillende besturingssystemen en protocollen. Bij gebrek aan sommigen gemeenschappelijke basis dergelijke apparaten zouden geen informatie kunnen uitwisselen. Wanneer gegevens via een netwerk worden verzonden, moeten ze een formaat hebben dat begrijpelijk is voor zowel het verzendende als het ontvangende apparaat.

TCP/IP voldoet aan deze voorwaarde via zijn internetwerklaag. Deze laag komt rechtstreeks overeen met de netwerklaag van het OSI-referentiemodel en is gebaseerd op een vast berichtformaat dat een IP-datagram wordt genoemd. Een datagram is zoiets als een mandje waarin alle informatie van een bericht wordt geplaatst. Wanneer u bijvoorbeeld een webpagina in een browser laadt, wordt wat u op het scherm ziet stukje bij beetje per datagram weergegeven.

Het is gemakkelijk om datagrammen met pakketten te verwarren. Een datagram is een informatie-eenheid, terwijl een pakket een fysiek berichtobject is (gemaakt op de derde en hogere lagen) dat feitelijk over het netwerk wordt verzonden. Hoewel sommigen deze termen als onderling verwisselbaar beschouwen, is hun onderscheid feitelijk van belang in een specifieke context – en hier natuurlijk niet. Het is belangrijk om te begrijpen dat het bericht in fragmenten wordt opgesplitst, via het netwerk wordt verzonden en op het ontvangende apparaat opnieuw wordt samengesteld.


Het positieve aan deze aanpak is dat als een enkel pakket beschadigd raakt tijdens de verzending, dit nodig is heruitzending alleen dit pakketje, niet het hele bericht. Een ander positief punt is dat geen enkele host voor onbepaalde tijd hoeft te wachten totdat de transmissie van een andere host is voltooid voordat hij zijn eigen bericht verzendt.

TCP en UDP

Bij het verzenden van een IP-bericht over een netwerk wordt gebruik gemaakt van een van de transportprotocollen: TCP of UDP. TCP (Transmission Control Protocol) vormt de eerste helft van het acroniem TCP/IP. Het User Datagram Protocol (UDP) wordt gebruikt in plaats van TCP om minder dan belangrijke berichten. Beide protocollen worden gebruikt voor het correct uitwisselen van berichten in TCP/IP-netwerken. Er is één significant verschil tussen deze protocollen.

TCP wordt een betrouwbaar protocol genoemd omdat het met de ontvanger communiceert om te verifiëren dat het bericht is ontvangen.

UDP wordt een onbetrouwbaar protocol genoemd omdat het niet eens probeert contact op te nemen met de ontvanger om de bezorging te verifiëren.


Het is belangrijk om te onthouden dat er slechts één protocol kan worden gebruikt om een ​​bericht af te leveren. Wanneer bijvoorbeeld een webpagina wordt geladen, wordt de pakketaflevering beheerd door TCP zonder enige tussenkomst van UDP. Aan de andere kant downloadt of verzendt Trivial File Transfer Protocol (TFTP) berichten onder controle van het UDP-protocol.

De gebruikte transportmethode is afhankelijk van de applicatie: het kan e-mail, HTTP, een netwerkapplicatie, enzovoort zijn. Netwerkontwikkelaars gebruiken waar mogelijk UDP omdat dit het overheadverkeer vermindert. Het TCP-protocol doet meer moeite om de bezorging te garanderen en verzendt veel meer pakketten dan UDP. Figuur 3.2 geeft een lijst met netwerkapplicaties en laat zien welke applicaties TCP gebruiken en welke UDP gebruiken. FTP en TFTP doen bijvoorbeeld in wezen hetzelfde. TFTP wordt echter voornamelijk gebruikt voor het downloaden en kopiëren van programma's op netwerkapparaten. TFTP kan UDP gebruiken, want als het bericht niet wordt afgeleverd, gebeurt er niets ergs omdat het bericht niet bedoeld was voor de eindgebruiker, maar voor de netwerkbeheerder, wiens prioriteitsniveau veel lager is. Een ander voorbeeld is een voicevideosessie, waarbij poorten voor zowel TCP- als UDP-sessies kunnen worden gebruikt. Zo wordt er bij het tot stand brengen van een telefoonverbinding een TCP-sessie gestart om gegevens uit te wisselen, terwijl het telefoongesprek zelf via UDP wordt verzonden. Dit komt door de snelheid van spraak- en videostreaming. Als een pakket verloren gaat, heeft het geen zin om het opnieuw te verzenden, omdat het niet langer aansluit bij de gegevensstroom.


Rijst. 3.2.
IP-datagramformaat

IP-pakketten kunnen worden opgesplitst in datagrammen. Het datagramformaat creëert velden voor de payload en voor besturingsgegevens voor berichtoverdracht. Figuur 3.3 toont het datagramdiagram.

Opmerking. Laat u niet misleiden door de grootte van het gegevensveld in een datagram. Het datagram wordt niet overbelast met extra gegevens. Het dataveld is eigenlijk het grootste veld in het datagram.


Rijst. 3.3.

Het is belangrijk om te onthouden dat IP-pakketten verschillende lengtes kunnen hebben. In "Networking Fundamentals" werd gezegd dat informatiepakketten binnenkomen Ethernet-netwerken hebben een grootte van 64 tot 1400 bytes. In het Token Ring-netwerk is hun lengte 4000 bytes, in het ATM-netwerk - 53 bytes.

Opmerking. Het gebruik van bytes in een datagram kan verwarrend zijn, omdat gegevensoverdracht vaak wordt geassocieerd met begrippen als megabits en gigabits per seconde. Omdat computers echter het liefst met databytes werken, gebruiken datagrammen ook bytes.

Als je nog eens naar het datagramformaat in figuur 3.3 kijkt, zul je zien dat de meest linkse marges een constante waarde hebben. Dit gebeurt omdat CPU Iemand die met pakketten werkt, moet weten waar elk veld begint. Zonder standaardisatie van deze velden zullen de laatste bits een wirwar van enen en nullen zijn. Aan de rechterkant van het datagram bevinden zich pakketten met variabele lengte. Het doel van de verschillende velden in een datagram is als volgt.

  • VER. De versie van het IP-protocol dat wordt gebruikt door het station waarop het oorspronkelijke bericht verscheen. Huidige versie IP is versie 4. Dit veld zorgt voor gelijktijdig bestaan verschillende versies in de internetwerkruimte.
  • HLEN. Het veld informeert het ontvangende apparaat over de lengte van de header, zodat de CPU weet waar het dataveld begint.
  • Dienst Type. Code die de router het type pakketbeheer vertelt in termen van serviceniveau (betrouwbaarheid, prioriteit, uitstel, enz.).
  • Lengte. Het totale aantal bytes in het pakket, inclusief headervelden en gegevensvelden.
  • ID, fragmenten en fragmenten gecompenseerd. Deze velden vertellen de router hoe het pakket moet worden gefragmenteerd en opnieuw samengesteld en hoe de verschillen in framegrootte moeten worden gecompenseerd die kunnen optreden als het pakket LAN-segmenten met verschillende netwerktechnologieën (Ethernet, FDDI, enz.) doorkruist.
  • TTL. Een afkorting voor Time to Live is een getal dat elke keer dat een pakket wordt verzonden met één afneemt. Als de levensduur nul wordt, houdt het pakket op te bestaan. TTL voorkomt dat lussen en verloren pakketten eindeloos over het internet zwerven.
  • Protocol. Het transportprotocol dat moet worden gebruikt om het pakket te verzenden. Het meest voorkomende protocol dat in dit veld wordt gespecificeerd, is TCP, maar er kunnen ook andere protocollen worden gebruikt.
  • Kopcontrolesom. Een checksum is een getal dat wordt gebruikt om de integriteit van een bericht te verifiëren. Als controlesommen alle berichtpakketten komen niet overeen met de juiste waarde, dit betekent dat het bericht beschadigd is.
  • Bron IP adres. Het 32-bits adres van de host die het bericht heeft verzonden (meestal een pc of server).
  • Bestemming IP Adres. Het 32-bits adres van de host waarnaar het bericht is verzonden (meestal een pc of server).
  • IP-opties. Gebruikt voor netwerktesten of andere speciale doeleinden.
  • Opvulling. Vult alle ongebruikte (lege) bitposities zodat de processor de positie van de eerste bit in het dataveld correct kan bepalen.
  • Gegevens. De payload van het verzonden bericht. Het pakketgegevensveld kan bijvoorbeeld de tekst van een e-mail bevatten.

Zoals eerder vermeld bestaat het pakket uit twee hoofdcomponenten: gegevens over berichtverwerking, die zich in de header bevinden, en de informatie zelf. Informatie deel gelegen in de sector laadvermogen. Kunt u zich deze sector voorstellen als een vrachtruim? ruimteschip. De header zijn alle boordcomputers van de shuttle in de stuurcabine. Het beheert alle informatie die nodig is voor alle verschillende routers en computers langs het berichtenpad, en wordt gebruikt om een ​​bepaalde volgorde te handhaven bij het samenstellen van het bericht uit individuele pakketten.

IN moderne wereld informatie verspreidt zich in seconden. Het nieuws is zojuist verschenen en een seconde later is het al beschikbaar op een website op internet. Het internet wordt als een van de meest beschouwd nuttige ontwikkelingen menselijke geest. Om van alle voordelen van internet te kunnen genieten, moet u verbinding maken met dit netwerk.

Weinig mensen weten dat het eenvoudige proces van het bezoeken van webpagina's een complex systeem van acties met zich meebrengt, onzichtbaar voor de gebruiker. Elke klik op een link activeert honderden verschillende computerbewerkingen in het hart van de computer. Deze omvatten het verzenden van verzoeken, het ontvangen van antwoorden en nog veel meer. De zogenaamde TCP/IP-protocollen zijn verantwoordelijk voor elke actie op het netwerk. Wat zijn ze?

Elk internetprotocol TCP/IP werkt op zijn eigen niveau. Met andere woorden: iedereen doet zijn eigen ding. De hele TCP/IP-protocolfamilie doet enorm veel werk tegelijkertijd. En de gebruiker ziet op dit moment alleen maar heldere foto's En lange rijen tekst.

Het concept van een protocolstapel

De TCP/IP-protocolstack is een georganiseerde set basisnetwerkprotocollen, die hiërarchisch is verdeeld in vier niveaus en een systeem is voor de transportdistributie van pakketten via een computernetwerk.

TCP/IP is de bekendste netwerkprotocolstack die tegenwoordig wordt gebruikt. De principes van de TCP/IP-stack zijn van toepassing op zowel lokale als WAN-netwerken.

Principes van het gebruik van adressen in de protocolstapel

De TCP/IP-netwerkprotocolstack beschrijft de paden en richtingen waarin pakketten worden verzonden. Dit is de hoofdtaak van de hele stapel, uitgevoerd op vier niveaus die met elkaar communiceren via een gelogd algoritme. Voor correcte verzending pakket en de bezorging ervan op precies het punt dat erom vroeg, werd IP-adressering geïntroduceerd en gestandaardiseerd. Dit kwam door de volgende werkzaamheden:

  • Adressen verschillende types, moet worden overeengekomen. Bijvoorbeeld het converteren van een websitedomein naar het IP-adres van een server en terug, of het converteren van een hostnaam naar een adres en terug. Op deze manier wordt het mogelijk om niet alleen toegang te krijgen tot het punt via het IP-adres, maar ook via de intuïtieve naam.
  • Adressen moeten uniek zijn. Dit komt omdat het pakket in sommige speciale gevallen slechts één specifiek punt hoeft te bereiken.
  • De noodzaak om lokale netwerken te configureren.

In kleine netwerken waar enkele tientallen knooppunten worden gebruikt, worden al deze taken eenvoudig uitgevoerd met behulp van de eenvoudigste oplossingen: het samenstellen van een tabel die het eigendom van de machine en het bijbehorende IP-adres beschrijft, of u kunt IP-adressen handmatig naar alle netwerkadapters distribueren. Voor grote netwerken met duizend of tweeduizend machines lijkt het handmatig uitgeven van adressen echter niet zo haalbaar.

Daarom werd er een speciale aanpak bedacht voor TCP/IP-netwerken onderscheidend kenmerk protocol stapel. Het concept van schaalbaarheid werd geïntroduceerd.

Lagen van de TCP/IP-protocolstack

Er is hier sprake van een bepaalde hiërarchie. De TCP/IP-protocolstack bestaat uit vier lagen, die elk hun eigen set protocollen verwerken:

Applicatielaag: gemaakt om de gebruiker in staat te stellen met het netwerk te communiceren. Op dit niveau wordt alles verwerkt wat de gebruiker ziet en doet. Op dit niveau heeft de gebruiker toegang tot verschillende netwerkdiensten, bijvoorbeeld: toegang tot databases, de mogelijkheid om een ​​lijst met bestanden te lezen en te openen, elektronisch bericht of open een webpagina. Naast gebruikersgegevens en acties wordt op dit niveau ook service-informatie verzonden.

Transport laag: dit is het mechanisme voor het verzenden van pakketten Zuivere vorm. Op dit niveau doet noch de inhoud van het pakket, noch de relatie ervan met welke actie dan ook, ertoe. Op dit niveau zijn alleen het adres van het knooppunt van waaruit het pakket wordt verzonden en het adres van het knooppunt waar het pakket moet worden afgeleverd van belang. In de regel kan de grootte van fragmenten die met verschillende protocollen worden verzonden, veranderen. Daarom kunnen op dit niveau informatieblokken aan de uitgang worden opgesplitst en op de bestemming tot één geheel worden samengevoegd. Dit veroorzaakt mogelijk gegevensverlies als er op het moment van verzending van het volgende fragment een korte verbindingsonderbreking optreedt.

De transportlaag omvat veel protocollen, die zijn onderverdeeld in klassen, van de eenvoudigste, die eenvoudigweg gegevens verzenden, tot complexe protocollen, die zijn uitgerust met de functionaliteit van ontvangstbevestiging of het opnieuw opvragen van een ontbrekend gegevensblok.

Dit niveau voorziet het hogere (applicatie)niveau van twee soorten diensten:

  • Biedt gegarandeerde levering via het TCP-protocol.
  • Levert waar mogelijk via UDP .

Om een ​​gegarandeerde bezorging te garanderen, wordt er een verbinding tot stand gebracht volgens het TCP-protocol, waardoor pakketten aan de uitgang kunnen worden genummerd en aan de ingang kunnen worden bevestigd. De nummering van pakketten en ontvangstbevestiging is de zogenaamde service-informatie. Dit protocol ondersteunt verzending in de "Duplex"-modus. Bovendien wordt het dankzij de doordachte regelgeving van het protocol als zeer betrouwbaar beschouwd.

Het UDP-protocol is bedoeld voor momenten waarop het onmogelijk is om de transmissie via het TCP-protocol te configureren, of u moet besparen op het netwerkdatatransmissiesegment. Ook kan het UDP-protocol interageren met protocollen van een hoger niveau om de betrouwbaarheid van pakkettransmissie te vergroten.

Netwerklaag of "Internetlaag": de basislaag voor het gehele TCP/IP-model. De hoofdfunctionaliteit van deze laag is identiek aan de gelijknamige laag in het OSI-model en beschrijft de verplaatsing van pakketten in een samengesteld netwerk dat uit verschillende kleinere subnetten bestaat. Het verbindt aangrenzende lagen van het TCP/IP-protocol.

De netwerklaag is de verbindingslaag tussen de hogere transportlaag en het lagere niveau van netwerkinterfaces. De netwerklaag maakt gebruik van protocollen die een verzoek ontvangen van de transportlaag, en via gereguleerde adressering het verwerkte verzoek verzenden naar het netwerkinterfaceprotocol, waarbij wordt aangegeven naar welk adres de gegevens moeten worden verzonden.

Op dit niveau worden de volgende TCP/IP-netwerkprotocollen gebruikt: ICMP, IP, RIP, OSPF. De belangrijkste en meest populaire op netwerkniveau is natuurlijk het IP (Internet Protocol). De belangrijkste taak is het verzenden van pakketten van de ene router naar de andere totdat een gegevenseenheid wordt bereikt netwerkinterface bestemmingsknooppunt. Het IP-protocol wordt niet alleen op hosts ingezet, maar ook op netwerk uitrusting: routers en beheerde schakelaars. Het IP-protocol werkt volgens het principe van best-effort, niet-gegarandeerde levering. Dat wil zeggen dat het niet nodig is om vooraf een verbinding tot stand te brengen om een ​​pakket te verzenden. Deze optie leidt tot een besparing van verkeer en tijd bij het verplaatsen van onnodige servicepakketten. Het pakket wordt naar zijn bestemming gerouteerd en het is mogelijk dat het knooppunt onbereikbaar blijft. In dit geval wordt er een foutmelding geretourneerd.

Netwerkinterfaceniveau: is ervoor verantwoordelijk dat subnetwerken met verschillende technologieën met elkaar kunnen communiceren en informatie in dezelfde modus kunnen verzenden. Dit gebeurt in twee eenvoudige stappen:

  • Coderen van een pakket in een tussenliggende netwerkdata-eenheid.
  • Converteert de bestemmingsinformatie naar de vereiste subnetstandaarden en verzendt de data-eenheid.

Deze aanpak stelt ons in staat het aantal ondersteunde netwerktechnologieën voortdurend uit te breiden. Zodra het verschijnt nieuwe technologie past het onmiddellijk in de TCP/IP-protocolstack en stelt het netwerken met oudere technologieën in staat gegevens over te dragen naar netwerken die zijn gebouwd met modernere standaarden en methoden.

Overgedragen gegevenseenheden

Tijdens het bestaan ​​van een fenomeen als de TCP/IP-protocollen werden standaardtermen opgesteld voor de eenheden van verzonden gegevens. Gegevens tijdens de verzending kunnen op verschillende manieren worden gefragmenteerd, afhankelijk van de technologieën die door het bestemmingsnetwerk worden gebruikt.

Om een ​​idee te krijgen van wat er met de data gebeurt en op welk moment, was het nodig om de volgende terminologie te bedenken:

  • Data stroom- gegevens die binnenkomen transport laag van protocollen op een hoger applicatieniveau.
  • Een segment is een gegevensfragment waarin een stroom is verdeeld volgens de TCP-protocolstandaarden.
  • Datagram(vooral ongeletterde mensen spreken het uit als "Datagram") - gegevenseenheden die worden verkregen door een stroom te splitsen met behulp van verbindingsloze protocollen (UDP).
  • Plastieken zak- een gegevenseenheid geproduceerd via het IP-protocol.
  • De TCP/IP-protocollen verpakken IP-pakketten in gegevensblokken die worden verzonden via samengestelde netwerken, de zogenaamde personeel of kaders.

Typen TCP/IP-protocolstackadressen

Elk TCP/IP-protocol voor gegevensoverdracht gebruikt een van de volgende adrestypen om hosts te identificeren:

  • Lokale (hardware) adressen.
  • Netwerkadressen (IP-adressen).
  • Domeinnamen.

Lokale adressen (MAC-adressen) - gebruikt in de meeste lokale netwerktechnologieën om netwerkinterfaces te identificeren. Als het over TCP/IP gaat, betekent het woord lokaal een interface die niet in een samengesteld netwerk werkt, maar binnen een afzonderlijk subnet. Het subnet van een interface die met internet is verbonden, zal bijvoorbeeld lokaal zijn en het internetnetwerk zal samengesteld zijn. Een lokaal netwerk kan op elke technologie worden gebouwd, en ongeacht dit, vanuit het perspectief van een samengesteld netwerk, zal een machine die zich in een afzonderlijk speciaal subnet bevindt, lokaal worden genoemd. Wanneer een pakket dus het lokale netwerk binnenkomt, wordt het IP-adres ervan geassocieerd met het lokale adres, en wordt het pakket naar het MAC-adres van de netwerkinterface verzonden.

Netwerkadressen (IP-adressen). TCP/IP-technologie biedt zijn eigen mondiale adressering van knooppunten om een ​​eenvoudig probleem op te lossen: het combineren van netwerken met verschillende technologieën in één grote structuur dataoverdracht. IP-adressering is volledig onafhankelijk van de technologie die op het lokale netwerk wordt gebruikt, maar een IP-adres zorgt ervoor dat een netwerkinterface een machine op een samengesteld netwerk kan vertegenwoordigen.

Als resultaat hiervan is een systeem ontwikkeld waarbij hosts een IP-adres en een subnetmasker toegewezen krijgen. Het subnetmasker laat zien hoeveel bits zijn toegewezen aan het netwerknummer en hoeveel aan het hostnummer. Een IP-adres bestaat uit 32 bits, verdeeld in blokken van 8 bits.

Wanneer een pakket wordt verzonden, wordt er informatie aan toegewezen over het netwerknummer en het knooppuntnummer waarnaar het pakket moet worden verzonden. Eerst stuurt de router het pakket door naar het gewenste subnet en vervolgens wordt een host geselecteerd die daarop wacht. Dit proces wordt uitgevoerd door het Address Resolution Protocol (ARP).

Domeinadressen op TCP/IP-netwerken worden beheerd door een speciaal ontworpen Domain Name System (DNS). Om dit te doen, zijn er servers die de domeinnaam, gepresenteerd als een tekstreeks, matchen met het IP-adres, en het pakket verzenden in overeenstemming met de globale adressering. Er bestaat geen overeenkomst tussen een computernaam en een IP-adres. Om een ​​domeinnaam naar een IP-adres te converteren, moet het verzendende apparaat dus toegang krijgen tot de routeringstabel die op de DNS-server is aangemaakt. We schrijven bijvoorbeeld het siteadres in de browser, de DNS-server matcht dit met het IP-adres van de server waarop de site zich bevindt, en de browser leest de informatie en ontvangt een antwoord.

Naast internet is het mogelijk om domeinnamen aan computers uit te geven. Het proces van werken op een lokaal netwerk wordt dus vereenvoudigd. Het is niet nodig om alle IP-adressen te onthouden. In plaats daarvan kunt u elke computer een willekeurige naam geven en deze gebruiken.

IP adres. Formaat. Componenten. Subnetmasker

Een IP-adres is een 32-bits getal, dat in de traditionele weergave wordt geschreven als getallen van 1 tot en met 255, gescheiden door punten.

Type IP-adres in verschillende opnameformaten:

  • Decimaal IP-adres: 192.168.0.10.
  • Binaire vorm van hetzelfde IP-adres: 11000000.10101000.00000000.00001010.
  • Adresinvoer in hexadecimaal getalsysteem: C0.A8.00.0A.

Er is geen scheidingsteken tussen de netwerk-ID en het puntnummer in de invoer, maar de computer kan deze wel scheiden. Er zijn drie manieren om dit te doen:

  1. Vaste rand. Bij deze methode wordt het gehele adres byte voor byte voorwaardelijk verdeeld in twee delen met een vaste lengte. Als we dus één byte opgeven voor het netwerknummer, krijgen we 2 8 netwerken van elk 2 24 knooppunten. Als de grens nog een byte naar rechts wordt verplaatst, zullen er meer netwerken zijn - 2 16, en minder knooppunten - 2 16. Tegenwoordig wordt de aanpak als verouderd beschouwd en wordt deze niet meer gebruikt.
  2. Subnetmasker. Het masker is gekoppeld aan een IP-adres. Het masker heeft een reeks waarden "1" in de bits die zijn toegewezen aan het netwerknummer, en een bepaald aantal nullen op de plaatsen van het IP-adres die zijn toegewezen aan het knooppuntnummer. De grens tussen enen en nullen in het masker is de grens tussen de netwerk-ID en de host-ID in het IP-adres.
  3. Methode voor adresklassen. Compromismethode. Bij gebruik kunnen netwerkgroottes niet door de gebruiker worden geselecteerd, maar er zijn vijf klassen - A, B, C, D, E. Drie klassen - A, B en C - zijn bedoeld voor verschillende netwerken, en D en E zijn gereserveerd voor speciale netwerken. In een klassensysteem heeft elke klasse zijn eigen grens van netwerknummer en knooppunt-ID.

IP-adresklassen

NAAR klasse A, eerste klasse Deze omvatten netwerken waarin het netwerk wordt geïdentificeerd door de eerste byte en de overige drie het knooppuntnummer zijn. Alle IP-adressen met een eerste bytewaarde van 1 tot 126 in hun bereik zijn netwerken van klasse A. Er zijn zeer weinig netwerken van klasse A in aantal, maar elk van deze kan maximaal 2 24 punten hebben.

Klasse B- netwerken waarin de twee hoogste bits gelijk zijn aan 10. Daarin worden 16 bits toegewezen voor het netwerknummer en de puntidentificatie. Als gevolg hiervan blijkt dat het aantal klasse B-netwerken kwantitatief verschilt van het aantal klasse A-netwerken, maar dat ze een kleiner aantal knooppunten hebben - tot 65.536 (2 16) eenheden.

Op netwerken klasse C- er zijn heel weinig knooppunten - 2 8 in elk, maar het aantal netwerken is enorm, vanwege het feit dat de netwerkidentificatie in dergelijke structuren drie bytes in beslag neemt.

Netwerken klasse D- behoren al tot speciale netwerken. Het begint met de reeks 1110 en wordt een multicast-adres genoemd. Interfaces met klasse A-, B- en C-adressen kunnen deel uitmaken van een groep en naast het individuele adres ook een groepsadres ontvangen.

Adressen klasse E- als reserve voor de toekomst. Dergelijke adressen beginnen met de reeks 11110. Hoogstwaarschijnlijk zullen deze adressen worden gebruikt als groepsadressen wanneer er een tekort is aan IP-adressen op het mondiale netwerk.

Het TCP/IP-protocol instellen

Het instellen van het TCP/IP-protocol is beschikbaar op alle besturingssystemen. Dit zijn Linux, CentOS, Mac OS X, Free BSD, Windows 7. Het TCP/IP-protocol vereist alleen een netwerkadapter. Natuurlijk zijn serverbesturingssystemen tot meer in staat. Het TCP/IP-protocol wordt op grote schaal geconfigureerd met behulp van serverservices. IP-adressen in reguliere desktop computers zijn ingesteld in de netwerkverbindingsinstellingen. Daar configureert u het netwerkadres, de gateway - het IP-adres van het punt dat toegang heeft tot het mondiale netwerk, en de adressen van de punten waar de DNS-server zich bevindt.

Internetprotocol TCP/IP kan worden geconfigureerd handmatige modus. Hoewel dit niet altijd nodig is. U kunt automatisch TCP/IP-protocolparameters ontvangen van het dynamische distributieadres van de server. Deze methode wordt gebruikt in grote bedrijfsnetwerken. Op DHCP server u kunt een lokaal adres aan een netwerkadres toewijzen, en zodra een machine met een bepaald IP-adres op het netwerk verschijnt, zal de server deze onmiddellijk een vooraf ingesteld IP-adres geven. Dit proces heet reserveren.

TCP/IP-adresresolutieprotocol

De enige manier om een ​​relatie tussen een MAC-adres en een IP-adres tot stand te brengen, is door een tabel bij te houden. Als er een routeringstabel is, is elke netwerkinterface op de hoogte van zijn adressen (lokaal en netwerk), maar de vraag rijst hoe de uitwisseling van pakketten tussen knooppunten op de juiste manier kan worden georganiseerd met behulp van het TCP/IP 4-protocol.

Waarom is het Address Resolution Protocol (ARP) uitgevonden? Om de TCP/IP-protocolfamilie en andere adresseringssystemen te koppelen. Op elk knooppunt wordt een ARP-toewijzingstabel gemaakt, die wordt gevuld door het hele netwerk te pollen. Dit gebeurt elke keer dat de computer wordt uitgeschakeld.

ARP-tabel

Dit is hoe een voorbeeld van een gecompileerde ARP-tabel eruit ziet.


Inleiding tot TCP/IP

Het internet werkt op basis van de TCP/IP-familie van communicatieprotocollen, wat staat voor Transmission Control Protocol/Internet Protocol. TCP/IP wordt zowel op internet als op veel lokale netwerken gebruikt voor gegevensoverdracht.
Natuurlijk vereist het werken met internet als gebruiker geen speciale kennis van de TCP/IP-protocollen, maar het begrijpen van de basisprincipes zal u helpen bij het oplossen van mogelijke problemen. algemeen problemen die zich met name voordoen bij het opzetten van een e-mailsysteem.
TCP/IP is ook nauw verwant aan twee andere belangrijke internettoepassingen: FTP en Telnet. Tenslotte kennis van een aantal fundamentele zaken Internetconcepten zal u helpen de complexiteit van dit systeem volledig te begrijpen, net zoals het begrijpen van de werking van een verbrandingsmotor u helpt respect te krijgen voor het ontwerp van een auto.
TCP/IP is een vrij complex en uitgebreid onderwerp, dat het onderwerp is van veel naslagwerken en omvangrijke artikelen. In dit gedeelte worden alleen basisconcepten behandeld en geen technische details.

Wat is TCP/IP

TCP/IP is de naam van een familie netwerkprotocollen. Een protocol is een reeks regels waaraan alle bedrijven zich moeten houden om de compatibiliteit van de hardware en software die zij produceren te garanderen. Deze regels zorgen ervoor dat een machine met digitale apparatuur waarop TCP/IP draait, kan communiceren met een Compaq pc waarop ook TCP/IP draait. Zolang aan bepaalde normen wordt voldaan voor het functioneren van het gehele systeem, maakt het niet uit wie de software- of hardwarefabrikant is. De open systeemideologie omvat het gebruik van standaardhardware en -software. TCP/IP - open protocol, en dit betekent dat alle specifieke informatie over het protocol wordt gepubliceerd en vrij kan worden gebruikt.
Een protocol definieert hoe de ene applicatie met de andere communiceert. Deze softwarecommunicatie is als een gesprek: "Ik stuur je dit stukje informatie, dan stuur jij mij dit terug, dan stuur ik je dit. Je moet alle bits bij elkaar optellen en het totale resultaat terugsturen, en als er een probleem is, moet je mij een corresponderend bericht sturen. "Het protocol definieert hoe de verschillende delen van het totale pakket de overdracht van informatie controleren. In het logboek wordt weergegeven of het pakket een e-mailbericht, een nieuwsgroepartikel of een servicebericht bevat. De protocolstandaarden zijn zo geformuleerd dat zij rekening houden met mogelijke onvoorziene omstandigheden. Het protocol bevat ook regels voor foutafhandeling.
De term TCP/IP omvat de namen van twee protocollen: Transmission Control Protocol (TCP) en Internet Protocol (IP). TCP/IP is niet één programma, zoals veel gebruikers ten onrechte denken. TCP/IP verwijst daarentegen naar een hele familie van verwante protocollen die zijn ontworpen om informatie over een netwerk te verzenden en tegelijkertijd informatie te verstrekken over de status van het netwerk zelf. TCP/IP is de softwarecomponent van het netwerk. Elk onderdeel van de TCP/IP-familie voert een specifieke taak uit: het verzenden van e-mail, het leveren van externe login-services, het overbrengen van bestanden, het routeren van berichten of het afhandelen van netwerkstoringen. Het gebruik van TCP/IP is niet beperkt tot het mondiale internet. Dit zijn de meest gebruikte netwerkprotocollen over de hele wereld, zowel in grote bedrijfsnetwerken als in lokale netwerken met een klein aantal computers.
Zoals zojuist vermeld is TCP/IP niet één protocol, maar een familie daarvan. Waarom wordt de term TCP/IP soms gebruikt als er een andere dienst dan TCP of IP wordt bedoeld? Meestal wordt de algemene naam gebruikt bij de bespreking van de hele familie van netwerkprotocollen. Sommige gebruikers bedoelen echter, als ze het over TCP/IP hebben, slechts enkele van de protocollen in de familie: ze gaan ervan uit dat de andere partij in de dialoog begrijpt wat er precies wordt besproken. In feite is het beter om elk van de diensten bij zijn eigen naam te noemen om meer duidelijkheid over het onderwerp te brengen.

TCP/IP-componenten

De verschillende diensten die deel uitmaken van TCP/IP en hun functies kunnen worden geclassificeerd op basis van het soort taak dat ze uitvoeren. Hieronder volgt een beschrijving van protocolgroepen en hun doel.
Transportprotocollen regelen de gegevensoverdracht tussen twee machines.

  • TCP (Transmissie Controle Protocol). Een protocol dat gegevensoverdracht ondersteunt op basis van een logische verbinding tussen de verzendende en ontvangende computers.
  • UDP (Gebruikersdatagramprotocol). Een protocol dat gegevensoverdracht ondersteunt zonder een logische verbinding tot stand te brengen. Dit betekent dat gegevens worden verzonden zonder eerst een verbinding tot stand te brengen tussen de computers van de ontvanger en de afzender. Er kan een analogie worden getrokken met het verzenden van post naar een bepaald adres, terwijl er geen garantie is dat dit bericht bij de geadresseerde zal aankomen, als deze al bestaat. , (De twee machines zijn verbonden in de zin dat ze allebei verbonden zijn met internet, maar ze communiceren niet met elkaar via een logische verbinding.)
Routeringsprotocollen verwerken de gegevensadressering en bepalen de beste manieren aan de geadresseerde. Ze kunnen ook de mogelijkheid bieden om grote berichten op te splitsen in verschillende kleinere berichten, die vervolgens opeenvolgend worden verzonden en samengevoegd tot één geheel op de doelcomputer.
  • IP (internetprotocol). Biedt daadwerkelijke gegevensoverdracht.
  • ICMP (Internet Control Message Protocol). Verwerkt statusberichten voor IP, zoals fouten en wijzigingen in netwerkhardware die van invloed zijn op de routering.
  • RIP (Routing Informatie Protocol). Een van de vele protocollen die de beste route bepalen voor het bezorgen van een bericht.
  • OSPF (eerst het kortste pad openen). Een alternatief protocol voor het bepalen van routes.
Netwerkadresondersteuning is een manier om een ​​machine te identificeren met een uniek nummer en een unieke naam. (Zie hieronder voor meer informatie over adressen)
  • ARP (Adres Resolutie Protocol). Definieert unieke numerieke adressen van machines op het netwerk.
  • DNS (domeinnaamsysteem). Bepaalt numerieke adressen op basis van machinenamen.
  • RARP (Revere Address Resolution Protocol). Bepaalt de adressen van machines op het netwerk, maar op omgekeerde wijze als ARP.
Applicatieservices zijn programma's die een gebruiker (of computer) gebruikt om toegang te krijgen tot verschillende services.
  • BOOTP (Boot Protocol) start een netwerkmachine op door opstartinformatie van de server te lezen.
  • FTP (File Transfer Protocol) brengt bestanden over tussen computers.
  • TELNET biedt zichtbare terminaltoegang tot het systeem, d.w.z. een gebruiker van de ene computer kan verbinding maken met een andere computer en het gevoel hebben dat hij achter het toetsenbord van een externe machine werkt.
Gateway-protocollen helpen bij het verzenden van routeringsberichten en netwerkstatusinformatie over netwerken en bij het verwerken van gegevens voor lokale netwerken.
  • EGP (Exterior Gateway Protocol) wordt gebruikt om routeringsinformatie voor externe netwerken te verzenden.
  • GGP (Gateway-to-Gateway Protocol) dient voor de overdracht van routeringsinformatie tussen gateways.
  • IGP (Interior Gateway Protocol) wordt gebruikt om routeringsinformatie voor interne netwerken te verzenden.
Andere protocollen vallen niet in de hierboven genoemde categorieën, maar spelen belangrijke rol online.
  • NFS (Netwerk Bestandssysteem) kunt u mappen en bestanden op een externe computer gebruiken alsof ze op de lokale computer aanwezig zijn.
  • NIS (Network Information Service) houdt informatie bij over gebruikers van meerdere computers in een netwerk, waardoor het gemakkelijker wordt om in te loggen en wachtwoorden te controleren.
  • Met RPC (Remote Procedure Call) kunnen applicatieprogramma's op afstand op een eenvoudige en efficiënte manier met elkaar communiceren.
  • SMTP (Simple Mail Transfer Protocol) is een protocol dat e-mailberichten tussen machines overdraagt.
  • SNMP (Simple Network Management Protocol) is een administratief protocol dat berichten verzendt over de status van het netwerk en de apparaten die erop zijn aangesloten.
Al deze soorten diensten vormen samen TCP/IP: een krachtige en efficiënte familie van netwerkprotocollen.
We zullen niet al deze protocollen in detail bespreken, omdat de technische details voor de eindgebruiker niet belangrijk zijn. In plaats daarvan zullen we er enkele kort belichten belangrijke aspecten TCP/IP-protocollen. Als u meer wilt weten over TCP/IP, raadpleeg dan de boeken die specifiek aan dit onderwerp zijn gewijd.

Een korte geschiedenis van TCP/IP en internet

Het internet is, zoals eerder vermeld, niet één enkel netwerk, maar een verzameling van vele netwerken die communiceren via het gebruik ervan gemeenschappelijke protocollen. TCP/IP en internet zijn zo nauw met elkaar verbonden dat de architectuur van het TCP/IP-netwerk vaak de internetarchitectuur wordt genoemd. Het internet is voortgekomen uit het eerste ARPANET (het netwerk van het Advanced Research Projects Agency), dat was ontworpen om onderzoekers die aan militaire projecten werkten de mogelijkheid te bieden snel met elkaar te communiceren. beginstadium Het netwerk is ontwikkeld door Bolt, Beranek en Newinan (BBN), een bedrijf dat een sterke invloed had op de ontwikkeling van dit netwerk.
ARPANET begon in 1971 te functioneren. Vanaf het allereerste begin werd het netwerk voortdurend gemoderniseerd in overeenstemming met de behoeften van de gebruikers, waardoor ze van alle gemakken werden voorzien. grote hoeveelheid functionaliteit. Een belangrijke vereiste was de mogelijkheid om bestanden tussen computers uit te wisselen, wat uiteindelijk leidde tot de ontwikkeling van het File Transfer Protocol (FTP).
Een andere belangrijke behoefte was ondersteuning voor terminaltoegang op afstand tot het systeem, waardoor een gebruiker van het ene systeem verbinding kon maken met een andere machine op het netwerk en eraan kon werken alsof het zijn eigen machine was. Voor dit doel zijn Telnet en login gemaakt - twee hulpprogramma's die terminaltoegang op afstand tot het systeem implementeren.
Met de toename van het aantal gebruikers en de toename van de intensiteit van het netwerkgebruik door reeds aangesloten gebruikers, zal de netwerk verkeer. Bijgevolg werd het duidelijk dat niet alleen het netwerk moest worden uitgebreid, maar dat er ook een verbeterd communicatieprotocol moest worden ontwikkeld. De TCP/IP-protocollen werden in 1973 voorgesteld en in 1982 in een gestandaardiseerde versie aangenomen. Een van de onderzoekslaboratoria die aan netwerksoftware werkte, bevond zich aan de Universiteit van Californië in Berkeley (UCB). Deze universiteit is al jaren een centrum voor de ontwikkeling van operatiekamers UNIX-systemen en heeft een belangrijke bijdrage geleverd aan de verbetering van TCP/IP. In 1983 bracht UCB een versie van het UNIX-systeem uit waarin TCP/IP een integraal onderdeel van het besturingssysteem was. TCP/IP werd erg populair dankzij wijdverbreid gebruik UNIX, vooral op netwerken die zijn verbonden met het groeiende ARPANET.
Toen TCP/IP voldoende volwassen was geworden, werden voorstellen ingediend bij de National Science Foundation, wat leidde tot het vrijmaken van financiering voor een project om het Computer Science Network op te zetten ter vervanging van het overbelaste ARPANET. In 1984 leidde dit tot de splitsing van het netwerk in tweeën. Eén netwerk, MILNET genaamd, was bestemd voor de militaire afdeling. Een ander deel van het ARPANET was gewijd aan onderzoek en andere niet-militaire toepassingen.
Het ARPANET werd getransformeerd toen het Office of Advanced Scientific Computing (OASC)-project om een ​​netwerk te creëren voor grootschalige toegang tot supercomputing werd goedgekeurd. OASC creëerde een ander netwerk: NSFNET, dat met behulp van snelle telefoonkanalen zes supercomputers met elkaar verbond verschillende delen landen. Andere netwerken hebben zich bij dit netwerk aangesloten om de toegang tot supercomputers te delen hogesnelheidskanalen communicatie. NFSNET is de belangrijkste ruggengraat van het internet geworden. In 1990 kondigde het ministerie van Defensie, dat het ARPANET had opgericht, officieel de afschaffing ervan aan, omdat het zijn doel had gediend en nu achterhaald is.

Numeriek computeradres

Elke machine die is verbonden met internet of een ander TCP/IP-netwerk moet uniek worden geïdentificeerd. Zonder een unieke identificatie weet het netwerk niet hoe het bericht op uw machine moet worden afgeleverd. Als meerdere computers dezelfde identificatie hebben, kan het netwerk het bericht niet adresseren.
IN Internetcomputers netwerken worden geïdentificeerd door het toewijzen van een internetadres, of beter gezegd, een IP-adres. IP-adressen zijn altijd 32 bits lang en bestaan ​​uit vier 8-bits delen. Dit betekent dat elk deel een waarde tussen 0 en 255 kan aannemen. De vier delen worden gecombineerd tot een notatie waarin elke acht-bits waarde wordt gescheiden door een punt. 255.255.255.255 of 147.120.3.28 zijn bijvoorbeeld twee IP-adressen. Wanneer we praten over Als we het over een netwerkadres hebben, bedoelen we meestal een IP-adres.
Als alle 32 bits van een IP-adres zouden worden gebruikt, zouden er meer dan vier miljard mogelijke adressen zijn - meer dan genoeg voor de toekomstige uitbreiding van het internet! Sommige bitcombinaties zijn echter gereserveerd voor speciale doeleinden, waardoor het aantal potentiële adressen wordt verminderd. Bovendien zijn de 8-bit quads op speciale manieren gegroepeerd, afhankelijk van het type netwerk, zodat het werkelijke aantal mogelijke adressen nog kleiner is.
IP-adressen worden niet toegewezen op basis van het principe van het vermelden van hosts op het netwerk -1,2,3,.... In feite bestaat een IP-adres uit twee delen: het netwerkadres en het hostadres in dit netwerk. Dankzij deze structuur van het IP-adres kunnen computers op verschillende netwerken dezelfde nummers hebben. Omdat de netwerkadressen verschillend zijn, worden computers uniek geïdentificeerd. Zonder een dergelijk schema wordt nummering al snel erg lastig.
IP-adressen worden toegewezen afhankelijk van de grootte van de organisatie en het soort activiteiten. Als dit een kleine organisatie is, zijn er hoogstwaarschijnlijk weinig computers (en dus IP-adressen) op het netwerk. Een groot bedrijf daarentegen kan duizenden computers hebben, georganiseerd in verschillende onderling verbonden lokale netwerken. Om maximale flexibiliteit te garanderen, worden IP-adressen toegewezen afhankelijk van het aantal netwerken en computers in de organisatie en verdeeld in de klassen A, B en C. Er zijn ook klassen D en E, maar deze worden voor specifieke doeleinden gebruikt.
Er zijn drie klassen IP-adressen waarmee ze kunnen worden toegewezen op basis van de grootte van het netwerk van een organisatie. Omdat 32 bits de wettelijke volledige grootte van een IP-adres is, verdelen de klassen de vier 8-bits delen van het adres in een netwerkadres en een hostadres, afhankelijk van de klasse. Aan het begin van het IP-adres zijn een of meer bits gereserveerd om de klasse te identificeren.
Een klasse A-netwerkadres heeft slechts 7 bits voor het netwerkadres en 24 bits voor het hostadres. Hierdoor kunt u meer dan 16 miljoen verschillende hosts op één subnet identificeren - meer dan genoeg voor de grootste organisatie. Natuurlijk kunnen er slechts 128 (2 tot de zevende macht) Klasse A-netwerken zijn.
Een klasse B-netwerkadres heeft 14 bits voor het netwerkadres en 16 bits voor het hostadres, waardoor er meer klasse B-netwerken kunnen worden toegewezen, maar met minder hosts. 16 bits kunnen echter meer dan 65.000 hosts identificeren. Ten slotte kunnen Klasse C IP-netwerken maximaal 254 hosts hebben, maar er kunnen veel van dergelijke netwerken zijn. De meeste netwerken worden geclassificeerd als Klasse B of Klasse C, hoewel het Internet Network Information Center (InterNIC) het laatste woord heeft over de aanduiding van de netwerkklasse.
Tot welk type klasse het bedrijfsnetwerk behoort, kan worden bepaald aan de hand van het eerste getal van het IP-adres. Er zijn de volgende regels voor het eerste 8-bits getal:

  • Klasse A-adressen - getallen tussen 0 en 127
  • Klasse B-adressen - nummers tussen 128 en 191
  • Klasse C-adressen - nummers tussen 192 en 223
Als het IP-adres van uw machine 147.14.87.23 is, weet u dat uw machine zich op een klasse B-netwerk bevindt, de netwerk-ID 147.14 is en het unieke nummer van uw machine op dit netwerk 87.23 is. Als het IP-adres 221.132.3.123 is, bevindt de machine zich op een klasse C-netwerk met netwerk-ID 221.132.3 en host-ID 123.
Telkens wanneer een bericht naar een host op internet wordt verzonden, wordt het IP-adres gebruikt om de adressen van de afzender en de ontvanger aan te geven. Uiteraard hoef je niet zelf alle IP-adressen te onthouden, want er is een speciale service TCP/IP, genaamd Domain Name System.

Gateway-protocollen

Om datagrammen snel en efficiënt door te sturen, moeten gateways weten wat er op het netwerk gebeurt. Naast informatie over berichtroutering hebben ze informatie nodig over de parameters van subnetten die zijn verbonden met het grotere netwerk, zodat ze routes kunnen aanpassen als sommige delen van het netwerk uitvallen.
Er zijn twee soorten gateways: intern en extern. Gateways die zich op een klein subnet bevinden, kunnen connectiviteit bieden met een groter bedrijfsnetwerk. Dergelijke gateways worden autonoom of op zichzelf staand genoemd omdat de verbindingen tussen deze gateways persistent zijn en zelden veranderen. Deze gateways communiceren met elkaar via het interne gatewayprotocol - IGP (Internal Gateway Protocol).
Grote netwerken zoals het internet zijn niet statisch van structuur. Gateway-instellingen veranderen voortdurend omdat er veranderingen plaatsvinden in talloze kleine subnetten. De communicatie tussen dergelijke gateways vindt plaats via een extern gatewayprotocol - EGP (Extenor Gateway Protocol).
Er is een ander gateway-protocol waar u wellicht van gehoord heeft: Gateway-to-Gateway Protocol, of GGP. Het wordt gebruikt tussen speciale gateways op internetbackbones. Dergelijke gateways hebben betrekking op het gehele internet als geheel en zorgen voor de transmissie van verkeer in het hogesnelheidsbackbone-gedeelte van het netwerk.

TCP en UDP

Zoals aan het begin van dit hoofdstuk besproken bij de bespreking van protocollagen, biedt de transportlaag van de TCP/IP-architectuur een dienst voor het bezorgen van berichten. De TCP/IP-familie omvat twee verschillende protocollen die deze service implementeren: Transmission Control Protocol (TCP) en User Datagram ProtocolUser Datagram Protocol (UDP). Beide zijn op grote schaal gebruikt.
Het verschil tussen beide ligt in de manier waarop de verbinding tussen de twee computers tot stand wordt gebracht. TCP brengt een directe logische verbinding tot stand, dat wil zeggen dat de computers rechtstreeks met elkaar zijn verbonden en dat elk van hen de status van de ander kent. UDP probeert niet een dergelijke verbinding tot stand te brengen. Dit protocol voegt eenvoudigweg een IP-adres toe aan het gegenereerde bericht en verzendt dit naar het netwerk.
Het is duidelijk dat TCP een betrouwbaardere communicatiemethode is, omdat elk ontvangen bericht wordt bevestigd. Bij UDP is er geen garantie dat het bericht daadwerkelijk wordt ontvangen. Om de ontvangst van een bericht te bevestigen, gebruikt UDP een schema waarbij de machine van de ontvanger een bevestiging van het ontvangen bericht moet sturen, en als een dergelijke bevestiging niet binnen een bepaalde tijd door de afzender wordt ontvangen, wordt de verzending van het bericht uitgevoerd. wordt herhaald.
Je zou kunnen denken dat iedereen TCP zou willen gebruiken om het bericht te verzenden, maar in werkelijkheid vertrouwen de meesten op UDP. Stel je voor hoeveel verbindingen er tot stand moeten worden gebracht met alle machines op het netwerk - dit is een gigantisch cijfer, en elke seconde verschijnen er nieuwe verbindingen en verdwijnen oude verbindingen. Het gebruik van UDP vereenvoudigt het netwerkverkeer aanzienlijk.
Elk type TCP/IP-service is ontworpen om het gebruik van UDP of TCP mogelijk te maken. Telnet en FTP gebruiken bijvoorbeeld TCP omdat de verbinding tussen de twee computers altijd moet bestaan. Een andere manier om bestanden over te dragen, een protocol genaamd Trivial FTP (TFTP), maakt gebruik van UDP (zie "Trivial FTP" verderop in dit hoofdstuk).
Beide protocollen (TCP en UDP) voegen een header toe aan het begin van het bericht dat de transportlaag ontvangt van hogere lagen. De inhoud en structuur van de TCP-header verschillen van die van UDP, maar bevatten beide dezelfde basisinformatie over wie het pakket heeft verzonden en naar wie, specifieke informatie over het berichttype en statistieken.
En tot slot nog een paar woorden over de term “datagram” die verband houdt met TCP/IP. Een datagram is een samengesteld bericht dat via alle lagen naar het netwerk wordt verzonden. Als het over TCP/IP gaat, is het juister om de term ‘datagram’ te gebruiken in plaats van de term ‘bericht’.

TCP-poorten en sockets

Applicatieprogramma's die TCP gebruiken, moeten een manier hebben om mee te communiceren bepaalde dienst. Om dit te doen, worden de poortnummers ingevoerd die overeenkomen met elk type dienst. Telnet gebruikt bijvoorbeeld poortnummer 23. Het poortnummer bepaalt het type service dat de ene machine van de andere machine vraagt, dus wanneer de ene machine een verzoek naar poort 23 van een andere machine verzendt, komt het antwoord ook naar poort 23.
Verwar TCP-poorten niet met de poorten aan de achterkant van uw computer. De seriële poorten van een machine zijn bijvoorbeeld fysiek, terwijl TCP-poorten logisch zijn. Bij het tot stand brengen van een verbinding met een computer kan de fysieke poort ervan worden gebruikt (er kan een datalijn op zijn aangesloten), maar het systeem zal dan voor elk type dienst een logische TCP-poort toewijzen.
Poortnummers kunnen opnieuw worden toegewezen door de beheerder, maar het wijzigen van het poortnummer kan problemen veroorzaken. De meeste systemen gebruiken standaard poortnummers, waarvan een lijst beschikbaar is in de TCP/IP-documentatie. Gewone gebruikers weten wellicht niet welke poort wanneer wordt gebruikt, maar dit is niet nodig omdat alle Windows-versies van TCP/IP-pakketten standaard poortnummers gebruiken. Hieronder vindt u een lijst met de meest gebruikte poorten:

Elk entry-/exitpunt van elke TCP-laag op elke machine wordt uniek geïdentificeerd door een paar cijfers, gezamenlijk een socketnummer genoemd, dat bestaat uit een IP-adres en een poortnummer. Een computer kan een socketnummer gebruiken om met een andere computer en een ander netwerk te communiceren, omdat IP-adressen alle computers in een netwerk op unieke wijze identificeren.
Elke machine op het netwerk houdt een kleine tabel bij met een beschrijving van het gebruik van alle poorten. Het wordt een poorttabel genoemd. Wanneer een verbinding tot stand is gebracht, wordt de poorttabel van de andere machine die de verbinding ondersteunt, in de poorttabel ingevoerd. Beide machines die aan de verbinding deelnemen, hebben dus de poortnummers van de andere machine, wat poortbindingen wordt genoemd. Een poort kan voor meerdere verbindingen tegelijk worden gebruikt; dit heet multiplexen.

IP-protocol

Internet Protocol (IP) is het belangrijkste TCP/IP-protocol. Het is belangrijk om te begrijpen dat hoewel het woord "Internet" in de naam van het protocol voorkomt, dit het gebruik ervan niet beperkt. IP definieert het protocol, niet de verbinding.
Internet Protocol brengt geen logische verbinding tot stand. Dit betekent dat IP geen controle heeft over de bezorging van berichten op de eindbestemming. De IP-adressen van de verzendende machine en de ontvangende machine zijn opgenomen in de datagramheader en worden gebruikt om datagrammen tussen gateways te verzenden. Hierbij wordt gebruik gemaakt van routeringsinformatie die zich bij de gateway bevindt om aan te geven waar het datagram in elke fase naartoe moet worden gestuurd.
De hoofdtaak van IP is het adresseren van datagrammen en het verzenden ervan tussen computers. Het analyseert informatie over de ontvanger en gebruikt deze om te bepalen beste traject. IP voegt een eigen header toe aan het bericht dat wordt ontvangen van hogere lagen (TCP of UDP).
IP lost ook een ander probleem op dat verband houdt met het opsplitsen van lange datagrammen in verschillende kleinere delen en het vervolgens opnieuw samenstellen ervan in hun oorspronkelijke vorm op de bestemming. Grote datagrammen kunnen om een ​​aantal redenen kapot gaan, waaronder beperkingen in de grootte van IP-berichten (ongeveer 64 KB). Normaal gesproken kan het netwerk zo'n groot bericht niet rechtstreeks verzenden, waardoor het datagram in kleine fragmenten van enkele kilobytes moet worden opgesplitst.
Er worden verschillende speciale termen gebruikt om dit proces te beschrijven:

  • Segmentatie is het proces waarbij een datagram in verschillende kleinere datagrammen wordt opgedeeld.
  • Hermontage is het proces waarbij kleine datagrammen worden gecombineerd tot een origineel groot datagram.
  • Scheiding - het omgekeerde van aaneenschakeling, het proces waarbij een heel datagram in meerdere wordt gesplitst kleine berichten voor diverse applicatieprogramma's.
IP voert al deze processen uit zonder dat u het merkt. Er worden speciale algoritmen geïmplementeerd om te verifiëren dat het bericht correct en in de oorspronkelijke vorm wordt hersteld, en dat alle delen van het grote bericht correct worden ontvangen. Dit wordt verzorgd door informatie in de IP-header en een aantal speciale tellers die IP gebruikt om op alle delen van het bericht te wachten. Een van de problemen met dit soort berichtuitsplitsing is dat een gefragmenteerd bericht een lagere waarschijnlijkheid van bezorging heeft dan een niet-gefragmenteerd bericht. De meeste applicatieprogramma's proberen waar mogelijk fragmentatie te voorkomen.

IPMR-protocol

Netwerkstoringen kunnen optreden als gevolg van onjuiste routering, verlies of beschadiging van datagrammen. Tegelijkertijd is het informeren van de afzender over opgetreden problemen niet minder belangrijk dan het verwerken van foutsituaties in het netwerk zelf. Om deze taak te volbrengen is het Internet Control Message Protocol (ICMP) in het leven geroepen.
ICMR is een foutrapportagesysteem dat is ingebouwd in het internetprotocol. ICMP-berichten kunnen worden behandeld als speciale IP-berichten. Met andere woorden, ICM is een communicatiesysteem op IP-niveau. De header van ICMP-berichten is dezelfde als die van gewone IP-pakketten, en de verwerking ervan op het netwerk is volledig hetzelfde als de verwerking van datagrammen. In de meeste gevallen worden door ICMP verzonden foutmeldingen teruggestuurd naar de afzender wiens IP-adres in de header staat.
Het ICMR-bericht bevat informatie over het probleem dat is opgetreden, evenals een fragment van het oorspronkelijke bericht. Dit fragment dient ter identificatie foutief bericht, en bevat ook enkele diagnostische informatie.

TCP/IP-toepassingen

Nu u weet hoe TCP, UDP en IP berichten verpakken en transporteren, kunnen we kijken naar de TCP/IP-protocollen die rechtstreeks in toepassingsprogramma's worden gebruikt. Enkele van de meest gebruikte protocollen zijn Telnet en FTP. De belangrijkste toepassingsprotocollen omvatten ook het Simple Mail Transfer Protocol (SMTP), dat wordt gebruikt om e-mailberichten over te dragen. Ten slotte is er een reeks hulpprogramma's genaamd Berkeley r-utilities, genoemd naar de universiteit waar ze zijn ontwikkeld.

Telnet

Het Telnet-protocol (van de woorden telecommunicatienetwerk - telecommunicatienetwerk) biedt de mogelijkheid om in te loggen op een systeem op afstand. Hiermee kan de gebruiker van de ene computer inloggen op een externe computer die zich op een ander deel van het netwerk bevindt. In dit geval lijkt het alsof de gebruiker aan de terminal van een externe computer werkt. Telnet kan handig zijn als u op een trage computer werkt en wilt profiteren van de computerbronnen van een krachtigere machine, of als de externe computer over de software beschikt die u nodig hebt.
Voordat Telnet werd ontwikkeld, was de enige manier om toegang te krijgen tot de bronnen van een andere computer een directe verbinding via een modem of via speciale netwerkpoorten, wat, naast de eenvoud ervan, ook een aantal belangrijke beperkingen had.
Telnet wordt beheerd door een speciaal programma (server) dat draait op de computer waarmee u verbinding maakt en dat binnenkomende verzoeken verwerkt. Op uw computer wordt een Telnet-programma (Telnet-KAiiCHT) uitgevoerd dat toegang heeft tot de server. Tijdens het verbindingsproces komen computers de terminalemulatiemodus voor een bepaalde werksessie overeen. In wezen vraagt ​​de ene machine aan de andere welke functies deze ondersteunt.
Om een ​​Telnet-sessie te starten, moet u de domeinnaam of het IP-adres van de externe computer invoeren. Een domeinnaam kan alleen worden gebruikt als het systeem de naam kan omzetten in een numeriek IP-adres met behulp van de DMS-service. Zodra er een verbinding tot stand is gebracht, zal het systeem doorgaans om een ​​gebruikersnaam en wachtwoord vragen, hoewel dit kan variëren afhankelijk van het type domeinnaam. besturingssysteem en software Telnet-software geïnstalleerd op de onderdrukte computer.
Telnet-opdrachten variëren afhankelijk van de gebruikte Tclnet-client, vooral als u met een GUI zoals Windows werkt. In de meeste gevallen zal de Tclnet-client een venster creëren waarin u in de opdrachtregelmodus kunt werken.
Zodra de verbinding tot stand is gebracht, speelt uw computer de rol van terminal van de externe machine. Alle opdrachten die u invoert, worden uitgevoerd op de externe computer. Om de werksessie te beëindigen, voert u de juiste opdracht in (voor UNIX-systemen - meestal uitloggen of +.
Terwijl u zich in de opdrachtinvoermodus bevindt voor een systeem op afstand, kunt u doorgaan opdrachtmodus Telnet, meestal met behulp van een toetsencombinatie +. In deze modus beheert u de werking van de Tclnet-client, niet van de externe computer.

FTP

In tegenstelling tot Telnet is FTP (File Transfer Protocol) niet ontworpen om op een externe computer te werken, maar om bestanden over te dragen tussen computers die op het netwerk zijn aangesloten. Net als Telnet is de FTP-service gebaseerd op delen twee programma's: het serverprogramma, dat voortdurend op de achtergrond draait, en het clientprogramma, dat u op uw computer moet uitvoeren om een ​​FTP-sessie te starten. Met het FTP-protocol kunt u bestanden in zowel tekst- als binaire formaten overbrengen.
Om een ​​FTP-verbinding tot stand te brengen, moet u de domeinnaam of het numerieke IP-adres invoeren van de computer waarop het serverprogramma draait.
Nadat u een verbinding met een externe computer tot stand hebt gebracht, moet u zich doorgaans daarop registreren. (Sommige FTP-servers ondersteunen zogenaamde anonieme toegang, waardoor alle gebruikers vrijelijk de bestanden kunnen kopiëren die daar zijn opgeslagen.) Zodra u zich aanmeldt bij de externe computer, blijft u nog steeds op uw computer werken en verzendt u alleen opdrachten naar de externe machine om door mappen te bladeren. en bestanden overbrengen. Dit is een aanzienlijk verschil tussen FTP en Telnet, omdat je met Telnet in wezen op een externe computer werkt.
De meeste FTP-clients zijn ontworpen om in de opdrachtregelmodus te worden uitgevoerd. FTP-clients voor Windows bieden de gebruiker echter een grafische interface die de noodzaak elimineert om opdrachten in de opdrachtregelmodus in te voeren. Alle acties worden uitgevoerd via het menu, dialoogvensters en grafische knoppen. Daarom hoeft u voor het verbinden met een externe computer, het bladeren door mappen en het overbrengen van bestanden alleen de juiste menu-items en knoppen te selecteren.
Over het algemeen vereist het werken met een FTP-server het invoeren van een gebruikers-ID en wachtwoord, maar veel systemen bieden alle internetgebruikers de mogelijkheid om vrijelijk bestanden ernaar te kopiëren. Deze dienst heet anonieme FTP. Om met anonieme FTP te werken, hoeft u geen geregistreerde gebruiker van het systeem te zijn, maar voert u eenvoudigweg “anoniem” in als inlognaam. In dit geval voert u helemaal geen wachtwoord in, of u kunt het woord “gast” als wachtwoord invoeren, of uw echte naam, of uw e-mailadres.

Triviale FTP

Trivial File Transfer Protocol (TFTP, Trivial File Transfer Protocol) is een van de eenvoudigste protocollen die worden gebruikt om bestanden over te dragen. Het verschilt van FTP doordat er geen registratie op de externe computer vereist is om bestanden over te dragen. De gebruiker voert eenvoudigweg een verzoek voor bestandsoverdracht in, waarbij hij de naam van de externe computer opgeeft. In dit geval genereert TFTP UDP-berichten die naar de externe machine worden verzonden en met behulp waarvan het bestand wordt overgedragen. Wanneer de overdracht is voltooid, sturen sommige versies van TFTP een melding naar de gebruiker. Houd er rekening mee dat veel versies van TCP/IP-software voor Windows TFTP niet ondersteunen.

SMTP

Simple Mail Transfer Protocol (SMTP) ondersteunt e-mail via internet en andere netwerken. Omdat de manier waarop e-mail wordt verzonden varieert van besturingssysteem tot besturingssysteem, maken veel lokale netwerken geen gebruik van SMTP, maar wordt het gebruikt om e-mail via internet te verzenden.
Internet (evenals de meeste grote bedrijfsnetwerken) is gebouwd op UNIX-systemen waarin SMTP wordt aangenomen als het standaard protocol voor e-mailoverdracht. Op UNIX-systemen wordt SMTP ondersteund via een programma genaamd sendmail. Gebruikers hebben geen directe interactie met sendmail, maar gebruiken verschillende applicatieprogramma's werken met e-mail. Deze programma's wisselen op hun beurt berichten uit met sendmail.
Pakketten voor het werken met e-mail in Windows-omgeving zijn gebaseerd op het gebruik van verschillende protocollen, waaronder SMTP. Velen ontwikkelden zich postsystemen hebben ingebouwde SMTP-ondersteuning, waardoor u berichten kunt uitwisselen met wereldwijde TCP/IP-netwerken.