Verwendung von Internetprotokollen in der IP-Telefonie. Was ist das TCP-IP-Protokoll? Alles über das TCP-IP-Netzwerk

IP-Protokoll

Grundfunktionen des IP-Protokolls

Die Grundlage der TCP/IP-Protokollstapeltransporte ist Internetprotokoll (IP). Es gewährleistet die Übertragung von Datagrammen vom Sender zum Empfänger über ein integriertes System von Computernetzwerken.

Der Name dieses Protokolls – Internet Protocol – spiegelt sein Wesen wider: Es muss Pakete übertragen zwischen Netzwerken. In jedem weiteren Netzwerk, das auf dem Weg des Pakets liegt, ruft das IP-Protokoll die in diesem Netzwerk akzeptierten Transportmittel auf, um dieses Paket an den Router zu übertragen, der zum nächsten Netzwerk führt, oder direkt an den Empfängerknoten.

Das IP-Protokoll ist ein verbindungsloses Protokoll. IP hat nicht die Aufgabe, Nachrichten zuverlässig vom Absender zum Empfänger zu übermitteln. Das IP-Protokoll behandelt jedes IP-Paket als unabhängige Einheit, die keine Verbindung zu anderen IP-Paketen hat. Das IP-Protokoll verfügt nicht über die üblicherweise verwendeten Mechanismen zur Erhöhung der Zuverlässigkeit der Enddaten: Es gibt kein Handshaking – den Austausch von Bestätigungen zwischen Sender und Empfänger, keine Bestellprozedur, Neuübertragungen oder ähnliche Funktionen. Tritt bei der Paketweiterleitung ein Fehler auf, unternimmt das IP-Protokoll von sich aus nichts, um diesen Fehler zu beheben. Wenn beispielsweise an einem Zwischenrouter ein Paket aufgrund eines Time-to-Live- oder Prüfsummenfehlers verworfen wird, versucht das IP-Modul nicht, das beschädigte oder verlorene Paket erneut zu senden. Alle Probleme bei der Gewährleistung der Zuverlässigkeit der Datenübermittlung über ein Verbundnetzwerk im TCP/IP-Stack werden durch das TCP-Protokoll gelöst, das direkt auf dem IP-Protokoll arbeitet. Es ist TCP, das bei Bedarf die erneute Übertragung von Paketen organisiert.

Ein wichtiges Merkmal des IP-Protokolls, das es von anderen Netzwerkprotokollen (z. B. vom IPX-Netzwerkprotokoll) unterscheidet, ist seine Fähigkeit, Pakete dynamisch zu fragmentieren, wenn sie zwischen Netzwerken mit unterschiedlichen maximal zulässigen Werten für die MTU-Rahmendaten übertragen werden Feld. Die Eigenschaft der Fragmentierung hat maßgeblich dazu beigetragen, dass das IP-Protokoll in komplexen Verbundnetzen eine dominierende Stellung einnehmen konnte.

Es besteht ein direkter Zusammenhang zwischen der funktionalen Komplexität eines Protokolls und der Header-Komplexität der Pakete, die das Protokoll verwendet. Dies erklärt sich aus der Tatsache, dass die Hauptdienstdaten, auf deren Grundlage das Protokoll diese oder jene Aktion ausführt, zwischen zwei Modulen übertragen werden, die dieses Protokoll auf verschiedenen Maschinen implementieren, und zwar genau in den Feldern der Paketheader. Daher ist es sehr nützlich, den Zweck jedes Header-Felds eines IP-Pakets zu untersuchen. Diese Studie liefert nicht nur formale Kenntnisse über die Struktur des Pakets, sondern erklärt auch alle Hauptbetriebsarten des Protokolls für die Verarbeitung und Übertragung IP-Datagramme.

IP-Paketstruktur

Ein IP-Paket besteht aus einem Header und einem Datenfeld. Der üblicherweise 20 Byte lange Header hat folgenden Aufbau (Abb. 14.1).

Reis. 1. Struktur des IP-Paket-Headers

Feld Versionsnummer, belegt 4 Bits und gibt die IP-Protokollversion an. Mittlerweile ist Version 4 (IPv4) weit verbreitet und der Übergang zu Version 6 (IPv6) wird vorbereitet.

Feld Header-Länge (IHL) Ein IP-Paket ist 4 Bit lang und gibt einen Header-Längenwert an, der in 32-Bit-Wörtern gemessen wird. Typischerweise ist der Header 20 Byte lang (fünf 32-Bit-Wörter), aber wenn die Menge an Overhead-Informationen zunimmt, kann diese Länge durch die Verwendung zusätzlicher Bytes im Feld erhöht werden Optionen (IP-Optionen). Der größte Header ist 60 Oktette lang.

Feld Art der Leistung belegt ein Byte und gibt die Priorität des Pakets und die Art des Routenauswahlkriteriums an. Die ersten drei Bits dieses Feldes bilden das Unterfeld Priorität Paket (Vorrang). Die Priorität kann Werte vom niedrigsten – 0 (normales Paket) bis zum höchsten – 7 (Steuerinformationspaket) annehmen. Router und Computer können die Paketpriorität berücksichtigen und wichtigere Pakete zuerst verarbeiten. Feld Servicetyp enthält außerdem drei Bits, die das Routenauswahlkriterium definieren. In Wirklichkeit wird die Wahl zwischen drei Alternativen getroffen: geringe Latenz, hohe Zuverlässigkeit und hoher Durchsatz. Das gesetzte D-Bit (Verzögerung) gibt an, dass die Route ausgewählt werden sollte, um die Zustellungsverzögerung für ein bestimmtes Paket zu minimieren, das T-Bit zur Maximierung des Durchsatzes und das R-Bit zur Maximierung der Zustellungszuverlässigkeit. In vielen Netzwerken ist eine Verbesserung eines dieser Parameter mit einer Verschlechterung des anderen verbunden; außerdem erfordert die Verarbeitung jedes einzelnen Parameters zusätzliche Rechenkosten. Daher ist es selten sinnvoll, mindestens zwei dieser drei Routenauswahlkriterien gleichzeitig festzulegen. Reservierte Bits haben den Wert Null.

Feld Gesamtlänge belegt 2 Bytes und bedeutet die Gesamtlänge des Pakets unter Berücksichtigung der Header- und Datenfelder. Die maximale Paketlänge ist durch die Breite des Feldes begrenzt, das diesen Wert definiert, und beträgt 65.535 Byte. Die meisten Hostcomputer und Netzwerke verwenden jedoch keine so großen Pakete. Bei der Übertragung über verschiedene Netzwerktypen wird die Paketlänge unter Berücksichtigung der maximalen Länge des Protokollpakets der unteren Schicht, das IP-Pakete transportiert, ausgewählt. Handelt es sich um Ethernet-Frames, werden Pakete mit einer maximalen Länge von 1500 Byte ausgewählt, die in das Datenfeld des Ethernet-Frames passen. Der Standard schreibt vor, dass alle Hosts bereit sein müssen, Pakete mit einer Länge von bis zu 576 Bytes zu akzeptieren (unabhängig davon, ob sie als Ganzes oder in Fragmenten ankommen). Hosts wird nur dann empfohlen, Pakete mit mehr als 576 Byte zu senden, wenn sie sicher sind, dass der empfangende Host oder das Zwischennetzwerk für die Verarbeitung von Paketen dieser Größe vorbereitet ist.

Feld Paket-ID benötigt 2 Bytes und wird verwendet, um Pakete zu erkennen, die durch Fragmentierung des Originalpakets entstehen. Alle Fragmente müssen den gleichen Wert für dieses Feld haben.

Feld Flaggen belegt 3 Bits und enthält Merkmale, die mit der Fragmentierung verbunden sind. Ein gesetztes DF-Bit (Do not Fragment) verhindert, dass der Router dieses Paket fragmentiert, und ein gesetztes MF-Bit (More Fragments) zeigt an, dass es sich bei diesem Paket um ein Zwischenfragment (nicht das letzte) handelt. Das verbleibende Bit ist reserviert.

Feld Fragmentversatz belegt 13 Bits und gibt den Versatz in Bytes des Datenfelds dieses Pakets vom Anfang des allgemeinen Datenfelds des ursprünglichen fragmentierten Pakets an. Wird beim Zusammenstellen/Zerlegen von Paketfragmenten bei deren Übertragung zwischen Netzwerken mit unterschiedlichen MTU-Werten verwendet. Der Offset muss ein Vielfaches von 8 Byte sein.

Feld Zeit zu leben belegt ein Byte und stellt die Zeitspanne dar, in der ein Paket durch das Netzwerk übertragen werden kann. Die Lebensdauer eines bestimmten Pakets wird in Sekunden gemessen und von der Übertragungsquelle festgelegt. Auf Routern und anderen Netzwerkknoten wird nach jeder Sekunde eins von der aktuellen Lebensdauer abgezogen; Eins wird auch abgezogen, wenn die Verzögerungszeit weniger als eine Sekunde beträgt. Da moderne Router ein Paket selten länger als eine Sekunde verarbeiten, kann die Lebensdauer als die maximale Anzahl von Knoten angesehen werden, die ein bestimmtes Paket passieren darf, bevor es sein Ziel erreicht. Wenn der Time-to-Live-Parameter Null wird, bevor das Paket den Empfänger erreicht, wird das Paket verworfen. Die Lebenszeit kann als Uhrwerk der Selbstzerstörung betrachtet werden. Der Wert dieses Feldes ändert sich, wenn der IP-Paket-Header verarbeitet wird.

Kennung Protokoll der oberen Ebene (Protokoll) belegt ein Byte und gibt an, zu welchem ​​übergeordneten Protokoll die im Datenfeld des Pakets befindlichen Informationen gehören (dies könnten beispielsweise TCP-Protokollsegmente sein (UDP-Datagramme, ICMP- oder OSPF-Pakete). Die Identifikatorwerte für Verschiedene Protokolle sind im RFC-Dokument „Assigned Numbers“ angegeben.

Header-Prüfsumme benötigt 2 Bytes und wird nur aus dem Header berechnet. Da einige Header-Felder ihren Wert ändern, während das Paket über das Netzwerk übertragen wird (z. B. Lebensdauer), wird die Prüfsumme jedes Mal überprüft und neu berechnet, wenn der IP-Header verarbeitet wird. Die Prüfsumme – 16 Bit – wird als Addition zur Summe aller 16-Bit-Header-Wörter berechnet. Bei der Berechnung der Prüfsumme wird der Wert des Feldes „Prüfsumme“ selbst auf Null gesetzt. Wenn die Prüfsumme falsch ist, wird das Paket verworfen, sobald der Fehler erkannt wird.

Felder Ursprungs IP-Addresse Und Ziel-IP-Adresse haben die gleiche Länge – 32 Bit – und die gleiche Struktur.

Feld Optionen (IP-Optionen) ist optional und wird normalerweise nur beim Debuggen des Netzwerks verwendet. Der Optionsmechanismus bietet Steuerfunktionen, die in bestimmten Situationen notwendig oder einfach nützlich sind, für die normale Kommunikation wird er jedoch nicht benötigt. Dieses Feld besteht aus mehreren Unterfeldern, die jeweils einem von acht vordefinierten Typen angehören können. In diesen Unterfeldern können Sie die genaue Route der Router angeben, die vom Paket durchlaufenen Router registrieren, Sicherheitsdaten sowie Zeitstempel platzieren. Da die Anzahl der Unterfelder beliebig sein kann, steht am Ende das Feld Optionen Es müssen einige Bytes hinzugefügt werden, um den Paket-Header an einer 32-Bit-Grenze auszurichten.

Feld Ausrichtung (Auffüllung) Wird verwendet, um sicherzustellen, dass der IP-Header an einer 32-Bit-Grenze endet. Der Abgleich erfolgt mit Nullen.

Unten sehen Sie einen Ausdruck der Header-Feldwerte eines der echten IP-Pakete, die in einem Ethernet-Netzwerk mit dem Protokollanalysator Microsoft Network Monitor erfasst wurden.

    IP: Version = 4 (0x4)

    IP: Header-Länge = 20 (0x14)

    IP: Diensttyp = 0 (0x0)

    IP: Vorrang = Routine

    IP: ...0.... = Normale Verzögerung

    IP: ....0... = Normaler Durchsatz

    IP: .....0.. = Normale Zuverlässigkeit

    IP: Gesamtlänge = 54 (0x36)

    IP: Identifikation = 31746 (0x7C02)

    IP: Zusammenfassung der Flags = 2 (0x2)

    IP: .........0 = Letztes Fragment im Datagramm

    IP: ......1. = Datagramm kann nicht fragmentiert werden

    IP: Fragment-Offset = 0 (0x0) Bytes

Der Betrieb des globalen Internets basiert auf einem Satz (Stapel) von TCP/IP-Protokollen. Doch nur auf den ersten Blick erscheinen diese Begriffe komplex. Tatsächlich TCP/IP-Protokollstapel ist ein einfaches Regelwerk für den Informationsaustausch, und diese Regeln sind Ihnen eigentlich gut bekannt, auch wenn Sie sich dessen wahrscheinlich nicht bewusst sind. Ja, genau so ist es; im Grunde gibt es nichts Neues in den Prinzipien, die den TCP/IP-Protokollen zugrunde liegen: Alles Neue ist längst vergessenes Altes.

Eine Person kann auf zwei Arten lernen:

  1. Durch dummes formales Auswendiglernen formelhafter Methoden zur Lösung von Standardproblemen (was heutzutage hauptsächlich in der Schule gelehrt wird). Ein solches Training ist wirkungslos. Sicherlich haben Sie die Panik und völlige Hilflosigkeit eines Buchhalters erlebt, wenn er die Version einer Bürosoftware ändert – bei der geringsten Änderung der Reihenfolge der Mausklicks, die zum Ausführen vertrauter Aktionen erforderlich sind. Oder haben Sie schon einmal erlebt, dass eine Person beim Wechseln der Desktop-Oberfläche in Benommenheit verfällt?
  2. Durch das Verständnis der Essenz von Problemen, Phänomenen und Mustern. Durch Verständnis Prinzipien dieses oder jenes System aufbauen. Enzyklopädisches Wissen spielt in diesem Fall keine große Rolle – die fehlenden Informationen sind leicht zu finden. Die Hauptsache ist zu wissen, wonach man suchen muss. Und dies erfordert keine formale Kenntnis des Themas, sondern ein Verständnis des Wesens.

In diesem Artikel schlage ich vor, den zweiten Weg einzuschlagen, da das Verständnis der dem Internet zugrunde liegenden Prinzipien Ihnen die Möglichkeit gibt, sich im Internet sicher und frei zu fühlen – auftretende Probleme schnell zu lösen, Probleme richtig zu formulieren und sicher mit dem technischen Support zu kommunizieren.

Also, fangen wir an.

Die Funktionsprinzipien der TCP/IP-Internetprotokolle sind von Natur aus sehr einfach und ähneln stark der Arbeit unseres sowjetischen Postdienstes.

Denken Sie daran, wie unsere normale Post funktioniert. Zuerst schreiben Sie einen Brief auf ein Blatt Papier, stecken ihn dann in einen Umschlag, verschließen ihn, schreiben auf die Rückseite des Umschlags die Adressen des Absenders und des Empfängers und bringen ihn dann zur nächsten Postfiliale. Anschließend gelangt der Brief über eine Kette von Postämtern zum nächstgelegenen Postamt des Empfängers, von wo aus er vom Postboten an die vom Empfänger angegebene Adresse zugestellt und in seinen Briefkasten (mit seiner Wohnungsnummer) eingeworfen oder persönlich übergeben wird. Das war's, der Brief ist beim Empfänger angekommen. Wenn der Empfänger des Briefes Ihnen antworten möchte, vertauscht er in seinem Antwortbrief die Adressen des Empfängers und des Absenders und der Brief wird über dieselbe Kette, jedoch in die entgegengesetzte Richtung, an Sie gesendet.

Der Umschlag des Briefes wird etwa so lauten:

Absenderadresse: Von wem: Iwanow Iwan Iwanowitsch Wo: Ivanteevka, st. Bolshaya, 8, Apt. 25 Adresse des Empfängers: An wen: Petrow Petr Petrowitsch Wo: Moskau, Usachevsky Gasse, 105, Apt. 110

Jetzt sind wir bereit, die Interaktion von Computern und Anwendungen im Internet (und auch im lokalen Netzwerk) zu betrachten. Bitte beachten Sie, dass die Analogie zur normalen Post fast vollständig ist.

Jeder Computer (auch bekannt als: Knoten, Host) im Internet verfügt außerdem über eine eindeutige Adresse, die als IP-Adresse (Internet Protocol Address) bezeichnet wird, zum Beispiel: 195.34.32.116. Eine IP-Adresse besteht aus vier Dezimalzahlen (0 bis 255), die durch einen Punkt getrennt sind. Es reicht jedoch nicht aus, nur die IP-Adresse des Computers zu kennen, denn... Letztendlich sind es nicht die Computer selbst, die Informationen austauschen, sondern die darauf laufenden Anwendungen. Und auf einem Computer können mehrere Anwendungen gleichzeitig laufen (z. B. ein Mailserver, ein Webserver usw.). Um einen normalen Papierbrief zuzustellen, reicht es nicht aus, nur die Adresse des Hauses zu kennen – Sie müssen auch die Wohnungsnummer kennen. Außerdem hat jede Softwareanwendung eine ähnliche Nummer, die sogenannte Portnummer. Die meisten Serveranwendungen haben Standardnummern, zum Beispiel: Ein Maildienst ist an Portnummer 25 gebunden (man sagt auch: „hört“ auf den Port, empfängt Nachrichten darauf), ein Webdienst ist an Port 80 gebunden, FTP an Port 21 , und so weiter.

Somit haben wir die folgende fast vollständige Analogie zu unserer regulären Postanschrift:

„Hausadresse“ = „Computer-IP“ „Wohnungsnummer“ = „Portnummer“

In Computernetzwerken, die mit TCP/IP-Protokollen arbeiten, ist dies ein Analogon zu einem Papierbrief in einem Umschlag Plastiktüte, das die tatsächlich übermittelten Daten und Adressinformationen enthält – die Absenderadresse und die Empfängeradresse, zum Beispiel:

Quelladresse: IP: 82.146.49.55 Port: 2049 Empfängeradresse (Zieladresse): IP: 195.34.32.116 Port: 53 Paketdetails: ...

Selbstverständlich sind in den Paketen auch Serviceinformationen enthalten, diese sind jedoch für das Verständnis des Wesentlichen nicht wichtig.

Bitte beachten Sie die Kombination: „IP-Adresse und Portnummer“ – angerufen "Steckdose".

In unserem Beispiel senden wir ein Paket von Socket 82.146.49.55:2049 an Socket 195.34.32.116:53, d.h. Das Paket wird an einen Computer mit der IP-Adresse 195.34.32.116 an Port 53 gesendet. Und Port 53 entspricht einem Namenserkennungsserver (DNS-Server), der dieses Paket empfängt. Wenn dieser Server die Adresse des Absenders kennt, kann er nach der Bearbeitung unserer Anfrage ein Antwortpaket generieren, das in die entgegengesetzte Richtung zum Absender-Socket 82.146.49.55:2049 geht, der für den DNS-Server der Empfänger-Socket ist.

In der Regel erfolgt die Interaktion nach dem „Client-Server“-Schema: Der „Client“ fordert Informationen an (zum Beispiel eine Website-Seite), der Server nimmt die Anfrage an, verarbeitet sie und sendet das Ergebnis. Die Portnummern von Serveranwendungen sind bekannt, zum Beispiel: Der SMTP-Mailserver „horcht“ auf Port 25, der POP3-Server, der das Lesen von E-Mails aus Ihren Postfächern ermöglicht, „horcht“ auf Port 110, der Webserver lauscht auf Port 80 usw .

Die meisten Programme auf einem Heimcomputer sind Clients – zum Beispiel der Outlook-E-Mail-Client, IE, Firefox-Webbrowser usw.

Die Portnummern auf dem Client sind nicht wie auf dem Server fest vorgegeben, sondern werden vom Betriebssystem dynamisch vergeben. Feste Server-Ports haben normalerweise Nummern bis 1024 (es gibt jedoch Ausnahmen) und Client-Ports beginnen nach 1024.

Wiederholung ist die Mutter der Lehre: IP ist die Adresse eines Computers (Knoten, Host) im Netzwerk und Port ist die Nummer einer bestimmten Anwendung, die auf diesem Computer ausgeführt wird.

Allerdings ist es für eine Person schwierig, sich digitale IP-Adressen zu merken – es ist viel bequemer, mit alphabetischen Namen zu arbeiten. Schließlich ist es viel einfacher, sich ein Wort zu merken als eine Reihe von Zahlen. Dies geschieht – jede digitale IP-Adresse kann einem alphanumerischen Namen zugeordnet werden. Dadurch können Sie beispielsweise anstelle von 82.146.49.55 den Namen verwenden. Und der Domain Name Service (DNS) (Domain Name System) übernimmt die Umwandlung des Domainnamens in eine digitale IP-Adresse.

Schauen wir uns genauer an, wie das funktioniert. Ihr ISP stellt Ihnen entweder explizit (auf Papier, für manuellen Verbindungsaufbau) oder implizit (durch automatischen Verbindungsaufbau) die IP-Adresse des Nameservers (DNS) zur Verfügung. Auf einem Computer mit dieser IP-Adresse läuft eine Anwendung (Nameserver), die alle Domainnamen im Internet und die dazugehörigen digitalen IP-Adressen kennt. Der DNS-Server „horcht“ auf Port 53, nimmt Anfragen an ihn entgegen und gibt Antworten aus, zum Beispiel:

Anfrage von unserem Computer: „Welche IP-Adresse entspricht dem Namen www.site?“ Serverantwort: „82.146.49.55.“

Schauen wir uns nun an, was passiert, wenn Sie den Domainnamen (URL) dieser Website () in Ihren Browser eingeben und klicken Als Antwort erhalten Sie vom Webserver eine Seite dieser Site.

Zum Beispiel:

IP-Adresse unseres Computers: 91.76.65.216 Browser: Internet Explorer (IE), DNS-Server (Stream): 195.34.32.116 (Ihrer kann anders sein), Die Seite, die wir öffnen möchten: www.site.

Geben Sie den Domänennamen in die Adressleiste des Browsers ein und klicken Sie auf . Als nächstes führt das Betriebssystem ungefähr die folgenden Aktionen aus:

Eine Anfrage (genauer gesagt ein Paket mit einer Anfrage) wird an den DNS-Server am Socket 195.34.32.116:53 gesendet. Wie oben erläutert, entspricht Port 53 dem DNS-Server, einer Anwendung, die Namen auflöst. Und der DNS-Server gibt nach der Bearbeitung unserer Anfrage die IP-Adresse zurück, die dem eingegebenen Namen entspricht.

Der Dialog läuft ungefähr so ​​ab:

Welche IP-Adresse dem Namen entspricht www.site? - 82.146.49.55 .

Als nächstes stellt unser Computer eine Verbindung zum Port her 80 Computer 82.146.49.55 und sendet eine Anfrage (Anfragepaket), um die Seite zu empfangen. Port 80 entspricht dem Webserver. Port 80 wird normalerweise nicht in die Adressleiste des Browsers geschrieben, weil wird standardmäßig verwendet, kann aber auch explizit nach dem Doppelpunkt angegeben werden - .

Nachdem wir eine Anfrage von uns erhalten haben, verarbeitet der Webserver diese und sendet uns eine Seite in mehreren Paketen in HTML – einer Textauszeichnungssprache, die der Browser versteht.

Unser Browser zeigt die Seite an, nachdem sie sie empfangen hat. Als Ergebnis sehen wir die Hauptseite dieser Site auf dem Bildschirm.

Warum müssen wir diese Prinzipien verstehen?

Sie haben beispielsweise ein seltsames Verhalten Ihres Computers bemerkt – seltsame Netzwerkaktivität, Verlangsamungen usw. Was ist zu tun? Öffnen Sie die Konsole (klicken Sie auf die Schaltfläche „Start“ – „Ausführen“ – geben Sie cmd ein – „Ok“). In der Konsole geben wir den Befehl ein netstat -an und klicken . Dieses Dienstprogramm zeigt eine Liste der hergestellten Verbindungen zwischen den Sockets unseres Computers und den Sockets von Remote-Hosts an. Was könnte das bedeuten, wenn wir in der Spalte „Externe Adresse“ und dem 25. Port nach dem Doppelpunkt einige ausländische IP-Adressen sehen? (Erinnern Sie sich, dass Port 25 dem Mailserver entspricht?) Das bedeutet, dass Ihr Computer eine Verbindung zu einem oder mehreren Mailservern hergestellt hat und einige Briefe darüber sendet. Und wenn Ihr E-Mail-Client (z. B. Outlook) zu diesem Zeitpunkt nicht läuft und auf Port 25 immer noch viele solcher Verbindungen vorhanden sind, befindet sich wahrscheinlich ein Virus auf Ihrem Computer, der in Ihrem Namen Spam versendet oder Ihr Guthaben weiterleitet Kartennummern zusammen mit Passwörtern an Angreifer weitergeben.

Außerdem ist es notwendig, die Prinzipien des Internets zu verstehen, um eine Firewall (mit anderen Worten: eine Firewall :)) richtig zu konfigurieren. Dieses Programm (das häufig mit einem Antivirenprogramm geliefert wird) dient zum Filtern von Paketen – „Freunden“ und „Feinden“. Lassen Sie Ihre eigenen Leute durch, lassen Sie keine Fremden herein. Wenn Ihnen beispielsweise Ihre Firewall mitteilt, dass jemand eine Verbindung zu einem Port Ihres Computers herstellen möchte. Zulassen oder ablehnen?

Und was am wichtigsten ist: Dieses Wissen ist äußerst nützlich bei der Kommunikation mit dem technischen Support.

Abschließend finden Sie hier eine Liste der Ports, auf die Sie wahrscheinlich stoßen werden:

135-139 - Diese Ports werden von Windows verwendet, um auf freigegebene Computerressourcen zuzugreifen – Ordner, Drucker. Öffnen Sie diese Anschlüsse nicht nach außen, d. h. an das regionale Ortsnetz und das Internet. Sie sollten mit einer Firewall geschlossen werden. Wenn Sie im lokalen Netzwerk nichts in der Netzwerkumgebung sehen oder nicht sichtbar sind, liegt dies wahrscheinlich daran, dass die Firewall diese Ports blockiert hat. Daher müssen diese Ports für das lokale Netzwerk geöffnet, für das Internet jedoch geschlossen sein. 21 - Hafen FTP Server. 25 - Posthafen SMTP Server. Ihr E-Mail-Client versendet Briefe darüber. Die IP-Adresse des SMTP-Servers und dessen Port (25.) sollten in den Einstellungen Ihres Mail-Clients angegeben werden. 110 - Hafen POP3 Server. Dadurch sammelt Ihr E-Mail-Client Briefe aus Ihrem Postfach. Auch die IP-Adresse des POP3-Servers und dessen Port (110.) sollten Sie in den Einstellungen Ihres Mail-Clients angeben. 80 - Hafen NETZ-Server. 3128, 8080 - Proxyserver (konfiguriert in den Browsereinstellungen).

Mehrere spezielle IP-Adressen:

127.0.0.1 ist localhost, die Adresse des lokalen Systems, d. h. lokale Adresse Ihres Computers. 0.0.0.0 – so werden alle IP-Adressen bezeichnet. 192.168.xxx.xxx – Adressen, die in lokalen Netzwerken beliebig verwendet werden können, werden jedoch nicht im globalen Internet verwendet. Sie sind nur innerhalb des lokalen Netzwerks eindeutig. Sie können Adressen aus diesem Bereich nach eigenem Ermessen verwenden, um beispielsweise ein Heim- oder Büronetzwerk aufzubauen.

Was ist die Subnetzmaske und das Standard-Gateway (Router, Router)?

(Diese Parameter werden in den Netzwerkverbindungseinstellungen festgelegt).

Es ist einfach. Computer sind in lokale Netzwerke eingebunden. In einem lokalen Netzwerk „sehen“ sich Computer direkt nur gegenseitig. Lokale Netzwerke werden durch Gateways (Router, Router) miteinander verbunden. Mithilfe der Subnetzmaske soll ermittelt werden, ob der Empfängercomputer zum selben lokalen Netzwerk gehört oder nicht. Wenn der empfangende Computer zum selben Netzwerk gehört wie der sendende Computer, wird das Paket direkt an ihn gesendet, andernfalls wird das Paket an das Standard-Gateway gesendet, das es dann über ihm bekannte Routen an ein anderes Netzwerk weiterleitet, d. h. an ein anderes Postamt (analog zum sowjetischen Postamt).

Schauen wir uns abschließend an, was diese unklaren Begriffe bedeuten:

TCP/IP ist der Name einer Reihe von Netzwerkprotokollen. Tatsächlich durchläuft das übertragene Paket mehrere Schichten. (Wie bei der Post: Zuerst schreibt man einen Brief, dann steckt man ihn in einen adressierten Umschlag, dann stempelt die Post ihn ab usw.).

IP Bei dem Protokoll handelt es sich um ein sogenanntes Network-Layer-Protokoll. Die Aufgabe dieser Ebene besteht darin, IP-Pakete vom Computer des Absenders an den Computer des Empfängers zu übermitteln. Zusätzlich zu den Daten selbst verfügen Pakete auf dieser Ebene über eine Quell-IP-Adresse und eine Empfänger-IP-Adresse. Portnummern werden auf Netzwerkebene nicht verwendet. Welcher Port, d.h. die Anwendung ist an dieses Paket gerichtet, ob dieses Paket zugestellt wurde oder verloren ging, ist auf dieser Ebene unbekannt – das ist nicht ihre Aufgabe, das ist die Aufgabe der Transportschicht.

TCP und UDP Dabei handelt es sich um Protokolle der sogenannten Transportschicht. Die Transportschicht liegt über der Netzwerkschicht. Auf dieser Ebene werden dem Paket ein Quellport und ein Zielport hinzugefügt.

TCP ist ein verbindungsorientiertes Protokoll mit garantierter Paketzustellung. Zuerst werden spezielle Pakete ausgetauscht, um eine Verbindung herzustellen, es kommt zu so etwas wie einem Handshake (-Hallo. -Hallo. -Sollen wir chatten? -Komm schon.). Anschließend werden Pakete über diese Verbindung hin- und hergesendet (es läuft ein Gespräch) und es wird geprüft, ob das Paket den Empfänger erreicht hat. Wenn das Paket nicht empfangen wird, wird es erneut gesendet („Wiederholen, ich habe es nicht gehört“).

UDP ist ein verbindungsloses Protokoll mit nicht garantierter Paketzustellung. (Zum Beispiel: etwas geschrien, aber ob sie dich gehört haben oder nicht – das spielt keine Rolle.)

Über der Transportschicht befindet sich die Anwendungsschicht. Auf dieser Ebene können Protokolle wie z http, ftp usw. Beispielsweise verwenden HTTP und FTP das zuverlässige TCP-Protokoll und der DNS-Server arbeitet über das unzuverlässige UDP-Protokoll.

Wie kann ich aktuelle Verbindungen anzeigen?

Aktuelle Verbindungen können mit dem Befehl angezeigt werden

Netstat -an

(Der Parameter n gibt an, dass IP-Adressen anstelle von Domänennamen angezeigt werden sollen.)

Dieser Befehl läuft folgendermaßen ab:

„Start“ – „Ausführen“ – cmd eingeben – „Ok“. Geben Sie in der angezeigten Konsole (schwarzes Fenster) den Befehl netstat -an ein und klicken Sie . Das Ergebnis ist eine Liste der hergestellten Verbindungen zwischen den Sockets unseres Computers und entfernten Knoten.

Beispielsweise erhalten wir:

Aktive Verbindungen

Name Lokale Adresse Externe Adresse Zustand
TCP 0.0.0.0:135 0.0.0.0:0 HÖREN
TCP 91.76.65.216:139 0.0.0.0:0 HÖREN
TCP 91.76.65.216:1719 212.58.226.20:80 GEGRÜNDET
TCP 91.76.65.216:1720 212.58.226.20:80 GEGRÜNDET
TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT
TCP 91.76.65.216:1724 212.58.226.8:80 GEGRÜNDET
...

In diesem Beispiel bedeutet 0.0.0.0:135, dass unser Computer Port 135 an allen seinen IP-Adressen abhört (LISTENING) und bereit ist, Verbindungen von jedem darauf (0.0.0.0:0) über das TCP-Protokoll anzunehmen.

91.76.65.216:139 – unser Computer überwacht Port 139 unter seiner IP-Adresse 91.76.65.216.

Die dritte Zeile bedeutet, dass die Verbindung zwischen unserer Maschine (91.76.65.216:1719) und der entfernten Maschine (212.58.226.20:80) nun hergestellt (ESTABLISHED) ist. Port 80 bedeutet, dass unser Computer eine Anfrage an den Webserver gestellt hat (ich habe tatsächlich Seiten im Browser geöffnet).

In zukünftigen Artikeln werden wir uns damit befassen, wie man dieses Wissen anwenden kann, z.B.

In der modernen Welt verbreiten sich Informationen innerhalb von Sekunden. Die Nachricht ist gerade erschienen und eine Sekunde später ist sie bereits auf einer Website im Internet verfügbar. Das Internet gilt als eine der nützlichsten Entwicklungen des menschlichen Geistes. Um alle Vorteile des Internets nutzen zu können, müssen Sie sich mit diesem Netzwerk verbinden.

Nur wenige Menschen wissen, dass der einfache Vorgang des Besuchs von Webseiten ein komplexes System von Aktionen beinhaltet, die für den Benutzer unsichtbar sind. Jeder Klick auf einen Link aktiviert Hunderte verschiedener Rechenoperationen im Herzen des Computers. Dazu gehören das Senden von Anfragen, das Empfangen von Antworten und vieles mehr. Für jede Aktion im Netzwerk sind die sogenannten TCP/IP-Protokolle verantwortlich. Was sind Sie?

Jedes Internetprotokoll TCP/IP arbeitet auf einer eigenen Ebene. Mit anderen Worten: Jeder macht sein eigenes Ding. Die gesamte TCP/IP-Protokollfamilie erledigt gleichzeitig enorm viel Arbeit. Und der Benutzer sieht zu diesem Zeitpunkt nur helle Bilder und lange Textzeilen.

Das Konzept eines Protokollstapels

Der TCP/IP-Protokollstapel ist ein organisierter Satz grundlegender Netzwerkprotokolle, der hierarchisch in vier Ebenen unterteilt ist und ein System zur Transportverteilung von Paketen über ein Computernetzwerk darstellt.

TCP/IP ist der bekannteste Netzwerkprotokollstapel, der heute verwendet wird. Die Prinzipien des TCP/IP-Stacks gelten sowohl für lokale als auch für Weitverkehrsnetze.

Prinzipien der Verwendung von Adressen im Protokollstapel

Der TCP/IP-Netzwerkprotokollstapel beschreibt die Pfade und Richtungen, in denen Pakete gesendet werden. Dies ist die Hauptaufgabe des gesamten Stapels, die auf vier Ebenen ausgeführt wird, die mithilfe eines protokollierten Algorithmus miteinander interagieren. Um sicherzustellen, dass das Paket korrekt gesendet und genau dort zugestellt wird, wo es angefordert wurde, wurde die IP-Adressierung eingeführt und standardisiert. Dies war auf folgende Aufgaben zurückzuführen:

  • Adressen unterschiedlichen Typs müssen konsistent sein. Beispielsweise das Konvertieren einer Site-Domäne in die IP-Adresse eines Servers und zurück oder das Konvertieren eines Hostnamens in eine Adresse und zurück. Auf diese Weise ist es möglich, den Punkt nicht nur über die IP-Adresse, sondern auch über seinen intuitiven Namen zu erreichen.
  • Adressen müssen eindeutig sein. Dies liegt daran, dass das Paket in einigen Sonderfällen nur einen bestimmten Punkt erreichen darf.
  • Die Notwendigkeit, lokale Netzwerke zu konfigurieren.

In kleinen Netzwerken, in denen mehrere Dutzend Knoten verwendet werden, werden alle diese Aufgaben einfach und mit den einfachsten Lösungen erledigt: Erstellen einer Tabelle, die den Besitz der Maschine und die entsprechende IP-Adresse beschreibt, oder Sie können IP-Adressen manuell an alle Netzwerkadapter verteilen. Für große Netzwerke mit tausend oder zweitausend Maschinen scheint die manuelle Vergabe von Adressen jedoch nicht so realisierbar zu sein.

Aus diesem Grund wurde für TCP/IP-Netzwerke ein spezieller Ansatz erfunden, der zu einem charakteristischen Merkmal des Protokollstapels wurde. Das Konzept der Skalierbarkeit wurde eingeführt.

Schichten des TCP/IP-Protokollstapels

Hier herrscht eine gewisse Hierarchie. Der TCP/IP-Protokollstapel besteht aus vier Schichten, von denen jede ihre eigenen Protokolle verwaltet:

Anwendungsschicht: erstellt, um dem Benutzer die Interaktion mit dem Netzwerk zu ermöglichen. Auf dieser Ebene wird alles verarbeitet, was der Benutzer sieht und tut. Die Ebene ermöglicht dem Benutzer den Zugriff auf verschiedene Netzwerkdienste, zum Beispiel: Zugriff auf Datenbanken, die Möglichkeit, eine Liste von Dateien zu lesen und zu öffnen, eine E-Mail-Nachricht zu senden oder eine Webseite zu öffnen. Auf dieser Ebene werden neben Nutzerdaten und -aktionen auch Serviceinformationen übermittelt.

Transportschicht: Dies ist ein reiner Paketübertragungsmechanismus. Auf dieser Ebene spielen weder der Inhalt des Pakets noch seine Zugehörigkeit zu einer Aktion überhaupt eine Rolle. Auf dieser Ebene ist nur die Adresse des Knotens von Bedeutung, von dem das Paket gesendet wird, und die Adresse des Knotens, an den das Paket zugestellt werden soll. In der Regel kann sich die Größe der über verschiedene Protokolle übertragenen Fragmente ändern, daher können auf dieser Ebene Informationsblöcke am Ausgang aufgeteilt und am Ziel zu einem Ganzen zusammengesetzt werden. Dies führt zu einem möglichen Datenverlust, wenn es zum Zeitpunkt der Übertragung des nächsten Fragments zu einem kurzfristigen Verbindungsabbruch kommt.

Die Transportschicht umfasst viele Protokolle, die in Klassen unterteilt sind, von den einfachsten, die einfach Daten übertragen, bis hin zu komplexen, die mit der Funktionalität ausgestattet sind, den Empfang zu bestätigen oder einen fehlenden Datenblock erneut anzufordern.

Diese Ebene stellt der höheren (Anwendungs-)Ebene zwei Arten von Diensten zur Verfügung:

  • Bietet garantierte Zustellung über das TCP-Protokoll.
  • Liefert wann immer möglich über UDP .

Um eine garantierte Zustellung zu gewährleisten, wird eine Verbindung nach dem TCP-Protokoll aufgebaut, das eine Nummerierung der Pakete am Ausgang und eine Bestätigung am Eingang ermöglicht. Die Nummerierung der Pakete und die Empfangsbestätigung sind die sogenannten Serviceinformationen. Dieses Protokoll unterstützt die Übertragung im „Duplex“-Modus. Darüber hinaus gilt das Protokoll dank der durchdachten Regelungen als sehr zuverlässig.

Das UDP-Protokoll ist für Momente gedacht, in denen es nicht möglich ist, die Übertragung über das TCP-Protokoll zu konfigurieren, oder Sie ein Segment der Netzwerkdatenübertragung einsparen müssen. Außerdem kann das UDP-Protokoll mit übergeordneten Protokollen interagieren, um die Zuverlässigkeit der Paketübertragung zu erhöhen.

Netzwerkschicht oder „Internetschicht“: die Basisschicht für das gesamte TCP/IP-Modell. Die Hauptfunktionalität dieser Schicht ist identisch mit der gleichnamigen Schicht im OSI-Modell und beschreibt die Bewegung von Paketen in einem Verbundnetzwerk, das aus mehreren kleineren Subnetzen besteht. Es verbindet benachbarte Schichten des TCP/IP-Protokolls.

Die Netzwerkschicht ist die Verbindungsschicht zwischen der höheren Transportschicht und der unteren Ebene der Netzwerkschnittstellen. Die Netzwerkschicht verwendet Protokolle, die eine Anfrage von der Transportschicht empfangen und die verarbeitete Anfrage durch regulierte Adressierung an das Netzwerkschnittstellenprotokoll übertragen und dabei angeben, an welche Adresse die Daten gesendet werden sollen.

Auf dieser Ebene werden folgende TCP/IP-Netzwerkprotokolle verwendet: ICMP, IP, RIP, OSPF. Das wichtigste und beliebteste auf Netzwerkebene ist natürlich das IP (Internet Protocol). Seine Hauptaufgabe besteht darin, Pakete von einem Router zu einem anderen zu übertragen, bis eine Dateneinheit die Netzwerkschnittstelle des Zielknotens erreicht. Das IP-Protokoll wird nicht nur auf Hosts, sondern auch auf Netzwerkgeräten eingesetzt: Routern und verwalteten Switches. Das IP-Protokoll basiert auf dem Prinzip der bestmöglichen, nicht garantierten Zustellung. Das heißt, es ist nicht erforderlich, im Voraus eine Verbindung herzustellen, um ein Paket zu senden. Diese Option führt zu einer Einsparung von Datenverkehr und Zeit bei der Übertragung unnötiger Servicepakete. Das Paket wird zu seinem Ziel weitergeleitet und es ist möglich, dass der Knoten unerreichbar bleibt. In diesem Fall wird eine Fehlermeldung zurückgegeben.

Ebene der Netzwerkschnittstelle: ist dafür verantwortlich, dass Teilnetze mit unterschiedlichen Technologien miteinander interagieren und Informationen im gleichen Modus übertragen können. Dies geschieht in zwei einfachen Schritten:

  • Kodieren eines Pakets in eine zwischengeschaltete Netzwerkdateneinheit.
  • Konvertiert die Zielinformationen in die erforderlichen Subnetzstandards und sendet die Dateneinheit.

Dieser Ansatz ermöglicht es uns, die Anzahl der unterstützten Netzwerktechnologien ständig zu erweitern. Sobald eine neue Technologie auftaucht, wird sie sofort in den TCP/IP-Protokollstapel aufgenommen und ermöglicht es Netzwerken mit älteren Technologien, Daten an Netzwerke zu übertragen, die mit moderneren Standards und Methoden aufgebaut sind.

Übertragene Dateneinheiten

Während es ein Phänomen wie die TCP/IP-Protokolle gab, wurden Standardbedingungen für die Einheiten der übertragenen Daten festgelegt. Abhängig von den vom Zielnetzwerk verwendeten Technologien können Daten während der Übertragung auf unterschiedliche Weise fragmentiert werden.

Um eine Vorstellung davon zu bekommen, was zu welchem ​​Zeitpunkt mit den Daten passiert, war es notwendig, sich folgende Terminologie auszudenken:

  • Datenstrom- Daten, die von Protokollen einer höheren Anwendungsschicht auf der Transportschicht ankommen.
  • Ein Segment ist ein Datenfragment, in das ein Stream gemäß den TCP-Protokollstandards unterteilt wird.
  • Datagramm(Besonders Analphabeten sprechen es als „Datagramm“ aus) – Dateneinheiten, die durch Aufteilen eines Streams mithilfe verbindungsloser Protokolle (UDP) gewonnen werden.
  • Plastiktüte- eine über das IP-Protokoll erzeugte Dateneinheit.
  • Die TCP/IP-Protokolle packen IP-Pakete in Datenblöcke, die über zusammengesetzte Netzwerke übertragen werden Personal oder Rahmen.

Arten von TCP/IP-Protokoll-Stack-Adressen

Jedes TCP/IP-Datenübertragungsprotokoll verwendet einen der folgenden Adresstypen zur Identifizierung von Hosts:

  • Lokale (Hardware-)Adressen.
  • Netzwerkadressen (IP-Adressen).
  • Domain Namen.

Lokale Adressen (MAC-Adressen) – werden in den meisten lokalen Netzwerktechnologien zur Identifizierung von Netzwerkschnittstellen verwendet. Wenn man von TCP/IP spricht, bedeutet das Wort „lokal“ eine Schnittstelle, die nicht in einem zusammengesetzten Netzwerk, sondern in einem separaten Subnetz betrieben wird. Beispielsweise ist das Subnetz einer mit dem Internet verbundenen Schnittstelle lokal und das Internetnetzwerk zusammengesetzt. Ein lokales Netzwerk kann auf jeder Technologie aufgebaut werden, und unabhängig davon wird aus der Sicht eines zusammengesetzten Netzwerks eine Maschine, die sich in einem separat dedizierten Subnetz befindet, als lokal bezeichnet. Wenn also ein Paket das lokale Netzwerk betritt, wird seine IP-Adresse mit der lokalen Adresse verknüpft und das Paket wird an die MAC-Adresse der Netzwerkschnittstelle gesendet.

Netzwerkadressen (IP-Adressen). Die TCP/IP-Technologie bietet eine eigene globale Adressierung von Knoten, um ein einfaches Problem zu lösen – die Kombination von Netzwerken mit unterschiedlichen Technologien zu einer großen Datenübertragungsstruktur. Die IP-Adressierung ist völlig unabhängig von der im lokalen Netzwerk verwendeten Technologie, aber eine IP-Adresse ermöglicht es einer Netzwerkschnittstelle, eine Maschine in einem Verbundnetzwerk darzustellen.

Als Ergebnis wurde ein System entwickelt, bei dem Hosts eine IP-Adresse und eine Subnetzmaske zugewiesen werden. Die Subnetzmaske zeigt an, wie viele Bits der Netzwerknummer und wie viele der Hostnummer zugeordnet sind. Eine IP-Adresse besteht aus 32 Bits, aufgeteilt in Blöcke zu je 8 Bits.

Bei der Übertragung eines Pakets werden ihm Informationen über die Netzwerknummer und die Knotennummer zugewiesen, an den das Paket gesendet werden soll. Zunächst leitet der Router das Paket an das gewünschte Subnetz weiter und anschließend wird ein Host ausgewählt, der darauf wartet. Dieser Vorgang wird vom Address Resolution Protocol (ARP) durchgeführt.

Domänenadressen in TCP/IP-Netzwerken werden von einem speziell entwickelten Domain Name System (DNS) verwaltet. Dazu gibt es Server, die den als Textzeichenfolge dargestellten Domänennamen mit der IP-Adresse abgleichen und das Paket gemäß globaler Adressierung versenden. Es gibt keine Entsprechung zwischen einem Computernamen und einer IP-Adresse. Um einen Domänennamen in eine IP-Adresse umzuwandeln, muss das sendende Gerät daher auf die Routing-Tabelle zugreifen, die auf dem DNS-Server erstellt wird. Beispielsweise schreiben wir die Site-Adresse in den Browser, der DNS-Server gleicht sie mit der IP-Adresse des Servers ab, auf dem sich die Site befindet, und der Browser liest die Informationen und erhält eine Antwort.

Zusätzlich zum Internet ist es möglich, Domänennamen an Computer zu vergeben. Dadurch wird die Arbeit in einem lokalen Netzwerk vereinfacht. Es ist nicht erforderlich, sich alle IP-Adressen zu merken. Stattdessen können Sie jedem Computer einen beliebigen Namen geben und ihn verwenden.

IP Adresse. Format. Komponenten. Subnetzmaske

Eine IP-Adresse ist eine 32-Bit-Zahl, die in der herkömmlichen Darstellung als durch Punkte getrennte Zahlen von 1 bis 255 geschrieben wird.

Art der IP-Adresse in verschiedenen Aufzeichnungsformaten:

  • Dezimale IP-Adresse: 192.168.0.10.
  • Binäre Form derselben IP-Adresse: 11000000.10101000.00000000.00001010.
  • Adresseintrag im hexadezimalen Zahlensystem: C0.A8.00.0A.

Es gibt kein Trennzeichen zwischen der Netzwerk-ID und der Punktnummer im Eintrag, aber der Computer ist in der Lage, sie zu trennen. Dafür gibt es drei Möglichkeiten:

  1. Fester Rand. Bei dieser Methode wird die gesamte Adresse Byte für Byte bedingt in zwei Teile fester Länge aufgeteilt. Wenn wir also ein Byte für die Netzwerknummer angeben, erhalten wir 2 8 Netzwerke mit jeweils 2 24 Knoten. Wenn die Grenze um ein weiteres Byte nach rechts verschoben wird, gibt es mehr Netzwerke – 2 16 – und weniger Knoten – 2 16. Heute gilt der Ansatz als veraltet und wird nicht mehr angewendet.
  2. Subnetzmaske. Die Maske ist mit einer IP-Adresse gekoppelt. Die Maske hat eine Folge von Werten „1“ an den Bits, die der Netzwerknummer zugeordnet sind, und eine bestimmte Anzahl von Nullen an den Stellen der IP-Adresse, die der Knotennummer zugeordnet sind. Die Grenze zwischen Einsen und Nullen in der Maske ist die Grenze zwischen der Netzwerk-ID und der Host-ID in der IP-Adresse.
  3. Methode der Adressklassen. Kompromissmethode. Bei der Verwendung können die Netzwerkgrößen nicht vom Benutzer ausgewählt werden, es gibt jedoch fünf Klassen – A, B, C, D, E. Drei Klassen – A, B und C – sind für verschiedene Netzwerke gedacht, und D und E sind reserviert für Zwecknetze. In einem Klassensystem hat jede Klasse ihre eigene Grenze aus Netzwerknummer und Knoten-ID.

IP-Adressklassen

ZU Klasse a Dazu gehören Netzwerke, bei denen das erste Byte das Netzwerk identifiziert und die restlichen drei die Knotennummer sind. Alle IP-Adressen, deren erster Bytewert zwischen 1 und 126 liegt, sind Netzwerke der Klasse A. Es gibt nur sehr wenige Netzwerke der Klasse A, aber jedes von ihnen kann bis zu 2 24 Punkte haben.

Klasse b- Netzwerke, in denen die beiden höchsten Bits gleich 10 sind. In ihnen sind 16 Bits für die Netzwerknummer und die Punktkennung reserviert. Als Ergebnis stellt sich heraus, dass sich die Anzahl der Klasse-B-Netzwerke quantitativ von der Anzahl der Klasse-A-Netzwerke unterscheidet, sie jedoch eine geringere Anzahl von Knoten aufweisen – bis zu 65.536 (2 16) Einheiten.

Auf Netzwerken Klasse C- Es gibt sehr wenige Knoten - jeweils 2 bis 8, aber die Anzahl der Netzwerke ist riesig, da die Netzwerkkennung in solchen Strukturen drei Bytes einnimmt.

Netzwerke Klasse D- gehören bereits zu speziellen Netzwerken. Sie beginnt mit der Sequenz 1110 und wird als Multicast-Adresse bezeichnet. Schnittstellen mit Adressen der Klassen A, B und C können Teil einer Gruppe sein und zusätzlich zur Einzeladresse eine Gruppenadresse erhalten.

Adressen Klasse E- als Reserve für die Zukunft. Solche Adressen beginnen mit der Sequenz 11110. Höchstwahrscheinlich werden diese Adressen als Gruppenadressen verwendet, wenn im globalen Netzwerk ein Mangel an IP-Adressen herrscht.

Einrichten des TCP/IP-Protokolls

Die Einrichtung des TCP/IP-Protokolls ist auf allen Betriebssystemen möglich. Dies sind Linux, CentOS, Mac OS X, Free BSD, Windows 7. Für das TCP/IP-Protokoll ist lediglich ein Netzwerkadapter erforderlich. Natürlich können Server-Betriebssysteme noch mehr. Das TCP/IP-Protokoll wird sehr umfassend über Serverdienste konfiguriert. IP-Adressen auf normalen Desktop-Computern werden in den Netzwerkverbindungseinstellungen festgelegt. Dort konfigurieren Sie die Netzwerkadresse, das Gateway – die IP-Adresse des Punktes, der Zugriff auf das globale Netzwerk hat, und die Adressen der Punkte, an denen sich der DNS-Server befindet.

Das TCP/IP-Internetprotokoll kann manuell konfiguriert werden. Obwohl dies nicht immer notwendig ist. Sie können TCP/IP-Protokollparameter automatisch von der dynamischen Verteilungsadresse des Servers erhalten. Diese Methode wird in großen Unternehmensnetzwerken verwendet. Auf einem DHCP-Server können Sie eine lokale Adresse einer Netzwerkadresse zuordnen. Sobald ein Computer mit einer bestimmten IP-Adresse im Netzwerk erscheint, weist der Server ihm sofort eine vorbereitete IP-Adresse zu. Dieser Vorgang wird als Reservierung bezeichnet.

TCP/IP-Adressauflösungsprotokoll

Die einzige Möglichkeit, eine Beziehung zwischen einer MAC-Adresse und einer IP-Adresse herzustellen, ist die Pflege einer Tabelle. Wenn eine Routing-Tabelle vorhanden ist, kennt jede Netzwerkschnittstelle ihre Adressen (lokal und Netzwerk), es stellt sich jedoch die Frage, wie der Paketaustausch zwischen Knoten mithilfe des TCP/IP 4-Protokolls ordnungsgemäß organisiert werden kann.

Warum wurde das Address Resolution Protocol (ARP) erfunden? Zur Verknüpfung der TCP/IP-Protokollfamilie und anderer Adressierungssysteme. Auf jedem Knoten wird eine ARP-Zuordnungstabelle erstellt und durch Abfragen des gesamten Netzwerks gefüllt. Dies geschieht jedes Mal, wenn der Computer ausgeschaltet wird.

ARP-Tabelle

So sieht ein Beispiel einer kompilierten ARP-Tabelle aus.

Nehmen wir an, dass Sie über geringe Kenntnisse der Netzwerktechnologien verfügen und nicht einmal die Grundlagen kennen. Aber Sie haben eine Aufgabe erhalten: schnell ein Informationsnetzwerk in einem kleinen Unternehmen aufzubauen. Sie haben weder die Zeit noch den Wunsch, dicke Talmuds über Netzwerkdesign und Anweisungen zur Verwendung von Netzwerkgeräten zu studieren und sich mit Netzwerksicherheit zu befassen. Und vor allem haben Sie in Zukunft keine Lust mehr, in diesem Bereich Profi zu werden. Dann ist dieser Artikel genau das Richtige für Sie.


Der zweite Teil dieses Artikels behandelt die praktische Anwendung der hier dargelegten Grundlagen: Hinweise zu Cisco Catalyst: VLAN-Konfiguration, Passwort-Reset, Flashen des IOS-Betriebssystems

Den Protokollstapel verstehen

Die Aufgabe besteht darin, Informationen von Punkt A nach Punkt B zu übertragen. Sie können kontinuierlich übertragen werden. Die Aufgabe wird jedoch komplizierter, wenn Sie Informationen zwischen den Punkten A übertragen müssen<-->B und A<-->C über denselben physischen Kanal. Wenn Informationen kontinuierlich übertragen werden, muss C, wenn er Informationen an A übertragen möchte, warten, bis B die Übertragung beendet und den Kommunikationskanal freigibt. Dieser Mechanismus zur Informationsübertragung ist sehr umständlich und unpraktisch. Und um dieses Problem zu lösen, wurde beschlossen, die Informationen in Portionen aufzuteilen.

Beim Empfänger müssen diese Teile zu einem Ganzen zusammengefügt werden, um die Informationen zu erhalten, die vom Absender stammen. Aber bei Empfänger A sehen wir nun, dass Informationen von B und C vermischt sind. Das bedeutet, dass für jeden Teil eine Identifikationsnummer eingegeben werden muss, damit Empfänger A Informationsteile von B von Informationsteilen von C unterscheiden und diese Teile zur ursprünglichen Nachricht zusammenfügen kann. Selbstverständlich muss der Empfänger wissen, wo und in welcher Form der Absender der Originalinformation Identifikationsdaten hinzugefügt hat. Und dafür müssen sie bestimmte Regeln für die Bildung und das Schreiben von Identifikationsinformationen entwickeln. Darüber hinaus wird das Wort „Regel“ durch das Wort „Protokoll“ ersetzt.

Um den Bedürfnissen moderner Verbraucher gerecht zu werden, ist es notwendig, mehrere Arten von Identifikationsinformationen gleichzeitig anzugeben. Es erfordert auch den Schutz der übertragenen Informationen sowohl vor zufälligen Störungen (während der Übertragung über Kommunikationsleitungen) als auch vor vorsätzlicher Sabotage (Hacking). Zu diesem Zweck wird ein Teil der übermittelten Informationen mit einer erheblichen Menge spezieller, dienstlicher Informationen ergänzt.

Das Ethernet-Protokoll enthält die Netzwerkadapternummer (MAC-Adresse) des Absenders, die Netzwerkadapternummer des Empfängers, die Art der übertragenen Daten und die tatsächlich übertragenen Daten. Eine gemäß dem Ethernet-Protokoll zusammengestellte Information wird als Frame bezeichnet. Es wird angenommen, dass es keine Netzwerkadapter mit derselben Nummer gibt. Netzwerkgeräte extrahieren die übertragenen Daten aus dem Frame (Hardware oder Software) und führen eine weitere Verarbeitung durch.

Die extrahierten Daten wiederum werden in der Regel nach dem IP-Protokoll gebildet und enthalten eine weitere Art von Identifikationsinformationen – die IP-Adresse des Empfängers (eine 4-Byte-Zahl), die IP-Adresse des Absenders und Daten. Sowie viele weitere notwendige Serviceinformationen. Daten, die gemäß dem IP-Protokoll generiert werden, werden als Pakete bezeichnet.

Als nächstes werden die Daten aus dem Paket extrahiert. Allerdings handelt es sich bei diesen Daten in der Regel noch nicht um die ursprünglich gesendeten Daten. Auch diese Informationen werden nach einem bestimmten Protokoll zusammengestellt. Das am weitesten verbreitete Protokoll ist TCP. Es enthält Identifikationsinformationen wie den Absenderport (eine Zwei-Byte-Nummer) und den Quellport sowie Daten- und Dienstinformationen. Bei den von TCP extrahierten Daten handelt es sich typischerweise um die Daten, die das auf Computer B ausgeführte Programm an das „Empfängerprogramm“ auf Computer A gesendet hat.

Der Protokollstapel (in diesem Fall TCP über IP über Ethernet) wird als Protokollstapel bezeichnet.

ARP: Address Resolution Protocol

Es gibt Netzwerke der Klassen A, B, C, D und E. Sie unterscheiden sich in der Anzahl der Computer und der Anzahl der darin möglichen Netzwerke/Subnetze. Der Einfachheit halber und als häufigster Fall betrachten wir nur ein Klasse-C-Netzwerk, dessen IP-Adresse bei 192.168 beginnt. Die nächste Zahl ist die Subnetznummer, gefolgt von der Netzwerkgerätenummer. Beispielsweise möchte ein Computer mit der IP-Adresse 192.168.30.110 Informationen an einen anderen Computer Nummer 3 senden, der sich im selben logischen Subnetz befindet. Das bedeutet, dass die IP-Adresse des Empfängers lautet: 192.168.30.3

Es ist wichtig zu verstehen, dass ein Informationsnetzwerkknoten ein Computer ist, der über einen physischen Kanal mit Vermittlungsgeräten verbunden ist. Diese. Wenn wir Daten vom Netzwerkadapter „in die freie Natur“ senden, haben sie einen Weg – sie kommen am anderen Ende des Twisted Pair heraus. Wir können absolut alle Daten senden, die nach jeder von uns erfundenen Regel generiert wurden, ohne Angabe einer IP-Adresse, einer Mac-Adresse oder anderer Attribute. Und wenn dieses andere Ende mit einem anderen Computer verbunden ist, können wir sie dort empfangen und nach Bedarf interpretieren. Wenn dieses andere Ende jedoch mit einem Switch verbunden ist, muss in diesem Fall das Informationspaket nach streng definierten Regeln gebildet werden, als würde man dem Switch Anweisungen geben, was als nächstes mit diesem Paket zu tun ist. Wenn das Paket korrekt zusammengestellt ist, sendet der Switch es wie im Paket angegeben an einen anderen Computer weiter. Anschließend löscht der Switch dieses Paket aus seinem RAM. Wenn das Paket jedoch nicht korrekt gebildet wurde, d. h. die darin enthaltenen Anweisungen falsch waren, dann wird das Paket „sterben“, d. h. Der Switch sendet es nicht weiter, sondern löscht es sofort aus seinem RAM.

Um Informationen an einen anderen Computer zu übertragen, müssen im gesendeten Informationspaket drei Identifikationswerte angegeben werden – MAC-Adresse, IP-Adresse und Port. Relativ gesehen ist ein Port eine Nummer, die das Betriebssystem jedem Programm vergibt, das Daten an das Netzwerk senden möchte. Die IP-Adresse des Empfängers wird vom Benutzer eingegeben oder das Programm selbst erhält sie, abhängig von den Besonderheiten des Programms. Die MAC-Adresse bleibt unbekannt, d.h. Netzwerkadapternummer des Computers des Empfängers. Um die notwendigen Daten zu erhalten, wird eine „Broadcast“-Anfrage gesendet, die mithilfe des sogenannten „ARP Address Resolution Protocol“ erstellt wird. Nachfolgend finden Sie die Struktur des ARP-Pakets.

Jetzt müssen wir nicht die Werte aller Felder im obigen Bild kennen. Konzentrieren wir uns nur auf die wichtigsten.

Die Felder enthalten die Quell-IP-Adresse und die Ziel-IP-Adresse sowie die Quell-Mac-Adresse.

Das Feld „Ethernet-Zieladresse“ ist mit Einheiten gefüllt (ff:ff:ff:ff:ff:ff). Eine solche Adresse wird Broadcast-Adresse genannt und ein solcher Frame wird an alle „Schnittstellen am Kabel“ gesendet, d. h. alle an den Switch angeschlossenen Computer.

Nachdem der Switch einen solchen Broadcast-Frame empfangen hat, sendet er ihn an alle Computer im Netzwerk, als würde er jeden mit der Frage ansprechen: „Wenn Sie der Besitzer dieser IP-Adresse (Ziel-IP-Adresse) sind, teilen Sie mir bitte Ihre Mac-Adresse mit.“ ” Wenn ein anderer Computer eine solche ARP-Anfrage erhält, vergleicht er die Ziel-IP-Adresse mit seiner eigenen. Und wenn es übereinstimmt, fügt der Computer anstelle dieser Einsen seine MAC-Adresse ein, tauscht die IP- und MAC-Adressen von Quelle und Ziel aus, ändert einige Dienstinformationen und sendet das Paket zurück an den Switch, der es an zurücksendet der ursprüngliche Computer, der Initiator der ARP-Anfrage.

Auf diese Weise findet Ihr Computer die Mac-Adresse des anderen Computers heraus, an den Sie Daten senden möchten. Wenn mehrere Computer im Netzwerk auf diese ARP-Anfrage antworten, erhalten wir einen „IP-Adresskonflikt“. In diesem Fall ist es notwendig, die IP-Adresse der Computer zu ändern, damit keine identischen IP-Adressen im Netzwerk vorhanden sind.

Netzwerke aufbauen

Die Aufgabe, Netzwerke aufzubauen

In der Praxis ist es in der Regel erforderlich, Netzwerke mit mindestens hundert Computern aufzubauen. Und neben Filesharing-Funktionen muss unser Netzwerk sicher und einfach zu verwalten sein. Beim Aufbau eines Netzwerks lassen sich somit drei Anforderungen unterscheiden:
  1. Leicht zu bedienen. Wenn Buchhalterin Lida in ein anderes Büro versetzt wird, benötigt sie weiterhin Zugriff auf die Computer der Buchhalterinnen Anna und Julia. Und wenn das Informationsnetzwerk falsch aufgebaut ist, kann es für den Administrator schwierig sein, Lida an ihrem neuen Arbeitsplatz Zugriff auf die Computer anderer Buchhalter zu gewähren.
  2. Sicherheit. Um die Sicherheit unseres Netzwerks zu gewährleisten, müssen die Zugriffsrechte auf Informationsressourcen differenziert werden. Das Netzwerk muss außerdem vor Bedrohungen der Offenlegung, Integrität und Denial-of-Service geschützt werden. Lesen Sie mehr im Buch „Angriff auf das Internet“ von Ilya Davidovich Medvedovsky, Kapitel „Grundkonzepte der Computersicherheit“.
  3. Netzwerkleistung. Beim Aufbau von Netzwerken gibt es ein technisches Problem – die Abhängigkeit der Übertragungsgeschwindigkeit von der Anzahl der Computer im Netzwerk. Je mehr Computer vorhanden sind, desto geringer ist die Geschwindigkeit. Bei einer großen Anzahl von Computern kann die Netzwerkgeschwindigkeit so niedrig werden, dass sie für den Kunden nicht mehr akzeptabel ist.
Was führt dazu, dass die Netzwerkgeschwindigkeit bei einer großen Anzahl von Computern langsamer wird? - Der Grund ist einfach: aufgrund der großen Anzahl von Broadcast-Nachrichten (BMS). AL ist eine Nachricht, die beim Eintreffen am Switch an alle Hosts im Netzwerk gesendet wird. Oder grob gesagt alle Computer, die sich in Ihrem Subnetz befinden. Wenn sich 5 Computer im Netzwerk befinden, erhält jeder Computer 4 Alarme. Wenn es 200 davon gibt, erhält jeder Computer in einem so großen Netzwerk 199 Shs.

Es gibt eine große Anzahl von Anwendungen, Softwaremodulen und Diensten, die für den Betrieb Broadcast-Nachrichten an das Netzwerk senden. Beschrieben im Abschnitt ARP: Das Adressbestimmungsprotokoll ist nur eines von vielen ALs, die Ihr Computer an das Netzwerk sendet. Wenn Sie beispielsweise zu „Netzwerkumgebung“ (Windows-Betriebssystem) wechseln, sendet Ihr Computer mehrere weitere ALs mit speziellen Informationen, die mithilfe des NetBios-Protokolls generiert werden, um das Netzwerk nach Computern zu durchsuchen, die sich in derselben Arbeitsgruppe befinden. Anschließend zeichnet das Betriebssystem die gefundenen Computer in das Fenster „Netzwerkumgebung“ ein und Sie sehen sie.

Es ist auch erwähnenswert, dass Ihr Computer während des Scanvorgangs mit dem einen oder anderen Programm nicht eine Broadcast-Nachricht sendet, sondern mehrere, beispielsweise um virtuelle Sitzungen mit Remote-Computern einzurichten oder für andere Systemanforderungen, die durch Softwareprobleme verursacht werden. Umsetzung dieser Anwendung. Somit ist jeder Computer im Netzwerk gezwungen, viele verschiedene ALs zu senden, um mit anderen Computern zu interagieren, wodurch der Kommunikationskanal mit Informationen belastet wird, die der Endbenutzer nicht benötigt. Wie die Praxis zeigt, können Broadcast-Nachrichten in großen Netzwerken einen erheblichen Teil des Datenverkehrs ausmachen und dadurch das für den Benutzer sichtbare Netzwerk verlangsamen.

Virtuelle LANs

Zur Lösung des ersten und dritten Problems sowie zur Lösung des zweiten Problems wird häufig der Mechanismus der Aufteilung des lokalen Netzwerks in kleinere Netzwerke, wie beispielsweise separate lokale Netzwerke (Virtual Local Area Network), verwendet. Grob gesagt ist ein VLAN eine Liste von Ports an einem Switch, die zum selben Netzwerk gehören. „Gleich“ in dem Sinne, dass das andere VLAN eine Liste der Ports enthält, die zum anderen Netzwerk gehören.

Tatsächlich entspricht die Erstellung von zwei VLANs auf einem Switch dem Kauf von zwei Switches, d. h. Das Erstellen von zwei VLANs ist dasselbe wie das Teilen eines Switches in zwei. Auf diese Weise wird ein Netzwerk von einhundert Computern in kleinere Netzwerke von 5-20 Computern aufgeteilt – in der Regel entspricht diese Anzahl dem physischen Standort der Computer für den Bedarf an Dateifreigabe.

  • Durch die Aufteilung des Netzwerks in VLANs wird eine einfache Verwaltung erreicht. Wenn Buchhalterin Lida also in ein anderes Büro umzieht, muss der Administrator lediglich den Port aus einem VLAN entfernen und ihn einem anderen hinzufügen. Dies wird im Abschnitt VLANs, Theorie ausführlicher besprochen.
  • VLANs tragen zur Lösung einer der Anforderungen an die Netzwerksicherheit bei, nämlich der Abgrenzung von Netzwerkressourcen. Somit kann ein Schüler aus einem Klassenzimmer nicht in die Computer eines anderen Klassenzimmers oder den Computer des Rektors eindringen, weil Sie befinden sich tatsächlich in unterschiedlichen Netzwerken.
  • Weil Unser Netzwerk ist in VLANs unterteilt, d.h. In kleinen „Als-ob-Netzwerken“ verschwindet das Problem mit Broadcast-Nachrichten.

VLANs, Theorie

Vielleicht ist der Satz „Der Administrator muss nur einen Port aus einem VLAN entfernen und ihn einem anderen hinzufügen“ unklar, deshalb werde ich ihn genauer erläutern. Der Port ist in diesem Fall keine vom Betriebssystem an die Anwendung vergebene Nummer, wie im Abschnitt „Protokollstapel“ beschrieben, sondern eine Buchse (Ort), an der Sie einen RJ-45-Stecker anschließen (einstecken) können. Dieser Stecker (d. h. die Spitze des Kabels) wird an beiden Enden eines 8-adrigen Kabels befestigt, das als „Twisted Pair“ bezeichnet wird. Die Abbildung zeigt einen Cisco Catalyst 2950C-24 Switch mit 24 Ports:
Wie im Abschnitt ARP: Adressbestimmungsprotokoll angegeben, ist jeder Computer über einen physischen Kanal mit dem Netzwerk verbunden. Diese. Sie können 24 Computer an einen 24-Port-Switch anschließen. Das Twisted-Pair durchdringt physisch alle Räumlichkeiten des Unternehmens – alle 24 Drähte von diesem Schalter erstrecken sich in verschiedene Räume. Nehmen wir zum Beispiel an, dass 17 Kabel an 17 Computer im Klassenzimmer angeschlossen werden, 4 Kabel gehen an das Büro der Sonderabteilung und die restlichen 3 Kabel gehen an das neu renovierte, neue Buchhaltungsbüro. Und die Buchhalterin Lida wurde für besondere Dienstleistungen in dieses Büro versetzt.

Wie oben erwähnt, kann VLAN als Liste der zum Netzwerk gehörenden Ports dargestellt werden. Unser Switch hatte zum Beispiel drei VLANs, d.h. drei Listen im Flash-Speicher des Switches gespeichert. In einer Liste standen die Zahlen 1, 2, 3... 17, in einer anderen 18, 19, 20, 21 und in der dritten 22, 23 und 24. Lidas Computer war zuvor an Port 20 angeschlossen. Und so zog sie in ein anderes Büro. Sie haben ihren alten Computer in ein neues Büro geschleppt, oder sie hat sich an einen neuen Computer gesetzt – das spielt keine Rolle. Die Hauptsache ist, dass ihr Computer mit einem Twisted-Pair-Kabel verbunden war, dessen anderes Ende in Port 23 unseres Switches gesteckt wurde. Und damit sie von ihrem neuen Standort aus weiterhin Dateien an ihre Kollegen senden kann, muss der Administrator die Nummer 20 aus der zweiten Liste entfernen und die Nummer 23 hinzufügen. Beachten Sie, dass ein Port nur zu einem VLAN gehören kann, wir werden dies jedoch unterbrechen Regel am Ende dieses Absatzes.

Ich möchte auch darauf hinweisen, dass der Administrator beim Ändern der VLAN-Mitgliedschaft eines Ports die Kabel im Switch nicht „einstecken“ muss. Außerdem muss er nicht einmal von seinem Platz aufstehen. Denn der Rechner des Administrators ist an Port 22 angeschlossen, mit dessen Hilfe er den Switch aus der Ferne verwalten kann. Natürlich kann dank spezieller Einstellungen, auf die später noch eingegangen wird, nur der Administrator den Wechsel verwalten. Informationen zur Konfiguration von VLANs finden Sie im Abschnitt „VLANs, üben“ [im nächsten Artikel].

Wie Sie wahrscheinlich bemerkt haben, habe ich im Abschnitt „Netzwerke aufbauen“ gesagt, dass es mindestens 100 Computer in unserem Netzwerk geben wird, aber nur 24 Computer können an den Switch angeschlossen werden. Natürlich gibt es Switches mit mehr Ports. Aber es gibt immer noch mehr Computer im Unternehmensnetzwerk. Und um unendlich viele Computer zu einem Netzwerk zu verbinden, werden Switches über den sogenannten Trunk-Port miteinander verbunden. Bei der Konfiguration des Switches kann jeder der 24 Ports als Trunk-Port definiert werden. Und es kann eine beliebige Anzahl von Trunk-Ports am Switch geben (es ist jedoch sinnvoll, nicht mehr als zwei zu verwenden). Wenn einer der Ports als Trunk definiert ist, formt der Switch alle auf ihm empfangenen Informationen mithilfe des ISL- oder 802.1Q-Protokolls in spezielle Pakete und sendet diese Pakete an den Trunk-Port.

Alle Informationen, die eingegangen sind – ich meine, alle Informationen, die von anderen Häfen eingegangen sind. Und das 802.1Q-Protokoll wird in den Protokollstapel zwischen Ethernet und dem Protokoll eingefügt, das die Daten generiert hat, die dieser Frame trägt.

Wie Sie wahrscheinlich bemerkt haben, sitzt in diesem Beispiel der Administrator mit Lida im selben Büro, weil Das verdrillte Kabel von den Ports 22, 23 und 24 führt zum selben Büro. Port 24 ist als Trunk-Port konfiguriert. Und die Telefonzentrale selbst befindet sich im Hauswirtschaftsraum, neben dem alten Buchhaltungsbüro und dem Klassenzimmer mit 17 Computern.

Das Twisted-Pair-Kabel, das von Port 24 zum Büro des Administrators führt, ist mit einem anderen Switch verbunden, der wiederum mit einem Router verbunden ist, der in den folgenden Kapiteln besprochen wird. Andere Switches, die die anderen 75 Computer verbinden und sich in anderen Hauswirtschaftsräumen des Unternehmens befinden – sie alle verfügen in der Regel über einen Trunk-Port, der über Twisted-Pair- oder Glasfaserkabel mit dem Hauptswitch verbunden ist, der sich im Büro befindet der Administrator.

Oben wurde gesagt, dass es manchmal sinnvoll ist, zwei Trunk-Ports einzurichten. Der zweite Trunk-Port wird in diesem Fall zur Analyse des Netzwerkverkehrs verwendet.

So ungefähr sah der Aufbau großer Unternehmensnetzwerke zu Zeiten des Cisco Catalyst 1900-Switches aus. Ihnen sind wahrscheinlich zwei große Nachteile solcher Netzwerke aufgefallen. Erstens verursacht die Verwendung eines Trunk-Ports einige Schwierigkeiten und verursacht unnötigen Aufwand bei der Konfiguration der Geräte. Und zweitens und vor allem nehmen wir an, dass unsere „Netzwerke“ aus Buchhaltern, Ökonomen und Disponenten eine Datenbank für drei haben wollen. Sie möchten, dass derselbe Buchhalter die Änderungen in der Datenbank sehen kann, die der Wirtschaftswissenschaftler oder Disponent vor ein paar Minuten vorgenommen hat. Dazu müssen wir einen Server erstellen, der für alle drei Netzwerke zugänglich ist.

Wie in der Mitte dieses Absatzes erwähnt, kann sich ein Port nur in einem VLAN befinden. Und das gilt allerdings nur für Switches der Cisco Catalyst 1900-Serie und älter sowie für einige jüngere Modelle, wie zum Beispiel den Cisco Catalyst 2950. Bei anderen Switches, insbesondere dem Cisco Catalyst 2900XL, kann diese Regel gebrochen werden. Bei der Konfiguration von Ports in solchen Switches kann jeder Port fünf Betriebsmodi haben: Statischer Zugriff, Multi-VLAN, dynamischer Zugriff, ISL-Trunk und 802.1Q-Trunk. Der zweite Betriebsmodus ist genau das, was wir für die obige Aufgabe benötigen – um den Zugriff auf den Server aus drei Netzwerken gleichzeitig zu ermöglichen, d. h. Sorgen Sie dafür, dass der Server gleichzeitig zu drei Netzwerken gehört. Dies wird auch VLAN-Crossing oder Tagging genannt. In diesem Fall könnte der Anschlussplan so aussehen.

Als der Artikel Gestalt annahm, war geplant, ihn in einem zusammenzufassen, aber gegen Ende wurde die Größe des Artikels zu groß, und es wurde beschlossen, den Artikel in zwei Teile zu unterteilen: Netzwerktheorie und die Funktionsweise des Netzwerksubsystems unter Linux. Nun, fangen wir mit der Theorie an...

TCP/IP-Protokollstapel

Eigentlich, Was ist das Netzwerk?? Netz- Dabei handelt es sich um mehr als zwei Computer, die über eine Art Kabel, Kommunikationskanäle, in einem komplexeren Beispiel - über eine Art Netzwerkausrüstung miteinander verbunden sind und nach bestimmten Regeln Informationen miteinander austauschen. Diese Regeln werden „diktiert“ TCP/IP-Protokollstapel.

Transmission Control Protocol/Internet Protocol (TCP/IP-Protokollstapel)- Vereinfacht ausgedrückt handelt es sich hierbei um eine Reihe interagierender Protokolle auf verschiedenen Ebenen (das kann noch hinzugefügt werden). Jede Ebene interagiert mit der benachbarten, d. h. sie dockt an und somit Stapel , meiner Meinung nach ist es einfacher zu verstehen), je nachdem, welche Daten im Netzwerk ausgetauscht werden. Jeden Protokoll ist ein Regelwerk, nach dem der Datenaustausch erfolgt. Gesamt TCP/IP-Protokollstapel- Das Satz von Regelsätzen Hier stellt sich möglicherweise die berechtigte Frage: Warum gibt es viele Protokolle? Ist es wirklich unmöglich, alles über ein Protokoll auszutauschen?

Die Sache ist, dass jedes Protokoll streng gekennzeichnet ist zu ihm Regeln. Darüber hinaus sind die Protokolle in Funktionsebenen unterteilt, wodurch die Bedienung von Netzwerkgeräten und Software deutlich einfacher und transparenter wird und sie „ihr“ Aufgabenspektrum erfüllen können. Um diesen Protokollsatz in Ebenen zu unterteilen, wurde er entwickelt OSI-Netzwerkmodell(Englisch) Grundlegendes Referenzmodell für die Verbindung offener Systeme, 1978, es ist auch das grundlegende Referenzmodell für die Interaktion offener Systeme). OSI-Modell besteht aus sieben verschiedenen Ebenen. Die Ebene ist für einen eigenen Bereich im Betrieb von Kommunikationssystemen zuständig, ist nicht von benachbarten Ebenen abhängig – sie erbringt nur bestimmte Dienste. Jede Schicht führt ihre Aufgabe gemäß einer Reihe von Regeln aus, die als Protokoll bezeichnet werden. Die Funktionsweise des OSI-Modells lässt sich anhand der folgenden Abbildung veranschaulichen: Wie erfolgt die Datenübertragung?

Aus der Abbildung geht klar hervor, dass dies der Fall ist 7 Ebenen der Vernetzung, die unterteilt sind in: Anwendung, Präsentation, Sitzung, Transport, Netzwerk, Kanal, physisch. Jede Schicht enthält ihren eigenen Satz von Protokollen. Die Liste der Protokolle nach Interaktionsebene ist auf Wikipedia gut dargestellt:

Der TCP/IP-Protokollstapel selbst entwickelte sich parallel zur Einführung des OSI-Modells und überschnitt sich nicht mit diesem, was zu einer leichten Diskrepanz in der Nichtübereinstimmung des Protokollstapels und der Schichten des OSI-Modells führte. Normalerweise in TCP/IP-Stack obere 3 Ebenen ( Bewerbung, Präsentation und Sitzung) OSI-Modelle werden zu einem zusammengefasst - angewandt . Da ein solcher Stack kein einheitliches Datenübertragungsprotokoll bereitstellt, werden die Funktionen zur Bestimmung des Datentyps an die Anwendung übertragen. Vereinfacht Interpretation des TCP/IP-Stacks relativ zum OSI-Modell lässt sich so darstellen:

Dieses Modell der Netzwerkinteraktion wird auch genannt DOD-Modell(von bürgerlich. Verteidigungsministerium- US-Verteidigungsministerium). Daher haben wir uns mit der allgemeinen Idee der Netzwerkinteraktion befasst. Für ein tieferes Verständnis des Kerns des Themas kann ich empfehlen, das Buch herunterzuladen und zu lesen ( Vito Amato „Grundlagen der Organisation von Cisco T1- und T2-Netzwerken“), unten.

Adressierung

In einem Netzwerk, das auf dem TCP/IP-Protokollstapel basiert, wird jedem Host (Computer oder Gerät, der mit dem Netzwerk verbunden ist) eine 32-Bit-Binärzahl zugewiesen. Eine bequeme Form, eine IP-Adresse (IPv4) zu schreiben, sind vier durch Punkte getrennte Dezimalzahlen (von 0 bis 255), zum Beispiel 192.168.0.1. Allgemein, Die IP-Adresse ist in zwei Teile geteilt: Netzwerkadresse (Subnetzadresse). Und Adresse des Gastgebers:

Wie aus der Abbildung hervorgeht, gibt es so etwas wie Netz Und Subnetz. Ich denke, aus der Bedeutung der Wörter geht hervor, dass IP-Adressen in Netzwerke unterteilt sind und Netzwerke wiederum in Subnetze unterteilt sind Subnetzmasken(richtiger wäre es zu sagen: Die Hostadresse kann in Subnetze unterteilt werden). Zunächst wurden alle IP-Adressen in bestimmte Gruppen (Adressklassen/Netzwerke) eingeteilt. Und es gab eine Klassenadressierung, nach der Netzwerke in streng definierte isolierte Netzwerke unterteilt wurden:

Es lässt sich leicht berechnen, dass es im IP-Adressraum insgesamt 128 Netzwerke mit 16.777.216 Adressen der Klasse A, 16.384 Netzwerke mit 65.536 Adressen der Klasse B und 2.097.152 Netzwerke mit 256 Adressen der Klasse C sowie 268.435.456 Multicast-Adressen und 134.317.728 reservierte Adressen gibt. Mit dem Wachstum des Internets erwies sich dieses System als unwirksam und wurde abgelöst CIDR(klassenlose Adressierung), bei der die Anzahl der Adressen im Netzwerk durch die Subnetzmaske bestimmt wird.

Es gibt auch IP-Klassifizierung Adressen, sowohl „privat“ als auch „öffentlich“. Die folgenden Adressbereiche sind für private Netzwerke (auch lokale Netzwerke genannt) reserviert:

  • 10.0.0.0 - 10.255.255.255 (10.0.0.0/8 oder 10/8),
  • 172.16.0.0 - 172.31.255.255 (172.16.0.0/12 oder 172.16/12),
  • 192.168.0.0 - 192.168.255.255 (192.168.0.0/16 oder 192.168/16).
  • 127.0.0.0 - 127.255.255.255 reserviert für Loopback-Schnittstellen (die nicht für den Austausch zwischen Netzwerkknoten verwendet werden), sogenannte. localhost

Zusätzlich zur Hostadresse verfügt das TCP/IP-Netzwerk über einen Port. Ein Port ist ein numerisches Merkmal einer Systemressource. Einer Anwendung, die auf einem Netzwerkhost ausgeführt wird, wird ein Port zugewiesen, um mit Anwendungen zu kommunizieren, die auf anderen Netzwerkhosts ausgeführt werden (einschließlich anderer Anwendungen auf demselben Host). Aus softwaretechnischer Sicht ist ein Port ein Speicherbereich, der von einem Dienst gesteuert wird.

Für jedes der TCP- und UDP-Protokolle definiert der Standard die Möglichkeit, gleichzeitig bis zu 65536 eindeutige Ports auf dem Host zuzuweisen, die durch Nummern von 0 bis 65535 identifiziert werden. Die Entsprechung zwischen der Portnummer und dem Dienst, der diese Nummer verwendet, kann in eingesehen werden in der Datei /etc/services oder auf der Website http://www.iana.org/assignments/port-numbers. Das gesamte Portangebot ist in 3 Gruppen unterteilt:

  • 0 bis 1023, privilegiert oder reserviert genannt (wird für System- und einige beliebte Programme verwendet)
  • 1024 - 49151 werden als registrierte Ports bezeichnet.
  • 49151 - 65535 werden als dynamische Ports bezeichnet.

IP-Protokoll, wie aus den Abbildungen unten ersichtlich ist TCP Und UDP in der Protokollhierarchie und ist für die Übertragung und Weiterleitung von Informationen im Netzwerk verantwortlich. Dazu verpackt das IP-Protokoll jede Information (TCP- oder UDP-Paket) in ein anderes Paket – ein IP-Paket oder IP-Datagramm, das einen Header über Quelle, Ziel und Route speichert.

Um eine Analogie aus der realen Welt zu verwenden: Ein TCP/IP-Netzwerk ist eine Stadt. Straßen- und Gassennamen sind Netzwerke und Subnetze. Gebäudenummern sind Hostadressen. In Gebäuden sind Büro-/Wohnungsnummern Häfen. Genauer gesagt handelt es sich bei Ports um Postfächer, in denen Empfänger (Dienste) den Eingang von Korrespondenz erwarten. Dementsprechend lauten die Schrank-Portnummern 1, 2 usw. werden in der Regel privilegiert an Direktoren und Manager vergeben, und normale Mitarbeiter erhalten Büronummern mit großen Nummern. Beim Versenden und Zustellen von Korrespondenz werden Informationen in Umschlägen (IP-Paketen) verpackt, die die Adresse des Absenders (IP und Port) und die Adresse des Empfängers (IP und Port) enthalten. Vereinfacht ausgedrückt, so etwas...

Es ist zu beachten, dass das IP-Protokoll kein Verständnis für Ports hat; TCP und UDP sind analog für die Interpretation von Ports verantwortlich, TCP und UDP verarbeiten keine IP-Adressen.

Um sich nicht unlesbare Zahlenmengen in Form von IP-Adressen zu merken, sondern den Maschinennamen in Form eines für Menschen verständlichen Namens anzugeben, ist ein Dienst wie z DNS (Domain Name Service), das sich um die Auflösung von Hostnamen in IP-Adressen kümmert und eine riesige verteilte Datenbank ist. Ich werde auf jeden Fall in zukünftigen Beiträgen über diesen Dienst schreiben, aber zunächst reicht es für uns zu wissen, dass zur korrekten Umwandlung von Namen in Adressen ein Daemon auf dem Computer ausgeführt werden muss genannt oder das System muss für die Verwendung des DNS-Dienstes des Internetdienstanbieters konfiguriert sein.

Routenführung

Schauen wir uns (illustriert) ein Beispiel einer Infrastruktur mit mehreren Subnetzen an. Es stellt sich möglicherweise die Frage: Wie kann ein Computer mit einem anderen verbunden werden? Woher weiß es, wohin Pakete gesendet werden sollen?

Um dieses Problem zu lösen, werden die Netzwerke miteinander verbunden Gateways (Router). Tor- Dies ist derselbe Host, der jedoch eine Verbindung zu zwei oder mehr Netzwerken hat, der Informationen zwischen Netzwerken übertragen und Pakete an ein anderes Netzwerk weiterleiten kann. In der Abbildung wird die Rolle des Gateways gespielt Ananas Und Papaya mit 2 Schnittstellen, die mit unterschiedlichen Netzwerken verbunden sind.

Bestimmen Paketübertragungsroute, IP verwendet den Netzwerkteil der Adresse ( Subnetzmaske). Um die Route zu bestimmen, muss jede Maschine im Netzwerk Routing-Tabelle(Routing-Tabelle), die eine Liste von Netzwerken und Gateways für diese Netzwerke speichert. IP „schlägt“ den Netzwerkteil der Zieladresse in einem weitergeleiteten Paket nach, und wenn in der Routing-Tabelle ein Eintrag für dieses Netzwerk vorhanden ist, wird das Paket an das entsprechende Gateway gesendet.

Unter Linux speichert der Betriebssystemkernel die Routing-Tabelle in einer Datei /proc/net/route. Mit dem Befehl können Sie die aktuelle Routing-Tabelle anzeigen netstat -rn(r – Routing-Tabelle, n – IP nicht in Namen umwandeln) oder route . Erste Spalte Befehlsausgabe netstat -rn (Ziel- Ziel) enthält Adressen von Netzwerken (Hosts) Termine. In diesem Fall endet die Adresse bei der Angabe eines Netzwerks normalerweise mit Null. Zweite Spalte (Gateway)- Gateway-Adresse für den in der ersten Spalte angegebenen Host/Netzwerk. Dritte Spalte (Genmask)- Subnetzmaske, für die diese Route funktioniert. Spaltenflaggen gibt Auskunft über die Zieladresse (U – Route ist aktiv, N – Route für das Netzwerk, H – Route für den Host usw.). Spalte MSS zeigt die Anzahl der Bytes an, die gleichzeitig gesendet werden können. Fenster- die Anzahl der Frames, die gesendet werden können, bevor eine Bestätigung empfangen wird, irtt- Routennutzungsstatistiken, Iface- gibt die für die Route verwendete Netzwerkschnittstelle an (eth0, eth1 usw.)

Wie Sie im Beispiel unten sehen können, ist der erste Eintrag (Zeile) für das Netzwerk 128.17.75, alle Pakete für dieses Netzwerk werden an das Gateway 128.17.75.20 gesendet, das ist die IP-Adresse des Hosts selbst. Der zweite Eintrag ist Standardroute, was für alle Pakete gilt, die an Netzwerke gesendet werden, die nicht in dieser Routing-Tabelle aufgeführt sind. Hier verläuft die Route durch den Wirt Papaya (IP 128.17.75.98), der als Tür zur Außenwelt betrachtet werden kann. Diese Route muss auf allen Computern im Netzwerk 128.17.75 registriert werden, die Zugriff auf andere Netzwerke haben müssen. Der dritte Eintrag wurde erstellt für Loopback-Schnittstelle. Diese Adresse wird verwendet, wenn die Maschine über TCP/IP eine Verbindung zu sich selbst herstellen muss. Der letzte Eintrag in der Routing-Tabelle erfolgt für IP 128.17.75.20 und wird an die lo-Schnittstelle geroutet, d. h. Wenn sich eine Maschine unter der Adresse 128.17.75.20 mit sich selbst verbindet, werden alle Pakete an die Schnittstelle 127.0.0.1 gesendet.

Wenn der Gastgeber Aubergine möchte ein Paket an den Host senden Zucchini, (entsprechend gibt das Paket den Absender an – 128.17.75.20 und den Empfänger – 128.17.75.37), ermittelt das IP-Protokoll anhand der Routing-Tabelle, dass beide Hosts zum selben Netzwerk gehören und sendet das Paket direkt an das Netzwerk Wo Zucchini werde es erhalten. Um es genauer auszudrücken: Die Netzwerkkarte sendet eine ARP-Anfrage „Wer ist IP 128.17.75.37, schreit das 128.17.75.20?“ Alle Maschinen, die diese Nachricht erhalten haben, ignorieren sie und der Host mit der Adresse 128.17.75.37 antwortet „Das bin ich und meine MAC-Adresse ist so und so ...“, dann erfolgt die Verbindung und der Datenaustausch basierend darauf Arp-Tabellen, in dem die Korrespondenz von IP-MAC-Adressen eingetragen wird. „Shouts“, d.h. dieses Paket wird an alle Hosts gesendet, dies geschieht, weil die MAC-Adresse des Empfängers als Broadcast-Adresse angegeben ist (FF:FF:FF:FF:FF:FF). Alle Hosts im Netzwerk empfangen solche Pakete.

Beispiel-Routing-Tabelle für einen Host Aubergine:

# netstat -rn Kernel-IP-Routing-Tabelle Ziel-Gateway-Genmask-Flags MSS-Fenster irtt Iface 128.17.75.0 128.17.75.20 255.255.255.0 UN 1500 0 0 eth0 Standard 128.17.75.98 0.0.0.0 UGN 1500 0 0 eth0 127.0.0. 1 127.0.0.1 255,0. 0,0 UH 3584 0 0 lo 128,17,75,20 127,0,0,1 255,255,255,0 UH 3584 0 0 lo

Betrachten wir eine Situation, in der der Gastgeber Aubergine möchte beispielsweise ein Paket an den Host senden, Birne oder noch weiter?.. In diesem Fall ist der Empfänger des Pakets - 128.17.112.21, IP-Protokoll wird versuchen, eine Route für das Netzwerk 128.17.112 in der Routing-Tabelle zu finden, aber diese Route ist nicht in der Tabelle, also wird sie ausgewählt Standardroute, dessen Tor ist Papaya(128.17.75.98). Nachdem ich das Paket erhalten habe, Papaya sucht die Zieladresse in seiner Routing-Tabelle:

# netstat -rn Kernel-IP-Routing-Tabelle Ziel-Gateway-Genmask-Flags MSS-Fenster irtt Iface 128.17.75.0 128.17.75.98 255.255.255.0 UN 1500 0 0 eth0 128.17.112.0 128.17.112.3 255.255.255 .0 UN. 15 00 0 0 eth1 Standard 128.17.112.40 0.0.0.0 UGN 1500 0 0 eth1 127.0.0.1 127.0.0.1 255.0.0.0 UH 3584 0 0 lo 128.17.75.98 127.0.0.1 255.255.255.0 UH 3584 0 0 lo 128. 17.112.3 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

Aus dem Beispiel geht hervor, dass Papayaüber das Gerät mit zwei Netzwerken 128.17.75 verbunden eth0 und 128.17.112 über Gerät eth1. Standardroute, über Host Ananas, der wiederum ein Gateway zum externen Netzwerk ist.

Dementsprechend, nachdem ich das Paket erhalten habe Birne, Router Papaya erkennt, dass die Zieladresse zum Netzwerk 128.17.112 gehört und leitet das Paket entsprechend dem zweiten Eintrag in der Routing-Tabelle weiter.

Somit werden Pakete von Router zu Router weitergeleitet, bis sie die Zieladresse erreichen.

Es ist erwähnenswert, dass in diesen Beispielen die Routen

128.17.75.98 127.0.0.1 255.255.255.0 UH 3584 0 0 lo 128.17.112.3 127.0.0.1 255.255.255.0 UH 3584 0 0 lo

Nicht Standard. Und das werden Sie unter modernem Linux nicht sehen.

Zusammenfassung

In diesem Artikel habe ich versucht, die Grundkonzepte der Interaktion der Netzwerkinfrastruktur am Beispiel mehrerer miteinander verbundener Netzwerke so kurz und klar wie möglich zu beschreiben. Im nächsten Teil werde ich die Funktionsweise des Netzwerks im Linux-Betriebssystem beschreiben. Ich freue mich über Ihre Kommentare und Ergänzungen.



Aktie