Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung: Grundlegende Design-Prinzipien des Internet

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung: Grundlegende Design-Prinzipien des Internet"—  Präsentation transkript:

1 Einführung: Grundlegende Design-Prinzipien des Internet

2 Ursprüngliche Entwurfsentscheidungen
Paketvermittlung damals eine neue Technik, im ARPANET erforscht Hohe Verfügbarkeit des Netzes Datengrammtechnik (vs. virtual circuit) wenig Zustandsinformation im Netz verteilte Verwaltung Soll viele verschiedene Dienste unterstützen können Internet Protocol (IP) als Netzwerkprotokoll Transmission Control Protocol (TCP), User Datagram Protocol (UDP) als Transportprotokolle (-> Bezeichnung TCP/IP) Anwendungen direkt auf Transportprotokolle aufgesetzt Netzverbund mit heterogenen Teilnetzen Minimale Anforderungen an die Subnetze (bez. Zuverlässigkeit, Durchsatz, etc.), Fragmentierungsfunktion in IP „Offenes System“ Spezifikation offen gelegt und unter öffentlicher Kontrolle

3 Schichtenarchitektur von TCP/IP

4 Dienstschnittstellen
zur Anwendung: nicht standardisiert, anwendungsabhängig zu den Transportprotokollen: De-facto Standard (socket-Schnittstelle) Dienst von UDP: Verbindungslos, unzuverlässig Dienst von TCP: Verbindungsorientiert, zuverlässig zu IP: Eingschränkt auf Super-User / Systemprogramme, via raw socket Verbindungslos, unzuverlässig zu den phys. Subnetzen: Netz- und implementa-tionsabhängig, oft jedoch IEEE 802.x

5 Geschichte des Internet (I)
Baut auf Forschung im Bereich Paketvermittlung auf (Arpanet, ca. ab 1967) 1973: Bob Kahn postuliert eine neue Architektur, basierend auf Konzept Netzverbund 1973/74: Implementation des Konzepts in der Gruppe von Vint Cerf in Stanford; erstes Internet mit 3 Netzen 1977: Einbindung des Arpanet Ab ca. 1980: Arpanet ist wichtiger Backbone des wachsenden Internet 1983: TCP/IP als Standard für das US-DoD verankert DARPA-finanzierte Implementation von TCP/IP (entwickelt von BBN) und deren Integration in Berkeley UNIX (BSD); socket-Schnittstelle.

6 Geschichte des Internet II
1986: NSFNET in USA als Rückgratnetz von neuen regionalen Netzen Ab 1987: Aufbau von TCP/IP-Netzen in Europa und Australien - weltweites Internet ca. 1988/89: Aufbau und Anschluss des Schweizerischen akad. Forschungsnetzes (SWITCH) an das Internet. Rückgratnetz mit 2 Mbit/s! 1990: Übergang von 56 kbit/s auf Mbit/s (T1) für Leitungen des NSFNET 1990: Mehr als 3000 Netze und 200‘000 Hosts 1992: Übergang auf 45 Mbit/s im Backbone im NSFNET; Start der Entw. von IP next generation 1994/95: Explosion des Internet nach der „Erfindung“ des WWW Seither: Triebfeder der Informationsgesellschaft

7 Standardisierungsprozess: Dokumentation
Request for Comment (RFC): Reihe von elektronisch zugänglichen Publikationen, welche das Internet beschreiben. Frühere Reihe von Publikationen: Internet Engineering Notes (IEN). Nicht mehr weitergeführt Internet Drafts (ID): Diskussions- und Entwurfsdokumente für die Standardisierung, zeitlich beschränkge Gültigkeit. Dokumentation ist vollständig im Internet verfügbar.

8 Adressierung Address Resolution Protocol Das IP Protokoll

9 Konzept und Architekturmodell des Internet
"The TCP/IP internet protocols treat all networks equally. A local area network like an Ethernet, a wide area network like the NSFNET backbone, or a point-to-point link between two machines each count as one network." (D. Comer) Internet Internet Physikalisches Netz Router Rechner Rechner

10 Konzept und Architekturmodell des Internet IV
Das Internet beruht auf dem Zusammenschluss von teilautonomen Subnetzen mittels Verbindungsrechnern (Routern). Router leiten den Datenverkehr gemäss einer Netzwerkadresse, nicht einer Endsystemadresse. Diese Form der Datenweiterleitung ist transparent für Benutzer. Netzwerk 1 R1 Netzwerk 2 R2 Netzwerk 3

11 Adressierung im Internet: Adresstypen
Klasse A 0 NetzID RechnerID Klasse B NetzID RechnerID Klasse C NetzID RechnerID Klasse D Multicast Adresse Klasse E Reserviert für spätere Verwendung

12 Adressierung im Internet: Darstellung
Darstellung als 4 Oktette in Dezimalnotation, getrennt durch einen Punkt, z.B Klasse A zwischen 1 und 126 Klasse B zwischen und Klasse C zwischen und Um ein Netz zu adressieren, wird der Rechnerteil einer Adresse auf Null gesetzt, z.B. B-Netz der ETH: Um alle Rechner in einem Netz zu erreichen (Broadcast), wird der Rechnerteil auf 1 gesetzt, z.B

13 Adressierung im Internet: Spezielle Adressen
Eine Null in einem Teil der Adresse bezeichnet per Konvention den lokalen Rechner bzw. das lokale Netz. Die Adresse (oft auch ) ist der "lokale loopback" eines Rechners. Alles Null Lokaler Rechner Rechner auf lokalem Netz Alles Null Rechner Alles Eins Beschränkter Broadcast (auf lokalem Netz) Netz Alles Eins Gerichteter Broadcast für "Netz" Beliebig Lokaler Loopback

14 Adressierung im Internet: Namensautorität und Subnetze
Die Adressautorität im Internet wird durch die zentrale Vergabe von Netzadressen durch das NIC in den USA ausgeübt. Um die Freiheit der lokalen Konfiguration zu erhöhen, und die Anzahl vergebener Netzadressen zu minimieren, ist die Verwendung lokaler Subnetz-Masken zur internen Unterteilung des Rechner-Teils der Adresse möglich. Klasse B NetzID RechnerID Subnetz NetzID Subnetz RechnerID 16 Bits n Bits 16-n Bits Subnetz-Maske Beispiel: Netz , Maske = 10 Bit Subnetz

15 Adressierung im Internet: Schwachpunkte
Wenn ein Rechner an ein anderes Netz angehängt wird, muss seine Adresse geändert werden. Die Reihenfolge der Adressbytes ist im Standard festgelegt. Wenn z.B. ein C-Netz auf mehr als 255 Rechner wächst, müssen alle Rechner auf ein B-Netz migriert werden. Ein Rechner mit mehreren Anschlüssen an das Internet braucht mehrere Adressen, die auch verschiedene Routen implizieren. I1 I3 I4 Problemfall: Von A ist B über Interfaces I4 und I5 erreichbar. Wenn nun I4 defekt ist, und die Adresse I4 als “Normaladresse” für B in der Software von A gespeichert ist, ist B für A nicht mehr erreichbar. Router Rechner A Rechner B I2 I5 Netz 2

16 Problem der Adressabbildung
Rechner Internet Router Physikalisches Netz

17 Abbildung von IP-Adressen auf physikalische Adressen
Gegeben 2 Rechner, die am selben physikalischen Subnetz angeschlossen sind. Beide Rechner haben je eine IP-Adresse, und je eine physikalische Adresse bezüglich ihres gemeinsamen Netzes (z.B. eine Ethernet-Adresse). Will Rechner A Daten an Rechner B senden, so muss er anhand der IP-Adresse von Rechner B die Ethernet-Adresse von Rechner B herausfinden, um die Daten über das gemeinsame Netz zu senden.

18 Wege zur Abbildung von IP-Adressen auf physikalische Adressen
Direkte Abbildung durch Berechnung aus der IP-Adresse: dies ist nur in bestimmten Netzen möglich, und auch nur, solange das Adressierschema in beiden Adressräumen eingehalten wird. Suche der physikalischen Adresse in einem Verzeichnisdienst anhand der IP-Adresse. Dynamische Bindung durch Nachfragen auf dem lokalen Netz mittels des "Address Resolution Protocol": Rechner A sendet ein spezielles Broadcast-Paket auf das lokale Netz, in dem die IP-Adresse von Rechner B angegeben ist, und in dem nach der physikalischen Adresse von Rechner B gefragt wird. Rechner B füllt die gesuchte Adresse ein und sendet das Paket zurück.

19 Aufbau eines ARP-Paketes
Frame Kopf Frame Datenteil Hardware Typ Protokoll Typ HLEN PLEN Operationstyp Sender HA (Bytes 0 bis 3) Hardware Type: LAN-Typ (Ethernet=1) Protocol Type: verwendetes Layer 3 protokoll (IP: 0800hex) HLEN: Länge einer Data Link Adresse PLEN: Länge einer Layer 3 Adresse Operation: ARP request, ARP response, RARP request, RARP resp. Sender füllt seine Adressen ein, sofern bekannt, und die IP Adresse des Ziels (ARP) oder die Data Link Adresse des Ziels (RARP). Empfänger füllt restliche Adressen ein und tauscht Sender/Target Information, und schickt das Paket als response zurück. Sender HA (Bytes 4 bis 5) Sender IP (Bytes 0 bis 1) Sender IP (Bytes 2 bis 3) Ziel HA (Bytes 0 bis 1) Ziel HA (Bytes 2 bis 5) Ziel IP (Bytes 0 bis 3)

20 Aufbau eines IP-Paketes
Vers HLEN Diensttyp Gesamtlänge Identifikation Flags Fragment-Offset Lebenszeit Protokoll Kopf-Prüfsumme IP-Adresse des Senders IP-Adresse des Empfängers IP-Optionen (falls vorhanden) "Padding" Daten

21 Länge und Diensttypangabe in einem IP-Paket
Das Feld HLEN gibt die Länge des IP-Kopfes an. Das einzige variabel lange Feld sind die IP-Optionen, die mittels des "Padding-Feldes" wieder auf ein Vielfaches von 32 gebracht werden. Typische Grösse (ohne Optionen) ist 20 Byte (HLEN = 5). Diensttyp: Priorität (0 bis 7) D T R nicht benutzt hohe Verlässlichkeit hoher Durchsatz niedrige Verzögerung

22 Weitere Felder in einem IP-Paket: Fragmentierung
Die Felder Identifikation, Flags und Fragment-Offset kontrollieren die Zerlegung zu langer Datenpakete in mehrere kleinere Pakete. Ethernet-Frames können maximal 1500 Bytes lang sein. Diese Maximalwerte werden als MTU (maximum transfer unit) bezeichnet. Ist ein IP-Paket grösser als die vorhandene MTU, muss das IP- Paket fragmentiert (zerlegt) werden.

23 Fragmentierung von IP-Paketen
Rechner A Rechner B Netzwerk 1 MTU = 1500 Netzwerk 3 MTU = 1500 Netzwerk 2 MTU = 620 R1 R2 Datagram-Kopf Bytes Daten Datagram-Kopf Bytes Daten Bytes Daten Bytes Daten Fragment-1-Kopf Bytes Daten Flag "weitere Fragmente" gesetzt Fragment-2-Kopf Bytes Daten Flag "weitere Fragmente" gesetzt Fragment-3-Kopf Bytes Daten

24 Weitere Felder in einem IP-Paket: Identifikation, Offset, Flags
Das Feld "Identifikation" enthält eine eindeutige Nummer des ursprünglichen IP-Pakets. Der Fragment-Offset spezifiziert die Stelle im ursprünglichen IP- Paket, an dem das aktuelle Fragment eingesetzt werden muss. Mittels des Felds "Flags" kann Fragmentierung verboten werden, es wird auch zum Signalisieren weiterer Fragmente benutzt. Das Feld "Gesamtlänge" in einem Fragment bezieht sich auf die Länge des Fragmentes, nicht auf die Länge des IP-Pakets. Einmal fragmentierte Pakete werden erst beim Empfänger wieder zusammengesetzt (Nachteile: Zusatzlast und Gefahr von Verlust).

25 Weitere Felder in einem IP-Paket: Lebenszeit
Das Feld "Lebenszeit" gibt an, wie lange (in Sekunden) ein Paket im Internet unterwegs sein darf, bevor es gelöscht wird. Beim Erstellen des Paketes wird eine Maximalzeit angegeben, die bei jeder Weiterleitung des Pakets dekrementiert wird. Wird ein Paket in einem Router verzögert, wird ein entsprechend höherer Wert abgezogen. Wird ein Paket wegen "Lebenszeit = 0" vor seiner Ankunft beim Empfänger gelöscht, muss das löschende System eine Fehler- meldung an den Urheber des Pakets zurücksenden. TTL: wird pro Hop um 1 decrementiert. Ebenfalls um die Anzahl Sekunden, während welchen es in einem Router ist. Praktisch: nur hop count.

26 Weitere Felder in einem IP-Paket: Protokoll, Prüfsumme, Adressen
Das Feld "Protokoll" gibt an, welches hierarchisch über IP liegende Protokoll das Paket erzeugt hat, d.h. in welchem Format sich die Daten befinden. Das Feld Kopf-Prüfsumme dient der Datensicherung, bei der Bildung der Prüfsumme wird dieses Feld als "0" angenommen. Die Felder mit den IP-Adressen von Sender und Emfänger haben End-zu-End-Signifikanz, d.h sie werden nicht verändert, während das Paket durch das Internet transportiert wird.

27 Weitere Felder in einem IP-Paket: IP-Optionen
Kopie Opt. Klasse Optionsnummer Das Flag "Kopie" gibt an, ob bei Fragmentierung die Optionen nur im ersten Fragment, oder in allen Fragmenten gesetzt werden. Optionsklasse 0 Normales Datengramm oder Netzwerk-Kontrolle 1 reserviert für zukünftige Benutzung 2 Fehlersuche und Messungen 3 reserviert für zukünftige Benutzung

28 Weitere Felder in einem IP-Paket: Optionale Elemente
Optionen für Leitweglenkung und Zeitstempel Die Option "Wegaufzeichnung" ermöglicht die Protokollierung des Weges des Pakets durch das Netz im Optionsfeld des IP-Pakets. Die Option für die Wahl des Leitweges ermöglicht es dem Sender eines IP-Pakets, den Weg zum Empfänger zu diktieren. Diese Option wird meist zu Testzwecken benötigt. Die Zeitstempel-Option arbeitet ähnlich zur Option "Wegaufzeich- nung", es wird jedoch ein zusätzlicher Zeitstempel angegeben. Weitere Flags steuern die Details der Angabe von Zeitstempeln.

29 Internet Control Message Protocol (ICMP)

30 Einführung in ICMP Zur Steuerung und Verwaltung des Internet ist ein gesondertes Protokoll nötig, welches "normalen" Benutzern nicht zugänglich ist. Typische Aufgaben des Internet-Kontrollprotokolls sind: • Koordination zwischen Routern und Endsystemen • Fehlererkennung und -korrektur • Überwachung und Messung des Verkehrsaufkommens ICMP stellt eine Kommunikationsmöglichkeit zwischen der IP-Software auf Internet-Rechnern zur Verfügung. ICMP benutzt den IP-Dienst, gehört logisch aber auf die selbe Protokollschicht, wie das IP-Protokoll.

31 ICMP-Meldungstypen 0 Echo-Antwort 3 Destination unerreichbar
4 "Source Quench" 5 Änderung einer Route 8 Echo-Anforderung 11 Datagram-Lebenszeit überschritten 12 Parameter-Problem im Datengramm 13 Zeitstempel-Anforderung 14 Zeitstempel-Antwort 15 Informations-Anforderung (nicht mehr benötigt) 16 Informations-Antwort (nicht mehr benötigt) 17 Adressmasken-Anforderung 18 Adressmasken-Antwort

32 Meldungen über nicht erreichbare Destinationen
Wenn ein IP-Paket nicht weitergeleitet werden kann, wird eine entsprechende Fehlermeldung erzeugt. Netz nicht erreichbar 7 Zielrechner unbekannt Rechner nicht erreichbar 8 Zielrechner isoliert Protokoll nicht erreichbar 9 Netzkommunikation unerwünscht Port nicht erreichbar 10 Rechnerkommunikation unerwünscht Fragmentierung benötigt 11 Netz für diesen Dienst unerreichbar Falsche Quell-Route 12 Rechner für diesen Dienst unerreichbar Zielnetz unbekannt Typ (3) Code (0-12) Prüfsumme Unbenutzt, muss Null sein Internet-Kopf und erste 64 Bit des Datengramms

33 Automatische Konfiguration mit dem Dynamic Host Configuration Protocol (DHCP)

34 Wozu DHCP? Automatische Konfiguration von Hosts
Zu konfigurierende Parameter: IP-Adresse Gateway- (Router-) Adressen IP-Maske (Subnetting) Adressen der DNS-Server Link MTU, default time-to-live … und sehr viel mehr, s. Appendix A von RFC 2131 Ohne DHCP: Einstellung von Hand (Netzwerk-Kontrollfeld in Windows, Registry, oder nicht einstellbar Unangenehm: Bei einer Konfigurationsänderung von Hand muss Windows (95, 98) neu gestartet werden

35 Aufbau einer DHCP-Nachricht
op-Operation htype hlen hops xid-Transaction ID secs-Sekunden seit Beginn Flags ciaddr-Client-Adresse (falls schon zugewiesen) yiaddr-Neu zugewiesene Client-Adresse siaddr-Adresse des Bootstrap-Server giaddr-Adresse des Relay-Agent chaddr-Hardware-Adresse des Client (16) sname-Hostname des Servers (optional) (64) file-Bootstrap-Filename (128) Optionen (variabel lang)

36 Typischer Ablauf des DHCP-Protokolls
Server (nicht gewählt) Client Server (gewählt) Bestimmt Konfiguration DHCPDiscover DHCPDiscover Bestimmt Konfiguration DHCPOffer DHCPOffer Wählt aus DHCPRequest (rej) DHCPRequest (acc) DHCPAck Client ist konfiguriert DCHPOffer wird als Broadcast verschickt, da der Client zu diesem Zeitpunkt noch keine IP-Adresse hat. t DHCPRelease

37 Die Transportprotokolle: Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Die Socket-Schnittstelle

38 Einführung in TCP TCP implementiert ein verbindungsorientiertes, zuverlässiges Transport- Protokoll, aufbauend auf dem IP-Dienst.

39 Adressierung von Anwendungsprozessen: Beispiel TCP/IP - Portnummern
AP1 AP2 AP3 37 Port- 56 1245 Nummern Internet Physikalisches 4 UDP Netz Proto=17 3 IP Router Rechner

40 Koordination der global zugeordneten Ports
Internet Assigned Numbers Authority (IANA): Zuständig für Vergabe von Konstanten in TCP/ IP- Protokollen (port numbers, protocol numbers, ...) – neu unter der Verantwortung von ICANN Bereich : Für globale "well known" ports, kontrolliert von der IANA Bereich : Frei für dynamische Allozierung durch Prozesse oder für statische Allozierung mit lokaler Bedeutung Registrierung durch IANA ist optional Aktuelle globale / statische Zuordnungen:

41 Well-known port numbers: /etc/services (Auszug)
# Note that it is presently the policy of IANA to assign a single well-known # port number for both TCP and UDP; hence, most entries here have two entries # even if the protocol doesn't support UDP operations. # Updated from RFC 1700, “Assigned Numbers” echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null ftp-data 20/tcp ftp 21/tcp telnet 23/tcp smtp 25/tcp mail time 37/tcp timserver time 37/udp timserver nameserver 42/tcp name # IEN 116 whois 43/tcp nicname domain 53/tcp nameserver # name-domain server domain 53/udp nameserver

42 Eigenschaften des Transmission Control Protocol (TCP)
verbindungsorientiert Vollduplex-Verbindung stellt eine “byte pipe” zur Verfügung - unstrukturierter Datenstrom Sliding Window-Protokoll Folgenummern sind Bytenummern Maximale Fenstergrösse 216 Bytes Variable Grösse des Sendefensters bestimmt durch das Maximum von: Angabe des Empfängers (receiver window size) Congestion window size, abhängig von einer lokalen Schätzung der Netzbelastung -> “Slow Start” Algorithmus

43 TCP-Segmentformat Code Bits: URG, ACK, PSH, RST, SYN, FIN
Port des Senders Port des Empfängers Sequenznummer im Bytestrom des Senders Bestätigungsnummer (ACK in Gegenrichtung) HLEN Reserviert Code Bits Grösse des Emfängerfensters Prüfnummer (auch über Daten) Dringlichkeitszeiger Optionen (falls vorhanden) "Padding" Daten Code Bits: URG, ACK, PSH, RST, SYN, FIN Dringlichkeitszeiger: zeigt auf das Ende der dringenden Daten im TCP-Datenfeld.

44 Verbindungsaufbau Aktives Öffnen einer Verbindung (SYN)
Passive Seite nimmt eine Verbindung auf einer bestimmten Port-Nummer entgegen Die initialen Sequenznummern werden auf jeder Seite zufällig gewählt und bestätigt. 3-fach-Handshake (nötig wegen des unzuverlässigen Dienstes von IP): Sende SYN seq=x Empf. SYN Sende SYN seq=y, ACK x+1 Empf. SYN + ACK Sende ACK y+1 Empf. ACK

45 Verbindungsaufbau, zwei Fehlerszenarien
altes Duplikat altes Duplikat SYN, Seq=x SYN, Seq=x SYN, Seq=y, Ack=x+1 SYN, Seq=y, Ack=x+1 altes Duplikat Data, Seq=x+1, Ack=z wird ver-worfen RST, Seq=y+1 RST, Seq=y+1 Szenario links: altes SYN Duplikat. Host rechts antwortet normal, Host links stellt fest, dass die Bestätigung des SYN nicht auf eine laufende Verbindung passt. Szenario rechts: Data-Duplikat wird aufgrund der falschen Ack-Sequenznummer Z verworfen. Müsste y+1 sein. Verbindung wird abgebrochen mit RST.

46 Abbau einer TCP-Verbindung
Aktive Seite (links) schliesst Verbindung mit FIN-Flag Neue Daten werden nicht mehr übertragen, von rechts ankommende Daten werden jedoch noch bestätigt. 4-fach-Handshake; jede Seite wird separat beendet (TCP half close) Sende FIN seq=x Empf. ACK Empf. FIN Sende ACK x+1 Applikation informieren Empf. FIN + ACK Sende ACK y+1 Sende FIN, ACK x+1

47 Segmente, Datenströme und Sequenznummern
TCP betrachtet einen Datenstrom als Sequenz von Bytes, die für die Übertragung in TCP-Segmente eingeteilt werden. Jedes Segment wird dann in der Regel auf ein IP-Paket abgebildet. (Grösse eines Segmentes bei lokaler Übertragung gemäss physikalischem Netz, sonst 536 Bytes) TCP verwendet ein "sliding window" Protokoll, um möglichst effizient Daten zu übertragen, und Flusskontrolle zu ermöglichen. Bei einer Vollduplex-Verbindung müssen insgesamt 4 Fenster verwaltet werden.

48 Variable Fenstergrössen
Die Fenstergrösse im TCP "sliding window" Protokoll kann variiert, d.h. an den "Füllstand" des Netzes bzw. des Empfängers angepasst, werden. Flusssteuerung Jedes Bestätigungspaket enthält einen "window advertisement" Wert, in dem der Empfänger angibt, für wieviele weitere Pakete er noch freie Kapazität hat (das Fenster kann also grösser oder kleiner werden). Verkehrssteuerung Jacobsen's "slow start" Algorithmus variiert die Grösse des Sendefensters, um die Senderate an die Netzbelastung anzupassen (s. Folie 18).

49 Slow Start Algorithmus
Linear ansteigende Fenstergrössse timeout congestion window size (in Segmenten) ssthresh Anzahl round trip times Exponentiell ansteigende Fenstergrösse

50 Verbindungen und Verbindungsendpunkte
Eine TCP-Verbindung wird durch ein Paar von Adressen und Port-Nummern identifiziert (Verbindungsendpunkte): • IP-Adresse und Port-Nummer Host A • IP-Adresse und Port-Nummer Host B Jede Verbindung wird durch ein Paar von Verbindungsendpunkten eindeutig identifiziert -> mehrere Verbindung zwischen den gleichen Hosts sind dadurch gleichzeitig möglich.

51 Identifikation von Verbindungen
Host A (Client-Maschine) Host B (Server-Maschine) Daemon (tcp, *, 23) Client 1 Server 1 (tcp, A, 1055, B, 23) (tcp, A, 1055) (tcp, B, 23) fork Client 2 Server 2 (tcp, A, 1056, B, 23) (tcp, A, 1056) (tcp, B, 23)

52 Routing

53 Distanzvektor Routing
Jeder Router sendet einen Vektor mit den kürzesten Distanzen zu allen erreichbaren Netzadressen an seine Nachbarn. Ein Router führt seine Tabellen nach, falls er von einem Nachbarn erfährt, dass eine Netzadresse auf kürzerem Weg erreicht werden kann. Der Distanzvektor wird periodisch gesendet oder immer, wenn die Tabellen nachgeführt werden müssen.

54 Distanzvektor Routing Beispiel
1 C B 4 3 4 A 3 D 2 3 E Routing Updates: B->A: [(D,4) (E,3) (C,1) (A,4)] E->A: [(D,3)(B,3)(A,2)]

55 Implementation: RIP-2 IETF RFC-2453
RIP verteilt erreichbare Netzadressen mit zugehöriger Distanz (Anzahl Hops) an Nachbarn. Sendet Information alle 30 Sekunden oder immer, wenn die Forwardingtabelle geändert werden musste. Maximaler Netzdurchmesser beträgt 15 Router (Hops), um die Konvergenzzeit zu begrenzen (count to infinity Problem). RIP-2 verwendet UDP mit Port 520. Nur ein einzelner Pfad pro Zieladresse ist gespeichert. Kein Lastausgleich möglich. Die meisten UNIX Systeme haben RIP eingebaut (routed).

56 Subnetting Die Adressautorität im Internet wird durch die zentrale Vergabe von Netzadressen durch das NIC in den USA ausgeübt. Um die Freiheit der lokalen Konfiguration zu erhöhen, und die Anzahl vergebener Netzadressen zu minimieren, ist die Verwendung lokaler Subnetz-Masken zur internen Unterteilung des Rechner-Teils der Adresse möglich. Klasse B NetzID RechnerID Subnetz NetzID Subnetz RechnerID 16 Bits n Bits 16-n Bits Subnetz-Maske Beispiel: Netz , Maske = 10 Bit Subnetz

57 Network Address Translation (NAT)
Prof. B. Plattner

58 Voraussetzungen für die Umsetzung
Internet-Adressraum muss einen Teil mit global eindeutigen und einen Teil mit wiederverwendbaren, lokalen Adresssen aufgeteilt werden Wiederverwendbar, nur lokal geroutet: Klasse A: Netz (10/8) Klasse B: Netze bis (172.16/12) Klasse C: Netze bis ( /16) Lokale Adressen werden nach aussen nicht bekannt gemacht, nur die zugehörigen globalen Adressen Routing-Protokoll innerhalb des Intranet arbeitet mit den lokalen Adressen

59 Beispiel: Basic NAT Edge Router mit NAT Internet (via ISP) 192.168.1.2
Zugangsrouter des ISP Intranet

60 Mehrere private Hosts, eine externe Adresse
Eine einzige IP-Adresse wird mehreren Hosts zugeordnet Neben den IP-Adressen müssen auch Port-Nummern übersetzt werden :1234 :80 Web-Server Host NAT ! Host :1234 :80 :1234 :80

61 Network Address and Port Translation
:5566 :80 :1234 :80 Web-Server Host NAT ! Host :5567 :80 :1234 :80 NAT ordnet neue Port-Nummern zu

62 Domain Name System (DNS)

63 Motivation: E-mail-Infrastruktur des Internet
Absender Empfänger DNS server SMTP server Adress- abfrage client Internet client POP Mail-exchange- abfrage SMTP POP server SMTP server DNS server SMTP: Simple Mail Transfer Protocol POP: Post Office Protocol

64 Benennbare Objekte, Syntax und Abbildung auf Adressen
DNS-Namen können auf verschiedenartige Objekte abgebildet werden, z.B Rechneradressen, -Adressen usw. Ein Eintrag "dn1.ethz.ch" kann also einen einzelnen Rechner bezeichnen, und ”inf.ethz.ch" ein -Domain. Dem Namen sieht man diesen Unterschied nicht an. Verschiedene DNS-Namen können auf das gleiche Objekt abgebildet werden (alias). root .edu .com .gov ucb dec nsf .ch ethz ... tik.ee.ethz.ch top level domain second level domain subdomains

65 Administration des Namensraums und Betrieb des DNS
Zone: Unterbaum des Namensraums, der als Einheit verwaltet wird, z.B. ein second-level domain wie ethz.ch. Zonen können in untergeordnete Zonen aufgeteilt werden. Ein primary name server ist für eine oder mehrere Zonen zuständig (authoritative name server). Primary name servers werden aus einer Datenbank (Textfile) geladen. Einer oder mehrere redundante secondary name servers erhöhen die Verfügbarkeit . Secondary name servers werden vom primary geladen (zone transfer). Secondary name servers sind für Betreiber von Zonen obligatorisch root server binden die oberste Ebene des DNS zusammen. Jeder name server muss die IP-Adressen der root server kennen.

66 Liste der root servers /netinfo/root-servers.txt Sep 97
The following hosts are functioning as root domain name servers for the Internet: HOSTNAME NET ADDRESSES SERVER PROGRAM A.ROOT-SERVERS.NET BIND (UNIX) B.ROOT-SERVERS.NET BIND (UNIX) C.ROOT-SERVERS.NET BIND (UNIX) D.ROOT-SERVERS.NET BIND (UNIX) E.ROOT-SERVERS.NET BIND (UNIX) F.ROOT-SERVERS.NET BIND (UNIX) G.ROOT-SERVERS.NET BIND (UNIX) H.ROOT-SERVERS.NET BIND (UNIX) I.ROOT-SERVERS.NET BIND (UNIX) J.ROOT-SERVERS.NET BIND (UNIX) K.ROOT-SERVERS.NET BIND (UNIX) L.ROOT-SERVERS.NET BIND (UNIX) M.ROOT-SERVERS.NET BIND (UNIX)

67 Namensauflösung Die Namensauflösung wird logisch immer an der Wurzel des Baums gestartet, und arbeitet dann "abwärts”. Die Namensauflösung wird durch einen DNS Client (DNS resolver), der in die Applikation eingebunden ist, initiiert. Abfragen gezielt an einzelne name server rekursiv an das ganze DNS Erhält ein Namens-Server eine Anfrage, prüft er, ob der Name in seinem eigenen Unterbaum liegt. Wenn ja, kann er die Anfrage beantworten, sonst kann er die Abfrage an den nächsthöheren Server oder einen root server weiterleiten. Ein Abfrage-Klient (resolver) muss also nur die Adresse eines (bzw. "seines") Namens-Servers kennen (/etc/resolv.conf).

68 Namensraum für inverse Abfragen
root arpa edu com ch net top level in-addr second level 35 129 192 ... ... ... 132 66 42 in-addr.arpa

69 Objekttypen in DNS Typ Bezeichnung Inhalt
A Hostadresse 32-Bit IP-Adresse CNAME Kanonischer Name Domainname für ein Alias HINFO CPU und Betriebssystem Informationen über den Host MINFO Information Informationen über Mailbox MX Exchanger 16-Bit Präferenz und Name des Host, der für diese Domain als Mail-Server fungiert Namens-Server Name des verbindlichen Servers für diese Domain PTR "Pointer" Domainname SOA Namensautorität Mehrere Felder, die angeben, für welche Teile der Namenshierarchie der Server zuständig ist TXT Beliebiger Text Nicht interpretierte ASCII-Zusatzinformation

70 Simple Mail Transfer Protocol (SMTP)

71 SMTP - Simple Mail Transfer Protocol

72 RFC 822 Mail Header Return-Path: <plattner@tik.ee.ethz.ch>
Received: from mx9.bluewin.ch ( ) by mssbzhh-int.msg.bluewin.ch (Bluewin AG ) id 3F710B1C021302F6 for Wed, 22 Oct :05: Received: from tik6.ethz.ch ( ) by mx9.bluewin.ch (Bluewin AG ) id 3F94F1B00008ACED for Wed, 22 Oct :05: Received: from localhost (localhost [ ]) by tik6.ethz.ch (Postfix) with ESMTP id E475B6AE2E for Wed, 22 Oct :05: (MEST) Received: from komtpcbp (vpn-global-dhcp3-036.ethz.ch [ ]) by tik6.ethz.ch (Postfix) with ESMTP id 6F99C6AE14 From: "Bernhard Plattner" To: Subject: test Date: Wed, 22 Oct :05: Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build X-MimeOLE: Produced By Microsoft MimeOLE V Importance: Normal X-Virus-Scanned: by AMaViS new

73 Firewalls

74 Firewalls: Zwei Varianten
Internet Firewall 1 Firewall 2 Protected internal network D N S (DMZ – „de-militarized zone“) public servers Variant 1 Internet Protected internal network D N S (DMZ – „de-militarized zone“) public servers Ruleset 1 Ruleset 2 Firewall Variant 2

75 How packets traverse the kernel
Destination NAT Pre-Routing Forward Chain Destination NAT Post-Routing Routing Drop Local Process Input Chain Output Chain Drop Drop


Herunterladen ppt "Einführung: Grundlegende Design-Prinzipien des Internet"

Ähnliche Präsentationen


Google-Anzeigen