Wie funktioniert das Internet?

© 2002 Rus Shuler @ Pomeroy IT Solutions, alle Rechte vorbehalten

Inhalt

  1. Einführung
  2. Wo soll ich anfangen? Internetadressen
  3. Protokollstapel und Pakete
  4. Netzwerkinfrastruktur
  5. Internetinfrastruktur
  6. Die Internet-Routinghierarchie
  7. Domänennamen und Adressauflösung
  8. Internetprotokolle überarbeitet
  9. Anwendungsprotokolle: HTTP und das World Wide Web
  10. Anwendungsprotokolle: HTTP und das World Wide Web
  11. Anwendungsprotokolle: HTTP und das World Wide Web: SMTP und elektronische Post
  12. Transmission Control Protocol
  13. Internet Protocol
  14. Zusammenfassung
  15. Ressourcen
  16. Bibliographie
  17. Einführung

    Wie funktioniert das Internet? Gute Frage! Das Wachstum des Internets ist explosiv geworden und es scheint unmöglich, dem Bombardement von www.com ’s ständig im Fernsehen gesehen, im Radio gehört, und in Zeitschriften gesehen. Da das Internet zu einem so großen Teil unseres Lebens geworden ist, ist ein gutes Verständnis erforderlich, um dieses neue Tool am effektivsten zu nutzen. Dieses Whitepaper erklärt die zugrunde liegende Infrastruktur und Technologien, die das Internet funktionieren lassen. Es geht nicht in die Tiefe, sondern deckt genug von jedem Bereich ab, um ein grundlegendes Verständnis der beteiligten Konzepte zu vermitteln. Für unbeantwortete Fragen finden Sie am Ende des Papiers eine Liste der Ressourcen. Kommentare, Vorschläge, Fragen usw. werden ermutigt und können an den Autor gerichtet werden unter [email protected] .

    Wo soll ich anfangen? Internetadressen

    Da das Internet ein globales Netzwerk von Computern ist, muss jeder Computer, der mit dem Internet verbunden ist, eine eindeutige Adresse haben. Internetadressen haben die Form nnn.nnn.nnn.nnn wobei nnn eine Zahl von 0 – 255 sein muss. Diese Adresse wird als IP-Adresse bezeichnet. (IP steht für Internet Protocol; dazu später mehr.)

    Das Bild unten zeigt zwei Computer, die mit dem Internet verbunden sind; Ihr Computer mit der IP-Adresse 1.2.3.4 und ein anderer Computer mit der IP-Adresse 5.6.7.8. Das Internet wird als abstraktes Objekt dazwischen dargestellt. (Im weiteren Verlauf dieses Artikels wird der Internet-Teil von Diagramm 1 mehrmals erläutert und neu gezeichnet, wenn die Details des Internets offengelegt werden.)

    Diagramm 1

    Diagramm 1

    Wenn Sie über einen Internetdienstanbieter (ISP) eine Verbindung zum Internet herstellen, wird Ihnen normalerweise für die Dauer Ihrer Einwahlsitzung eine temporäre IP-Adresse zugewiesen. Wenn Sie über ein lokales Netzwerk (LAN) eine Verbindung zum Internet herstellen, verfügt Ihr Computer möglicherweise über eine permanente IP-Adresse oder erhält eine temporäre IP-Adresse von einem DHCP-Server (Dynamic Host Configuration Protocol). Wenn Sie mit dem Internet verbunden sind, verfügt Ihr Computer in jedem Fall über eine eindeutige IP-Adresse.

    Check It Out – Das Ping-Programm

    Wenn Sie Microsoft Windows oder eine Variante von Unix verwenden und eine Verbindung zum Internet haben, gibt es ein praktisches Programm, um zu sehen, ob ein Computer im Internet am Leben ist. Es heißt Ping, wahrscheinlich nach dem Klang älterer U-Boot-Sonarsysteme.1 Wenn Sie Windows verwenden, starten Sie ein Eingabeaufforderungsfenster. Wenn Sie eine Unix-Variante verwenden, rufen Sie eine Eingabeaufforderung auf. Typ ping www.yahoo.com . Das Ping-Programm sendet einen ‚Ping‘ (eigentlich eine ICMP (Internet Control Message Protocol) Echo Request Message) an den benannten Computer. Der angepinggte Computer antwortet mit einer Antwort. Das Ping-Programm zählt die abgelaufene Zeit, bis die Antwort zurückkommt (falls ja). Wenn Sie einen Domainnamen eingeben (z. www.yahoo.com ) anstelle einer IP-Adresse löst Ping den Domänennamen auf und zeigt die IP-Adresse des Computers an. Mehr zu Domain-Namen und Adressauflösung später.

    Protokollstapel und -pakete

    Ihr Computer ist also mit dem Internet verbunden und hat eine eindeutige Adresse. Wie spricht es mit anderen Computern, die mit dem Internet verbunden sind? Ein Beispiel sollte hier dienen: Nehmen wir an, Ihre IP-Adresse ist 1.2.3.4 und Sie möchten eine Nachricht an den Computer senden 5.6.7.8. Die Nachricht, die Sie senden möchten, lautet „Hallo Computer 5.6.7.8!“. Offensichtlich muss die Nachricht über jede Art von Kabel übertragen werden, die Ihren Computer mit dem Internet verbindet. Angenommen, Sie haben von zu Hause aus in Ihren ISP gewählt und die Nachricht muss über die Telefonleitung übertragen werden. Daher muss die Nachricht aus alphabetischem Text in elektronische Signale übersetzt, über das Internet übertragen und dann wieder in alphabetischen Text übersetzt werden. Wie wird dies erreicht? Durch die Verwendung eines Protokollstapels. Jeder Computer benötigt einen, um im Internet zu kommunizieren, und er ist normalerweise in das Betriebssystem des Computers integriert (z. B. Windows, Unix usw.). Der im Internet verwendete Protokollstapel wird aufgrund der beiden verwendeten Hauptkommunikationsprotokolle als TCP / IP-Protokollstapel bezeichnet. Der TCP/IP-Stack sieht folgendermaßen aus:

    Protokollschicht
    Anwendungsprotokollschicht Anwendungsspezifische Protokolle wie WWW, E-Mail, FTP usw.
    Transmission Control Protocol Layer TCP leitet Pakete über eine Portnummer an eine bestimmte Anwendung auf einem Computer weiter.
    Internet Protocol Layer IP leitet Pakete über eine IP-Adresse an einen bestimmten Computer weiter.
    Hardwareschicht Konvertiert binäre Paketdaten in Netzwerksignale und zurück.
    (Z.B. Ethernet-Netzwerkkarte, Modem für Telefonleitungen, etc.)

    Wenn wir den Pfad zu folgen, dass die Meldung „Hallo Computer 5.6.7.8!“ nahm von unserem Computer auf den Computer mit der IP-Adresse 5.6.7.8, es würde ungefähr so passieren:

    Diagramm 2

    Diagramm 2

    1. Die Nachricht an der Spitze des Protokollstapels auf Ihrem Computer und arbeiten Sie es nach unten.
    2. Wenn die zu sendende Nachricht lang ist, kann jede Stapelschicht, die die Nachricht durchläuft, die Nachricht in kleinere Datenblöcke aufteilen. Dies liegt daran, dass Daten, die über das Internet (und die meisten Computernetzwerke) gesendet werden, in verwaltbaren Blöcken gesendet werden. Im Internet werden diese Datenblöcke als Pakete bezeichnet.
    3. Die Pakete würden die Anwendungsschicht durchlaufen und zur TCP-Schicht weitergehen. Jedem Paket wird eine Portnummer zugewiesen. Ports werden später erklärt, aber es genügt zu sagen, dass viele Programme den TCP / IP-Stack verwenden und Nachrichten senden. Wir müssen wissen, welches Programm auf dem Zielcomputer die Nachricht empfangen muss, da es einen bestimmten Port abhört.
    4. Nach Durchlaufen der TCP-Schicht gelangen die Pakete zur IP-Schicht. Hier erhält jedes Paket seine Zieladresse 5.6.7.8.
    5. Nun, da unsere Nachrichtenpakete eine Portnummer und eine IP-Adresse haben, können sie über das Internet gesendet werden. Die Hardware-Schicht sorgt dafür, dass unsere Pakete, die den alphabetischen Text unserer Nachricht enthalten, in elektronische Signale umgewandelt und über die Telefonleitung übertragen werden.
    6. Am anderen Ende der Telefonleitung hat Ihr ISP eine direkte Verbindung zum Internet. Der ISPs-Router untersucht die Zieladresse in jedem Paket und bestimmt, wohin es gesendet werden soll. Oft ist die nächste Station des Pakets ein anderer Router. Mehr zu Routern und Internet-Infrastruktur später.
    7. Schließlich erreichen die Pakete Computer 5.6.7.8. Hier beginnen die Pakete am unteren Ende des TCP / IP-Stacks des Zielcomputers und arbeiten nach oben.
    8. Wenn die Pakete den Stapel nach oben durchlaufen, werden alle Routingdaten, die der Stapel des sendenden Computers hinzugefügt hat (z. B. IP-Adresse und Portnummer), aus den Paketen entfernt.
    9. Wenn die Daten die Spitze des Stapels erreicht haben, wurden die Pakete wieder in ihre ursprüngliche Form zusammengesetzt, „Hallo Computer 5.6.7.8!“

    Netzwerkinfrastruktur

    Jetzt wissen Sie also, wie Pakete über das Internet von einem Computer zum anderen übertragen werden. Aber was ist dazwischen? Was macht eigentlich das Internet aus? Schauen wir uns ein anderes Diagramm an:

    Diagramm 3

    Diagramm 3

    Hier sehen wir Diagramm 1 mit mehr Details neu gezeichnet. Die physische Verbindung über das Telefonnetz zum Internetdienstanbieter war möglicherweise leicht zu erraten, aber darüber hinaus könnte eine Erklärung vorliegen.

    Der ISP unterhält einen Pool von Modems für seine Einwahlkunden. Dies wird von einer Art Computer (normalerweise einem dedizierten Computer) verwaltet, der den Datenfluss vom Modempool zu einem Backbone- oder Standleitungsrouter steuert. Dieses Setup kann als Port-Server bezeichnet werden, da es den Zugriff auf das Netzwerk ‚dient‘. Rechnungs- und Nutzungsinformationen werden in der Regel auch hier gesammelt.

    Nachdem Ihre Pakete das Telefonnetz und die lokalen Geräte Ihres ISPS durchlaufen haben, werden sie auf das Backbone des ISPs oder ein Backbone weitergeleitet, von dem der ISP Bandbreite kauft. Von hier aus durchlaufen die Pakete normalerweise mehrere Router und mehrere Backbones, Standleitungen und andere Netzwerke, bis sie ihr Ziel, den Computer mit der Adresse 5.6.7.8, finden. Aber wäre es nicht schön, wenn wir die genaue Route wüssten, die unsere Pakete über das Internet nehmen? Wie sich herausstellt, gibt es einen Weg…

    Probieren Sie es aus – Das Traceroute-Programm

    Wenn Sie Microsoft Windows oder eine Unix-Variante verwenden und eine Verbindung zum Internet haben, finden Sie hier ein weiteres praktisches Internetprogramm. Dieser heißt Traceroute und zeigt den Pfad an, den Ihre Pakete zu einem bestimmten Internetziel nehmen. Wie Ping müssen Sie traceroute über eine Eingabeaufforderung verwenden. Verwenden Sie unter Windows tracert www.yahoo.com . Geben Sie an einer Unix-Eingabeaufforderung traceroute ein www.yahoo.com . Wie Ping können Sie auch IP-Adressen anstelle von Domainnamen eingeben. Traceroute druckt eine Liste aller Router, Computer und anderer Interneteinheiten aus, die Ihre Pakete durchlaufen müssen, um an ihr Ziel zu gelangen.

    Wenn Sie traceroute verwenden, werden Sie feststellen, dass Ihre Pakete viele Dinge durchlaufen müssen, um an ihr Ziel zu gelangen. Die meisten haben lange Namen wie sjc2-core1-h2-0-0.atlas.digex.net und fddi0-0.br4.SJC.globalcenter.net . Dies sind Internet-Router, die entscheiden, wohin Ihre Pakete gesendet werden sollen. In Abbildung 3 sind mehrere Router dargestellt, aber nur wenige. Diagramm 3 soll eine einfache Netzwerkstruktur zeigen. Das Internet ist viel komplexer.

    Internet-Infrastruktur

    Das Internet-Backbone besteht aus vielen großen Netzwerken, die miteinander verbunden sind. Diese großen Netzwerke werden als Netzwerkdienstanbieter oder NSPs bezeichnet. Einige der großen NSPs sind UUNet, CerfNet, IBM, BBN Planet, SprintNet, PSINet und andere. Diese Netzwerke peelen miteinander, um Paketverkehr auszutauschen. Jeder NSP muss eine Verbindung zu drei Network Access Points oder NAPs herstellen. Bei den NAPs kann der Paketverkehr vom Backbone eines NSP zum Backbone eines anderen NSP springen. NSPs verbinden sich auch an Metropolitan Area Exchanges oder MAEs. MAEs dienen dem gleichen Zweck wie die NAP, befinden sich jedoch in Privatbesitz. NAPs waren die ursprünglichen Internet-Verbindungspunkte. Sowohl NAPs als auch MAEs werden als Internet Exchange Points oder IXs bezeichnet. NSPs verkaufen auch Bandbreite an kleinere Netzwerke wie ISPs und kleinere Bandbreitenanbieter. Unten sehen Sie ein Bild, das diese hierarchische Infrastruktur zeigt.

    Diagramm 4

    Diagramm 4

    Dies ist keine echte Darstellung eines tatsächlichen Teils des Internets. Diagramm 4 soll nur zeigen, wie die NSPs miteinander und mit kleineren ISPs verbunden werden können. Keine der physischen Netzwerkkomponenten ist in Diagramm 4 wie in Diagramm 3 dargestellt. Dies liegt daran, dass die Backbone-Infrastruktur eines einzelnen NSP selbst eine komplexe Zeichnung ist. Die meisten NSPs veröffentlichen Karten ihrer Netzwerkinfrastruktur auf ihren Websites und können leicht gefunden werden. Eine tatsächliche Karte des Internets zu zeichnen, wäre aufgrund seiner Größe, Komplexität und sich ständig ändernden Struktur fast unmöglich.

    Die Internet-Routing-Hierarchie

    Wie finden Pakete ihren Weg über das Internet? Weiß jeder Computer, der mit dem Internet verbunden ist, wo sich die anderen Computer befinden? Werden Pakete einfach an jeden Computer im Internet gesendet? Die Antwort auf die beiden vorhergehenden Fragen lautet ‚Nein‘. Kein Computer weiß, wo sich die anderen Computer befinden, und Pakete werden nicht an jeden Computer gesendet. Die Informationen, die verwendet werden, um Pakete an ihre Ziele zu bringen, sind in Routing-Tabellen enthalten, die von jedem mit dem Internet verbundenen Router geführt werden.

    Router sind Paket-Switches. Ein Router ist normalerweise zwischen Netzwerken verbunden, um Pakete zwischen ihnen weiterzuleiten. Jeder Router weiß über seine Subnetzwerke bescheid und welche IP-Adressen er verwendet. Der Router weiß normalerweise nicht, welche IP-Adressen sich darüber befinden. Siehe Diagramm 5 unten. Die schwarzen Kästen, die die Backbones verbinden, sind Router. Die größeren NSP-Backbones oben sind mit einem Nickerchen verbunden. Darunter befinden sich mehrere Subnetze und darunter weitere Subnetze. Unten befinden sich zwei lokale Netzwerke mit angeschlossenen Computern.

    Diagramm 5

    Diagramm 5

    Wenn ein Paket bei einem Router ankommt, überprüft der Router die dort von der IP-Protokollschicht auf dem Ursprungscomputer hinterlegte IP-Adresse. Der Router überprüft die Routing-Tabelle. Wenn das Netzwerk mit der IP-Adresse gefunden wird, wird das Paket an dieses Netzwerk gesendet. Wenn das Netzwerk, das die IP-Adresse enthält, nicht gefunden wird, sendet der Router das Paket auf einer Standardroute, normalerweise die Backbone-Hierarchie hinauf zum nächsten Router. Hoffentlich weiß der nächste Router, wohin das Paket gesendet werden soll. Wenn dies nicht der Fall ist, wird das Paket erneut nach oben geroutet, bis es ein NSP-Backbone erreicht. Die Router, die mit den NSP-Backbones verbunden sind, enthalten die größten Routing-Tabellen, und hier wird das Paket zum richtigen Backbone geleitet, wo es seine Reise durch immer kleinere Netzwerke nach unten beginnt, bis es sein Ziel findet.

    Domainnamen und Adressauflösung

    Was aber, wenn Sie die IP-Adresse des Computers, mit dem Sie eine Verbindung herstellen möchten, nicht kennen? Was ist, wenn Sie auf einen Webserver zugreifen müssen, der als www.anothercomputer.com ? Woher weiß Ihr Webbrowser, wo im Internet dieser Computer lebt? Die Antwort auf all diese Fragen ist der Domain Name Service oder DNS. Das DNS ist eine verteilte Datenbank, die die Computernamen und die entsprechenden IP-Adressen im Internet verfolgt. Viele Computer, die mit dem Internet verbunden sind, hosten einen Teil der DNS-Datenbank und der Software, die anderen den Zugriff darauf ermöglicht. Diese Computer werden als DNS-Server bezeichnet. Kein DNS-Server enthält die gesamte Datenbank; sie enthalten nur eine Teilmenge davon. Wenn ein DNS-Server den von einem anderen Computer angeforderten Domänennamen nicht enthält, leitet der DNS-Server den anfordernden Computer an einen anderen DNS-Server weiter.

    Diagramm 6

    Diagramm 6

    Der Domain Name Service ist als Hierarchie ähnlich der IP-Routing-Hierarchie strukturiert. Der Computer, der eine Namensauflösung anfordert, wird in der Hierarchie nach oben umgeleitet, bis ein DNS-Server gefunden wird, der den Domänennamen in der Anforderung auflösen kann. Abbildung 6 zeigt einen Teil der Hierarchie. An der Spitze des Baumes befinden sich die Domänenwurzeln. Einige der älteren, häufigeren Domains sind oben zu sehen. Was nicht gezeigt wird, ist die Vielzahl von DNS-Servern auf der ganzen Welt, die den Rest der Hierarchie bilden.

    Wenn eine Internetverbindung eingerichtet wird (z. B. für ein LAN oder ein DFÜ-Netzwerk in Windows), werden normalerweise ein primärer und ein oder mehrere sekundäre DNS-Server als Teil der Installation angegeben. Auf diese Weise können alle Internetanwendungen, die eine Domänennamenauflösung benötigen, ordnungsgemäß funktionieren. Wenn Sie beispielsweise eine Webadresse in Ihren Webbrowser eingeben, stellt der Browser zunächst eine Verbindung zu Ihrem primären DNS-Server her. Nachdem Sie die IP-Adresse für den von Ihnen eingegebenen Domainnamen erhalten haben, stellt der Browser eine Verbindung zum Zielcomputer her und fordert die gewünschte Webseite an.

    Check It Out – DNS in Windows deaktivieren

    Wenn Sie Windows 95 / NT verwenden und auf das Internet zugreifen, können Sie Ihre DNS-Server anzeigen und sogar deaktivieren.

    Wenn Sie DFÜ-Netzwerke verwenden:
    Öffnen Sie Ihr DFÜ-Netzwerkfenster (das sich im Windows Explorer unter Ihrem CD-ROM-Laufwerk und über der Netzwerkumgebung befindet). Klicken Sie mit der rechten Maustaste auf Ihre Internetverbindung und klicken Sie auf Eigenschaften. Am unteren Rand des Fensters Verbindungseigenschaften drücken Sie die TCP / IP-Einstellungen… Schaltfläche.

    Wenn Sie eine permanente Verbindung zum Internet haben:
    Klicken Sie mit der rechten Maustaste auf Netzwerkumgebung und klicken Sie auf Eigenschaften. Klicken Sie auf TCP/IP-Eigenschaften. Wählen Sie oben die Registerkarte DNS-Konfiguration.

    Sie sollten sich nun die IP-Adressen Ihrer DNS-Server ansehen. Hier können Sie DNS deaktivieren oder Ihre DNS-Server auf 0.0.0.0 setzen. (Notieren Sie sich zuerst die IP-Adressen Ihrer DNS-Server. Sie müssen wahrscheinlich auch Windows neu starten.) Geben Sie nun eine Adresse in Ihren Webbrowser ein. Der Browser kann den Domänennamen nicht auflösen, und Sie erhalten wahrscheinlich ein böses Dialogfeld, in dem erklärt wird, dass kein DNS-Server gefunden werden konnte. Wenn Sie jedoch anstelle des Domainnamens die entsprechende IP-Adresse eingeben, kann der Browser die gewünschte Webseite abrufen. (Verwenden Sie Ping, um die IP-Adresse abzurufen, bevor Sie DNS deaktivieren.) Andere Microsoft-Betriebssysteme sind ähnlich.

    Internet Protocols Revisited

    Wie bereits im Abschnitt über Protokollstapel angedeutet, kann man vermuten, dass es viele Protokolle gibt, die im Internet verwendet werden. Das ist wahr; es gibt viele Kommunikationsprotokolle, die für das Funktionieren des Internets erforderlich sind. Dazu gehören die TCP- und IP-Protokolle, Routing-Protokolle, Medium Access Control-Protokolle, Protokolle auf Anwendungsebene usw. In den folgenden Abschnitten werden einige der wichtigsten und am häufigsten verwendeten Protokolle im Internet beschrieben. Protokolle auf höherer Ebene werden zuerst diskutiert, gefolgt von Protokollen auf niedrigerer Ebene.

    Anwendungsprotokolle: HTTP und das World Wide Web

    Einer der am häufigsten verwendeten Dienste im Internet ist das World Wide Web (WWW). Das Anwendungsprotokoll, mit dem das Web funktioniert, ist das Hypertext Transfer Protocol oder HTTP. Verwechseln Sie dies nicht mit der Hypertext Markup Language (HTML). HTML ist die Sprache, die zum Schreiben von Webseiten verwendet wird. HTTP ist das Protokoll, das Webbrowser und Webserver verwenden, um über das Internet miteinander zu kommunizieren. Es ist ein Protokoll auf Anwendungsebene, da es sich über der TCP-Schicht im Protokollstapel befindet und von bestimmten Anwendungen verwendet wird, um miteinander zu sprechen. In diesem Fall sind die Anwendungen Webbrowser und Webserver. HTTP ist ein verbindungsloses textbasiertes Protokoll. Clients (Webbrowser) senden Anforderungen an Webserver für Webelemente wie Webseiten und Bilder. Nachdem die Anforderung von einem Server bearbeitet wurde, wird die Verbindung zwischen Client und Server über das Internet getrennt. Für jede Anforderung muss eine neue Verbindung hergestellt werden. Die meisten Protokolle sind verbindungsorientiert. Dies bedeutet, dass die beiden miteinander kommunizierenden Computer die Verbindung über das Internet offen halten. HTTP jedoch nicht. Bevor eine HTTP-Anfrage von einem Client gestellt werden kann, muss eine neue Verbindung zum Server hergestellt werden.

    Wenn Sie eine URL in einen Webbrowser eingeben, geschieht Folgendes:

    1. Wenn die URL einen Domainnamen enthält, stellt der Browser zunächst eine Verbindung zu einem Domainnamenserver her und ruft die entsprechende IP-Adresse für den Webserver ab.
    2. Der Webbrowser stellt eine Verbindung zum Webserver her und sendet eine HTTP-Anfrage (über den Protokollstapel) für die gewünschte Webseite.
    3. Der Webserver empfängt die Anfrage und sucht nach der gewünschten Seite. Wenn die Seite vorhanden ist, sendet der Webserver sie. Wenn der Server die angeforderte Seite nicht finden kann, sendet er eine HTTP 404-Fehlermeldung. (404 bedeutet ‚Seite nicht gefunden‘, wie jeder, der im Internet gesurft ist, wahrscheinlich weiß.)
    4. Der Webbrowser erhält die Seite zurück und die Verbindung wird geschlossen.
    5. Der Browser analysiert dann die Seite und sucht nach anderen Seitenelementen, die er benötigt, um die Webseite zu vervollständigen. Dazu gehören normalerweise Bilder, Applets usw.
    6. Für jedes benötigte Element stellt der Browser für jedes Element zusätzliche Verbindungen und HTTP-Anforderungen an den Server her.
    7. Wenn der Browser alle Bilder, Applets usw. geladen hat. die Seite wird vollständig in das Browserfenster geladen.

    Probieren Sie es aus – Verwenden Sie Ihren Telnet-Client, um eine Webseite über HTTP abzurufen

    Telnet ist ein Remote-Terminaldienst, der im Internet verwendet wird. Seine Verwendung ist in letzter Zeit zurückgegangen, aber es ist ein sehr nützliches Werkzeug, um das Internet zu studieren. In Windows finden Sie das Standard-Telnet-Programm. Es kann sich im Windows-Verzeichnis mit dem Namen telnet befinden.exe. Ziehen Sie beim Öffnen das Terminalmenü nach unten und wählen Sie Einstellungen. Aktivieren Sie im Fenster Einstellungen die Option Lokales Echo. (Auf diese Weise können Sie Ihre HTTP-Anforderung sehen, wenn Sie sie eingeben.) Ziehen Sie nun das Verbindungsmenü nach unten und wählen Sie Remote-System. Geben Sie www ein.Google.com für den Hostnamen und 80 für den Port. (Webserver lauschen normalerweise standardmäßig auf Port 80.) Drücken Sie Verbinden. Geben Sie nun

    GET / HTTP/1.0

    ein und drücken Sie zweimal die Eingabetaste. Dies ist eine einfache HTTP-Anfrage an einen Webserver für seine Stammseite. Sie sollten sehen, dass eine Webseite vorbeiblitzt, und dann sollte ein Dialogfeld angezeigt werden, in dem Sie darüber informiert werden, dass die Verbindung unterbrochen wurde. Wenn Sie die abgerufene Seite speichern möchten, aktivieren Sie die Anmeldung im Telnet-Programm. Sie können dann die Webseite durchsuchen und den HTML-Code sehen, der zum Schreiben verwendet wurde.

    Die meisten Internetprotokolle werden durch Internetdokumente spezifiziert, die als Request For Comments oder RFCs bezeichnet werden. RFCs können an mehreren Stellen im Internet gefunden werden. Im Abschnitt Ressourcen unten finden Sie die entsprechenden URLs. HTTP Version 1.0 wird von RFC 1945 angegeben.

    Anwendungsprotokolle: SMTP und elektronische Post

    Ein weiterer häufig verwendeter Internetdienst ist die elektronische Post. E-Mail verwendet ein Protokoll auf Anwendungsebene namens Simple Mail Transfer Protocol oder SMTP. SMTP ist auch ein textbasiertes Protokoll, aber im Gegensatz zu HTTP ist SMTP verbindungsorientiert. SMTP ist auch komplizierter als HTTP. Es gibt viel mehr Befehle und Überlegungen in SMTP als in HTTP.

    Wenn Sie Ihren E-Mail-Client öffnen, um Ihre E-Mails zu lesen, geschieht normalerweise Folgendes:

    1. Der E-Mail-Client (Netscape Mail, Lotus Notes, Microsoft Outlook usw.) öffnet eine Verbindung zum Standard-Mailserver. Die IP-Adresse oder der Domänenname des Mailservers wird normalerweise eingerichtet, wenn der Mailclient installiert ist.
    2. Der Mailserver sendet immer die erste Nachricht, um sich zu identifizieren.
    3. Der Client sendet einen SMTP-HELO-Befehl, auf den der Server mit einer 250-OK-Nachricht antwortet.
    4. Abhängig davon, ob der Client E-Mails überprüft, E-Mails sendet usw. die entsprechenden SMTP-Befehle werden an den Server gesendet, der entsprechend antwortet.
    5. Diese Anfrage /Antwort-Transaktion wird fortgesetzt, bis der Client einen SMTP-QUIT-Befehl sendet. Der Server verabschiedet sich dann und die Verbindung wird geschlossen.

    Eine einfache ‚Konversation‘ zwischen einem SMTP-Client und einem SMTP-Server wird unten gezeigt. R: bezeichnet Nachrichten, die vom Server (Empfänger) gesendet werden, und S: bezeichnet Nachrichten, die vom Client (Absender) gesendet werden.

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

    Diese SMTP-Transaktion stammt aus RFC 821, der SMTP spezifiziert.

    Transmission Control Protocol

    Unter der Anwendungsschicht im Protokollstapel befindet sich die TCP-Schicht. Wenn Anwendungen eine Verbindung zu einem anderen Computer im Internet herstellen, werden die von ihnen gesendeten Nachrichten (unter Verwendung eines bestimmten Anwendungsschichtprotokolls) über den Stapel an die TCP-Schicht weitergegeben. TCP ist für das Routing von Anwendungsprotokollen zur richtigen Anwendung auf dem Zielcomputer verantwortlich. Um dies zu erreichen, werden Portnummern verwendet. Ports können als separate Kanäle auf jedem Computer betrachtet werden. Sie können beispielsweise im Internet surfen, während Sie E-Mails lesen. Dies liegt daran, dass diese beiden Anwendungen (Webbrowser und E-Mail-Client) unterschiedliche Portnummern verwendeten. Wenn ein Paket auf einem Computer ankommt und den Protokollstapel aufsteigt, entscheidet die TCP-Schicht anhand einer Portnummer, welche Anwendung das Paket empfängt.

    TCP funktioniert so:

  • Wenn die TCP-Schicht die Protokolldaten der Anwendungsschicht von oben empfängt, segmentiert sie diese in verwaltbare ‚Chunks‘ und fügt dann jedem ‚Chunk‘ einen TCP-Header mit spezifischen TCP-Informationen hinzu. Die im TCP-Header enthaltenen Informationen enthalten die Portnummer der Anwendung, an die die Daten gesendet werden müssen.
  • Wenn die TCP-Schicht ein Paket von der darunter liegenden IP-Schicht empfängt, entfernt die TCP-Schicht die TCP-Header-Daten aus dem Paket, führt gegebenenfalls eine Datenrekonstruktion durch und sendet die Daten dann unter Verwendung der Portnummer an die richtige Anwendung aus dem TCP-Header.

Auf diese Weise leitet TCP die Daten, die sich durch den Protokollstapel bewegen, an die richtige Anwendung weiter.

TCP ist kein Textprotokoll. TCP ist ein verbindungsorientierter, zuverlässiger Byte-Stream-Dienst. Verbindungsorientiert bedeutet, dass zwei Anwendungen, die TCP verwenden, zuerst eine Verbindung herstellen müssen, bevor sie Daten austauschen können. TCP ist zuverlässig, da für jedes empfangene Paket eine Bestätigung an den Absender gesendet wird, um die Zustellung zu bestätigen. TCP enthält auch eine Prüfsumme in seinem Header zur Fehlerprüfung der empfangenen Daten. Der TCP-Header sieht folgendermaßen aus:

Diagramm 7

Diagramm 7

Beachten Sie, dass im TCP-Header kein Platz für eine IP-Adresse ist. Dies liegt daran, dass TCP nichts über IP-Adressen weiß. TCP hat die Aufgabe, Daten auf Anwendungsebene zuverlässig von Anwendung zu Anwendung zu übertragen. Die Aufgabe, Daten von Computer zu Computer zu übertragen, ist die Aufgabe von IP.

Probieren Sie es aus – Bekannte Internetportnummern
Nachfolgend sind die Portnummern für einige der am häufigsten verwendeten Internetdienste aufgeführt.

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

Internet Protocol

Unlike TCP, IP is an unreliable, connectionless protocol. IP ist es egal, ob ein Paket sein Ziel erreicht oder nicht. IP weiß auch nichts über Verbindungen und Portnummern. Die Aufgabe von IP besteht darin, Pakete an andere Computer zu senden und weiterzuleiten. IP-Pakete sind unabhängige Einheiten und können außer Betrieb oder gar nicht ankommen. Es ist die Aufgabe von TCP, sicherzustellen, dass Pakete ankommen und in der richtigen Reihenfolge sind. Über das einzige, was IP mit TCP gemeinsam hat, ist die Art und Weise, wie es Daten empfängt und den TCP-Daten eigene IP-Header-Informationen hinzufügt. Der IP-Header sieht folgendermaßen aus:

Diagramm 8

Diagramm 8

Oben sehen wir die IP-Adressen der sendenden und empfangenden Computer im IP-Header. Im Folgenden sehen Sie, wie ein Paket aussieht, nachdem es die Anwendungsschicht, die TCP-Schicht und die IP-Schicht durchlaufen hat. Die Daten der Anwendungsschicht werden in der TCP-Schicht segmentiert, der TCP-Header wird hinzugefügt, das Paket wird zur IP-Schicht fortgesetzt, der IP-Header wird hinzugefügt und dann wird das Paket über das Internet übertragen.

Diagramm 9

Diagramm 9

Einpacken

Jetzt wissen Sie, wie das Internet funktioniert. Aber wie lange wird es so bleiben? Die derzeit im Internet verwendete IP-Version (Version 4) erlaubt nur 232 Adressen. Irgendwann wird es keine freien IP-Adressen mehr geben. Überrascht? Keine Sorge. Die IP-Version 6 wird derzeit von einem Konsortium aus Forschungseinrichtungen und Unternehmen auf einem Forschungs-Backbone getestet. Und danach? Wer weiß. Das Internet hat seit seiner Gründung als Forschungsprojekt des Verteidigungsministeriums einen langen Weg zurückgelegt. Niemand weiß wirklich, was aus dem Internet wird. Eines ist jedoch sicher. Das Internet wird die Welt vereinen wie kein anderer Mechanismus jemals. Das Informationszeitalter ist in vollem Gange und ich bin froh, ein Teil davon zu sein.

Rus Shuler, 1998
Updates 2002

Ressourcen

Im Folgenden finden Sie einige interessante Links zu einigen der diskutierten Themen. (Ich hoffe, dass alle noch funktionieren. Alle öffnen sich in einem neuen Fenster.)

http://www.ietf.org/ ist die Homepage der Internet Engineering Task Force. Dieses Gremium ist in hohem Maße für die Entwicklung von Internetprotokollen und dergleichen verantwortlich.

http://www.internic.org/ ist die Organisation, die für die Verwaltung von Domainnamen verantwortlich ist.

http://www.nexor.com/public/rfc/index/rfc.html ist eine ausgezeichnete RFC-Suchmaschine, die nützlich ist, um RFC zu finden.

http://www.internetweather.com/ zeigt animierte Karten der Internet-Latenz.

http://routes.clubnet.net/iw/ ist Internet-Wetter von ClubNET. Diese Seite zeigt Paketverlust für verschiedene Träger.

http://navigators.com/isp.html ist Russ Haynals ISP-Seite. Dies ist eine großartige Website mit Links zu den meisten NSPs und ihren Backbone-Infrastrukturkarten.

Bibliographie

Die folgenden Bücher sind hervorragende Ressourcen und haben beim Schreiben dieses Artikels sehr geholfen. Ich glaube, Stevens ‚Buch ist die beste TCP / IP-Referenz aller Zeiten und kann als die Bibel des Internets angesehen werden. Sheldons Buch deckt einen viel breiteren Bereich ab und enthält eine Vielzahl von Netzwerkinformationen.

  • TCP/IP Illustriert, Band 1, Die Protokolle. In:W. Richard Stevens. Addison-Wesley, Lesen, Massachusetts. 1994.
  • Encyclopedia of Networking. Tom Sheldon. Osbourne McGraw-Hill, New York. 1998.

Obwohl nicht zum Schreiben dieses Artikels verwendet, finden Sie hier einige andere gute Bücher zu den Themen Internet und Netzwerke:

  • Firewalls und Internetsicherheit; Abwehr des Wiley-Hackers. William R. Cheswick und Steven M. Bellovin. Addison-Wesley, Lesen, Massachusetts. 1994.
  • Datenkommunikation, Computernetzwerke und offene Systeme. Vierte Auflage. Fred Halsall. Addison-Wesley, Harlow, England. 1996.
  • Telekommunikation: Protokolle und Design.
    John D. Spragins mit Joseph L. Hammond und Krzysztof Pawlikowski. Addison-Wesley, Lesen, Massachusetts. 1992.

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.