Adressierung in Netzwerken Gehalten von Franziska Ebert 09.01.2006 [email protected] Themenübersicht IP Adresse Definition Netzwerk-/Hostkennung IP Header Netzwerkklassen Classless Inter-Domain Routing DNS IANA RIR Automatische Adressvergabe Subnet Berechnungen Subnetting IPv 6 IP-Adresse Definition Subnetmask / Netzwekklassen Richtlinien Arten von IP-Adressen Aufbau des Headers Definition Die IP-Adresse ist eine 32-Bit-Zahl, die einen Host (Computer oder anderes Endgerät) in einem TCP/IP Netz eindeutig kennzeichnet Sie besteht aus vier 8-Bit-Abschnitten (auch Oktetts genannt) mit einem maximalen Dezimalwert von 255 und einem minimalen von 0 Sie besteht aus einem Netz- und einen Hostanteil Definition Netzwerk/Hostkennung die Netzwerkkennung bestimmt ein physikalisches Netzwerk und muss bei allen Geräten dieses Netzwerkes gleich sein die Hostkennung bestimmt ein Gerät in dem Netzwerk und muss daher innerhalb des Netzwerkes eindeutig sein Schreibweisen Zwei Schreibweisen sind möglich: Dezimale oder binäre, die Oktetts immer durch Punkt getrennt z.B. Dezimal 192.168.0.1 bzw. BCD (Binary Coded Decimal) 11000000. 10101000.00000000.00000001 Allgemeine Richtlinien Die Netzwerkennung kann nicht 127 lauten, da sie für Loopback und Diagnosefunktionen vorgesehen ist Nicht alle Bits dürfen den Binärwert 1 haben, da sie ansonsten als Broadcast interpretiert wird Nicht alle Bits dürfen den Binärwert 0 haben, da dies die Bedeutung „nur dieses Netzwerk“ hat. Die Hostkennung muss innerhalb des lokalen Bereichs eindeutig sein Wenn eine Verbindung mit dem öffentlichen Raum hergestellt wird, muss auch dort die Kennung eindeutig sein (siehe NAT) Jede IP Adresse braucht eine Subnetmask Dies kann entweder die Standardmaske des Netzwerkklassentyps sein, oder eine benutzerdefinierte Maske sein, sollten Subnetze verwendet werden IP Header Aufbau Erklärung IP Header Aufbau 2 Version Kennzeichnet die IP-Protokollversion IHL (Internet Header Length) Die Angabe der Länge des IP-Headers erfolgt in 32-BitWorten (normalerweise 5). Da die Optionen nicht unbedingt auf Wortlänge enden, wird der Header gegebenenfalls aufgefüllt. Type of Service Alle Bits haben nur "empfehlenden" Charakter. 'Precedence' bietet die Möglichkeit, Steuerinformationen vorrangig zu befördern. Total Length Gesamtlänge des Datagramms in Bytes (max. 64 KByte) Erklärung IP Header Aufbau 2 Identification Dieses und die beiden folgenden Felder steuern die Reassembly Eindeutige Kennung eines Datagramms. Anhand dieses Feldes und der 'Source Address' ist die Zusammengehörigkeit von Fragmenten zu detektieren Flags Die beiden niederwertigen Bits haben folgende Bedeutung: Don't fragment: Für Hosts, die keine Fragmentierung unterstützen More fragments: Zum Erkennen, ob alle Fragmente eines Datagramms empfangen wurden Fragment Offset Die Daten-Bytes eines Datagramms werden nummeriert und auf die Fragmente verteilt. Das erst Fragment hat Offset 0, für alle weiteren erhöht sich der Wert um die Länge des Datenfeldes eines Fragments. Anhand dieses Wertes kann der Empfänger feststellen, ob Fragmente fehlen Erklärung IP Header Aufbau 2 Time-to-live (TTL) Jedes Datagramm hat eine vorgegebene maximale Lebensdauer, die hier angegeben wird. Auch bei Routing-Fehlern (z. B. Schleifen) wird das Datagramm irgendwann aus dem Netz entfernt. Da Zeitmessung im Netz problematisch ist, und keine Startzeit im Header vermerkt ist, decrementiert jeder Gateway dieses Feld --> de-facto ein 'Hop Count' Protocol Da sich unterschiedliche Protokolle auf IP stützen, muß das übergeordnete Protokoll (ULP, Upper Layer Protocol) angegeben werden. Wichtige ULPs sind 1: ICMP Internet Control Message P. 3: GGP Gateway-to-Gateway P. 6: TCP Transmission Control P. 8: EGP Exterior Gateway P. 17: UDP User Datagram P. Erklärung IP Header Aufbau 2 Header Checksum 16-Bit-Längsparität über den IP-Header (nicht die Daten) Source Address Internet-Adresse der Quellstation Destinantion Address Internet-Adresse der Zielstation Options Optionales Feld für weitere Informationen (deshalb gibt es auch die Header-Länge). Viele Codes sind für zukünftige Erweiterungen vorgesehen. Die Optionen dienen vor allem der Netzsteuerung, der Fehlersuche und für Messungen. Die wichtigsten sind: Record Route: Weg des Datagramms mitprotokollieren Loose Source Routing: Die sendende Station schreibt einige Zwischenstationen vor (aber nicht alle) Strict Source Routing: Die sendende Station schreibt alle Zwischenstationen vor. Timestamp Option: Statt seiner IP-Adresse (wie bei Record Route) trägt jeder Gateway den Bearbeitungszeitpunkt ein (Universal Time) Netzwerkklassen Es gibt insgesamt 5 Klassen (A bis E), wobei allerdings nur 3 vom Endbenutzer zur direkten Adressierung verwendet werden. Dies sind die Netze A , B, C Übersicht: Netzwerkklasse A Adressbereich beginnend mit 0 sprich 0.0.0.0 bis 127.255.255.255 Netzwerkanteil: 8 Bit Hostanteil: 24 Bit Anwendung: multinationale Unternehmen/große Firmen Netzwerkklasse B Adressbereich beginnend mit 10 sprich 128.0.0.0 bis 191.255.255.255 Netzwerkanteil: 16 Bit Hostanteil: 16 Bit Anwendung: mittlere Unternehmen Netzwerkklasse C Adressbereich beginnend mit 110 sprich 192.0.0.0 bis 223.255.255.255 Netzwerkanteil: 24 Bit Hostanteil: 8 Bit Anwendung: kleine Firmen Netzwerkklasse D Multicastadressbereich Adressbereich beginnend mit 1110 sprich 224.0.0.0 bis 239.255.255.255 Anwendung: Punkt zu Gruppen Verbindung zum Beispiel Videokonferenz Netzwerkklasse E AnyCast-Adressbereich Adressbereich beginnend mit 1111 sprich 240.0.0.0 bis 247.255.255.255 Anycast ist eine Adressierungsart in Computernetzen, bei der man über eine Adresse einen einzelnen Rechner aus einer ganzen Gruppe von Rechnern ansprechen kann. Es antwortet derjenige, der über die kürzeste Route erreichbar ist. Anwendung: Root-Servern des DNS Classless Inter-Domain Routing beschreibt ein Verfahren zur effizienteren Nutzung des bestehenden 32-Bit-IP Adressen-Raumes. Es wurde 1993 eingeführt, um die Größe von RoutingTabellen zu reduzieren und um die verfügbaren Adressbereiche besser auszunutzen Öffentlicher / privater Adressbereich Die Adressbereiche der Netzwerkklassen beziehen sich auf den öffentlichen Bereich. Darüber hinaus gibt es noch den privaten Bereich. Diese Adressen wurden willkürlich festgelegt und sind: In der Klasse A 10.0.0.0/8 In der Klasse B 172.16.0.0/16 In der Klasse C 192.168.0.0/ 24 Nachdem Adressen des Privaten Bereichs im öffentlichen Raum nicht eindeutig sind, ist eine Übersetzung mittels NAT/PAT erforderlich Ein weiter Spezialadressbereich ist der des APIPA (Automatische private IP Adressierung ). Dies ist der Bereich 169.254.0.0/16. Diese Bereiche werden grundsätzlich nicht geroutet DNS Domain Name System verwaltet Namensraum im Internet Namen sind leichter als Zahlenkombinationen zu merken Z.B.: http://www.g-o-friedrich.de/ ist 82.165.0.74 http://www.lehrer-rautenberg.de/ ist 217.160.128.233 Änderung der IP-Adresse, ohne den Domainnamen ändern zu müssen verteilte Verwaltung hierarchische Strukturierung des Namensraums in Baumform Eindeutigkeit der Namen Erweiterbarkeit DNS besteht aus: Domänennamensraum, Namenservern und Resolver IDNA (Internationalizing Domain Names in Applications) zur Übersetzung nicht ASCII-konformer Zeichen ( z.B.: Umlaute, andereSchriften, umcodierung mit alten Zeichen) IANA Internet Assigned Numbers Authority Vergabe von IP-Netzen im Internet Die IANA delegiert die lokale Registration von IPAdressen an RIR´s Verteilung in großen Blöcken Auch für Zuweisung von IPv6 zuständig Unterabteilung von ICANN, indirekt unter dem Einfluss des US-Wirtschaftministeriums IANA soll von ICANN abgekoppelt werden weil ICCANN versucht Einfluss über die Registrys zu nehmen RIR Seit Februar 2005 gibt es 5 Regionale Vergabestellen - AfriNIC (African Network Information Centre) – zuständig für Afrika - APNIC (Asia Pacific Network Information Centre) – zuständig für die Region Asien/Pazifik - ARIN (American Registry for Internet Numbers) – Nord Amerika - LACNIC (Regional Latin-American and Caribbean IP Address Registry) – Lateinamerika und Karibik - RIPE NCC (Réseaux IP Européens Network Coordination Centre) – Europa, Mittlerer Osten, Zentralasien Die Regional Internet Registries vergeben die ihnen von der IANA zugeteilten Netze an lokale Vergabestellen. Die Vergabestelle für Deutschland wäre zum Beispiel die deNIC Automatische Adressvergabe DHCP Dynamic Host Configuration Protocol Baut auf BOOTP auf Mehr Optionen, so können Gateway Informationen, multiple DNS oder auch TFTP-Serveradressen mitgeschickt werden BOOTP Bootstrap Protocol Dient vorallem zu automatischen Adressen Vergabe an simple meist HDD lose Endgeräten (z.B. Druckern oder VoIP Telephonen) Wenige Optionen Subnet Eine Subnetzmaske ist eine 32 Bit-Zahl, mit dem ein Teil der IP-Adresse „maskiert“ wird, um die Netzwerkkennung von der Hostkennung unterscheiden zu können Diese wird zum Unterscheiden zwischen Remote- und Lokalnetzwerk benutzt Veranschaulichung Berechnen Anzahl der Netzwerke/Hosts Grundsatz: ein Bit hat 2 Mögliche Werte. Eine IP-Adresse hat 32 Bit, daraus ergibt sich 2 hoch 32 mögliche Adressen für Host und Netzwerke Zu Berücksichtigen gilt, dass die erste und letzte Adresse immer die Broadcastadresse ist. Formel: x=2^y-2 x ist die Anzahl der Netzwerke oder Hosts, je nachdem ob y die Anzahl der Netzwerk- oder Hostbits ist Beispiel: Netzwerkklasse A hat 8 Netzwerk- und 24 Hostbits, daraus ergeben sich 254 Netze mit 16.777.214 Hosts Berechnen Netzwerkadresse Mit Hilfe der IP-Adresse und der Subnetzmaske lassen sich unter Einsetzung einer logischen UND-Verknüpfung die Netzwerkadresse errechnen Eine UND-Verbindung ist eine logische Grundschaltung, für die gilt, dass die Verknüpfung zweier Werte immer Null ergibt, außer beide Werte sind 1, dann ergibt sich als Wert 1 Berechnen Broadcastadresse Mit Hilfe der IP-Adresse und der negierten Subnetzmaske lassen sich unter Einsetzung einer logischen ODER-Verknüpfung die Broadcastadresse errechnen Eine ODER-Verbindung ist eine logische Grundschaltung, für die gilt, dass die Verknüpfung zweier Werte immer 1 ergibt, außer beide Werte sind 0, dann ergibt sich als Wert 0 Beispiel: Klasse C-Netz Gegeben ist ein C-Klasse-Netz mit dem Host 192.168.0.1 BCD=11000000.10101000.00000000.00000001 (192.168.0.1) Subnetzmask=11111111.11111111.11111111.00000000 (255.255.255.0) Netzteil=11000000.10101000.00000000 (192.168.0) Das führt zu folgender Adressverteilung: Netzname=11000000.10101000.00000000.00000000 (192.168.0.0) Erste Adr.=11000000.10101000.00000000.00000001 (192.168.0.1) Letzte Adr.=11000000.10101000.00000000.11111110 (192.168.0.254) Broadcast=11000000.10101000.00000000.11111111 (192.168.0.255) Anzahl zu vergebende Adressen: 2^8 − 2 = 254 Subnetting Ist das Unterteilen der Netzwerkklasse in weitere Teilnetze Um den Adressraum besser zu nutzen, und weniger Adressen ungenützt zu lassen Oder um z.B. den physischen Realzustand auch Netzwerktechnisch abzubilden (zum Beispiel bei Filialbetrieben) Die Teilnetze werden ermöglicht da man einzelne Bit der Hostkennung noch zusätzlich zur Bestimmung der Netzwerkkennung aufbringt. Die genaue Aufteilung der Bit in Netzwerk- und Hostkennung wird in der so genannten Subnetzmaske definiert, die in der Dezimalform gleich aussieht, wie eine IP-Adresse. Allerdings haben die einzelnen Bit in der Subnetzmaske eine andere Bedeutung Berechnung der Subnetze anhand eines Beispiels: Gegeben sei wieder unser C-Klasse-Netz 192.168.0 gefordert sind aber insgesamt 8 Filialen (=Subnetze). Die Standardsubnetzmaske ist 11111111.11111111.11111111.00000000 (255.255.255.0). Sprich die ersten drei Oktetts sind der Netzwerkteil, das 4. Oktett der Hostteil Um die erforderlichen Bits zu errechnen wird wieder die Formel x=2^y verwendet. Wobei y die Anzahl der Bits angibt, die zusätzlich vom Hostteil für die Subnetzmaske benötigt werden. hier: 8=2^y es werden also die ersten 3 Bit des 4. Oktetts genutzt Damit ergibt sich die Subnetzmaske: 11111111.11111111.11111111.11100000 (255.255.255.224) Berechnung der Subnetze anhand eines Beispiels: Es bleiben also 5 Bit pro Subnetz für die Adressierung der Host übrig: x=2^5-2 pro Subnetz können also 30 Hosts adressiert werden Um den Anfang der diversen Teilnetze zu berechnen, muss man nur die Anzahl der Hosts plus Netz- und Broadcastadresse mit der Nummer des Teilbereiches minus 1 multiplizieren. Für das 5. Teilnetz bedeutet dies (5-1)*32=128 das 5. Teilnetz beginnt bei 192.168.0.128 (Netzadresse). Das Ende ist 192.168.0.159 (Broadcastadresse). Für die Host stehen die Adressen 192.168.0.129 bis 192.168.0.158 mit der Subnetmask 255.255.255.224 zur Verfügung Umgekehrte Berechnung Angenommen es ruft jemand bei der EDV-Abteilung einer Firma an, und dem Mitarbeiter ist das Teilnetz unbekannt, allerdings weiß er die IP-Adresse (192.168.0.175) und Subnetmaske (255.255.255.224) Man muss nun bestimmen wie groß die einzelnen Teilbereiche sind: Es gibt 256 Werte für die Subnetzmaske. Uns interessiert nur das 4. Byte (224) 256-224=32 Man hat 32 Adressen pro Teilnetz Nun nehme ich das 4. Byte der IP-Adresse und dividiere dies durch die Anzahl der Adressen 175/32=5,47 Ergebnis 5 (der Rest interessiert nicht da es nur ganze Zahlen als Netze gibt) Aufgrund dessen das die Zählung mit dem 1. Und nicht mit dem 0. Subnetz beginnt, ist das Ergebnis noch um eins zu erhöhen 5+1=6 der Host gehört dem 6. Teilnetz an Supernetting Supernetting fasst durch Verkürzung der Netzmaske Netze der gleichen Klasse zu einem Netz zusammen. Mit der Netzmaske 255.255.252.0 sind somit 4 nebeneinander liegende C-KlasseNetzwerke in einem Netz adressierbar IPv6 Wurde entwickelt um den nahenden Engpaß von IP-Adressen im öffentlichen Raum vorbeugen Des weiteren war ist das Grunddesign von IPv4 veraltet Die wichtigsten Neuerungen: Vergrößerung des Adressraums von 232 (entspricht ~4,3 Milliarden Adressen) bei IPv4 auf 2128 (entspricht ~340 Sextillionen Adressen) bei IPv6 Autokonfiguration von IPv6-Adressen, DHCP für IPv6, Mobile IP und vereinfachte Umnummerierung („Renumbering“) Dienste wie IPSec, QoS und Multicast „serienmäßig“ Vereinfachung und Verbesserung der Protokollrahmen (Header). Dies ist insbesondere wichtig für Router Möglichkeiten Obwohl durch dynamische Adressvergabe, CIDR und NAT der Adreßbereich von IPv4 nach wie vor ausreicht, ergeben sich durch IPv6 interessante Möglichkeiten: Jedem Gerät und Menschen kann eine weltweit einzigartige IPAdresse zu geordnet werden. Diese kann zur Kommunikation, Identifikation und anderem genützt werden „digitales Heim“ jedes Gerät innerhalb einer Wohnung wäre ansteuerbar egal wo ich auf der Welt bin. Man könnte zum Beispiel von unterwegs die Heizung aufdrehen, damit man in eine warme Wohnung kommt Mobile Telephon könnten eine eigene IP-Adresse bekommen, quasi eine weltweit gültige „Telephonnummer“ Änderungen gegenüber IPv4 Bei der IPv6 hat man sich nicht nur um die Adresserweiterung gekümmert, sondern auch gleich eine Generalüberholung des Protokolls vorgenommen. Zählte zur Hauptaufgabe der heutigen IPv4-Routern das Prüfen von Checksummen und Fragmentieren von Daten, so ist die Arbeit für IPv6-Router sinnvoll minimiert worden. IPv6 führt keine Prüfsumme mehr im Header mit. Stattdessen wird dem übergeordneten Transport-Protokoll TCP die Aufgabe überlassen kaputte Pakete zu erkennen und neu anzufordern. Dieser Vorgang wird komplett beim Empänger bearbeitet. Zu große Datenpakete werden von IPv6-Routern nicht mehr selber fragmentiert. Ist ein Paket zu groß wird dem Absender eine Fehlermeldung geschickt. Dieser muss dann die maximale Paketlänge (MTU - Maximum Transmissin Unit) anpassen. Dieses Verfahren nennt sich Path MTU Discovery und exitstiert in ähnlicher Form auch in IPv4. Dort muss im Datenpaket das Don'tFragment-Flag (DF) gesetzt werden. War in IPv4 dieses Verfahren optional, ist es in IPv6 zur Pflicht geworden. Kommt es zum Verlust eines Datenpaketes oder kommt es zu Fehlern bei der Fragmentierung schlägt das Path MTU Discovery fehl. In IPv4 wurde der MTU dann auf 68 Byte abgesenkt. Das führte zu einer höheren Paketanzahl und einem unwirtschaftlichen Protokoll-Overhead. IPv6 hat als kleinste einstellbare MTU 1280 Byte. Dadurch werden die Router nicht mehr unnötig belastet. Selbstverständlich können auch kleinere Pakete als 1280 Byte übertragen werden. IPv6 Header Erläuterung IPv6 Header Version. 4 bits. Hier ist die Version des IP-Protokolls abgelegt, nach der das IP-Paket erstellt wurde. Traffic Class. 8 bits. Der Wert des Feldes definiert die Priorität des Paketes. Flow Label. 20 bits. Das Flow Label kennzeichnet Pakete für ein viel schnelleres Routing. Das MPLS macht dieses Verfahren allerdings überflüssig. Payload Length. 16 bits unsigned. Hier steht die im IP-Paket transportierten Daten in Byte. Bisher mußte der Wert aus dem Feld Paketlänge abzüglich dem Feld IHL ermittelt werden. Next Header. 8 bits. Hier ist das übergeordnete Transportprotokoll angegeben. Bei IPv4 hieß das Feld einfach Protokoll. Hop Limit. 8 bits unsigned. Dieses Feld enthält die Anzahl der verbleibenden weiterleitenden Stationen, bevor das IP-Paket verfällt. Es entspricht dem TTL-Feld von IPv4. Jede Station, die ein IP-Paket weiterleitet, muss von diesem Wert 1 abziehen. Source address. 16 bytes. An dieser Stelle steht die IP-Adresse der Station, die das Paket abgeschickt hat. Destination address. 16 bytes. An dieser Stelle steht die IP-Adresse der Station, für die das Paket bestimmt ist. Quellen: http://www.wikipedia.de (30.12.2005) http://www.networksorcery.com/enp/protocol/ipv6.htm (30.12.2005) http://www.elektronik-kompendium.de/sites/net/0812201.htm (30.12.2005) http://www.computer-networking.de/~link/studium/ (30.12.2005) http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/ippacket.html (30.12.2005) Microsoft Windows 2000 MCSE Handbücher: ISBN 3-86063-915-3 Design der Netzwerksicherheit ISBN 3-86063-278-7 Server 2000 ISBN 3-86063-277-9 Infrastrukturandministration ISBN 3-86063-912-9 Active Directory Services ISBN 3-86063-276-0 Windows 2000 Professional