Netwerktechnologieën tcp ip. Wat is het TCP-IP-protocol

In het hart van het werk mondiaal netwerk Het internet is een verzameling (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 ze nu vooral op school leren). 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 envelop, schrijf de adressen van de afzender en de ontvanger en breng deze naar de dichtstbijzijnde Postkantoor. Vervolgens gaat de brief via een keten van postkantoren naar het dichtstbijzijnde postkantoor van de ontvanger, vanwaar de brief door de postbode wordt afgeleverd bij de opgegeven adres ontvanger en in zijn brievenbus gedropt (met zijn appartementnummer) of persoonlijk afgeleverd. 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 omgekeerde 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 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 in lokaal netwerk Dezelfde). Merk op dat de analogie met per gewone post zal bijna vol 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(van 0 tot 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.). Voor reguliere bezorging papieren brief Het is niet voldoende om alleen het adres van het huis te weten, u moet ook het appartementnummer weten. Ook elke softwaretoepassing heeft een soortgelijk nummer, het poortnummer. Meerderheid servertoepassingen hebben standaard kamers, Bijvoorbeeld: postdienst gebonden aan poortnummer 25 (ze zeggen ook: “luistert” naar de poort, ontvangt er berichten op), de webservice is gebonden aan poort 80, FTP aan poort 21, enzovoort.

We hebben dus de volgende bijna volledige analogie met onze gebruikelijke postadres:

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

IN computernetwerken werkend via TCP/IP-protocollen, een analoog van een papieren brief in een envelop plastic zak, dat de daadwerkelijk verzonden gegevens en adresinformatie bevat - het adres van de afzender en het adres van de ontvanger, bijvoorbeeld:

Bronadres: IP: 82.146.49.55 Poort: 2049 Adres van ontvanger (bestemmingsadres): IP: 195.34.32.116 Poort: 53 Pakketdetails: ...

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 die zorgt voor het lezen van mail uit uw mailboxen “luistert” op poort 110, de webserver luistert op poort 80, enz.

De meeste programma's staan ​​aan thuiscomputer 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 specifieke toepassing draait op deze computer.

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 is duidelijk (op papier bijv handmatige instellingen verbindingen) 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 verzonden (meer precies, een pakketje met een verzoek) DNS-server naar stopcontact 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?

Is het je bijvoorbeeld opgevallen vreemd gedrag uw computer - onbegrijpelijk netwerk activiteit, 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 gevestigde 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 met sommige een verbinding tot stand heeft gebracht mailserver(servers) en verzendt er enkele brieven doorheen. 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 - "vriend" en "vijand". 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. IP-adres SMTP-servers en de poort ervan (25e) moet worden opgegeven in de instellingen van uw e-mailclient. 110 - poort POP3 server. Hierdoor haalt uw e-mailclient brieven van uw op postbus. Het IP-adres van de POP3-server en zijn poort (110) 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 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 eenvoudig. 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.).

IP 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 worden niet gebruikt op netwerkniveau. Welke poort, d.w.z. Dit pakket is geadresseerd aan de applicatie. Of dit pakket is afgeleverd of verloren 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. Transportlaag bevindt zich boven het netwerk één. 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: je riep iets, maar of ze je hoorden of niet deed er niet toe).

Boven het transportniveau ligt applicatie laag. Op dit niveau kunnen protocollen zoals http, ftp etc. Bijvoorbeeld HTTP en FTP - gebruik betrouwbaar TCP-protocol, en de DNS-server werkt via een onbetrouwbaar 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.

13-10-06 5,6K

De meesten van ons kennen TCP/IP als de lijm die het internet bij elkaar houdt. Maar weinigen zijn in staat een overtuigende beschrijving te geven van wat dit protocol is en hoe het werkt. Wat is TCP/IP eigenlijk?

TCP/IP is een middel voor het uitwisselen van informatie tussen computers die op een netwerk zijn aangesloten. Het maakt niet uit of ze deel uitmaken van hetzelfde netwerk of ermee verbonden zijn afzonderlijke netwerken. Het maakt niet uit dat de ene een Cray-computer is en de andere een Macintosh. TCP/IP is een platformonafhankelijke standaard die de kloof overbrugt tussen ongelijksoortige computers, besturingssystemen en netwerken. Het is het protocol dat wereldwijd het internet beheert en grotendeels te danken is aan het TCP/IP-netwerk.

Het begrijpen van TCP/IP houdt vooral in dat je de geheimzinnige protocolsets kunt begrijpen die TCP/IP-hosts gebruiken om informatie uit te wisselen. Laten we eens naar enkele van deze protocollen kijken en ontdekken waaruit de TCP/IP-wrapper bestaat.

TCP/IP-basisbeginselen

TCP/IP is een afkorting voor Transmission Control Protocol/Internet Protocol. In computernetwerkterminologie is een protocol een vooraf overeengekomen standaard waarmee twee computers gegevens kunnen uitwisselen. In feite is TCP/IP niet één protocol, maar meerdere. Dit is de reden waarom je vaak hoort dat het een suite of een reeks protocollen wordt genoemd, waarbij TCP en IP de twee belangrijkste zijn.

Software voor TCP/IP, op uw computer, is een platformspecifieke implementatie van TCP, IP en andere leden van de TCP/IP-familie. Het bevat meestal ook toepassingen op hoog niveau, zoals FTP ( Bestandsoverdracht Protocol, File Transfer Protocol), die het mogelijk maken via opdrachtregel het delen van bestanden via internet beheren.

TCP/IP is ontstaan ​​uit onderzoek dat in de jaren zeventig werd gefinancierd door het Advanced Research Project Agency (ARPA) van de Amerikaanse overheid. Dit protocol is ontwikkeld zodat de computernetwerken van onderzoekscentra over de hele wereld met elkaar verbonden konden worden in de vorm van een virtueel ‘netwerk van netwerken’ (internet). Het oorspronkelijke internet is ontstaan ​​door het omzetten van een bestaand conglomeraat van computernetwerken, ARPAnet genaamd, met behulp van TCP/IP.

De reden dat TCP/IP tegenwoordig zo belangrijk is, is dat het stand-alone netwerken in staat stelt verbinding te maken met internet of te combineren om privé-intranetten te creëren. De computernetwerken waaruit een intranet bestaat, zijn fysiek met elkaar verbonden via apparaten die routers of IP-routers worden genoemd. Een router is een computer die datapakketten van het ene netwerk naar het andere verzendt. Op een op TCP/IP gebaseerd intranet wordt informatie verzonden in afzonderlijke eenheden die IP-pakketten of IP-datagrammen worden genoemd. Dankzij TCP/IP-software kunnen alle computers met elkaar verbonden zijn computernetwerk, “naaste familieleden” worden. Het verbergt in wezen de routers en de onderliggende netwerkarchitectuur en zorgt ervoor dat het allemaal op één geheel lijkt groot netwerk. Net zoals verbinding maken met Ethernet-netwerken worden herkend door 48-bit Ethernet-ID's, intranetverbindingen worden geïdentificeerd door 32-bit IP-adressen, die we uitdrukken in decimale vorm (bijvoorbeeld 128.10.2.3). Het IP-adres nemen externe computer, kan een computer op een intranet of op internet er gegevens naartoe sturen alsof deze deel uitmaken van hetzelfde fysieke netwerk.

TCP/IP biedt een oplossing voor het gegevensprobleem tussen twee computers die op hetzelfde intranet zijn aangesloten, maar tot verschillende computers behoren fysieke netwerken. De oplossing bestaat uit verschillende delen, waarbij elk lid van de TCP/IP-protocolfamilie bijdraagt ​​aan het algemene doel. IP, het meest fundamentele protocol van de TCP/IP-suite, transporteert IP-datagrammen over intranetten en presteert belangrijke functie Dit heet routing, het is in wezen het kiezen van de route die een datagram zal nemen van punt A naar punt B en het gebruiken van routers om tussen netwerken te "springen".

TCP is meer een protocol hoog niveau, waarmee toepassingsprogramma's die op verschillende hostcomputers in een netwerk draaien, gegevensstromen kunnen uitwisselen. TCP verdeelt gegevensstromen in ketens die TCP-segmenten worden genoemd en verzendt deze via IP. In de meeste gevallen wordt elk TCP-segment in één IP-datagram verzonden. Indien nodig zal TCP segmenten echter opsplitsen in meerdere IP-datagrammen die passen in de fysieke dataframes die worden gebruikt om informatie tussen computers op het netwerk over te dragen. Omdat IP niet garandeert dat datagrammen in dezelfde volgorde worden ontvangen als waarin ze zijn verzonden, verzamelt TCP TCP-segmenten aan het andere uiteinde van de route opnieuw om een ​​continue gegevensstroom te vormen. FTP en telnet zijn twee voorbeelden van populair applicatieprogramma's TCP/IP, die afhankelijk zijn van het gebruik van TCP.

Een ander belangrijk lid van de TCP/IP-suite is User Datagram Protocol (UDP), dat vergelijkbaar is met TCP, maar primitiever. TCP is een "betrouwbaar" protocol omdat het foutcontrole- en bevestigingsberichten biedt om ervoor te zorgen dat gegevens hun bestemming zonder corruptie bereiken. UDP is een "onbetrouwbaar" protocol omdat het niet garandeert dat datagrammen aankomen in de volgorde waarin ze zijn verzonden, of zelfs dat ze überhaupt aankomen. Als betrouwbaarheid een gewenste voorwaarde is, zal software nodig zijn om deze te implementeren. Maar UDP heeft nog steeds zijn plaats in de TCP/IP-wereld en wordt in veel programma's gebruikt. Toegepast SNMP-programma(Simple Network Management Protocol), geïmplementeerd in veel versies van TCP/IP, is een voorbeeld van UDP-programma's.

Andere TCP/IP-protocollen spelen een minder prominente, maar even belangrijke rol belangrijke rollen bij de werking van TCP/IP-netwerken. Het Address Resolution Protocol (ARP) converteert IP-adressen bijvoorbeeld naar fysiek netwerkadressen, zoals Ethernet-ID's. Gerelateerd protocol - protocol omgekeerde conversie adressen (Reverse Address Resolution Protocol, RARP) - voert de omgekeerde actie uit, waarbij fysieke netwerkadressen worden omgezet in IP-adressen. Internet Control Message Protocol (ICMP) is een escortprotocol dat IP gebruikt om besturingsinformatie en besturingsfouten uit te wisselen met betrekking tot de verzending van IP-pakketten. Als een router bijvoorbeeld geen IP-datagram kan verzenden, gebruikt hij ICMP om de afzender te informeren dat er een probleem is. Korte beschrijving Enkele andere protocollen die zich "verbergen onder de paraplu" van TCP/IP staan ​​vermeld in de zijbalk.

Korte beschrijving van de TCP/IP-protocolfamilie met afkortingen
ARP (Address Resolution Protocol): Converteert 32-bits IP-adressen naar fysieke adressen computernetwerk, bijvoorbeeld in 48-bit Ethernet-adressen.

FTP (File Transfer Protocol): Hiermee kunt u bestanden van de ene computer naar de andere overbrengen via TCP-verbindingen. Een verwant maar minder gebruikelijk protocol voor bestandsoverdracht, Trivial File Transfer Protocol (TFTP), gebruikt UDP in plaats van TCP om bestanden over te dragen.

ICMP (Internet Control Message Protocol): Hiermee kunnen IP-routers foutmeldingen verzenden en controle informatie andere IP-routers en netwerkhosts. ICMP-berichten "reizen" als datavelden van IP-datagrammen en moeten in alle varianten van IP worden geïmplementeerd.

IGMP (Internet Group Management Protocol): Maakt het mogelijk IP-datagrammen te multicasten tussen computers die tot de juiste groepen behoren.

IP (internetprotocol, Internet-protocol): Een protocol op laag niveau dat datapakketten routeert over afzonderlijke netwerken die door routers met elkaar zijn verbonden om het internet of intranet te vormen. Gegevens reizen in de vorm van pakketten die IP-datagrammen worden genoemd.

RARP (Reverse Address Resolution Protocol): Converteert fysieke netwerkadressen naar IP-adressen.

SMTP (Simple Mail Transfer Protocol): Definieert het formaat van berichten die een SMTP-client die op één computer draait, kan gebruiken om door te sturen e-mail naar een SMTP-server die op een andere computer draait.

TCP (Transmission Control Protocol): Een verbindingsgericht protocol dat gegevens overdraagt ​​als bytestreams. Gegevens worden verzonden in pakketten (TCP-segmenten) die bestaan ​​uit TCP-headers en gegevens. TCP is een "betrouwbaar" protocol omdat het gebruik maakt van controlesommen om de integriteit van de gegevens te controleren en bevestigingen te verzenden om ervoor te zorgen dat de verzonden gegevens zonder corruptie worden ontvangen.

UDP (User Datagram Protocol): Een verbindingsonafhankelijk protocol dat gegevens verzendt in pakketten die UDP-datagrammen worden genoemd. UDP is een "onbetrouwbaar" protocol omdat de afzender geen informatie ontvangt die aangeeft of het datagram daadwerkelijk is ontvangen.

TCP/IP-architectuur

Netwerkontwerpers maken vaak gebruik van het zevenlaags ISO/OSI-model (International Standards Organization/Open Systems Interconnect). open systemen), dat de architectuur van netwerken beschrijft. Elk niveau in dit model komt overeen met één niveau functionaliteit netwerken. Helemaal onderaan bevindt zich de fysieke laag, die de fysieke omgeving vertegenwoordigt waar gegevens doorheen ‘reizen’ – met andere woorden: kabel systeem computernetwerk. Daarboven staat linklaag, of datalinklaag, waarvan de werking wordt verzorgd door netwerkinterfacekaarten. Helemaal bovenaan bevindt zich de applicatieprogrammalaag, waar programma's worden uitgevoerd die gebruik maken van netwerkhulpprogramma's.

De figuur laat zien hoe TCP/IP in het ISO/OSI-model past. Deze figuur illustreert ook de gelaagdheid van TCP/IP en toont de relaties tussen de belangrijkste protocollen. Bij het overbrengen van een gegevensblok van een netwerktoepassing naar een kaart netwerkadapter het passeert achtereenvolgens een aantal TCP/IP-modules. Tegelijkertijd wordt bij elke stap de informatie aangevuld die nodig is voor de equivalente TCP/IP-module aan de andere kant van de keten. Tegen de tijd dat de gegevens zijn bereikt netwerkkaart vertegenwoordigen ze een standaard Ethernet-frame, ervan uitgaande dat het netwerk op deze interface is gebaseerd. De TCP/IP-software aan de ontvangende kant reconstrueert de originele gegevens voor het ontvangende programma door deze vast te leggen Ethernet-frame en het in omgekeerde volgorde doorgeven aan een set TCP/IP-modules. (Een van de beste manieren zoek het uit interne structuur TCP/IP is de moeite waard om een ​​spionageprogramma te gebruiken om informatie te vinden die is toegevoegd in frames die door het netwerk "vliegen". diverse modulen TCP/IP.)

Netwerklagen en TCP/IP-protocollen

ISO/OSI TCP/IP _____________________________ _________________________ | Applicatielaag | | | |__________________________________________________| | __________ _________ | _________________________________________ | |Netwerk | |Netwerk | | Niveau | Presentatielaag | | |programma| |programma| | toegepast |____________________________________________________| | |__________| |__________| | programma's ____________________________ | |<--- | уровень |__________________________| _________ _____________________________ _______| Сетевая |________ | Уровень звена данных | | ARP<->| Sessieniveau | | |<->|__________________________________________________| |________________________________________|

| |

Om de rol te illustreren die TCP/IP speelt in echte computernetwerken, moet u eens kijken wat er gebeurt als een webbrowser HTTP (HyperText Transfer Protocol) gebruikt om een ​​pagina met HTML-gegevens op te halen van een webserver die met internet is verbonden. Om een ​​virtuele verbinding met de server tot stand te brengen, gebruikt de browser een software-abstractie op hoog niveau, een socket genaamd. En om een ​​webpagina op te halen, stuurt het een GET HTTP-commando naar de server en schrijft het naar de socket. De socketsoftware gebruikt op zijn beurt TCP om de bits en bytes waaruit de GET-opdracht bestaat, naar de webserver te sturen. TCP segmenteert de gegevens en geeft de afzonderlijke segmenten door aan de IP-module, die de segmenten in datagrammen doorstuurt naar de webserver.

Als de browser en server draaien op computers die met verschillende fysieke netwerken zijn verbonden (zoals meestal het geval is), worden datagrammen van netwerk naar netwerk doorgegeven totdat ze het netwerk bereiken waarmee de server fysiek is verbonden. Uiteindelijk bereiken de datagrammen hun bestemming en worden ze opnieuw samengesteld, zodat de webserver, die de dataketens uit zijn socket leest, een continue stroom gegevens ontvangt. Voor de browser en de server verschijnen gegevens die naar de socket aan de ene kant worden geschreven, op magische wijze aan de andere kant. Maar tussen deze gebeurtenissen vinden allerlei complexe interacties plaats die de illusie creëren van voortdurende gegevensoverdracht tussen computernetwerken.

En dat is vrijwel alles wat TCP/IP doet: vele kleine netwerken in één groot netwerk veranderen en de diensten leveren die applicatieprogramma's nodig hebben om via het resulterende internet met elkaar te communiceren.

Korte conclusie

Er valt nog veel meer te zeggen over TCP/IP, maar er zijn drie belangrijke punten:

* TCP/IP is een reeks protocollen waarmee fysieke netwerken met elkaar kunnen worden verbonden om het internet te vormen. TCP/IP verbindt individuele netwerken om een ​​virtueel computernetwerk te vormen, waarin individuele hostcomputers niet worden geïdentificeerd aan de hand van fysieke netwerkadressen, maar aan de hand van IP-adressen.
* TCP/IP maakt gebruik van een gelaagde architectuur die duidelijk beschrijft wat elk protocol doet. TCP en UDP bieden hulpprogramma's voor gegevensoverdracht op hoog niveau voor netwerkprogramma's, en beide zijn afhankelijk van IP om datapakketten te transporteren. IP is verantwoordelijk voor het routeren van pakketten naar hun bestemming.
* Gegevens die worden verplaatst tussen twee applicatieprogramma's die op internethosts draaien, "reizen" op en neer langs de TCP/IP-stacks op die hosts. De informatie die door de TCP/IP-modules aan de verzendende kant wordt toegevoegd, wordt door de corresponderende TCP/IP-modules aan de ontvangende kant "geknipt" en gebruikt om de originele gegevens opnieuw te creëren.

Goed slecht

Kort gezegd is dit een reeks regels die de ‘communicatie’ van computers met elkaar via het netwerk regelen. Er zijn er ongeveer een dozijn, en elk van hen definieert de regels voor de overdracht van een specifiek type gegevens. Maar voor het gebruiksgemak zijn ze allemaal gecombineerd in een zogenaamde “stack”, genoemd naar het belangrijkste protocol: het TCP/IP-protocol (Transmission Control Protocol en Internet Protocol). Het woord "stapel" impliceert dat al deze protocollen een soort "stapel protocollen" zijn, waarin het protocol op het hoogste niveau niet kan functioneren zonder het protocol op het lagere niveau.

De TCP/IP-stack bestaat uit 4 lagen:

1. Toepassing - HTTP-, RTP-, FTP-, DNS-protocollen. Het hoogste niveau; is verantwoordelijk voor de werking van applicatietoepassingen, zoals e-maildiensten, het weergeven van gegevens in een browser, enz.

2. Transport - TCP-, UDP-, SCTP-, DCCP-, RIP-protocollen. Dit protocolniveau zorgt voor de juiste interactie van computers met elkaar en is een datageleider tussen verschillende netwerkdeelnemers.

3. Netwerk - IP-protocol. Deze laag zorgt voor de identificatie van computers op het netwerk door ze allemaal een uniek digitaal adres te geven.

4. Kanaal - Ethernet, IEEE 802.11, draadloze Ethernet-protocollen. Laagste niveau; het interageert met fysieke apparatuur, beschrijft het datatransmissiemedium en zijn kenmerken.

Daarom gebruikt uw computer de protocolstack HTTP - TCP - IP - Ethernet om dit artikel weer te geven.

Hoe informatie via internet wordt verzonden

Elke computer in het netwerk wordt een host genoemd en krijgt, met behulp van het gelijknamige protocol, een uniek IP-adres. Dit adres wordt in de volgende vorm geschreven: vier cijfers van 0 tot 255, gescheiden door een punt, bijvoorbeeld 195.19.20.203. Om succesvol via een netwerk te kunnen communiceren, moet het IP-adres ook een poortnummer bevatten. Omdat het niet de computers zelf zijn die informatie uitwisselen, maar de programma's, moet elk type programma ook een eigen adres hebben, dat wordt weergegeven in het poortnummer. Poort 21 is bijvoorbeeld verantwoordelijk voor FTP, poort 80 voor HTTP. Het totale aantal poorten op een computer is beperkt en gelijk aan 65536, genummerd van 0 tot 65535. Poortnummers van 0 tot 1023 zijn gereserveerd door servertoepassingen, en de niche van poorten van 1024 tot 65535 wordt ingenomen door clientpoorten, die programma's zijn gratis te gebruiken zoals ze willen. "Clientpoorten" worden dynamisch toegewezen.

Combinatie IP-adressen en poortnummers genaamd " stopcontact". Daarin worden de adres- en poortwaarden gescheiden door een dubbele punt, bijvoorbeeld 195.19.20.203:110

Om ervoor te zorgen dat een externe computer met IP 195.19.20.203 e-mail kan ontvangen, hoeft u dus alleen maar gegevens op poort 110 af te leveren. En aangezien deze poort dag en nacht “luistert” naar het POP3-protocol, dat verantwoordelijk is voor het ontvangen van e-mails, dan verder - "een kwestie van technologie."

Voor het gemak zijn alle gegevens op het netwerk verdeeld in pakketten. Een pakket is een bestand van 1-1,5 MB groot, dat adresgegevens van de afzender en ontvanger, verzonden informatie en servicegegevens bevat. Het opsplitsen van bestanden in pakketten kan de belasting van het netwerk aanzienlijk verminderen, omdat het pad van elk van de afzender naar de ontvanger zal niet noodzakelijkerwijs identiek zijn. Als er op één plek in het netwerk een verkeersopstopping optreedt, kunnen pakketten deze omzeilen via andere communicatiepaden. Deze technologie maakt het mogelijk om het internet zo efficiënt mogelijk te gebruiken: als een transportonderdeel ervan instort, kan de informatieoverdracht doorgaan, maar dan langs andere wegen. Wanneer de pakketten de doelcomputer bereiken, begint deze ze weer samen te voegen tot één enkel bestand met behulp van de service-informatie die ze bevatten. Het hele proces kan worden vergeleken met een soort grote puzzel, die, afhankelijk van de grootte van het overgedragen bestand, werkelijk enorme afmetingen kan bereiken.

Zoals eerder vermeld, geeft het IP-protocol elke netwerkdeelnemer, inclusief websites, een uniek numeriek adres. Niemand kan echter miljoenen IP-adressen onthouden! Daarom is de domeinnaamservice Domain Name System (DNS) in het leven geroepen, die numerieke IP-adressen vertaalt naar alfanumerieke namen die veel gemakkelijker te onthouden zijn. In plaats van elke keer het vreselijke nummer 5.9.205.233 te typen, kunt u bijvoorbeeld www.site in de adresbalk van uw browser typen.

Wat gebeurt er als we het adres van de site die we zoeken in de browser typen? Er wordt een pakketje verzonden vanaf onze computer met DNS-query-server op poort 53. Deze poort is gereserveerd door de DNS-service, die, na verwerking van ons verzoek, het IP-adres retourneert dat overeenkomt met de alfanumerieke naam van de site. Hierna maakt onze computer verbinding met socket 5.9.205.233:80 van computer 5.9.205.233, die het HTTP-protocol host dat verantwoordelijk is voor het weergeven van sites in de browser, en een pakket verzendt met een verzoek om de www.site-pagina te ontvangen. We moeten een verbinding tot stand brengen op poort 80, aangezien deze overeenkomt met de webserver. Als u dat echt wilt, kunt u poort 80 rechtstreeks in de adresbalk van uw browser opgeven - http://www.site:80. De webserver verwerkt het van ons ontvangen verzoek en produceert verschillende pakketten met HTML-tekst die onze browser weergeeft. Als gevolg hiervan zien we de hoofdpagina op het scherm

De TCP/IP-protocolstack is de alfa en omega van internet, en u moet niet alleen het model en het werkingsprincipe van de stack kennen, maar ook begrijpen.

We hebben de classificatie, netwerkstandaarden en het OSI-model uitgezocht. Laten we het nu hebben over de stapel op basis waarvan het wereldwijde systeem van onderling verbonden computernetwerken, het internet, is gebouwd.

TCP/IP-model

Aanvankelijk werd deze stapel gemaakt om grote computers op universiteiten met elkaar te verbinden via point-to-point telefoonlijnen. Maar toen er nieuwe technologieën verschenen, uitzending (Ethernet) en satelliet, werd het noodzakelijk om TCP/IP aan te passen, wat een moeilijke taak bleek te zijn. Dat is de reden waarom, samen met OSI, het TCP/IP-model verscheen.

Het model beschrijft hoe het nodig is om netwerken te bouwen op basis van verschillende technologieën, zodat de TCP/IP-protocolstack daarin kan werken.

De tabel toont een vergelijking van OSI- en TCP/IP-modellen. Deze laatste omvat 4 niveaus:

  1. De laagste, netwerkinterfaceniveau, biedt interactie met netwerktechnologieën (Ethernet, Wi-Fi, enz.). Dit is een combinatie van de functies van de OSI-datalink en fysieke lagen.
  2. Internetniveau staat hoger en heeft vergelijkbare taken als de netwerklaag van het OSI-model. Het biedt zoeken naar de optimale route, inclusief het identificeren van netwerkproblemen. Het is op dit niveau dat de router werkt.
  3. Vervoer is verantwoordelijk voor de communicatie tussen processen op verschillende computers, evenals voor het leveren van verzonden informatie zonder duplicatie, verlies of fouten, in de vereiste volgorde.
  4. Toegepast combineert 3 lagen van het OSI-model: sessie, presentatie en toepassing. Dat wil zeggen, het voert functies uit zoals sessieondersteuning, protocol- en informatieconversie en interactie tussen gebruiker en netwerk.

Soms proberen experts beide modellen te combineren tot iets gemeenschappelijks. Hieronder vindt u bijvoorbeeld een weergave op vijf niveaus van symbiose van de auteurs van Computer Networks E. Tanenbaum en D. Weatherall:

Het OSI-model heeft een goede theoretische ontwikkeling, maar de protocollen worden niet gebruikt. Het TCP/IP-model is anders: de protocollen worden veel gebruikt, maar het model is alleen geschikt voor het beschrijven van op TCP/IP gebaseerde netwerken.

Verwar ze niet:

  • TCP/IP is een protocolstack die de basis vormt van internet.
  • Het OSI-referentiemodel (Open Systems Interconnection) is geschikt voor het beschrijven van een grote verscheidenheid aan netwerken.

TCP/IP-protocolstack

Laten we elk niveau in meer detail bekijken.

Het lagere niveau van netwerkinterfaces omvat Ethernet, Wi-Fi en DSL (modem). Deze netwerktechnologieën maken formeel geen deel uit van de stapel, maar zijn uiterst belangrijk voor de werking van het internet als geheel.

Het belangrijkste netwerklaagprotocol is IP (Internet Protocol). Het is een gerouteerd protocol, waarvan een deel netwerkadressering (IP-adres) is. Aanvullende protocollen zoals ICMP, ARRP en DHCP werken hier ook. Ze houden netwerken draaiende.

Op transportniveau is er TCP, een protocol dat dataoverdracht verzorgt met leveringsgarantie, en UDP, een protocol voor snelle dataoverdracht, maar zonder garantie.

De applicatielaag is HTTP (voor het web), SMTP (mailoverdracht), DNS (toekennen van gebruiksvriendelijke domeinnamen aan IP-adressen), FTP (bestandsoverdracht). Er zijn meer protocollen op applicatieniveau van de TCP/IP-stack, maar de genoemde kunnen de belangrijkste worden genoemd.

Houd er rekening mee dat de TCP/IP-protocolstack de standaarden voor communicatie tussen apparaten definieert en internetwerk- en routeringsconventies bevat.

  • Systeembeheer,
  • Communicatiestandaarden
  • Laten we aannemen dat u een slechte kennis van netwerktechnologieën heeft en niet eens de basis kent. Maar je hebt een taak gekregen: snel een informatienetwerk opbouwen in een kleine onderneming. Je hebt noch de tijd, noch de wens om dikke Talmoeds te bestuderen over netwerkontwerp, instructies voor het gebruik van netwerkapparatuur, en je te verdiepen in netwerkbeveiliging. En het allerbelangrijkste: je hebt in de toekomst geen zin om professional op dit gebied te worden. Dan is dit artikel iets voor jou.


    In het tweede deel van dit artikel wordt gekeken naar de praktische toepassing van de hier beschreven basisprincipes:

    De protocolstapel begrijpen

    De taak is om informatie van punt A naar punt B over te dragen. Het kan continu worden verzonden. Maar de taak wordt ingewikkelder als u informatie tussen punten A moet overbrengen<-->B en A<-->C via hetzelfde fysieke kanaal. Als er continu informatie wordt verzonden, zal C, wanneer hij informatie naar A wil verzenden, moeten wachten totdat B de verzending beëindigt en het communicatiekanaal vrijmaakt. Dit mechanisme voor het verzenden van informatie is erg lastig en onpraktisch. En om dit probleem op te lossen, werd besloten de informatie in porties te verdelen.

    Bij de ontvanger moeten deze delen tot één geheel worden samengevoegd, om de informatie te ontvangen die van de afzender kwam. Maar bij ontvanger A zien we nu stukjes informatie van zowel B als C door elkaar gemengd. Dit betekent dat voor elk deel een identificatienummer moet worden ingevoerd, zodat ontvanger A delen van informatie van B kan onderscheiden van delen van informatie van C en deze delen kan samenvoegen tot het originele bericht. Vanzelfsprekend moet de ontvanger weten waar en in welke vorm de afzender identificatiegegevens aan de oorspronkelijke informatie heeft toegevoegd. En hiervoor moeten ze bepaalde regels ontwikkelen voor het vormen en schrijven van identificatie-informatie. Verder zal het woord “regel” worden vervangen door het woord “protocol”.

    Om aan de behoeften van moderne consumenten te voldoen, is het noodzakelijk om verschillende soorten identificatie-informatie tegelijk aan te geven. Het vereist ook bescherming van verzonden stukjes informatie, zowel tegen willekeurige interferentie (tijdens verzending via communicatielijnen) als tegen opzettelijke sabotage (hacking). Hiertoe wordt een deel van de verzonden informatie aangevuld met een aanzienlijke hoeveelheid speciale service-informatie.

    Het Ethernet-protocol bevat het netwerkadapternummer van de afzender (MAC-adres), het netwerkadapternummer van de ontvanger, het type gegevens dat wordt overgedragen en de daadwerkelijke gegevens die worden overgedragen. Een stukje informatie dat is samengesteld in overeenstemming met het Ethernet-protocol wordt een frame genoemd. Er wordt aangenomen dat er geen netwerkadapters zijn met hetzelfde nummer. Netwerkapparatuur haalt de verzonden gegevens uit het frame (hardware of software) en voert verdere verwerking uit.

    In de regel worden de geëxtraheerde gegevens op hun beurt gevormd in overeenstemming met het IP-protocol en hebben ze een ander type identificatie-informatie: het IP-adres van de ontvanger (een nummer van 4 bytes), het IP-adres en de gegevens van de afzender. Evenals een heleboel andere noodzakelijke service-informatie. Gegevens die worden gegenereerd in overeenstemming met het IP-protocol worden pakketten genoemd.

    Vervolgens worden de gegevens uit het pakket gehaald. Maar deze gegevens zijn in de regel nog niet de aanvankelijk verzonden gegevens. Ook dit stukje informatie wordt volgens een bepaald protocol samengesteld. Het meest gebruikte protocol is TCP. Het bevat identificatie-informatie zoals de afzenderpoort (een nummer van twee bytes) en de bronpoort, evenals gegevens- en service-informatie. De geëxtraheerde gegevens uit TCP zijn doorgaans de gegevens die het programma dat op computer B draait, naar het ‘ontvangerprogramma’ op computer A heeft verzonden.

    De stapel protocollen (in dit geval TCP over IP over Ethernet) wordt een protocolstapel genoemd.

    ARP: Adresresolutieprotocol

    Er zijn netwerken van de klassen A, B, C, D en E. Ze verschillen in het aantal computers en het aantal mogelijke netwerken/subnetten daarin. Voor de eenvoud, en in het meest voorkomende geval, beschouwen we alleen een klasse C-netwerk, waarvan het IP-adres begint bij 192.168.0.1. Het volgende nummer is het subnetnummer, gevolgd door het nummer van de netwerkapparatuur. Een computer met IP-adres 192.168.30.110 wil bijvoorbeeld informatie verzenden naar een andere computer nummer 3 die zich in hetzelfde logische subnet bevindt. Dit betekent dat het IP-adres van de ontvanger: 192.168.30.3 is

    Het is belangrijk om te begrijpen dat een informatienetwerkknooppunt een computer is die via één fysiek kanaal is verbonden met schakelapparatuur. Die. als we gegevens van de netwerkadapter "de wildernis in" sturen, dan hebben ze één pad: ze komen uit het andere uiteinde van het gedraaide paar. We kunnen absoluut alle gegevens verzenden die zijn gegenereerd volgens elke regel die we hebben uitgevonden, zonder een IP-adres, een Mac-adres of andere kenmerken op te geven. En als dit andere uiteinde op een andere computer is aangesloten, kunnen we ze daar ontvangen en interpreteren zoals we nodig hebben. Maar als dit andere uiteinde is verbonden met een schakelaar, dan moet het informatiepakket in dit geval worden gevormd volgens strikt gedefinieerde regels, alsof er instructies aan de schakelaar worden gegeven wat hij vervolgens met dit pakket moet doen. Als het pakket correct is gevormd, stuurt de switch het verder naar een andere computer, zoals aangegeven in het pakket. Daarna zal de switch dit pakket uit zijn RAM verwijderen. Maar als het pakket niet correct is gevormd, d.w.z. de instructies daarin onjuist waren, dan zal het pakket "sterven", d.w.z. de switch stuurt het nergens heen, maar verwijdert het onmiddellijk uit zijn RAM.

    Om informatie naar een andere computer over te dragen, moeten drie identificatiewaarden worden opgegeven in het verzonden informatiepakket: mac-adres, ip-adres en poort. Relatief gezien is een poort een nummer dat het besturingssysteem verstrekt aan elk programma dat gegevens naar het netwerk wil sturen. Het IP-adres van de ontvanger wordt ingevoerd door de gebruiker, of het programma ontvangt het zelf, afhankelijk van de specifieke kenmerken van het programma. Het mac-adres blijft onbekend, d.w.z. netwerkadapternummer van de computer van de ontvanger. Om de benodigde gegevens te verkrijgen wordt een “broadcast”-verzoek verzonden, samengesteld met behulp van het zogenaamde “ARP Address Resolution Protocol”. Hieronder ziet u de structuur van het ARP-pakket.

    Nu hoeven we niet de waarden van alle velden in de bovenstaande afbeelding te kennen. Laten we ons alleen op de belangrijkste concentreren.

    De velden bevatten het bron-IP-adres en het doel-IP-adres, evenals het bron-mac-adres.

    Het veld “Ethernet-bestemmingsadres” is gevuld met eenheden (ff:ff:ff:ff:ff:ff). Zo’n adres wordt een broadcastadres genoemd, en zo’n frame wordt naar alle ‘interfaces op de kabel’ gestuurd, d.w.z. alle computers die op de switch zijn aangesloten.

    De switch, die zo'n uitzendframe heeft ontvangen, stuurt het naar alle computers in het netwerk, alsof hij iedereen aanspreekt met de vraag: “als u de eigenaar bent van dit IP-adres (bestemmings-IP-adres), vertel mij dan alstublieft uw mac-adres. ” Wanneer een andere computer een dergelijk ARP-verzoek ontvangt, controleert deze het bestemmings-IP-adres met zijn eigen adres. En als het overeenkomt, voegt de computer, in plaats van die, zijn Mac-adres in, wisselt de IP- en Mac-adressen van de bron en de bestemming om, verandert wat service-informatie en stuurt het pakket terug naar de switch, die het terugstuurt naar de oorspronkelijke computer, de initiator van het ARP-verzoek.

    Zo komt je computer achter het mac-adres van de andere computer waar je gegevens naartoe wilt sturen. Als er meerdere computers in het netwerk zijn die op dit ARP-verzoek reageren, krijgen we een ‘IP-adresconflict’. In dit geval is het noodzakelijk om het IP-adres op de computers te wijzigen, zodat er geen identieke IP-adressen op het netwerk zijn.

    Netwerken opbouwen

    De taak van het bouwen van netwerken

    In de praktijk is het in de regel nodig om netwerken te bouwen met minstens honderd computers erin. En naast de functies voor het delen van bestanden moet ons netwerk veilig en eenvoudig te beheren zijn. Bij het bouwen van een netwerk kunnen dus drie vereisten worden onderscheiden:
    1. Eenvoudig te bedienen. Als accountant Lida naar een ander kantoor wordt overgeplaatst, zal zij alsnog toegang nodig hebben tot de computers van accountants Anna en Yulia. En als het informatienetwerk niet goed is opgebouwd, kan het voor de beheerder lastig zijn om Lida op haar nieuwe plek toegang te geven tot de computers van andere accountants.
    2. Zorgen voor veiligheid. Om de veiligheid van ons netwerk te garanderen, moeten de toegangsrechten tot informatiebronnen gedifferentieerd worden. Het netwerk moet ook worden beschermd tegen bedreigingen voor openbaarmaking, integriteit en denial-of-service. Lees meer in het boek “Attack on the Internet” van Ilya Davidovich Medvedovsky, hoofdstuk “Basisconcepten van computerbeveiliging”.
    3. Netwerkprestaties. Bij het bouwen van netwerken is er een technisch probleem: de afhankelijkheid van de transmissiesnelheid van het aantal computers in het netwerk. Hoe meer computers er zijn, hoe lager de snelheid. Bij een groot aantal computers kan de netwerksnelheid zo laag worden dat deze voor de klant onaanvaardbaar wordt.
    Wat zorgt ervoor dat de netwerksnelheid afneemt als er een groot aantal computers is? - de reden is simpel: vanwege het grote aantal broadcastberichten (BMS). AL is een bericht dat bij de switch aankomt en naar alle hosts op het netwerk wordt verzonden. Of, grofweg, alle computers die zich in uw subnet bevinden. Als er 5 computers op het netwerk zijn, ontvangt elke computer 4 alarmen. Als er 200 zijn, ontvangt elke computer in zo'n groot netwerk 199 shs.

    Er is een groot aantal applicaties, softwaremodules en services die broadcastberichten naar het netwerk sturen om te kunnen functioneren. Beschreven in paragraaf ARP: het adresbepalingsprotocol is slechts een van de vele AN die door uw computer naar het netwerk worden verzonden. Wanneer u bijvoorbeeld naar “Netwerkomgeving” (Windows OS) gaat, verzendt uw computer nog een aantal AN met speciale informatie die is gegenereerd met behulp van het NetBios-protocol om het netwerk te scannen op computers die zich in dezelfde werkgroep bevinden. Waarna het besturingssysteem de gevonden computers in het venster “Netwerkbuurt” tekent en je ze ziet.

    Het is ook vermeldenswaard dat uw computer tijdens het scanproces met een of ander programma niet één uitgezonden bericht verzendt, maar meerdere, bijvoorbeeld om virtuele sessies met externe computers tot stand te brengen of voor andere systeembehoeften veroorzaakt door softwareproblemen. implementatie van deze applicatie. Elke computer op het netwerk wordt dus, om met andere computers te kunnen communiceren, gedwongen veel verschillende AN te verzenden, waardoor het communicatiekanaal wordt geladen met informatie die de eindgebruiker niet nodig heeft. Zoals de praktijk laat zien, kunnen uitgezonden berichten in grote netwerken een aanzienlijk deel van het verkeer uitmaken, waardoor de voor de gebruiker zichtbare netwerkactiviteit wordt vertraagd.

    Virtuele LAN's

    Om het eerste en derde probleem op te lossen, maar ook om het tweede probleem te helpen oplossen, wordt het mechanisme van het verdelen van het lokale netwerk in kleinere netwerken, zoals afzonderlijke lokale netwerken (Virtual Local Area Network), op grote schaal gebruikt. Grofweg is een VLAN een lijst met poorten op een switch die tot hetzelfde netwerk behoren. "Hetzelfde" in de zin dat het andere VLAN een lijst met poorten zal bevatten die tot het andere netwerk behoren.

    In feite is het creëren van twee VLAN's op één switch gelijk aan het kopen van twee switches, d.w.z. Het creëren van twee VLAN's is hetzelfde als het verdelen van één switch in twee. Op deze manier wordt een netwerk van honderd computers verdeeld in kleinere netwerken van 5-20 computers - in de regel komt dit aantal overeen met de fysieke locatie van de computers voor de noodzaak voor het delen van bestanden.

    • Door het netwerk in VLAN's te verdelen, wordt beheergemak bereikt. Dus als accountant Lida naar een ander kantoor verhuist, hoeft de beheerder alleen maar de poort van het ene VLAN te verwijderen en aan een ander toe te voegen. Dit wordt in meer detail besproken in de sectie VLAN's, theorie.
    • VLAN's helpen bij het oplossen van een van de netwerkbeveiligingsvereisten, namelijk de afbakening van netwerkbronnen. Een student uit het ene publiek zal dus niet in de computers van een ander publiek of in de computer van de rector kunnen binnendringen, omdat ze bevinden zich op feitelijk verschillende netwerken.
    • Omdat ons netwerk is verdeeld in VLAN's, d.w.z. op kleine “alsof-netwerken” verdwijnt het probleem met uitgezonden berichten.

    VLAN's, theorie

    Misschien is de zinsnede “de beheerder hoeft alleen maar een poort van het ene VLAN te verwijderen en aan een ander toe te voegen” onduidelijk, dus ik zal het in meer detail uitleggen. De poort is in dit geval niet een nummer dat door het besturingssysteem aan de applicatie wordt verstrekt, zoals beschreven in de paragraaf Protocolstapel, maar een socket (plaats) waar u een RJ-45-connector kunt aansluiten (insteken). Deze connector (d.w.z. de punt van de draad) is bevestigd aan beide uiteinden van een 8-aderige draad, een zogenaamde “twisted pair”. De afbeelding toont een Cisco Catalyst 2950C-24 switch met 24 poorten:
    Zoals vermeld in paragraaf ARP: adresbepalingsprotocol, is elke computer via één fysiek kanaal met het netwerk verbonden. Die. Op een 24-poorts switch kun je 24 computers aansluiten. De twisted pair-kabel dringt fysiek door alle gebouwen van het bedrijf heen - alle 24 draden van deze switch strekken zich uit naar verschillende kamers. Laat bijvoorbeeld 17 draden los en sluit deze aan op 17 computers in het klaslokaal, 4 draden gaan naar het speciale afdelingskantoor en de overige 3 draden gaan naar het onlangs gerenoveerde, nieuwe boekhoudkantoor. En accountant Lida werd voor speciale diensten naar dit kantoor overgeplaatst.

    Zoals hierboven vermeld, kan VLAN worden weergegeven als een lijst met poorten die tot het netwerk behoren. Onze switch had bijvoorbeeld drie VLAN's, d.w.z. drie lijsten opgeslagen in het flashgeheugen van de schakelaar. In de ene lijst stonden de cijfers 1, 2, 3... 17, in een andere 18, 19, 20, 21 en in de derde 22, 23 en 24. Lida's computer was voorheen aangesloten op poort 20. En dus verhuisde ze naar een ander kantoor. Ze sleepten haar oude computer naar een nieuw kantoor, of ze ging achter een nieuwe computer zitten - het maakt niet uit. Het belangrijkste is dat haar computer was aangesloten met een twisted pair-kabel, waarvan het andere uiteinde in poort 23 van onze switch werd gestoken. En om ervoor te zorgen dat ze vanaf haar nieuwe locatie bestanden naar haar collega's kan blijven sturen, moet de beheerder het nummer 20 uit de tweede lijst verwijderen en het nummer 23 toevoegen. Houd er rekening mee dat één poort slechts tot één VLAN kan behoren, maar we zullen dit verbreken regel aan het einde van deze paragraaf.

    Ik zal ook opmerken dat bij het wijzigen van het VLAN-lidmaatschap van een poort de beheerder de draden in de switch niet hoeft “aan te sluiten”. Bovendien hoeft hij niet eens op te staan ​​van zijn stoel. Omdat de computer van de beheerder is aangesloten op poort 22, met behulp waarvan hij de switch op afstand kan beheren. Dankzij speciale instellingen, die later zullen worden besproken, kan uiteraard alleen de beheerder de overstap beheren. Voor informatie over het configureren van VLAN's leest u de sectie VLAN's, oefenen [in het volgende artikel].

    Zoals je waarschijnlijk hebt gemerkt, zei ik aanvankelijk (in de sectie Netwerken bouwen) dat er minstens 100 computers in ons netwerk zullen zijn, maar er kunnen slechts 24 computers op de switch worden aangesloten. Natuurlijk zijn er switches met meer poorten. Maar er zijn nog steeds meer computers in het bedrijfsnetwerk. En om een ​​oneindig groot aantal computers in een netwerk te kunnen aansluiten, worden switches via de zogenaamde trunkpoort met elkaar verbonden. Bij het configureren van de switch kan elk van de 24 poorten worden gedefinieerd als trunkpoort. En er kan een willekeurig aantal trunkpoorten op de switch zijn (maar het is redelijk om er niet meer dan twee te doen). Als een van de poorten als trunk is gedefinieerd, vormt de switch alle daarop ontvangen informatie in speciale pakketten, met behulp van het ISL- of 802.1Q-protocol, en stuurt deze pakketten naar de trunkpoort.

    Alle informatie die binnenkwam, ik bedoel, alle informatie die vanuit andere havens binnenkwam. En het 802.1Q-protocol wordt ingevoegd in de protocolstack tussen Ethernet en het protocol dat de gegevens genereerde die dit frame bevat.

    In dit voorbeeld zit, zoals u waarschijnlijk heeft opgemerkt, de beheerder in hetzelfde kantoor als Lida, omdat De getwiste kabel van poort 22, 23 en 24 leidt naar hetzelfde kantoor. Poort 24 is geconfigureerd als trunkpoort. En de telefooncentrale zelf staat in de bijkeuken, naast het oude accountantskantoor en het klaslokaal, waar zeventien computers staan.

    De twisted pair-kabel die van poort 24 naar het kantoor van de beheerder gaat, is aangesloten op een andere switch, die op zijn beurt is aangesloten op een router, die in de volgende hoofdstukken wordt besproken. Andere schakelaars die de andere 75 computers verbinden en zich in andere nutsruimten van de onderneming bevinden - ze hebben in de regel allemaal één trunkpoort die via twisted pair of glasvezelkabel is verbonden met de hoofdschakelaar, die zich in het kantoor bevindt met de beheerder.

    Hierboven werd gezegd dat het soms redelijk is om twee trunkpoorten te maken. De tweede trunkpoort wordt in dit geval gebruikt om het netwerkverkeer te analyseren.

    Dit is ongeveer hoe het bouwen van grote bedrijfsnetwerken er uitzag in de tijd van de Cisco Catalyst 1900-switch. Je hebt waarschijnlijk twee grote nadelen van dergelijke netwerken opgemerkt. Ten eerste veroorzaakt het gebruik van een trunkpoort enkele problemen en creëert het onnodig werk bij het configureren van de apparatuur. En ten tweede, en het allerbelangrijkste: laten we aannemen dat onze ‘netwerken’ van accountants, economen en coördinatoren één database voor drie willen hebben. Ze willen dat dezelfde accountant de wijzigingen in de database kan zien die de econoom of coördinator een paar minuten geleden heeft aangebracht. Om dit te doen, moeten we een server maken die toegankelijk is voor alle drie de netwerken.

    Zoals vermeld in het midden van deze paragraaf, kan een poort zich slechts in één VLAN bevinden. En dit geldt echter alleen voor switches uit de Cisco Catalyst 1900-serie en ouder en voor enkele jongere modellen, zoals de Cisco Catalyst 2950. Voor andere switches, met name de Cisco Catalyst 2900XL, kan deze regel worden overtreden. Bij het configureren van poorten in dergelijke switches kan elke poort vijf bedrijfsmodi hebben: Statische toegang, Multi-VLAN, Dynamische toegang, ISL Trunk en 802.1Q Trunk. De tweede werkingsmodus is precies wat we nodig hebben voor de bovenstaande taak: toegang verlenen tot de server vanaf drie netwerken tegelijk, d.w.z. zorg ervoor dat de server tegelijkertijd tot drie netwerken behoort. Dit wordt ook wel VLAN-crossing of tagging genoemd. In dit geval kan het aansluitschema er als volgt uitzien.