Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 1 / 56 Internet Protokoll (IP) und network adresses Seminar Internet-Protokolle November 2002 Patrick Mai / Sebastian Elsner pmai@uni-bielefeld.de selsner@uni-bielefeld.de
Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 2 / 56 Schichten-Modell Applikation Layer (FTP, telnet, HTTP, SMTP,...) Transport Layer (TCP, UDP,...) Network Layer (IP, ICMP,...) Data Link Layer (Ethernet, ARP, RARP,...)
Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 3 / 56
Eigenschaften des Internet Protokolls Paketorientiert connectionless (verbindungslos) best effort (nicht garantiert) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 4 / 56
Connectionless keine direkte Verbindung zwischen dem Sender und dem Empfänger kein Verbindungsaufbau Weg dynamisch von Routern festgelegt Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 5 / 56
Best effort Keine Garantie Checksumme (CS) im Header bei Fehlern - vernichten des Pakets - ICMP Nachricht (nicht bei CS Fehlern) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 6 / 56
Paketorientiert Fragmentierung der Daten in Datagramms Unabhängigkeit der Pakete Größe abhängig von der Maximum Transfer Unit (MTU) und Daten Mindestpaketlänge 21 Bytes Maximalpaketlänge 65.535 Bytes Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 7 / 56
Aufbau der Pakete Header - Größe 20 60 Byte Daten - Größe 1 65515 Byte (abhängig vom Header) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 8 / 56
Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 9 / 56 Header Einteilung in 32-Bit-Wörter ersten 5 Wörter fest Mindestens 20 Byte Maximal 60 Byte
Version Länge 4 Bit IP Versionsnummer In Bit Darstellung Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 10 / 56
Header Length (IHL) Länge 4 Bit Anzahl der Wörter im Header Mindestens 5 Wörter Maximal 15 Wörter Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 11 / 56
Type of Service (TOS) Länge 8 Bit Ersten 3 Bit Precendece Field 4 TOS Bits bevorzugte Funktion Letzte Bit muß 0 Heutzutage irrelevant Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 12 / 56
Total Length Länge 16 Bit Gesamtlänge des Datagramms (Header + Daten) - 2^16 = 65 535 Byte Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 13 / 56
Identification Länge 16 Bit Eindeutige Kennzeichnung der Datagramms Vergabe erfolgt durch höheres Protokoll Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 14 / 56
Flags Länge 3 Bit Erste immer 0 2. Bit DF (=Don`t fragment) 3. Bit MF (=More Fragments) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 15 / 56
Fragment Offset Länge 13 Bit Lage des Fragmentes innerhalb des Datagramms Keine Fragmente = 0 Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 16 / 56
Time-to-Live (TTL) Länge 8 Bit Lebensdauer in Sekunden (Hops) Jeder Router dekrementiert TTL Bei 0 : - ICMP-Nachricht an Sender - Paket wird gedroppt Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 17 / 56
Protocol Länge 8 Bit Protkolltyp der nächst höheren Schicht (UDP =17, TCP = 6, ICMP = 1,...) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 18 / 56
Header Checksum Länge 8 Bit Wird bei Ankunft errechnet Ergebnis ungleich 0 (checksum error): - droppen des Pakets Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 19 / 56
Source IP-Address Länge 32 Bit IP-Addresse des sendenen Rechners Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 20 / 56
Destination IP-Address Länge 32 Bit IP-Addresse des Empfangsrechners Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 21 / 56
Options Länge variable bis zu 40 Byte (ein vielfaches von 32 Bit, sonst padding) Kein Pflichtbestandteil des Headers Seltene Nutzung z.b. security, record route, timestamp, loose source routing, strict source routing,... Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 22 / 56
Security = hohe Sicherheit Militärische Zwecke RFC 1108 [Kent 1991] Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 23 / 56
Record route = Routenaufzeichnung Jeder Router trägt seine IP-Addresse ein Heutzutage zu klein (max 15 Router) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 24 / 56
Timestamp = Zeitstempel record route + Zeitangabe Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 25 / 56
Loose source routing = lockeres Quellen routing Liste von IP-Addressen Müssen durchlaufen werden Auch andere Router möglich Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 26 / 56
Strict source routing = stricktes Quellen routing Liste von IP-Addressen Genauer IP-Addressen-Weg Keine andere Router dürfen durchlaufen werden Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 27 / 56
Internet Adresse oder IP-Adresse wird jedem einzelnen Host zugeteilt bestehen aus ganzen Zahlen werden systematisch vergeben von der ICAN (Internet Corporation for Assigned Names And Numbers) 1.schnelle Verwaltung 2.effizientes Routing Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 28 / 56
Adressenbeschreibung 32-bit Internetadresse besteht aus "netid" und "hostid" hostid "0" bezeichnet immer das Netzwerk selbst Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 29 / 56
Notation 4 dezimale Zahlen mit Punkten getrennt jede Zahl steht für ein Oktett der Binärdarstellung Anschaulich: Binärnotation: 10000000 00001010 00000010 00011110 Dezimalnotation: 128.10.2.30 Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 30 / 56
IP-Adressklassen Adressen sind in 3 Hauptklassen eingeteilt: A, B, C 2 für uns jetzt eher nebensächliche Klassen D und E Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 31 / 56
Klasse A erstes Bit (0) zeichnet die Klasse A netid besteht aus 7 Bits, hostid aus 24 Bits 126 Klasse-A Netze mit über 16Mio Hosts Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 32 / 56
Klasse B ersten 2 Bits (1,0) zeichnen die Klasse B netid besteht aus 14 Bits, hostid aus 16 Bits 16.382 Klasse-B Netze mit bis zu 64.000 Hosts Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 33 / 56
Klasse C ersten 3 Bits (1,1,0) zeichnen die Klasse C netid besteht aus 21 Bits, hostid aus 8 Bits 2Mio Klasse-C Netze mit bis zu 254 Hosts Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 34 / 56
Klasse D sog. Multicast Adressen ersten 4 Bits (1,1,1,0) zeichnen die Klasse D sendet Datagramme an mehrere spezielle Hostadressen gleichzeitig Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 35 / 56
Klasse E wurde für zukünftige Nutzungen reserviert ersten 5 Bits (1,1,1,1,0) zeichnen die Klasse E Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 36 / 56
IP-Adressklassen Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 37 / 56
Adressbereiche nach Klassen Class Range A 1.0.0.0 to 126.0.0.0 B 128.1.0.0 to 191.255.0.0 C 192.0.1.0 to 223.255.255.0 D 224.0.0.0 to 239.255.255.255 E 240.0.0.0 to 255.255.255.254 Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 38 / 56
Beispiele für Klasse-B Netze 29.65.0.0 California Polytechnic State University (NET- CALPOLY) 29.66.0.0 Alabama Supercomputer Network (NET-ASC-UNIV- ALABAMA) 29.67.0.0 Oxford University, England (NET-OXFORDNET) 29.68.0.0 Saint Joseph's University, PA (NET-SJU-NET) 29.69.0.0 University of Stuttgart, Germany (NET-RUS-NET) 29.70.0.0 University of Bielefeld, Germany (NET-UNIBI) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 39 / 56
Grosser Nachteil: Adressknappheit Ursache: unvorhergesehenes Wachstum des Internets bald alle Adressbereiche vergeben Klasse-B Netze sind zum grössten Teil betroffen Wie kann man die Vergabe von Adressbereichen besser gestalten? Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 40 / 56
mögliche, vorrübergehende Lösung: Subnetze mehrere physikalische Netze teilen sich eine netid durch "subnetting" Senkung der Vergabe von Klasse-B Adressbereichen durch Ausweichen auf mehrere C-Klassen Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 41 / 56
Subnet adressing oder subnetting mit einer netid mehrere physikalische Netze ansprechbar Host muss subnetting unterstützen benutzt einige Bits der hostid als physische Netzadresse hostid wird zweigeteilt in subnetid und hostid bei Klasse-B meist 8 Bit-subnetid, 8 Bit-hostid Einteilung aber sonst beliebig Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 42 / 56
Quelle: Douglas Comer und David L. Stevens. Internetworking with TCP/IP, Band 1 Prentice Ha Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 43 / 56
Subnetzmaske mittlerweile obligatorisch in permanenten Netzwerken ordnet einem Subnetz unter alle Bits der net- und subnetid werden auf "1" gesetzt, hostid auf "0" hexadezimale Darstellung (4 Bit-Blöcke) ergibt die subnetmask Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 44 / 56
Subnetzmaske Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 45 / 56
Quelle: Douglas Comer und David L. Stevens. Internetworking with TCP/IP, Band 1 Prentice Ha Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 46 / 56
Broadcasting gleichzeitige Adressierung aller Stationen eines Subnets (Rundfunk) broadcastadress wird allen Hosts des Netzwerks zugewiesen hostid besteht ausschl. aus "Einser- Bits", ist damit reserviert für broadcasting Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 47 / 56
Broadcasting Nutzen: 1. Erkennung der eigenen IP-Adresse über die Hardware 2. Pakettransmission kann u.u. sehr effizient abgewickelt werden 3. Multicast ähnlich, z.b. VideoKonferenz mit wenig Traffic Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 48 / 56
Der Befehl "ifconfig" dient zur Konfiguration der Netzwerkschnittstellen zur Nutzung von TCP/IP Verbindungen wird normal beim Systemboot gestartet MTU zeigt den max. Durchsatzwert (Grösse des Datagramms) der Schnittstelle in Bytes an Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 49 / 56
ifconfig- Ausgabe ai@antipasto cd /usr/sbin/ ai@antipasto ifconfig -a ("-a" zeigt alle Devices/Schnittstellen an) 0: flags=1000849<up,loopback,running,multicast,ipv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 0: flags=1000843<up,broadcast,running,multicast,ipv4> mtu 1500 index 2 inet 192.168.133.3 netmask ffffff00 broadcast 192.168.133.255 e0: flags=1000843<up,broadcast,running,multicast,ipv4> mtu 1500 index 3 inet 129.70.131.113 netmask ffffff00 broadcast 129.70.131.255 0: flags=2000849<up,loopback,running,multicast,ipv6> mtu 8252 index 1 inet6 ::1/128 e0: flags=2000841<up,running,multicast,ipv6> mtu 1500 index 3 inet6 fe80::a00:20ff:fefc:c670/10 Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 50 / 56
Der Befehl "netstat" zeigt Informationen über einzelne Schnittstellen, darunter: - MTU-Grössen - Anzahl ein- und ausgehender Pakete - Fehlermeldungen - Kollisionen - Pakete in Warteschlange Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 51 / 56
Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 52 / 56 netstat- Ausgabe pmai@antipasto netstat i Name MtuNet/Dest Address IpktsIerrsOpktsOerrsCollisQueue lo0 8232 loopback localhost 6569662 0 6569662 0 0 0 ge0 1500 SunRay-ge0 3.133.168.192.in-addr.arpa 397831150 0 1322734838 0 0 0 hme0 1500 gzi-ether antipasto.techfak.uni-bielefeld.de 789512800 0 770765691 0 0 0 Name MtuNet/Dest Address IpktsIerrsOpktsOerrsCollis lo0 8252 localhost localhost 6569662 0 6569662 0 0 hme0 1500 fe80::a00:20ff:fefc:c670/10 fe80::a00:20ff:fefc:c670 789512802 0 770765694 0 0
Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 53 / 56 netstat- Ausgabe Pmai@antipasto netstat -ni ("-i" gibt alle Interfaces an, "-n" löst die Hostnamen auf) Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue lo0 8232 127.0.0.0 127.0.0.1 6568631 0 6568631 0 0 0 ge0 1500 192.168.133.0 192.168.133.3 397692599 0 1322283415 0 0 0 hme0 1500 129.70.131.0 129.70.131.113 789298220 0 770556699 0 0 0
Schwächen von IP-Adressen lokal gebunden: bezieht sich auf Netze, nicht auf einzelne Hosts Wachstum von einzelnen Netzen kann den "Klassenrahmen" sprengen (Bsp.: Klasse C) Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 54 / 56
RFC`s RFC 791 erstmalige Veröffentlichung RFC 1122 (Host Network Requirements) - Beseitigung aller Unklarheiten von RFC 791 Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 55 / 56
Quellen 1 - Richard W. Stevens. TCP/IP Illustrated, Band 1 Addison Wesley 2 - Douglas Comer und David L. Stevens. Internetworking with TCP/IP, Band 1 Prentice Hall Patrick Mai / Sebastian Elsner Internetprotokolle / Internetprotokoll (IP) 56 / 56