Home About us Products Services Contact us Bookmark
:: wikimiki.org ::
IPv6

IPv6

IPv6, das Internet Protocol Version 6, ist der Nachfolger des gegenwärtig im Internet noch überwiegend verwendeten Internet Protocol in der Version 4. Beide Protokolle sind Standards für die Netzwerkschicht des OSI-Modells und regeln die Adressierung und das Routing von Datenpaketen durch ein Netzwerk.

Warum ein neues Internet-Protokoll?

Das alte IPv4 bietet einen Adressraum von etwas über 4 Milliarden IP-Adressen, mit denen Computer und andere Geräte angesprochen werden können. In den Anfangstagen des Internet, als es nur wenige Rechner gab, die eine IP-Adresse brauchten, galt dies als mehr als ausreichend. Kaum jemand konnte sich vorstellen, dass überhaupt jemals so viele Rechner zu einem einzigen Netzwerk zusammengeschlossen würden, dass es im vorgegebenen Adressraum eng werden könnte. Viele der theoretisch 4 Milliarden IP-Adressen jedoch sind in der Praxis nicht nutzbar, da sie Sonderaufgaben dienen (zum Beispiel Multicast) oder zu großen Teilnetzen (Subnetzen) gehören: Den ersten großen Teilnehmern am Internet wurden riesige Adressbereiche (so genannte Class-A-Netze) mit je 16,8 Millionen Adressen zugeteilt, die diese Organisationen bis heute behalten haben, ohne sie jemals voll ausnutzen zu können. Die Amerikaner (und teilweise die Europäer) teilten die relativ wenigen großen Adressbereiche unter sich auf, während die Internet-Späteinsteiger wie Südamerika, aber vor allem Asien, zunächst außen vor blieben. Als Resultat herrscht besonders im zukünftigen IT-Wachstumsmarkt Asiens heute eine Adressenknappheit, der man mit Notbehelfen wie PAT (Port Address Translation = NAT Overloading), Lockerung der festen Netzklassen-Unterteilung durch CIDR (Classless Inter-Domain Routing), normalem NAT, oder dynamischer Vergabe von Adressen begegnen muss. Auf Grund des Wachstums und der Wichtigkeit des Internet konnte dies kein Dauerzustand bleiben. Auch ist abzusehen, dass in den nächsten Jahren durch neue technische Innovationen (beispielsweise Mobiltelefone mit Internet-Anschluss, bald wohl auch Autos und Elektrogeräte in Privathaushalten) der Bedarf an Adressen auch im Rest der Welt ansteigen wird. Hauptsächlich wegen der Adressknappheit, aber auch, um einige der Probleme zu lösen, die sich im Zuge der großräumigen Verwendung von IPv4 gezeigt hatten, begann man 1995 mit den Arbeiten an IPv6 (die ersten RFCs entstanden 1983 ff.). Die folgende Liste gibt einen Überblick über die wesentlichen neuen Eigenschaften von IPv6. Einige Punkte werden weiter unten näher erklärt:
- 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.

Adressaufbau von IPv6

Eine IPv6-Adresse ist 128 Bit lang (IPv4: 32 Bit). Damit gibt es etwa 3,4 × 1038 IPv6-Adressen. Das bedeutet, für jeden Quadratmillimeter Erdoberfläche könnten ca. 688,8896559 Billiarden Adressen (6,888896559 × 1017) bereitgestellt werden. (gerechnet mit dem Erdradius -> 6267 km) IPv6-Adressen werden nicht in dezimaler (zum Beispiel 80.130.234.185), sondern in hexadezimaler Notation mit Doppelpunkten geschrieben, die die Adresse in acht Blöcke mit einer Länge von jeweils 16 Bit unterteilen. Beispiel einer IPv6-Adresse: 2001:0db8:85a3:08d3:1319:8a2e:0370:7344 Eine oder mehrere 16-Bit-Gruppen mit dem Wert 0000 können durch zwei aufeinanderfolgende Doppelpunkte ersetzt werden. Die resultierende Adresse darf höchstens einmal zwei aufeinander folgende Doppelpunkte enthalten. 2001:0db8::1428:57ab ist gleichbedeutend mit 2001:0db8:0000:0000:0000:0000:1428:57ab, aber 2001::25de::cade ist nicht korrekt, da nicht nachvollzogen werden kann, wie viele 16-Bit-Gruppen durch die zwei Doppelpunkte jeweils ersetzt wurden. Führende Nullen einer 16-Bit-Gruppe dürfen ausgelassen werden, 2001:db8::28:b ist gleichbedeutend mit 2001:0db8::0028:000b. Die ersten 64 Bit der IPv6-Adresse dienen üblicherweise der Netzadressierung, die letzten 64 Bit werden zur Host-Adressierung verwendet. Das Konzept der Netzmasken von IPv4 wird durch Angabe der Präfixlänge des adressierten Subnetzes implementiert. Die Präfixlänge in Bits wird als Dezimalzahl mit vorangehendem "/" an die IPv6-Adresse angehängt. Beispiel: hat ein Netzwerkgerät die IPv6-Adresse 2001:0db8:85a3:08d3:1319:8a2e:0370:7344/64 so stammt es aus dem Subnetz 2001:0db8:85a3:08d3::/64 das mit den ersten 64 Bit seiner Adresse identifiziert wird. Analog gehört das Subnetz 2001:0db8:85a3:08d3::/64 hierarchisch zum Subnetz mit dem kürzeren Präfix 2001:0db8:85a3::/48. Die korrekte Form einer IPv6-Adresse in einem URL ist beispielsweise http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]/ Diese Notation verhindert die fälschliche Interpretation von Portnummern als Teil der IPv6-Adresse: http://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443/

Arten von IPv6-Adressen

Es gibt verschiedene IPv6-Adressen mit Sonderaufgaben und unterschiedlichen Eigenschaften. Diese werden durch die ersten Bits der Adresse (das "Präfix") signalisiert:
- Das Präfix
00 steht für IPv4 und IPv4-über-IPv6-Kompatibilitätsadressen. Ein geeigneter Router kann diese Pakete zwischen IPv4 und IPv6 konvertieren und so die neue mit der alten Welt verbinden. Zwei weitere Adressen tragen ebenfalls dieses Präfix; ::0 ist die undefinierte Adresse, ähnlich der 0.0.0.0 in IPv4, und ::1 ist die Adresse des eigenen Standortes (localhost, loopback device).
- Die Präfixe 2 oder 3 stehen für globale Unicast-Adressen, also eine routbare und weltweit einzigartige Adresse.
  - Eine Abart davon sind die 6Bone-Testadressen
3ffe, die einem Rechner gehören, der Teil des IPv6-Testnetzwerkes 6Bone ist (der 6Bone wird am 6. Juni 2006 eingestellt).
  -
2001-Adressen werden an Provider vergeben, die diese dann wieder an ihre Kunden verteilen
  -
2002-Präfixe deuten auf Adressen des Tunnelmechanismus 6to4 hin.
-
fe80 bis febf sind so genannte linklokale Adressen (link local addresses), die von Routern nicht weitergeleitet werden dürfen und daher nur im gleichen Teilnetz erreichbar sind. Interessant werden sie bei der Autokonfiguration.
- Adressen mit Präfixen
fec0 bis feff waren die Nachfolger der privaten IP-Adressen (beispielsweise 192.168.x.x). Sie dürfen nur innerhalb der gleichen Organisation geroutet werden. Man nennt sie auch Site-local (standortlokal). Diese Adressen sind nach RFC 3879 inzwischen veraltet (engl. deprecated) und werden aus zukünftigen Standards möglicherweise verschwinden.
- Die Nachfolger der standortlokalen Adressen (
Site-local addresses) sind wohl die Unique Local Addresses mit den Präfixen fc und fd, mehr dazu siehe unten.
- Das Präfix
ff steht für Multicast-Adressen. Dem Präfix folgen Angaben über den Gültigkeitsbereich des Pakets. Anstelle des x in der folgenden Aufstellung steht jeweils eine 0, wenn es sich um eine permanente Multicastgruppe handelt, und eine 1, wenn die Gruppe nur temporär besteht:
  -
ffx1: knotenlokal, diese Pakete verlassen den Knoten nie.
  -
ffx2: linklokal, werden von Routern grundsätzlich nie weitergeleitet und können deshalb das Teilnetz nicht verlassen.
  -
ffx5: sitelokal, dürfen zwar geroutet werden, jedoch nicht von Border-Routern.
  -
ffx8: organisationslokal, die Pakete dürfen auch von Border-Routern weitergeleitet werden, bleiben jedoch "in der Firma" (hierzu müssen seitens des Routing-Protokolls entsprechende Vorkehrungen getroffen werden).
  -
ffxe: globaler Multicast, der überall hin geroutet werden darf.

Autokonfiguration

Ein IPv6-Stack kann aus der Layer 2-MAC-Adresse eines Interfaces eine so genannte link-lokale Adresse errechnen, mit der ein Gerät sich auf die Suche nach den Routern in seinem Netzwerksegment machen kann. Dies geschieht durch eine Anfrage an die Multicast-Adresse
ff02::2, über die alle Router eines Links erreichbar sind. Ein Router versendet auf diese Anfrage hin u.a. Informationen über den Adressbereich, aus dem ein Gerät sich selbst eine Unicast-Adresse zuweisen darf. Die doppelte Vergabe einer Adresse wird durch einen Vorgang verhindert, der "Duplicate Address Detection" (DAD – Erkennung doppelt vergebener Adressen) genannt wird. Die DAD muss von jedem Gerät nach der Wahl einer Adresse durchgeführt werden. Ein Gerät darf bei der Autokonfiguration nur unvergebene Adressen auswählen. Dieser Vorgang läuft ohne Benutzereingriff vollautomatisch ab. Die IPv6-Autokonfiguration unterscheidet sich konzeptionell von DHCP bzw. DHCPv6. Während bei der Adressvergabe durch DHCPv6 (definiert in RFC 3315) von "Stateful Address Configuration" gesprochen wird (sinngemäß: Adressvergabe, über die Buch geführt wird, etwa durch einen DHCP-Server), ist die Autokonfiguration eine "Stateless Address (Auto)Configuration", da Geräte sich selbst eine Adresse zuweisen und über diese Vergabe kein Buch geführt wird. Da die Autokonfiguration keine Informationen über Host-, Domainnamen, DNS, NTP-Server etc. berücksichtigt, kann sie durch den Einsatz eines DHCPv6-Servers ergänzt werden. Dieser liefert die gewünschten Zusatzinformationen, kümmert sich dabei aber nicht um die Adressvergabe. Man spricht in diesem Fall von Stateless DHCPv6 (vgl. RFC 3736). Mechanismen wie Stateless DHCPv6 oder dynamisches DNS (Geräte tragen ihren Namen selbst im DNS ein, nicht zu verwechseln mit DynDNS) können die IPv6-Autokonfiguration sinnvoll ergänzen. Der EUI-64-Name der MAC-Adresse bildet bei der IPv6-Autokonfiguration in der Regel die letzten 64 Bit der IPv6-Adresse, es sei denn, die sog. "Privacy Extension" (s.u.) wird verwendet. Wegen einer Verwechslung in RFC 2460 wird der Algorithmus, um EUI-64-Namen aus EUI-48-Namen zu berechnen, fälschlicherweise auf MAC-48-Namen angewandt (Siehe auch: [http://www.atm.tut.fi/list-archive/ipng/msg10039.html Diskussion darüber]).

Umnummerierung

Unter IPv4 ist die Umnummerierung (engl.
Renumbering; Änderung des IP-Adressbereichs z.B. beim Provider-Wechsel) für Netze ab einer gewissen Größe ein problematisches Unterfangen, wenn sie manuell durchgeführt werden muss. Mechanismen wie DHCP können bei der Umnummerierung helfen, trotzdem ist der Vorgang nicht trivial. Speziell der sukzessive Übergang von einem Provider zum nächsten ohne ein "hartes" Umschalten zu einem festen Zeitpunkt ist schwierig, da dies nur dann möglich ist, wenn das Netz für einen gewissen Zeitraum multihomed ist. Multihoming bedeutet in diesem speziellen Fall (Provider-Wechsel), dass ein Netz gleichzeitig von mehr als einem Provider mit Internet-Anbindung und IP-Adressbereichen versorgt wird. Die Umnummerierung unter IPv4 führt teilweise zur Fragmentierung des Adressraums in der Default Free Zone (DFZ), d.h. es werden vergleichsweise kleine Netze bis in die Routing-Tabellen der DFZ propagiert. Für die Router resultiert diese Vergrößerung der Routing-Tabellen in Leistungsverlust. Der Vorgang der Umnummerierung wurde beim Design von IPv6 hingegen berücksichtigt. Mechanismen wie die IPv6-Autokonfiguration helfen bei der Umnummerierung erheblich. Der parallele Betrieb mehrerer IP-Adressbereiche gestaltet sich unter IPv6 ebenfalls unproblematischer als unter IPv4. Der Vorgang der Umnummerierung wird unter anderem im RFC 4076 behandelt, wo die wesentlichen Problematiken dieses Vorgangs beschrieben werden. Das Ziel eines sauber implementierten Renumberings ist u.a., dem Betreiber eines Enterprise-Netzwerkes die unkomplizierte, kurzfristige und freie Wahl von Providern zu ermöglichen und damit letztendlich den Wettbewerb der Provider untereinander zu steigern.

Mobile IPv6

Mobile IP wurde als Erweiterung des IPv6-Standards unter dem Namen "Mobile IPv6" (RFC 3775) in das IPv6 Protokoll integriert. Hierbei geht es darum, unter der gleichen IP-Adresse überall erreichbar zu sein, beispielsweise im heimischen Netzwerk und auf einer Konferenz. Normalerweise müssten dazu aufwändig Routing-Tabellen geändert werden. Mobile IPv6 benutzt stattdessen einen Schatten-Rechner ("Home Agent", HA), der das Mobilgerät in seinem Heimnetz vertritt. Eingehende Pakete werden durch diesen HA an die momentane Adresse ("Care-of-Address", CoA) des Mobilgeräts getunnelt. Der HA bekommt die aktuelle CoA des Mobilgerätes durch "Binding Updates" mit, die das Gerät an den HA sendet, sobald es eine neue Adresse im besuchten Fremdnetz erhalten hat.

Unique Local Addresses

Für private Adressen gibt es die Unique Local Addresses (ULA), wie beschrieben in RFC 4193. Dabei unterscheidet man zwischen lokal generierten ULA mit dem Präfix
fd und global zugewiesenen eindeutigen ULA mit dem Präfix fc. Auf dieses Präfix folgen dann 40 Bits, die als eindeutige Site-ID fungieren. Diese Site-ID ist bei den ULA mit dem Präfix fd zufällig zu generieren und somit nur sehr wahrscheinlich eindeutig, bei den global vergebenen ULA jedoch auf jeden Fall eindeutig (RFC 4193 gibt jedoch keine konkrete Implementierung der Zuweisung von global eindeutigen Site-IDs an). Nach der Side-ID folgt eine 16-bit Subnet-ID, welche ein Netz innerhalb der Site angibt. Eine Beispiel-ULA wäre fd9e:21a7:a92c:2323::1. Hierbei ist fd der Präfix für lokal generierte ULAs, 9e:21a7:a92c ein einmalig zufällig erzeugter 40-bit Wert und 2323 eine willkürlich gewählte Subnet-ID. Die Verwendung von eindeutigen bzw. wahrscheinlich eindeutigen Site-IDs hat den Vorteil, dass z.B. beim Einrichten eines Tunnels zwischen getrennt voneinander konfigurierten Netzwerken Adresskollisionen nicht auftreten bzw. relativ unwahrscheinlich sind. Weiterhin wird erreicht, dass Pakete, welche an eine nicht erreichbare Site gesendet werden, immer bzw. mit großer Wahrscheinlichkeit ins Leere laufen, anstatt an einen lokalen Host, welcher die selbe Adresse hat, gesendet zu werden.

Neues Header-Format und Effizienzsteigerung

Im Gegensatz zu IPv4 hat der IP-Header bei IPv6 eine feste Länge. Optionale Informationen werden in sogenannte Erweiterungs-Headern (engl.:
Extension Headers) zwischen dem IPv6-Header und der eigentlichen Nutzlast (engl. Payload) eingebettet. Der Header eines IPv6-Paketes setzt sich aus den folgenden Feldern zusammen:Mobile IP
Die Fragmentierung überlanger IPv6-Pakete erfolgt nicht mehr durch den Router selbst, der Absender wird stattdessen mit Hilfe von ICMP-Nachrichten aufgefordert, kleinere Pakete zu schicken (siehe in diesem Zusammenhang Maximum Transfer Unit (MTU) und Path MTU). Idealerweise sollte ein IPv6-Host vor dem Versenden einer großen Anzahl von IPv6-Paketen eine
Path MTU Discovery gemäß RFC 1981 durchführen, um Pakete mit maximal möglicher Größe verschicken zu können, was eine Leistungssteigerung bewirkt. Weiterhin werden (im Gegensatz zu IPv4) keine Prüfsummen mehr über das IP-Paket berechnet, es wird nur noch die Fehlerkorrektur in den Schichten 2 und 4 genutzt. Dadurch entfällt die Fehlerbehandlung in Schicht 3 durch den Router. Die meisten Felder der Header sind auf 64-Bit-Grenzen ausgerichtet, um Speicherzugriffe im Router zu beschleunigen. IPv6 macht intensiv Gebrauch von Multicast, der von jedem Host beherrscht werden muss. Das ARP-Protokoll wurde beispielsweise durch das neue Verfahren "Neighbor Solicitation" ergänzt: Die MAC-Adresse eines Hosts lässt sich nun auch über eine aus seiner IP gebildeten Multicastgruppe herausfinden.

Probleme

Gerade zu Anfang litt IPv6 unter einigen Kinderkrankheiten, die dem neuen Protokoll den Ruf einer "Totgeburt" einbrachten. Die Standards wurden häufig geändert, was einigen Unmut erzeugte, da man die gerade fertig gewordenen Implementierungen schon wieder verwerfen musste. Der größte Einschnitt bestand in der Einführung der IEEE-Norm EUI-64 für die linklokalen Adressen. Vorher übernahm man die MAC-Adresse des Adapters einfach in die IPv6-Adresse, nun wurde die MAC-Adresse gemäß EUI-64 in veränderter Form in die IPv6-Adresse übernommen. Das änderte jedoch nichts an dem Problem, dass aus der gleichen MAC-Adresse auch immer die gleiche IPv6-Adresse resultiert. Dynamische IP-Vergabe wie bei IPv4 sollte es ja bei IPv6 nicht mehr geben. Datenschützer waren besorgt, dass auf diese Weise der Datenverkehr einer IP auf Routern mitgeschnitten werden könnte und beispielsweise für Marketingmaßnahmen oder staatliche Interventionen aller Art verwendet werden könnte. Die IETF definierte deshalb nachträglich die Datenschutzerweiterungen ("Privacy Extensions") gemäß RFC 3041: Die MAC-Adresse wird dabei zunächst mit einer pseudozufälligen Zahl verwürfelt, und aus dem Ergebnis dann die linklokale Adresse des Gerätes ermittelt. In der Praxis ergab sich mit den linklokalen Adressen das Problem, dass es nicht mehr reicht, die IP-Adresse im Ziel-Feld einzutragen, sondern auch eine Scope-ID angegeben werden muss, da die linklokalen Adressen relativ zum Link sind und für sich genommen noch keinen Endpunkt definieren. Deshalb sind die linklokalen Adressen nur beschränkt zur Kommunikation tauglich (abhängig davon, ob die IPv6-Unterstützung der verwendeten Anwendung das Konzept der Scope-ID kennt).

IPv6 und DNS

Auf Grund der Länge der IP-Nummern, die man sich nur in den seltensten Fällen merken können wird, ist IPv6 in besonderem Maße von einer funktionierenden Nameserver-Infrastruktur abhängig. Gerade dieser wichtige Bereich ist jedoch bis heute eine Baustelle. Es ergaben sich im wesentlichen folgende Probleme: # IPv6-Autokonfiguration sucht normalerweise nicht nach Nameservern # Privacy Extensions und DNS sind wegen der sich häufig ändernden Adressen schlecht unter einen Hut zu bekommen # Chaos bei den DNS-Record-Typen für IPv6 Bei der Autokonfiguration erhält ein IPv6-Gerät vollautomatisch eine Adresse und ein Gateway, über das es ins Internet kommunizieren kann. Leider fehlt jedoch die Möglichkeit, auch automatisch einen DNS-Server zu suchen, was die Autokonfiguration fast wieder wertlos macht. Dies ist einer der Gründe, warum DHCP v6 entwickelt wurde, das eigentlich durch IPv6 überflüssig gemacht werden sollte. Wer ohne DHCP einen Nameserver finden will, muss auf Bastellösungen zurückgreifen, die meist ganz ähnlich wie die Router-Suche funktionieren. Statt einer Anfrage an die Multicast-Gruppe
alle Router wird dabei eine Anfrage an alle Nameserver abgesetzt. Falls es mehrere DNS-Server im lokalen Netz gibt, sucht sich der Client dann den Server seiner Wahl aus den eintreffenden Antworten heraus. Die Verwendung von Datenschutzerweiterungen ("Privacy Extensions") ist insofern eine Herausforderung an das DNS, als sich IP-Adressen dabei häufig und unvermittelt ändern. Wenn ein Client auf Erreichbarkeit unter einem DNS-Namen angewiesen ist, benötigt er ein zuverlässiges und sicheres Verfahren, um dem DNS-Server eine Adressänderung mitteilen zu können. Auf diesem Gebiet ist bis heute (2005) noch viel Bewegung zu verzeichnen und es hat sich noch kein verwendbarer Standard herauskristallisiert. Lange Zeit bestand auch auf der grundlegendsten Ebene des DNS, den Records auf den Nameservern, Verwirrung. 1995 wurden in RFC 1886 zunächst der Record-Typ AAAA für die Forward-Auflösung von DNS-Namen in IPv6-Adressen definiert, der funktional äquivalent zum A-Record für IPv4 ist. Im Jahr 2000 wurde AAAA in RFC 2874 durch den Record-Typ A6 abgelöst, der vor allem das Umnummerieren vereinfachen sollte, indem die IP-Adresse stückweise auf das DNS abgebildet wurde, jedoch nie frei von technischen Problemen war. Im Jahr 2003 wurde das Verfahren A6 daher in RFC 3596 wieder nach "experimentell" zurückgestuft, und AAAA wurde der neue, alte Standard. Noch mehr Schwierigkeiten bereitet die Rückwärtsauflösung ("Reverse"-Auflösung) von IPv6-Adressen, da es durch das Hin- und her bei den Standards PTR-Records in zwei verschiedenen Formaten gibt, die noch dazu in drei verschiedenen Zonen liegen.

Die Umsetzung von IPv6 in der Praxis

IPv6 setzt sich im praktischen Einsatz nur langsam durch. Das Projekt [http://www.ipv6ready.org IPv6-Ready] vergibt das IPv6 Logo in 3 verschiedenen Stufen, die die Implementierung des Protokolls messen. Die Webseite listet dazu auch alle IPv6-fähigen Betriebssysteme auf. Mit der Betriebssystemunterstützung sieht es im Moment folgendermaßen aus:
- AIX: Seit AIX 4 Version 4.3 ist IPv6 implementiert, seit AIX 5L Version 5.2 ist auch Mobile IPv6 implementiert.
- BSD-Varianten: Die derzeit noch beste und umfassenste Unterstützung für IPv6 – vor allem ein Verdienst des japanischen [http://www.kame.net KAME-Projektes]. IPv6 wird von den BSDs bereits sehr lange unterstützt (z.B. bei FreeBSD seit März 2000 und bei NetBSD seit Dezember 2000). Allerdings ist zu erwähnen, dass die OpenBSD-Entwickler aus Sicherheitsgründen kein IPv4-to-IPv6-Mapping implementiert haben und somit strenggenommen den Standard verletzen.
- Cisco: Cisco ist der Marktführer bei Internet-Routern. Bei der Umsetzung von IPv6 gehörte Cisco aber eher zu den Schlusslichtern. Es gibt zwar mittlerweile IPv6-fähige IOS-Versionen, diese werden aber nicht von vornherein installiert, da sie noch als experimentell eingestuft werden.
- HP-UX: Seit der Version 11iv2 ist IPv6 Bestandteil des Basissystems, frühere 11.x-Versionen können mit TOUR (Transport Optional Upgrade Release) IPv6-fähig gemacht werden.
- Linux: Der Kernel 2.6. bietet eine umfassende IPv6-Unterstützung auf ähnlichem Niveau wie die BSD-Derivate, die produktiv einsetzbar ist. Der Kernel 2.4 bietet eine als experimentell ausgewiesene Unterstützung für IPv6, der jedoch noch wichtige Eigenschaften wie IPSec und Datenschutzerweiterungen (Privacy Extensions, RFC 3041) fehlen. Eine experimentelle IPv6-Implementation ist ebenfalls in der Kernel-Version 2.2 enthalten.
- Mac OS X: Enthält seit Version 10.2 Unterstützung für IPv6 auf der Basis von KAME. Erst seit Version 10.3 lässt sich IPv6 auch über die GUI konfigurieren.
- Solaris: Seit der Version 8 ist die Unterstützung des IPv6-Protokolls auch in dem Betriebssystem der Firma SUN enthalten, das für SPARC- und i386-Rechnerarchitekturen zur Verfügung steht. Die Konfiguration erfolgt analog zu den Linux- und xBSD-Systemen über die Kommandozeile.
- Symbian OS: Seit der Version 7.0 ist IPv6 fester Bestandteil des Systems. Es sind nur wenige Parameter über die GUI zu konfigurieren.
- Windows 9x/ME: Lediglich eine von einem kommerziellen Drittanbieter verfügbare Unterstützung der Firma Trumpet (Winsock).
- Windows 2000: Microsoft bietet einen experimentellen Protokollstapel als Patch an, der sich aber ohne weitere Maßnahmen nur zum gegenseitigen Anpingen von Rechnern eignet. Das experimentelle Patch lässt sich nur auf PCs installieren, auf denen Windows 2000 mit Servicepack 1 läuft. Mittels einer kleinen Anpassung lässt es sich auch auf PCs installieren, auf denen Windows 2000 mit Servicepack 2 bis 4 läuft. Die Schritte zur Anpassung können auf der englischsprachigen "[http://msdn.microsoft.com/downloads/sdks/platform/tpipv6/faq.asp Frequently Asked Questions] about the Microsoft IPv6 Technology Preview for Windows 2000" Seite eingesehen werden.
- Windows Server 2003: Enthält einen "Production Quality"-Protokollstapel, unterstützt DNS-AAAA-Records und IPv6-Routing. Die IPsec-Komponente ist jedoch noch als "für den Produktiveinsatz ungeeignet" markiert, weil sie
static keying verwendet und Internet Key Exchange (IKE) nicht unterstützt. Außerdem versteht die wininet.dll, auf die sich beispielsweise der Internet Explorer stützt, keine literalen IP-Adressen nach RFC 2732. Weiterhin ist der Mobility-Support unvollständig: Die Funktion eines correspondent node ist aktivierbar, mobile node und home agent node werden hingegen nicht angeboten. Jedoch sind auch hier aufgrund des Mobile IPv6 Technology Preview diesbezügliche Erweiterungen bereitgestellt, und ihre Aufnahme in Windows Server 2003 darf mit einem der nächsten Service Packs erwartet werden.
- Windows XP: Auf expliziten Wunsch (
ipv6 install) kann man bei Windows XP einen experimentellen IPv6-Protokollstapel installieren. Ab ServicePack 1 hat dieser Protokollstapel "Production Quality", und wird als Protokoll in den Netzwerkeigenschaften hinzugefügt. Ab ServicePack 2 kann IPv6 ebenfalls unter den Netzwerkeigenschaften hinzugefügt werden, mit dem Namen Internet Protokoll Version 6. In Bezug auf den Mobility-Support gilt für Windows XP ab Service Pack 1 das Gleiche wie für Windows Server 2003: correspondent nodes sind verfügbar, mobile nodes und home agent nodes dagegen nicht. Im Rahmen des Mobile IPv6 Technology Preview-Programms sind entsprechende Erweiterungen verfügbar; man kann mit einem "serienmäßigen" Support mit einem der nächsten Service Packs rechnen. Viele Anwendungen (vor allem aus dem Bereich der Freien Software) sind inzwischen ebenfalls IPv6-fähig. Im heimatlichen LAN kann man so schon relativ problemfrei IPv6 benutzen. Jenseits des eigenen Border-Routers sieht es derzeit noch düster aus: Es gibt noch keine Provider, die IPv6-Anbindung aktiv im Endkundenbereich verkaufen, so dass man im Moment auf bisweilen unbefriedigende Bastel-Lösungen mit Tunneling zurückgreifen muss. Es existiert eine Reihe von Tunnelprotokollen für jeweils unterschiedliche Anwendungsbereiche, darunter die Protokolle 6in4, 6over4, 6to4, Teredo, ISATAP und das NAT-taugliche AYIYA. Zumindest in Europa und in Nordamerika besteht auch keine unbedingte Notwendigkeit zur Migration zu IPv6, da noch genügend freie IPv4-Adressen vorhanden sind (in Europa über 50%). In Asien geht der Trend inzwischen dahin, bei Neubauten (zum Beispiel dem NTT-Backbone) IPv6 auch zu benutzen. Von Seiten der Endbenutzer wird IPv6 auch deshalb nicht gefordert, weil außer dem größeren Adressbereich die wesentlichen neuen Eigenschaften von IPv6 inzwischen mehr oder weniger erfolgreich nach IPv4 zurückportiert wurden (beispielsweise IPSec, QoS, Multicast. Das Umnummerieren und die Autokonfiguration kann man durch DHCP in etwa erreichen) – es gibt keine weitverbreitete Anwendung, die nur mit IPv6 funktionieren würde. In Deutschland federführend bei den Versuchen zu IPv6 ist das JOIN-Projekt der Uni Münster. JOIN und der Verein zur Förderung eines Deutschen Forschungsnetzes (DFN) haben mit dem "6WiN" einen ersten IPv6-Backbone in Deutschland aufgebaut. Das 6WiN ist ein ringförmiger Backbone durch Deutschland mit Querverbindung zwischen Essen und Berlin. Parallel dazu baute die Deutsche Telekom einen eigenen IPv6-Backbone zwischen den Standorten Darmstadt, Münster und Berlin auf und bot ihren Geschäftskunden im Rahmen eines Showcase-Projektes Anschluss daran an. Dieses Netz war in Münster und Berlin mit dem 6Win verbunden. Ebenfalls in Münster lag der deutsche zentrale Zugang zum experimentellen IPv6-Netzwerk 6Bone, der am 7. Juni 2005 im Rahmen der planmäßigen sukzessiven Beendigung des weltweiten 6Bone-Betriebs abgeschaltet wurde.

Weiterführende Informationen

Was ist mit IPv5?

Wenn es IPv4 und IPv6 gibt, was ist dann mit IPv5? gehört mit zu den häufigsten Fragen, die sich IPv6-Neueinsteiger stellen. Ein Protokoll mit dem Namen IPv5 gibt es nicht, allerdings hat die IANA die IP-Versionsnummer 5 für das Internet Stream Protocol Version 2 (ST2, definiert in RFC 1819) reserviert, das gegenüber IPv4 verbesserte Echtzeitfähigkeiten haben sollte, dessen Entwicklung dann aber zu Gunsten von IPv6 und RSVP eingestellt wurde.

Siehe auch


- Anycast, Multicast, IPv9
- M6bone, 6Bone
- XORP

Weblinks


- [http://www.iana.org/assignments/ipv6-address-space der derzeit allozierte IPv6-Adressbereich im Überblick] (englisch)
- [http://6bone.net/ Homepage des experimentellen IPv6-Netzwerks 6Bone] (englisch)
- [http://www.sixxs.net/ der Verein Sixxs bietet Hilfe für IPv6 Tunnel an] (englisch)
- [http://www.tunnelbroker.net/ tunnelbroker.net bietet IPv6 Tunnel an] (englisch)
- [http://playground.sun.com/pub/ipng/html/ipng-implementations.html Liste von IPv6-Implementationen] (englisch)
- [http://www.ronaldnitschke.de/index.php?main=migration_ipv6/001&rechts=migration_ipv6/migration_ipv6_r Migration von IPv4 zu IPv6]
- Kategorie:Netzwerkprotokoll ja:IPv6 ko:IPv6

Internet Protocol

Das Internet Protocol (IP) (auch Internetprotokoll) ist ein in Computernetzen weit verbreitetes Netzwerkprotokoll. Es ist eine (bzw. die) Implementierung der Internet-Schicht des TCP/IP-Modells bzw. der Vermittlungs-Schicht des OSI-Modells. IP bildet die erste vom Übertragungsmedium unabhängige Schicht der Internet-Protokoll-Familie. Das bedeutet, dass mittels IP-Adresse und Subnetzmaske (subnet mask) Computer innerhalb eines Netzwerkes in logische Einheiten, so genannte Subnetze, gruppiert werden können. Auf dieser Basis ist es möglich, Computer in größeren Netzwerken zu adressieren und Verbindungen zu ihnen aufzubauen, da logische Adressierung die Grundlage für Routing (Wegewahl und Weiterleitung von Netzwerk-Paketen) ist. Das Internet Protocol stellt die Grundlage des Internets dar. Siehe auch: IPv4, IPv6, TCP/IP-Referenzmodell, OSI-Modell, IP-Adresse, IP-Header, Mobile IP, Referenzmodell, Address Resolution Protocol, IPTV, IP-Telefonie

Weblinks


- RFC 791 – Internet Protocol
- RFC 1883 – Internet Protocol, Version 6 Kategorie:Netzwerkprotokoll ja:Internet Protocol ko:IP


IPv4

IPv4 (Internet Protocol Version 4), früher einfach IP, ist die vierte Version des Internet Protocols (IP). Es war die erste Version des Internet Protocols welche weltweit verbreitet und eingesetzt wurde und bildet eine wichtige technische Grundlage des Internets. Es wurde in RFC 791 im Jahr 1981 von Jon Postel definiert.

Adressformat

IPv4 benutzt 32-Bit-Adressen, daher sind maximal 4.294.967.296 eindeutige Adressen möglich. IPv4-Adressen werden üblicherweise dezimal in 4 Blöcken geschrieben: zum Beispiel 207.142.131.235. Je Block werden 8 Bit zusammengefasst; somit ergibt sich für jeden Block ein Wertebereich von 0 bis 255. Bei der Weiterentwicklung IPv6 werden 128-Bit-Adressen verwendet. Es ist aber heute (2005) noch nicht sehr verbreitet. Eine IP-Adresse wird in einen Netzwerkteil und einen Host-(Adressen-)teil geteilt. Rechner sind im selben IP-Netz, wenn der Netzwerkteil ihrer Adresse gleich ist – das ist eine Voraussetzung, dass diese Rechner direkt miteinander kommunizieren können. Im selben Netz darf keine Host-Adresse doppelt vergeben sein. Für die Kommunikation zwischen unterschiedlichen Netzen wird ein Router benötigt. Den Adressteil vergibt der zuständige Administrator für jedes teilnehmende Gerät verschieden. In Netzen mit vielen Teilnehmern wird die Vergabe des Adressteils oft von einem so genannten DHCP-Server übernommen. Die Netzadresse vergibt der Besitzer oder Planer des Netzwerkes. Im Internet ist das IANA für die Vergabe der Netzadressen zuständig. Ein typisches Netzwerk trennt die 32-Bit in einen 24-Bit Netzwerk und einen 8-Bit Adressteil (Klasse-C-Adressen). Die genaue Aufteilung zwischen Netzteil und Adressteil wird in Form der Subnetmask angegeben (im Klasse-C-Fall 255.255.255.0). Früher gab es drei fest vorgeschriebene Einteilungen für Netzwerkklassen mit einer festen Bitzahl. Klasse A: 001–127.0.0.0, Klasse B: 128–191.255.0.0 oder Klasse C: 192–223.255.255.0, allerdings erwies sich diese Einteilung als zu unflexibel, so dass man dazu übergegangen ist, diese Einteilung bitvariabel im Classless Inter-Domain Routing-Verfahren durchzuführen. Heutzutage kann man genaugenommen nicht mehr zum Beispiel von Klasse C-Netzwerken sprechen, allerdings ist es im allgemeinen Sprachgebrauch erhalten geblieben. Die maximale Anzahl der zu vergebenen Host-Adressen in einem Netz ist : 2Anzahl Bits der Hostadresse − 2 Zwei Host-Adressen fallen immer weg – die erste Adresse (zum Beispiel 192.168.0.0) bezeichnet das Netz selber, die letzte Adresse (zum Beispiel 192.168.0.255) ist für den Broadcast reserviert. (Alle Teilnehmer werden angesprochen.)

Besondere Netzwerkadressen

Einige Klassen von Netzwerkadressen sind für spezielle Zwecke reserviert.

Lokale Netzwerkadressen

Lokale Netzwerke können in folgenden Netzbereichen realisiert werden:
- Klasse A: 10.0.0.0 (10.0.0.0/8 prefix)
- Klasse B: 172.16.0.0 – 172.31.0.0 (172.16.0.0/16 prefix)
- Klasse B: 169.254.0.0 – 169.254.0.0 (169.254.0.0/16 prefix) mittels Zeroconf oder APIPA
- Klasse C: 192.168.0.0 – 192.168.255.0 (192.168.0.0/24 prefix) Die Besonderheit an den Netzen 10/8, 172.16–31/16, 169.254/16 und 192.168.0–255/24 ist, dass sie im Internet ungültig sind und nicht transportiert werden. Somit eignen sich diese Adressen ausdrücklich für lokale Netze, die mittels NAT (Network Address Translation) ins Internet transportiert werden können.

Beispiele

Beispiel: (Klasse-C-Netz) Beispiel: (Classless)

Paketlänge

Ein IP-Paket besteht aus einem Header und den eigentlichen Daten. Der Datenteil enthält in der Regel ein weiteres Protokoll, meist TCP, UDP oder ICMP. Die maximale Länge der Daten beträgt 65515 Bytes (216-1-minimale Headerlänge). Normalerweise beschränkt der Sender die Paketlänge auf diejenige des zugrundeliegenden Mediums. Bei Ethernet beträgt die so genannte MTU (Maximum Transfer Unit) 1518 Bytes, wobei 18 Bytes von Ethernet selbst belegt werden. Für IP (Header und Daten) stehen also nur 1500 Bytes zur Verfügung. Deshalb ist die Länge von IP-Paketen oft auf 1500 Bytes festgesetzt. Andere Netzwerke können die Paketlänge weiter beschränken. In diesem Fall bietet IP die Option, IP-Pakete zu fragmentieren. Jedes Paket erhält vom Sender eine Kennung (die Fragment-ID). Ein Router kann ein langes Paket aufteilen, weil das Zielnetzwerk Pakete dieser Länge nicht überträgt. Der Empfänger kann die Fragmente anhand der Kennung und der Senderadresse identifizieren und wieder zusammenfügen.

Routing

IPv4 unterscheidet nicht zwischen Endgeräten (Hosts) und Vermittlungsgeräten (Router). Jeder Computer und jedes Gerät kann gleichzeitig Endpunkt und Router sein. Ein Router verbindet dabei verschiedene Netzwerke. Die Gesamtheit aller über Router verbundenen Netzwerke bildet das Internet. IPv4 ist für LANs und WANs gleichermaßen geeignet. Ein Paket kann verschiedene Netzwerke vom Sender zum Empfänger durchlaufen, die Netzwerke sind durch Router verbunden. Anhand von Routingtabellen, die jeder Router individuell pflegt, wird der Netzwerkteil einem Zielnetzwerk zugeordnet. Die Einträge in die Routingtabelle können dabei statisch oder über Routingprotokolle dynamisch erfolgen. Die Routingprotokolle dürfen dabei sogar auf IP aufsetzen. Bei Überlastung eines Netzwerks oder einem anderen Fehler darf ein Router Pakete auch verwerfen. Pakete desselben Senders können bei Ausfall eines Netzwerks auch alternativ geroutet werden. Jedes Paket wird dabei einzeln geroutet, was zu einer erhöhten Ausfallsicherheit führt. Beim Routing über IP können daher
- einzelne Pakete verlorengehen
- Pakete doppelt beim Empfänger ankommen
- Pakete verschiedene Wege nehmen
- Pakete fragmentiert beim Empfänger ankommen. Wird TCP auf IP aufgesetzt (d. h. die Daten jedes IP-Pakets enthalten ein TCP-Paket, aufgeteilt in TCP-Header und Daten), so wird neben dem Aufheben der Längenbeschränkung auch der Paketverlust durch Wiederholung korrigiert. Doppelte Pakete werden erkannt und verworfen. Die Kombination TCP mit IP stellt dabei eine zuverlässige bidirektionale Verbindung eines Datenstroms dar.

ICMP

IP ist eng verknüpft mit dem ICMP-Protokoll, das zur Fehlersuche und Steuerung eingesetzt wird. ICMP setzt auf IP auf, d. h. ein ICMP-Paket wird im Datenteil eines IP-Pakets abgelegt. Eine IP-Implementierung enthält stets auch eine ICMP Implementierung. Wichtig ist z. B. die ICMP Source-Quench Mitteilung, die den Sender über das Verwerfen von Paketen durch einen Router informiert. Da jedes IP-Paket die Quell-Adresse enthält, können Informationen an den Sender zurück übermittelt werden. Dieser kann nach einem Source-Quench die Paketsendefrequenz verringern und so die Notwendigkeit eines weiteren Verwerfens minimieren oder vermeiden. ICMP kann zusammen mit dem Don't Fragment-Bit des IP-Pakets auch eingesetzt werden, um die minimale MTU eines Übertragungsweges zu ermitteln (so genannte PMTU Path Maximum Transfer Unit). Dies ist die MTU desjenigen Netzwerkes mit der kleinsten MTU aller passierten Netzwerke. Dadurch kann auf Fragmentierung verzichtet werden, wenn der Sender nur Pakete mit der maximalen Größe der PMTU erzeugt.

IPv4 auf Ethernet

IPv4 kann auf vielen verschiedenen Medien aufsetzen, z. B. auf serielle Schnittstellen (PPP oder SLIP), Satellitenverbindungen usw. Im LAN-Bereich wird heute fast immer Ethernet eingesetzt. Ethernet verwaltet eigene 48-Bit Adressen. Wenn IP über Ethernet gesendet wird, wird ein 14-Byte großer Ethernet-Header vor dem IP-Header gesendet. Nach den Daten folgt eine 32-Bit CRC-Prüfsumme. Neben der maximalen Paketlänge von 1518 Bytes kann Ethernet keine kleineren Pakete als 64 Bytes übertragen, so dass zu kurze IP-Pakete (Datenlänge kleiner als 26 Bytes) mit Nullbytes erweitert werden (so genanntes Padding). Die Länge im IP-Header gibt dann Auskunft über die tatsächliche Paketgröße. Im Ethernet hat jede Netzwerkkarte ihre eigene herstellerbezogene 48-Bit Adresse, zusätzlich gibt es eine Ethernet-Broadcastadresse. Ein Sender muss die Ethernetadresse der Zielnetzwerkkarte kennen, bevor ein IP-Paket gesendet werden kann. Dazu wird das ARP-Protokoll (Address Resolution Protocol) verwendet. Jeder Rechner verwaltet einen ARP-Cache, in dem er ihm bekannte Zuordnungen von Ethernet-Kartenadressen speichert. Unbekannte Adressen erfährt er über das ARP-Protokoll mittels einer Anfrage (ARP-Request) über einen Ethernet-Broadcast, die der zugehörige Empfänger beantwortet (ARP-Reply).

Header-Format

Der IPv4-Header ist normalerweise 20 Bytes lang. Bei Übertragung auf Ethernetkabeln folgt er dem Ethernet-Typfeld, das für IP-Pakete auf 080016 festgelegt ist. Auf anderen Übertragungsmedien kann der Header auch der erste Eintrag sein. IPv4 bietet verschiedene, größtenteils ungenutzte Optionen, die den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern können. Eine spezielle Bedeutung kommt in modernen Implementation dem Feld Type of Service zu. Ursprünglich diente dieses Feld bei der Vermittlung eines Datenpaketes als Entscheidungshilfe für die beteiligten Router bei der Wahl der Übertragungsparameter. In modernen Implementationen wird dieses Feld im Zusammenhang mit der Vermeidung von Überlastungen verwendet.

Höhere Protokolle

IPv4 ist ein geroutetes Protokoll (Schicht 3 im TCP/IP-Referenzmodell). Auf IPv4 werden weitere Protokolle aufgesetzt, d. h. in den Datenteil des IP-Pakets werden die Header, Daten und evtl. Trailer der oberen Protokolle eingefügt (Protokollstapel). Neben dem erwähnten ICMP wird TCP verwendet, das TCP/IP zusammen mit IP den Namen gegeben hat. TCP ist ein verbindungsorientiertes Protokoll, das einen byteorientierten, bidirektionalen, zuverlässigen Datenstrom zur Verfügung stellt. Es wird im WAN-Bereich praktisch für alle Arten von Daten- und Informationsübertragungen eingesetzt. Zu TCP/IP gehört auch UDP, ein paketorientiertes Protokoll. Es ist ein einfaches Protokoll, das die Paketeigenschaften von IP im wesentlichen beibehält (verbindungslos, unzuverlässig, Verdoppelung etc.). TCP und UDP fügen IP eine Prüfsumme über die Daten (die Prüfsumme im IP-Header prüft nur die Headerdaten) und als Quell- und Zielport jeweils eine 16-Bit Zahl hinzu. Diese Ports bilden zusammen mit der jeweiligen Quell- und Zieladresse im IP-Paket so genannte Endpunkte. Prozesse kommunizieren über diese Endpunkte. TCP baut eine Verbindung nicht zwischen IP-Adressen, sondern zwischen zwei Endpunkten auf. Die weiteren Protokolle setzen alle entweder auf TCP oder auf UDP auf. Ein wichtiges Protokoll ist das Domain Name System DNS, das eine Umsetzung von Rechnernamen zu IP-Adressen erlaubt. Es überträgt Informationen normalerweise über UDP, der Abgleich zwischen zwei DNS-Servern kann aber auch das TCP-Protokoll verwenden.

Vergangenheit und Zukunft

DNS Das IPv4-Protokoll hat lange nahezu unverändert überlebt. Ab 1983 wurde die IP-Protokoll-Familie als einzige Protokollfamilie für das ARPAnet übernommen, das dann später zum Internet wurde. Damals waren nur einige hundert Rechner an das Netz angeschlossen. 1989 wurde die Grenze von 100.000 Rechnern überschritten, und im gleichen Jahr der Backbone auf 1.5 MBit/s aufgerüstet. Anfang der 1990er Jahre wurde vermutet, dass die IP-Adressen am Ende des Jahrzehnts knapp würden, da die IANA relativ große Adressbereiche an Firmen und Institutionen zuteilte. Dies führte zuerst zur Entwicklung eines Entwurfes für einen Standard (IPv5), der dann aber zu Gunsten von IPv6 verworfen wurde. IPv5 sollte dabei einen 64Bit Adressbereich unterstützen. Die gestiegenen Sicherheitsanforderungen und die Verwendung von Firewalls mit Network Address Translation NAT führte jedoch zu einer Entschärfung der Adressproblematik, da heute ganze Firmen mit mehreren tausend Rechnern nur noch eine einzige IP-Adresse pro Standort benötigen. Einige Eigenschaften, wie Fragmentierung, werden nicht mehr benötigt, da sie für die heutigen schnellen Netze zu aufwändig sind. Path Maximum Transfer Unit Discovery löst dieses Problem. IPv4 scheint auch in nächster Zukunft noch das allgemein verwendete Protokoll im Internet zu bleiben. Schließlich hat IP auch die konkurrierenden LAN-Protokolle wie DECnet verdrängt. Netware, AppleTalk und NetBIOS wurden als neue Versionen hervorgebracht, die auf IP aufsetzen. Siehe auch: IP-Header

Weblinks


- RFC 791 – Internet Protocol Kategorie:Netzwerkprotokoll ko:IPv4

Routing

Routing [] (amerik.)/[] (brit.) oder Verkehrslenkung bezeichnet in der Telekommunikation die Übermittlung von Nachrichten über vermaschte Nachrichtennetze. Die Vermittlungstechnik bezeichnet mit dem Begriff Verkehrslenkung (engl.: routing) die Auswahl der Wegeabschnitte beim Aufbau von Nachrichtenverbindungen, die unter Berücksichtigung von Kriterien wie kürzeste Entfernung etc. erfolgen kann. Handelt es sich um eine leitungsvermittelte Verbindung, wird ein Übertragungskanal für die gesamte Zeit der Verbindung ausgewählt, und alle Nachrichten werden über denselben Weg geleitet. Handelt es sich dagegen um eine paketvermittelte Datenübertragung, wird der Weg für jedes Paket von jedem Netzknoten neu bestimmt. Prinzipiell werden drei Verfahren unterschieden:
- feste Verkehrslenkung
- alternative Verkehrslenkung
- adaptive Verkehrslenkung

Routing von Paketen

Beim paketvermittelten Routing wird dafür gesorgt, dass logisch adressierte Pakete aus dem Ursprungs-Netz heraus kommen und in Richtung ihres Ziel-Netzes weitergeleitet werden. Routing ist die Basis des Internet. Ohne Routing würde das Internet nicht existieren und alle Netze wären autonom. Die Datenpakete können dabei viele verschiedene Zwischen-Netze auf dem Weg zu ihrem Ziel passieren. Routing ist eine wesentliche Aufgabe der dritten Schicht des OSI-Modells. Hubs und Switches leiten Daten nur im lokalen Netz weiter, wohingegen der Router auch benachbarte Netze kennt. Dieser Artikel beschreibt Routing auf eine Hardware-unabhängige Art. Für Informationen über Router selbst siehe den Router-Artikel. Um zu wissen, wohin Pakete gesendet werden sollen, muss man die Struktur des Netzes kennen. In kleinen Netzen kann das Routing sehr einfach sein und wird oft per Hand konfiguriert. Man spricht dann auch von statischem Routing. Große Netze können eine komplexe Topologie haben, die sich möglicherweise häufig ändert, was unter anderem das Routing zu einer komplexen Angelegenheit macht. Hier wird in der Regel ein dynamisches Routing angewandt. Da Router die besten Routen im Verhältnis zur Anzahl der zu bewegenden Pakete nur sehr langsam berechnen können, merken sie sich in einer Routingtabelle die bestmögliche Route zu bestimmten Netzen und die dazugehörigen Routing-Metriken. Der kürzeste Weg kann zum Beispiel mit dem Algorithmus von Dijkstra gefunden werden.

Source Routing

In lokalen Netzen wird häufig das sogenannte Source Routing verwendet. Die sendende Station trägt die Adresse des nächsten Netzknotens in den Kopf der Nachricht ein. Jeder folgende Netzknoten adressiert den darauffolgenden Knoten direkt im Kopf der Nachricht. Dieses Verfahren wird z.B. im Usenet Mail Service verwendet. Ein beliebtes Beispiel ist das Dynamic Source Routing, hierbei erfährt die sendende Station durch die Route Discovery eine gültige Route zur Ziel Station. Diese Route wird in den Header eines jeden Paketes zur Ziel Station eingetragen und jeder Zwischenknoten ist verpflichtet, das Paket entlag dieser Route weiterzuleiten. Das korrekte Forwarden kann in wireless Netzen auch durch den vorigen Hop-Knoten kontrolliert werden (mithören).

Routing-Protokoll

Routing-Protokolle sorgen für den Austausch von Routing-Informationen zwischen den Netzen und erlauben es den Routern, ihre Routing-Tabellen dynamisch aufzubauen. Traditionelles IP-Routing bleibt einfach, da Next-Hop-Routing benutzt wird. Der Router sendet das Paket an denjenigen Nachbar-Router, von dem er glaubt, dass er am nächsten am Zielnetz liegt. Um den weiteren Weg des Pakets braucht sich der Router nicht zu kümmern. Selbst wenn er falsch lag und das Paket nicht an den "optimalen" Nachbarn gesendet hat, kommt das Paket trotzdem früher oder später am Ziel an. Obwohl dynamisches Routing sehr komplex werden kann, macht es das Internet sehr flexibel und erlaubte das exponentielle Wachstum des Internets seit der Einführung von IP im Jahre 1983. Wenn Teile der Backboness ausfallen (so geschehen z.B. im Sommer 2002, als der Carrier KPNQwest sein europaweites Glasfasernetz wegen Insolvenz abschalten musste), können innerhalb von Sekunden Alternativrouten propagiert werden und die betroffenen Netzteile weiträumig umgangen werden. Dem Ausfall des Standardgateways, das ist meist der erste Router vom Sender aus gesehen, wirkt dynamisches Routing jedoch nicht entgegen. Hierfür wurden HSRP, VRRP und CARP entwickelt. Da ein Host im Normalfall keine Alternative zum Standardgateway hat, ist dies der wichtigste Router der Route.

Routing-Algorithmen

Routing-Algorithmen benutzen zwei grundlegende Verfahrensweisen:
- Teile deinen Nachbarn mit, wie die Welt aussieht:Distanzvektor-Protokolle wie z.B. das Routing Information Protocol (RIP).
- Teile der Welt mit, wer deine Nachbarn sind: Link-State-Routing-Protokolle wie z.B. OSPF Weiterhin können Routing-Algorithmen im wesentlichen nach Ihrer Zentralisation und Ihrer Dynamik beurteilt werden:
- Zentralisation: Wo ist der Algorithmus lokalisiert? Zentral in einem Netzkontrollzentrum oder dezentral verteilt auf die Vermittlungsknoten?
- Dynamik: Ist das Verfahren nicht adaptiv, d.h. die Routingtabelle in dem Vermittlungsknoten bleibt über längere Zeit konstant, verglichen mit der Verkehrsänderung. Oder ist das Verfahren adaptiv, d.h. die Routingentscheidungen hängen vom Zustand des Netzes ab. (Topologie,Lastverhältnisse) Aus diesen Punkten ergibt sich ein Zielkonflikt, da zwar zentrale,nicht adaptive Verfahren das Netz selber weniger mit Routingnachrichten belasten, aber möglicherweise veraltete und/oder unvollständige Informationen über den Zustand des Netzes benutzen. Je adaptiver und verteilter die Routingverfahren sind, desto besser sind die Informationen über das Netz. Aber desto mehr wird dieses auch durch den Austausch von Nachrichten zum Routen belastet. Hier gibt es nun eine Vielzahl von Algorithmen, die einen Unterschiedlichen Grad von Zentralisation und Dynamik aufweisen:
- zentralisiertes Routing
- Static-Routing
- Delta-Routing
- Broadcast-Routing
- Hot Potato
- Backward Lerning, verteiltes adaptives Routing (RIP, OSPF, IS-IS...)

Die Verfahren im Einzelnen

Statisches Routing: Dieses Verfahren ist nicht adaptiv, sehr einfach und daher viel benutzt. Jeder Knoten unterhält eine Tabelle mit einer Zeile für jeden möglichen Zielknoten. Eine Zeile enthält n Einträge, welche die beste, zweitbeste usw. Übertragungsleitung für dieses Ziel ist zusammen mit einer Wichtung. Vor Weiterleitung eines Paketes wird der entsprechende Eintrag aus der Tabelle gewählt und auf eine der möglichen Leitungen gegeben. Die Wichtung widerspiegelt hier die Wahrscheinlichkeit, das diese Leitung gewählt wird. Zentralisiertes Routing: Zentralisiertes Routing stellt ein adaptives Verfahren dar. Es existiert im Netz ein Routing Control Center (RCC), an welches jeder Knoten periodisch Zustandsinformationen sendet. (z.B.: Liste aller aktiven Nachbarn, aktuelle Warteschlangenlänge, Umfang an Verkehr seit letzter Meldung, ...) Das RCC sammelt die Zustandinformationen und berechnet aufgrund dieser Kenntnis über das gesamte Netz die optimale Weglänge zwischen allen Knoten. Danach übermittelt das RCC jedem Knoten eine Routingtabelle, anhand der Knoten seine Routing-Entscheidungen trifft. Vorteil:
- RCC hat theoretisch die vollständige Übersicht und kann somit 'perfekte' Entscheidungen treffen
- Knoten müssen keine aufwendigen Berechnungen durchführen Nachteil:
- Berechnung dauert für große Netze u.U. sehr lange
- Ausfall des RCC lähmt das ganze Netz (sofern kein Back-up Rechner)
- globale Inkonsistenzen mgl., da Knoten nahe am RCC wesentlich früher die neuen Routingtabellen erhalten als die weiter entfernten
- starke Belastung des RCC durch die zentrale Funktion Isoliertes Routing Bei dieser Art der Routingverfahren, entscheidet jeder Knoten nur auf Grund der Informationen, die er selber sammelt. Es findet kein austausch von Routing-Informationen statt. Die Anpassung an Änderungen des Verkehrs oder der Topologie des Netzes (durch z.B.: Ausfall von Knoten) kann hier also nur mit beschränkten Informationen erfolgen. Zu den isolierten Routing-Verfahren zählen:
- Broadcast Routing
- Hot Potato
- Backward Learning
- Delta-Routing Broadcast Routing Beim Broadcast Routing wird ein Paket an alle Knoten gesendet. Hierbei unterscheiden sich zwei Varianten: Einmal das für jeden Knoten ein gesondertes Paket erstellt wird und zum anderen das Fluten. Das Fluten ist hierbei das einfachste Verfahren und ist nicht adaptiv. Jedes eingehende Paket wird auf jeder Übertragungsleitung weitergegeben, außer auf derjenigen, auf welcher es eintraf. Hierbei können auch Maßnahmen zur Eindämmung der Flut getroffen werden, wie:
- Erkennung von Duplikaten von Paketen, durch Nummerierung der Pakete
- Kontrolle der Lebensdauer von Paketen durch zählen der zurückgelegten Teilstrecke (hops)
- Selektives Fluten (Weiterleitung nicht auf allen, sondern nur auf einigen Leitungen)
- Random Walk (zufällige Auswahl einer Leitung) Hot Potato Jeder Knoten versucht, eingehende Pakete so schnell wie mgl. weiterzuleiten. (Sie behandeln das Paket wie eine heiße Kartoffel, daher der Name) Hierbei wird die Übertragungsleitung mit der kürzesten Warteschlange gewählt. Es gibt auch Kombinationen dieses Verfahrens mit denen des statischen Routing:
- Auswahl der besten Übertragungsleitung nach statischem Verfahren, solange deren Warteschlangenlänge unter einer bestimmten Schwelle bleibt.
- Auswahl der Übertragungsleitung mit der kürzesten Warteschlange, falls deren Gewicht zu niedrig ist. (siehe stat. Routing weiter oben) Backward Learning Bei diesem Verfahren müssen folgende Informationen im Paket gespeichert werden:
- Identifikation des Quellknotens
- Zähler der mit jeder zurückgelegten Teilstrecke (hop) um eins erhöht wird Wenn ein Knoten nun ein Paket erhält, kann er die Hopanzahl erkennen und weiß über welchen Eingang er es erhalten hat. Damit kann jeder Knoten aus den erhaltenen Paketen schließen, über welchen Weg er die anderen Knoten mit der minimalen Anzahl an Hops erreichen kann. Ein Eintrag in der Routingtabelle wird ersetzt, wenn ein Paket mit einer niedrigeren Hopanzahl den Knoten erreicht, als in der Tabelle eingetragen ist. Die Einträge werden aber auch dann aktualisiert, wenn eine gewisse Zeit lang kein Paket mehr mit einer bestimmten Hopanzahl von dem jeweiligen Knoten erhalten wurde. Es werden also in festen Zeitabständen Lernperioden zugelassen, in denen bessere Einträge mit schlechteren überschrieben werden, wenn diese eine gewisse Zeit alt sind.(Dann muß man davon ausgehen, dass die bessere Verbindung nicht mehr existiert und die nächstbeste wählen) Daraus ergeben sich folgende Probleme:
- wärend der Lernperiode ist das Routing nicht optimal
- bei kurzen Lernperioden (Einträge werden schneller zum schlechteren aktualisiert) nehmen viele Pakete Wege unbekannter Qualität
- bei langen Lernperioden ergibt sich ein schlechtes Anpassungsverhalten an die Situation im Netz Delta Routing Dieses Verfahren stellt eine Kombination zwischen zentralisiertem und isoliertem Routing dar. Hierbei misst jeder Knoten periodisch die Kosten jeder Übertragungsleitung. (z.B.: eine Funktion der Verzögerung, Auslastung, Kapazität, ...) und sendet diese an das RCC. Das RCC berechnet nun die k besten Wege von Knoten i zu Knoten j (a für alle Knoten i, j), wobei nur Wege berücksichtigt werden die sich in ihrer initialen Leitung unterscheiden. Das RCC sendet an jeden Knoten die Liste aller äquivalenten Wege für alle Bestimmungsorte. Zum aktuellen Routing kann ein Knoten einen äquivalenten Weg zufällig wählen, oder auf Grund aktuell gemessener Kosten entscheiden. Das namensgebende Delta stammt hier aus der Funktion mit der ermittelt wird, ob zwei Wege als äquivalent anzusehen sind. Verteiltes adaptives Routing Bei diesem Verfahren tauscht jeder Knoten periodisch Routing-Informationen mit jedem seiner Nachbarn aus. Auch hier unterhält jeder Knoten eine Routing-Tabelle, die für jeden anderen Knoten im Netz einen Eintrag enthält. In dieser Tabelle sind die bevorzugte Übertragungsleitung für diesen Knoten, sowie eine Schätzung zu Zeit oder Entfernung zu diesem Knoten enthalten:
- Anzahl Hops
- Geschätzte Verzögerung in Millisekunden
- Geschätzte totale Anzahl von Paketen, die entlang des Weges warten Diese Schätzungen werden gewonnen aus der Zeit/Entfernung zu den Nachbarn (z.B.: mittels speziellen Echo-Paketen mit Zeitstempel) und/oder Schätzungen der Nachbarn. Ein Austausch der Routing-Informationen kann entweder synchron in bestimmten Aktualisierungsintervallen oder asynchron bei signifikanten Änderungen erfolgen. Zu diesem Verfahren gehören unter Anderem das:
- Distance Vector Routing
- Link State Routing Distance Vector Routing Ein verteiltes, adaptives Routing, welches als RIP früher im Internet benutzt wurde. Hierbei speichert jeder Router eine Tabelle mit der besten Entfernung (z.B.: Anzahl hops, Verzögerung in ms) zu jedem Ziel und dem dazugehörigen Ausgang. In der Praxis hat dieses Verfahren eine zu langsame Konvergenz zu einem konsistenten Zustand für viele Router, auf Grund der "Count-to-infinity"-Problematik. Link State Routing Ein verteiltes, adaptives Routing, welches als OSPF und IS-IS im Internet eingesetzt wird. Dabei findet folgender Algorithmus Anwendung:
- Entdecken neuer Nachbarn mittels HELLO-Paket
- Messung der Verzögerung bzw. der Kosten zu jedem Nachbarn, mittels ECHO-Paket
- Erstellung eines LINK-STATE-Pakets mit allen gelernten Daten (Sender,Liste der Nachbarn mit Verzögerung, Alter, ...),welches periodisch oder ereignisgesteuert (z.B.: neuer Nachbar, Ausfall, ...) erzeugt wird
- Versenden dieses Pakets an alle Nachbarn (prinzipiell mittels Fluten, aber mit Verfeinerung: Vernichten von Duplikationen, Zerstören der Information nach gewissem Alter etc.)
- Berechnung des kürzesten Pfades zu allen anderen Routern (z.B.: Dijkstra) Dieses Verfahren ist sehr rechenaufwendig, aber Optimierungen dieses Verfahrens existieren und gehören dann zu der jeweiligen Topologie usw. des Netzes. Hierarchisches Routing Die Grundlage des Hierarchischen Routings ist die Aufteilung großer Netze in Regionen. Die Knoten einer Region haben nur Routing-Informationen über ihre eigene Region. In jeder Region existiert zumindest ein ausgezeichneter Knoten, welcher als Schnittstelle zu den anderen Regionen dient. In sehr großen Netzen sind weitere Hierarchien auf Grund zunehmender Größe der Netze mgl.(Regionen,Cluster,Zonen,Gruppen, ...)

Metrik

Eine Routing-Metrik ist ein Wert, mit dessen Hilfe ein Routing-Algorithmus feststellen kann, ob eine Route im Vergleich zu einer anderen besser ist. (Bei mehreren möglichen Routen wird eine Route mit kleiner Distanz im Sinne der Metrik bevorzugt.) Metriken können Informationen wie z.B. Bandbreite, Verzögerung, Hop Count, Pfadkosten, Last, MTU, Verlässlichkeit und Kommunikationskosten berücksichtigen. In der Routing-Tabelle werden nur die bestmöglichen Routen gehalten, während Link-State- oder topologische Datenbanken alle anderen Informationen beinhalten.

Interior Gateway Protokolle (IGP) – Exterior Gateway Protokolle (EGP)

Abhängig davon, ob der Router Teil eines autonomen Systems ist oder gar dessen Grenze bildet, verwendet er Routing-Protokolle aus verschiedenen Klassen:
- Ad hoc Routing-Protokolle werden in Netzen mit wenig oder keiner Infrastruktur verwendet.
  - OLSR findet meist Verwendung im mobilen Bereich
- Interior Gateway Protocols (IGPs) tauschen Routing-Informationen in einem einzelnen autonomen System aus. Häufig verwendet werden:
  - IGRP/EIGRP (Interior Gateway Routing Protocol/ Enhanced IGRP)
  - OSPF (Open Shortest Path First)
  - RIP (Routing Information Protocol)
  - IS-IS (Intermediate System to Intermediate System)
- Exterior Gateway Protocols (EGPs) regeln das Routing zwischen verschiedenen autonomen Systemen. Dazu gehören:
  - EGP (mit dem alten Exterior Gateway Protocol wurden früher die Internet-Backbones verbunden. Es ist inzwischen veraltet)
  - BGP (Border Gateway Protocol: seit 2002 in der Version BGP4)

Siehe auch


- CIDR Classless Inter-Domain Routing
- NAT (Network Address Translation)
- MPLS Multiprotocol Label Switching
- XORP
- Problem des Handlungsreisenden
- Kürzeste-Wege-Algorithmus von Dijkstra Kategorie:Computernetzwerk Kategorie:Telekommunikation ja:ルーティング

IPv4

IPv4 (Internet Protocol Version 4), früher einfach IP, ist die vierte Version des Internet Protocols (IP). Es war die erste Version des Internet Protocols welche weltweit verbreitet und eingesetzt wurde und bildet eine wichtige technische Grundlage des Internets. Es wurde in RFC 791 im Jahr 1981 von Jon Postel definiert.

Adressformat

IPv4 benutzt 32-Bit-Adressen, daher sind maximal 4.294.967.296 eindeutige Adressen möglich. IPv4-Adressen werden üblicherweise dezimal in 4 Blöcken geschrieben: zum Beispiel 207.142.131.235. Je Block werden 8 Bit zusammengefasst; somit ergibt sich für jeden Block ein Wertebereich von 0 bis 255. Bei der Weiterentwicklung IPv6 werden 128-Bit-Adressen verwendet. Es ist aber heute (2005) noch nicht sehr verbreitet. Eine IP-Adresse wird in einen Netzwerkteil und einen Host-(Adressen-)teil geteilt. Rechner sind im selben IP-Netz, wenn der Netzwerkteil ihrer Adresse gleich ist – das ist eine Voraussetzung, dass diese Rechner direkt miteinander kommunizieren können. Im selben Netz darf keine Host-Adresse doppelt vergeben sein. Für die Kommunikation zwischen unterschiedlichen Netzen wird ein Router benötigt. Den Adressteil vergibt der zuständige Administrator für jedes teilnehmende Gerät verschieden. In Netzen mit vielen Teilnehmern wird die Vergabe des Adressteils oft von einem so genannten DHCP-Server übernommen. Die Netzadresse vergibt der Besitzer oder Planer des Netzwerkes. Im Internet ist das IANA für die Vergabe der Netzadressen zuständig. Ein typisches Netzwerk trennt die 32-Bit in einen 24-Bit Netzwerk und einen 8-Bit Adressteil (Klasse-C-Adressen). Die genaue Aufteilung zwischen Netzteil und Adressteil wird in Form der Subnetmask angegeben (im Klasse-C-Fall 255.255.255.0). Früher gab es drei fest vorgeschriebene Einteilungen für Netzwerkklassen mit einer festen Bitzahl. Klasse A: 001–127.0.0.0, Klasse B: 128–191.255.0.0 oder Klasse C: 192–223.255.255.0, allerdings erwies sich diese Einteilung als zu unflexibel, so dass man dazu übergegangen ist, diese Einteilung bitvariabel im Classless Inter-Domain Routing-Verfahren durchzuführen. Heutzutage kann man genaugenommen nicht mehr zum Beispiel von Klasse C-Netzwerken sprechen, allerdings ist es im allgemeinen Sprachgebrauch erhalten geblieben. Die maximale Anzahl der zu vergebenen Host-Adressen in einem Netz ist : 2Anzahl Bits der Hostadresse − 2 Zwei Host-Adressen fallen immer weg – die erste Adresse (zum Beispiel 192.168.0.0) bezeichnet das Netz selber, die letzte Adresse (zum Beispiel 192.168.0.255) ist für den Broadcast reserviert. (Alle Teilnehmer werden angesprochen.)

Besondere Netzwerkadressen

Einige Klassen von Netzwerkadressen sind für spezielle Zwecke reserviert.

Lokale Netzwerkadressen

Lokale Netzwerke können in folgenden Netzbereichen realisiert werden:
- Klasse A: 10.0.0.0 (10.0.0.0/8 prefix)
- Klasse B: 172.16.0.0 – 172.31.0.0 (172.16.0.0/16 prefix)
- Klasse B: 169.254.0.0 – 169.254.0.0 (169.254.0.0/16 prefix) mittels Zeroconf oder APIPA
- Klasse C: 192.168.0.0 – 192.168.255.0 (192.168.0.0/24 prefix) Die Besonderheit an den Netzen 10/8, 172.16–31/16, 169.254/16 und 192.168.0–255/24 ist, dass sie im Internet ungültig sind und nicht transportiert werden. Somit eignen sich diese Adressen ausdrücklich für lokale Netze, die mittels NAT (Network Address Translation) ins Internet transportiert werden können.

Beispiele

Beispiel: (Klasse-C-Netz) Beispiel: (Classless)

Paketlänge

Ein IP-Paket besteht aus einem Header und den eigentlichen Daten. Der Datenteil enthält in der Regel ein weiteres Protokoll, meist TCP, UDP oder ICMP. Die maximale Länge der Daten beträgt 65515 Bytes (216-1-minimale Headerlänge). Normalerweise beschränkt der Sender die Paketlänge auf diejenige des zugrundeliegenden Mediums. Bei Ethernet beträgt die so genannte MTU (Maximum Transfer Unit) 1518 Bytes, wobei 18 Bytes von Ethernet selbst belegt werden. Für IP (Header und Daten) stehen also nur 1500 Bytes zur Verfügung. Deshalb ist die Länge von IP-Paketen oft auf 1500 Bytes festgesetzt. Andere Netzwerke können die Paketlänge weiter beschränken. In diesem Fall bietet IP die Option, IP-Pakete zu fragmentieren. Jedes Paket erhält vom Sender eine Kennung (die Fragment-ID). Ein Router kann ein langes Paket aufteilen, weil das Zielnetzwerk Pakete dieser Länge nicht überträgt. Der Empfänger kann die Fragmente anhand der Kennung und der Senderadresse identifizieren und wieder zusammenfügen.

Routing

IPv4 unterscheidet nicht zwischen Endgeräten (Hosts) und Vermittlungsgeräten (Router). Jeder Computer und jedes Gerät kann gleichzeitig Endpunkt und Router sein. Ein Router verbindet dabei verschiedene Netzwerke. Die Gesamtheit aller über Router verbundenen Netzwerke bildet das Internet. IPv4 ist für LANs und WANs gleichermaßen geeignet. Ein Paket kann verschiedene Netzwerke vom Sender zum Empfänger durchlaufen, die Netzwerke sind durch Router verbunden. Anhand von Routingtabellen, die jeder Router individuell pflegt, wird der Netzwerkteil einem Zielnetzwerk zugeordnet. Die Einträge in die Routingtabelle können dabei statisch oder über Routingprotokolle dynamisch erfolgen. Die Routingprotokolle dürfen dabei sogar auf IP aufsetzen. Bei Überlastung eines Netzwerks oder einem anderen Fehler darf ein Router Pakete auch verwerfen. Pakete desselben Senders können bei Ausfall eines Netzwerks auch alternativ geroutet werden. Jedes Paket wird dabei einzeln geroutet, was zu einer erhöhten Ausfallsicherheit führt. Beim Routing über IP können daher
- einzelne Pakete verlorengehen
- Pakete doppelt beim Empfänger ankommen
- Pakete verschiedene Wege nehmen
- Pakete fragmentiert beim Empfänger ankommen. Wird TCP auf IP aufgesetzt (d. h. die Daten jedes IP-Pakets enthalten ein TCP-Paket, aufgeteilt in TCP-Header und Daten), so wird neben dem Aufheben der Längenbeschränkung auch der Paketverlust durch Wiederholung korrigiert. Doppelte Pakete werden erkannt und verworfen. Die Kombination TCP mit IP stellt dabei eine zuverlässige bidirektionale Verbindung eines Datenstroms dar.

ICMP

IP ist eng verknüpft mit dem ICMP-Protokoll, das zur Fehlersuche und Steuerung eingesetzt wird. ICMP setzt auf IP auf, d. h. ein ICMP-Paket wird im Datenteil eines IP-Pakets abgelegt. Eine IP-Implementierung enthält stets auch eine ICMP Implementierung. Wichtig ist z. B. die ICMP Source-Quench Mitteilung, die den Sender über das Verwerfen von Paketen durch einen Router informiert. Da jedes IP-Paket die Quell-Adresse enthält, können Informationen an den Sender zurück übermittelt werden. Dieser kann nach einem Source-Quench die Paketsendefrequenz verringern und so die Notwendigkeit eines weiteren Verwerfens minimieren oder vermeiden. ICMP kann zusammen mit dem Don't Fragment-Bit des IP-Pakets auch eingesetzt werden, um die minimale MTU eines Übertragungsweges zu ermitteln (so genannte PMTU Path Maximum Transfer Unit). Dies ist die MTU desjenigen Netzwerkes mit der kleinsten MTU aller passierten Netzwerke. Dadurch kann auf Fragmentierung verzichtet werden, wenn der Sender nur Pakete mit der maximalen Größe der PMTU erzeugt.

IPv4 auf Ethernet

IPv4 kann auf vielen verschiedenen Medien aufsetzen, z. B. auf serielle Schnittstellen (PPP oder SLIP), Satellitenverbindungen usw. Im LAN-Bereich wird heute fast immer Ethernet eingesetzt. Ethernet verwaltet eigene 48-Bit Adressen. Wenn IP über Ethernet gesendet wird, wird ein 14-Byte großer Ethernet-Header vor dem IP-Header gesendet. Nach den Daten folgt eine 32-Bit CRC-Prüfsumme. Neben der maximalen Paketlänge von 1518 Bytes kann Ethernet keine kleineren Pakete als 64 Bytes übertragen, so dass zu kurze IP-Pakete (Datenlänge kleiner als 26 Bytes) mit Nullbytes erweitert werden (so genanntes Padding). Die Länge im IP-Header gibt dann Auskunft über die tatsächliche Paketgröße. Im Ethernet hat jede Netzwerkkarte ihre eigene herstellerbezogene 48-Bit Adresse, zusätzlich gibt es eine Ethernet-Broadcastadresse. Ein Sender muss die Ethernetadresse der Zielnetzwerkkarte kennen, bevor ein IP-Paket gesendet werden kann. Dazu wird das ARP-Protokoll (Address Resolution Protocol) verwendet. Jeder Rechner verwaltet einen ARP-Cache, in dem er ihm bekannte Zuordnungen von Ethernet-Kartenadressen speichert. Unbekannte Adressen erfährt er über das ARP-Protokoll mittels einer Anfrage (ARP-Request) über einen Ethernet-Broadcast, die der zugehörige Empfänger beantwortet (ARP-Reply).

Header-Format

Der IPv4-Header ist normalerweise 20 Bytes lang. Bei Übertragung auf Ethernetkabeln folgt er dem Ethernet-Typfeld, das für IP-Pakete auf 080016 festgelegt ist. Auf anderen Übertragungsmedien kann der Header auch der erste Eintrag sein. IPv4 bietet verschiedene, größtenteils ungenutzte Optionen, die den Header bis auf 60 Bytes (in 4-Byte-Schritten) verlängern können. Eine spezielle Bedeutung kommt in modernen Implementation dem Feld Type of Service zu. Ursprünglich diente dieses Feld bei der Vermittlung eines Datenpaketes als Entscheidungshilfe für die beteiligten Router bei der Wahl der Übertragungsparameter. In modernen Implementationen wird dieses Feld im Zusammenhang mit der Vermeidung von Überlastungen verwendet.

Höhere Protokolle

IPv4 ist ein geroutetes Protokoll (Schicht 3 im TCP/IP-Referenzmodell). Auf IPv4 werden weitere Protokolle aufgesetzt, d. h. in den Datenteil des IP-Pakets werden die Header, Daten und evtl. Trailer der oberen Protokolle eingefügt (Protokollstapel). Neben dem erwähnten ICMP wird TCP verwendet, das TCP/IP zusammen mit IP den Namen gegeben hat. TCP ist ein verbindungsorientiertes Protokoll, das einen byteorientierten, bidirektionalen, zuverlässigen Datenstrom zur Verfügung stellt. Es wird im WAN-Bereich praktisch für alle Arten von Daten- und Informationsübertragungen eingesetzt. Zu TCP/IP gehört auch UDP, ein paketorientiertes Protokoll. Es ist ein einfaches Protokoll, das die Paketeigenschaften von IP im wesentlichen beibehält (verbindungslos, unzuverlässig, Verdoppelung etc.). TCP und UDP fügen IP eine Prüfsumme über die Daten (die Prüfsumme im IP-Header prüft nur die Headerdaten) und als Quell- und Zielport jeweils eine 16-Bit Zahl hinzu. Diese Ports bilden zusammen mit der jeweiligen Quell- und Zieladresse im IP-Paket so genannte Endpunkte. Prozesse kommunizieren über diese Endpunkte. TCP baut eine Verbindung nicht zwischen IP-Adressen, sondern zwischen zwei Endpunkten auf. Die weiteren Protokolle setzen alle entweder auf TCP oder auf UDP auf. Ein wichtiges Protokoll ist das Domain Name System DNS, das eine Umsetzung von Rechnernamen zu IP-Adressen erlaubt. Es überträgt Informationen normalerweise über UDP, der Abgleich zwischen zwei DNS-Servern kann aber auch das TCP-Protokoll verwenden.

Vergangenheit und Zukunft

DNS Das IPv4-Protokoll hat lange nahezu unverändert überlebt. Ab 1983 wurde die IP-Protokoll-Familie als einzige Protokollfamilie für das ARPAnet übernommen, das dann später zum Internet wurde. Damals waren nur einige hundert Rechner an das Netz angeschlossen. 1989 wurde die Grenze von 100.000 Rechnern überschritten, und im gleichen Jahr der Backbone auf 1.5 MBit/s aufgerüstet. Anfang der 1990er Jahre wurde vermutet, dass die IP-Adressen am Ende des Jahrzehnts knapp würden, da die IANA relativ große Adressbereiche an Firmen und Institutionen zuteilte. Dies führte zuerst zur Entwicklung eines Entwurfes für einen Standard (IPv5), der dann aber zu Gunsten von IPv6 verworfen wurde. IPv5 sollte dabei einen 64Bit Adressbereich unterstützen. Die gestiegenen Sicherheitsanforderungen und die Verwendung von Firewalls mit Network Address Translation NAT führte jedoch zu einer Entschärfung der Adressproblematik, da heute ganze Firmen mit mehreren tausend Rechnern nur noch eine einzige IP-Adresse pro Standort benötigen. Einige Eigenschaften, wie Fragmentierung, werden nicht mehr benötigt, da sie für die heutigen schnellen Netze zu aufwändig sind. Path Maximum Transfer Unit Discovery löst dieses Problem. IPv4 scheint auch in nächster Zukunft noch das allgemein verwendete Protokoll im Internet zu bleiben. Schließlich hat IP auch die konkurrierenden LAN-Protokolle wie DECnet verdrängt. Netware, AppleTalk und NetBIOS wurden als neue Versionen hervorgebracht, die auf IP aufsetzen. Siehe auch: IP-Header

Weblinks


- RFC 791 – Internet Protocol Kategorie:Netzwerkprotokoll ko:IPv4

Computer

] ] Ein Computer // ist ein Apparat, der Informationen mit Hilfe einer programmierbaren Rechenvorschrift verarbeiten kann. Der englische Begriff computer, abgeleitet vom Verb to compute (rechnen), bezeichnete ursprünglich Menschen, die quälend langwierige Berechnungen vornahmen, zum Beispiel für Astronomen im Mittelalter. Bis in die 1960er Jahre wurde diese Arbeit vornehmlich von Frauen mit Hilfe von Rechenmaschinen erledigt. Später ging der Begriff auf die Maschinen selbst über. Einst war die Informationsverarbeitung mit Computern auf die Verarbeitung von Zahlen beschränkt. Mit zunehmender Leistungsfähigkeit eröffneten sich neue Einsatzbereiche, Computer sind heute in allen Bereichen des täglichen Lebens vorzufinden: Sie dienen der Verarbeitung und Ausgabe von Informationen in Wirtschaft und Behörden, der Berechnung der Statik von Bauwerken bis hin zur Steuerung von Waschmaschinen und Automobilen. Die leistungsfähigsten Computer werden eingesetzt, um komplexe Vorgänge zu simulieren: Beispiele sind die Klimaforschung, thermodynamische Fragestellungen, medizinische Berechnungen – bis hin zu militärischen Aufgaben, zum Beispiel der Simulation des Einsatzes von nuklearen Waffen. Viele Geräte des Alltags, vom Telefon über den Videorekorder bis hin zur Münzprüfung in Warenautomaten, werden heute von integrierten Kleinstcomputern gesteuert (Embedded Systems).

Grundprinzipien

Grundsätzlich sind zwei Bauweisen zu unterscheiden: Ein Computer ist ein Digitalcomputer, wenn er mit digitalen Geräteeinheiten digitale Daten verarbeitet; er ist ein Analogcomputer, wenn er mit analogen Geräteeinheiten analoge Daten verarbeitet. Bis auf wenige Ausnahmen werden heute fast ausschließlich Digitalcomputer eingesetzt. Diese folgen gemeinsamen Grundprinzipien, mit denen ihre freie Programmierung ermöglicht wird. Bei einem Digitalcomputer werden dabei zwei grundsätzliche Bausteine unterschieden: Die Hardware, die aus den elektronischen, physisch anfassbaren Teilen des Computers gebildet wird, sowie die Software, die die Programmierung des Computers beschreibt. Ein Digitalcomputer besteht zunächst nur aus Hardware. Die Hardware stellt erstens einen so genannten Speicher bereit, in dem Daten wie in Schubladen gespeichert und jederzeit zur Verarbeitung oder Ausgabe abgerufen werden können. Zweitens verfügt das Rechenwerk der Hardware über grundlegende Bausteine für eine freie Programmierung, mit denen jede beliebige Verarbeitungslogik für Daten dargestellt werden kann: Diese Bausteine sind im Prinzip die Berechnung, der Vergleich, und der bedingte Sprung. Ein Digitalcomputer kann beispielsweise zwei Zahlen addieren, das Ergebnis mit einer dritten Zahl vergleichen und dann abhängig vom Ergebnis entweder an der einen oder der anderen Stelle des Programms fortfahren. In der Informatik wird dieses Modell theoretisch durch die Turing-Maschine abgebildet; die Turing-Maschine stellt die grundsätzlichen Überlegungen zur Berechenbarkeit dar. Erst durch Software wird der Digitalcomputer jedoch nützlich. Jede Software ist im Prinzip eine definierte, funktionale Anordnung der oben geschilderten Bausteine Berechnung, Vergleich und Bedingter Sprung, wobei die Bausteine beliebig oft verwendet werden können. Diese Anordnung der Bausteine, die als Programm bezeichnet wird, wird in Form von Daten im Speicher des Computers abgelegt. Von dort kann sie von der Hardware ausgelesen und abgearbeitet werden. Dieses Funktionsprinzip der Digitalcomputer hat sich seit seinen Ursprüngen in der Mitte des 20. Jahrhunderts nicht wesentlich verändert, wenngleich die Details der Technologie erheblich verbessert wurden. Analogrechner funktionieren jedoch nach einem anderen Prinzip. Bei ihnen ersetzen analoge Bauelemente (Verstärker, Kondensatoren) die Logikprogrammierung. Analogrechner wurden früher häufiger zur Simulation von Regelvorgängen eingesetzt (siehe: Regelungstechnik), sind heute aber fast vollständig von Digitalcomputern verdrängt worden.

Hardwarearchitektur

Das heute allgemein angewandte Prinzip, das nach seiner Beschreibung durch John von Neumann von 1946 als "Von-Neumann-Architektur" bezeichnet wird, definiert für einen Computer vier Hauptkomponenten:
- die Recheneinheit (Arithmetisch-Logische Einheit (ALU)),
- die Steuereinheit,
- den Speicher und
- die Eingabe- und Ausgabeeinheit(en). In den heutigen Computern sind die ALU und die Steuereinheit meist zu einem Baustein verschmolzen, der so genannten CPU (Central Processing Unit, zentraler Prozessor). Der Speicher ist eine Anzahl von durchnummerierten "Zellen", jede dieser Zellen kann ein kleines Stück Information aufnehmen. Diese Information wird als Binärzahl, also einer Abfolge von ja/nein-Informationen, in der Speicherzelle abgelegt - besser vorzustellen als eine Folge von Nullen und Einsen. Ein Charakteristikum der "Von Neumann-Architektur" ist, dass diese Binärzahl (beispielsweise 65) entweder ein Teil der Daten sein kann (also zum Beispiel der Buchstabe "A"), oder ein Befehl für die CPU ("Springe ..."). Wesentlich in der Von-Neumann-Architektur ist, dass sich Programm und Daten einen Speicherbereich teilen (dabei belegen die Daten in aller Regel den unteren und die Programme den oberen Speicherbereich). Dem gegenüber stehen in der sog. Harvard-Architektur Daten und Programmen eigene (physikalisch getrennte) Speicherbereiche zur Verfügung, dadurch können Daten-Schreiboperationen keine Programme überschreiben. In der Von-Neumann-Architektur ist die Steuereinheit dafür zuständig, zu wissen, was sich an welcher Stelle im Speicher befindet. Man kann sich das so vorstellen, dass die Steuereinheit einen "Zeiger" auf eine bestimmte Speicherzelle hat, in der der nächste Befehl steht, den sie auszuführen hat. Sie liest diesen aus dem Speicher aus, erkennt zum Beispiel "65", erkennt dies als "Springe". Dann geht sie zur nächsten Speicherzelle, weil sie wissen muss, wohin sie springen soll. Sie liest auch diesen Wert aus, und interpretiert die Zahl als Nummer (so genannte Adresse) einer Speicherzelle. Dann setzt sie den Zeiger auf eben diese Speicherzelle, um dort wiederum ihren nächsten Befehl auszulesen; der Sprung ist vollzogen. Wenn der Befehl zum Beispiel statt "Springe" lauten würde "Lies Wert", dann würde sie nicht den Programmzeiger verändern, sondern aus der in der Folge angegebenen Adresse einfach den Inhalt auslesen, um ihn dann beispielsweise an die ALU weiterzuleiten. Die ALU hat die Aufgabe, Werte aus Speicherzellen zu kombinieren. Sie bekommt die Werte von der Steuereinheit geliefert, verrechnet sie (addiert beispielsweise zwei Zahlen, welche die Steuereinheit aus zwei Speicherzellen ausgelesen hat) und gibt den Wert an die Steuereinheit zurück, die den Wert dann für einen Vergleich verwenden oder wieder in eine dritte Speicherzelle zurückschreiben kann. Die Ein-/Ausgabeeinheiten schließlich sind dafür zuständig, die initialen Programme in die Speicherzellen einzugeben und dem Benutzer die Ergebnisse der Berechnung anzuzeigen.

Softwarearchitektur

Die Von-Neumann-Architektur ist gewissermaßen die unterste Ebene des Funktionsprinzips eines Computers oberhalb der elektrophysikalischen Vorgänge in den Leiterbahnen. Die ersten Computer wurden auch tatsächlich so programmiert, dass man die Nummern von Befehlen und von bestimmten Speicherzellen so, wie es das Programm erforderte, nacheinander in die einzelnen Speicherzellen schrieb. Um diesen Aufwand zu reduzieren, wurden Programmiersprachen entwickelt. Diese generieren die Zahlen innerhalb der Speicherzellen, die der Computer letztlich als Programm abarbeitet, aus höheren Strukturen heraus automatisch. Sodann wurden bestimmte sich wiederholende Prozeduren in so genannten Bibliotheken zusammengefasst, um nicht jedes Mal das Rad neu erfinden zu müssen, z. B. das Interpretieren einer gedrückten Tastaturtaste als Buchstabe "A" und damit als Zahl "65" (im ASCII-Code). Die Bibliotheken wurden in übergeordneten Bibliotheken gebündelt, welche Unterfunktionen zu komplexen Operationen verknüpfen (Beispiel: die Anzeige eines Buchstabens "A", bestehend aus 20 einzelnen schwarzen und 50 einzelnen weißen Punkten auf dem Bildschirm, nachdem der Benutzer die Taste "A" gedrückt hat). In einem modernen Computer arbeiten sehr viele dieser Programmebenen über- bzw. untereinander. Komplexere Aufgaben werden in Unteraufgaben zerlegt, welche von anderen Programmierern bereits bearbeitet wurden, die wiederum auf die Vorarbeit weiterer Programmierer aufbauen, deren Bibliotheken sie verwenden. Auf der untersten Ebene findet sich dann aber immer der so genannte Maschinencode - jene Abfolge von Zahlen, mit denen der Computer auch tatsächlich rechnen kann...

Geschichte

Antike


- Abakus, älteste mechanische Rechenhilfe.
- Rechenbrett des Pythagoras.
- 1. Jh. v. Chr.: Computer von Antikythera, vorzeitliche Berechnungsmaschine (den Rechenschiebern ähnlich, nur weitaus komplexer) mit erst im 18. Jahrhundert wiederentdecktem Differentialgetriebe. Diente zur Bahnberechnung der damals bekannten Planeten.

17. Jahrhundert


- 1614 John Napier publiziert seine Logarithmentafel.
- 1623 Erste Vier-Spezies-Maschine durch Wilhelm Schickard.
- 1642 Blaise Pascal baut eine Rechenmaschine.
- 1668 Samuel Morland entwickelt eine Rechenmaschine, die nicht dezimal addiert, sondern auf das englische Geldsystem abgestimmt ist.
- 1673 Rechenmaschine von Gottfried Leibniz.

19. Jahrhundert


- 1805 Joseph-Marie Jacquard entwickelt Lochkarten, um Webstühle zu steuern.
- 1820 Charles Xavier Thomas de Colmar baut das "Arithmometer", den ersten Rechner in Massenproduktion.
- Charles Babbage entwickelt die Difference Engine 1822 und die Analytical Engine 1833, kann sie aber aus Geldmangel nicht bauen.
- 1843 Edvard und George Scheutz bauen in Stockholm den ersten mechanischen Computer nach den Ideen von Babbage.
- 1890 US-Volkszählung mit Hilfe des Lochkartensystems von Herman Hollerith durchgeführt; Torres y Quevedo baut eine Schachmaschine, die mit König und Turm einen König matt setzen kann.

20. Jahrhundert


- 1935 International Business Machines stellt die IBM 601 vor, eine Lochkartenmaschine, die eine Multiplikation/Sekunde durchführen kann. Es werden ca. 1500 Stück der Maschine verkauft.
- 1937 Konrad Zuse meldet zwei Patente an, die bereits alle Elemente der so genannten Von-Neumann-Architektur beschreiben.
- 1937 Alan Turing publiziert einen Artikel, der die "Turing-Maschine" beschreibt.
- 1938 Konrad Zuse stellt die Zuse Z1 fertig, einen frei programmierbaren mechanischen Rechner, der allerdings aufgrund von Problemen mit der Fertigungspräzision nie voll funktionstüchtig war. Die Z1 verfügte bereits über Fließkommarechnung. Sie wurde im Krieg zerstört und später nach Originalplänen neu gefertigt, die Teile wurden auf modernen Fräs- und Drehbänken hergestellt. Dieser Nachbau der Z1 ist mechanisch voll funktionsfähig und hat eine Rechengeschwindigkeit von 1 Hz (eine Rechenoperation pro Sekunde)
- 1938 Claude Shannon publiziert einen Artikel darüber, wie man symbolische Logik mit Relais implementieren kann. Während des Zweiten Weltkrieges gibt Alan Turing die entscheidenden Hinweise zur Entschlüsselung der ENIGMA-Codes und baut dafür einen speziellen mechanischen Rechner. Ebenfalls im Krieg baut Konrad Zuse die erste funktionstüchtige programmgesteuerte, binäre Rechenmaschine, bestehend aus einer großen Zahl von Relais, die Z3. Zeitgleich werden in den USA ähnliche elektronische Maschinen zur numerischen Berechnung gebaut. Auch Maschinen auf analoger Basis werden erstellt.
- 1941 Konrad Zuse stellt die Z3 fertig, die heute als der erste funktionstüchtige Computer gilt.
- 1943 IBM-Chef Thomas J. Watson sagt: "Ich glaube, es gibt einen weltweiten Bedarf an vielleicht fünf Computern."
- 1943 Tommy Flowers stellt mit seinem Team in Bletchley Park den ersten "Colossus" fertig.
- 1944 Fertigstellung des ASCC (Automatic Sequence Controlled Computer, "Mark I" durch Howard H. Aiken).
- 1944 Das Team um Reinold Weber stellt eine Entschlüsselungsmaschine für das Verschlüsselungsgerät M-209 der US-Streitkräfte fertig [http://www.heise.de/tp/deutsch/inhalt/co/18371/1.html]. Zur Architektur der Rechenmaschinen Z1 und Z3: http://www.zib.de/zuse/Inhalt/Kommentare/Html/0687/0687.html.

Nachkriegszeit


- 1946 ENIAC (Electronic Numerical Integrator and Computer) wird unter der Leitung von John Eckert und John Mauchly entwickelt.
- 1947 IBM baut den SSEC.
- 1947 Erfindung des Transistors.
- 1949 Maurice Wilkes stellt mit seinem Team in Cambridge den "EDSAC" (Electronic Delay Storage Automatic Computer) vor; basierend auf Neumanns EDVAC ist es der erste Rechner, der vollständig speicherprogrammierbar ist.
- 1949 Steve Kolberg stellt die Z4 fertig, deren Bau schon 1942 begonnen wurde und 1944 in wesentlichen Teilen abgeschlossen war, die aber kriegsbedingt nicht fertiggestellt werden konnte.
- 1950 Die Z4 geht an der ETH Zürich in Betrieb.
- 1951 UNIVAC I, kommerzieller Röhrenrechner der RAND Corporation.
- 1955 TRADIC, erster Computer, der komplett mit Transistoren statt Röhren bestückt ist. Gebaut von den Bell Labs für die US Air Force.
- 1955 OPREMA Erster Computer der DDR.
- 1956 Erstes Magnetplattensystem von IBM (RAMAC).

Sechziger


- 1960 IBM 1401, transistorisierter Rechner mit Lochkartensystem.
- 1960 DECs (Digital Equipment Corporation) erster Minicomputer, die PDP-1 (Programmierbarer Datenprozessor) erscheint.
- 1962 Telefunken_AG liefert die ersten TR 4 aus.
- 1964 DEC baut den Minicomputer PDP-8 für unter 20000 Dollar.
- 1964 IBM definiert die erste Computerarchitektur S/360, Rechner verschiedener Leistungsklassen können denselben Code ausführen.
- 1964 bei Texas Instruments wird der erste "Integrierte Schaltkreis", IC, entwickelt.
- 1966 D4a 33bit Auftischrechner der TU Dresden.
- 1968 HewlettPackard bewirbt den HP-9100A als "personal computer" in der Science-Ausgabe vom 4.Oct.1968.

Siebziger


- 1970 Intel baut mit dem 4004 den ersten in Serie gefertigten Mikroprozessor (2250 Transistoren).
- 1971 Telefunken liefert TR_440 Deutsches Rechenzentrum Darmstadt und Universitäten Bochum und München.
- 1972 der Illiac IV, ein Supercomputer mit Array-Prozessoren geht in Betrieb.
- 1973 Xerox Alto - Der erste Computer mit Maus, GUI und eingebauter Ethernet-Karte.
- 1973 beginnt die französische Firma R2E mit der Auslieferung des Micral.
- 1974 Motorola baut den 6800 Prozessor; Intel baut den 8080 Prozessor.
- 1975 MITS beginnt mit der Auslieferung des Altair 8800.
- 1976 die Firma Apple Computer bringt den Apple I auf den Markt; Zilog entwickelt den Z80 Prozessor.
- 1977 Ken Olson, Präsident und Gründer von DEC sagt: "Es gibt keinen Grund, warum jemand einen Computer zu Hause haben wollte."
- 1977 der Apple II, der Commodore PET und der Tandy TRS 80 kommen auf den Markt.
- 1978 DEC bringt die VAX-11/780, eine Maschine speziell für virtuelle Speicheradressierung, auf den Markt.
- 1979 Atari bringt seine Rechnermodelle 400 und 800 in die Läden. Revolutionär ist, dass mehrere Custom-Chips den Hauptprozessor entlasten.

Achtziger


- 1980er: Blütezeit der Heimcomputer, zunächst mit 8-Bit-Mikroprozessoren und einem Arbeitsspeicher bis 64 kB (Commodore VC20, C64, Sinclair ZX80/81, Sinclair ZX Spectrum, Schneider CPC 464/664), später auch leistungsfähigere Modelle mit 16-Bit- oder 16/32-Bit-Mikroprozessoren (z. B. Amiga, Atari ST).
- 1981 IBM stellt den IBM-PC (Personal-Computer) vor und bestimmt damit entscheidend die weitere Entwicklung.
- 1982 Intel bringt den 80286-Prozessor auf den Markt.
- 1982 Sun Microsystems entwickelt die Sun-1 Workstation.
- 1984 der Apple Macintosh kommt auf den Markt und setzt neue Maßstäbe für Benutzerfreundlichkeit.
- 1985, Januar Atari stellt den ST-Computer auf der CES in Las Vegas vor.
- 1985, Juli Commodore produziert den Amiga-Heimcomputer.
- 1986 Intel bringt den 80386-Prozessor auf den Markt; Motorola präsentiert den 68030-Prozessor.
- 1988 NeXT, Steve Jobs, Mitgründer von Apple, stellt den gleichnamigen Computer vor.
- 1989 Intel bringt den 80486 auf den Markt.

Neunziger

Internet ...
- 1991 Das AIM-Konsortium (Apple, IBM, Motorola) spezifiziert die PowerPC-Plattform.
- 1992 DEC stellt die ersten Systeme mit dem 64-Bit-Alpha-Prozessor vor.
- 1993 Intel bringt den Pentium-Prozessor auf den Markt.
- 1994 Leonard Adleman stellt mit dem TT-100 den ersten Prototypen für einen DNA-Computer vor.
- 1995 Intel bringt den Pentium-Pro-Prozessor auf den Markt.
- 1995 Be Incorporated stellt die BeBox vor.
- 1999 Intel baut den Supercomputer ASCI Red mit 9.472 Prozessoren.
- 1999 AMD stellt den Nachfolger der K6-Prozessorfamilie vor, den Athlon.

21. Jahrhundert

Beginn des 21. Jahrhunderts: Weitere Steigerung der Leistungsfähigkeit, fortschreitende Verkleinerung und Integration von Telekommunikation und Bildbearbeitung. Allgemeine, weltweite Verbreitung und Akzeptanz. Wechsel von klassischen Informationsdienstleistungen (Datendienste, Vermittlung, Handel, Medien) in das digitale Weltmedium Internet.
- 2001 IBM baut den Supercomputer ASCI White
- 2002 der NEC Earth Simulator geht in Betrieb
- 2003 Apple liefert den PowerMac G5 aus, erster Computer mit 64-Bit-Prozessoren für die breite Bevölkerung. AMD stellt mit dem Opteron und dem Athlon 64 seine ersten 64-Bit-Prozessoren vor.
- 2005 Renommierte Analysten erwarten, dass dieses Jahr weltweit 200 Mio neue PCs, Laptops und Server verkauft werden.
- 2005 AMD und Intel produzieren erste Dual-Core Prozessoren

Stichwörter zur Geschichte der Rechentechnik

Abakus, ARPANET, Hahn, Hamann, Logarithmentafel, OHDNER, OUGHTRED, PARTRIDGE, Pascal, Rechenschieber, Rechenstab, ROTH, Sprossenradmaschine, Zweispeziesrechner

Zukunft

Zukünftige Entwicklungen bestehen aus der möglichen Nutzung biologischer Systeme (Biocomputer), optischer Signalverarbeitung und neuen physikalischen Modellen (Quantencomputer). Weitere Verknüpfungen zwischen biologischer und technischer Informationsverarbeitung. Auf der anderen Seite nimmt man langsam Abstand von nicht realisierten Trends der letzten 20 Jahre, Expertensysteme und Künstliche Intelligenzen, die ein Bewusstsein entwickeln, sich selbst verbessern oder gar rekonstruieren, zu erforschen. Weitere Entwicklungen und Trends, von denen viele noch den Charakter von Schlagwörtern bzw. Hypes haben:
Autonomic Computing
Grid Computing
Pervasive Computing
Ubiquitäres Computing
Wearable Computing.

Siehe auch


- eine Übersicht über die Artikel zum Thema "Computer" finden Sie im Portal Informatik.

Literatur


- Konrad Zuse: Der Computer – Mein Lebenswerk, Springer: Berlin, 1993, ISBN 3-540-56292-3
- Ron White: So funktionieren Computer. Ein visueller Streifzug durch den Computer & alles, was dazu gehört, Markt+Technik: München, 2004, ISBN 3-8272-6714-5

Weblinks


- [http://www.homecomputermuseum.de Homecomputermuseum.de]
- [http://www.computergeschichte.de Computergeschichte.de]
- [http://www.classic-computing.de Verein zum Erhalt klassischer Computer e.V.]
- [http://www.atari-computermuseum.de Das Atari Computermuseum]
- [http://netzwerk.wisis.de/projekte/9.htm Deutsche EDV-Geschichte 1940er-1960er - SUSAS Netzwerk für Wissensweitergabe]
- [http://www.hnf.de Angeblich größtes Computermuseum der Welt in Paderborn]
- http://www.hchistory.de/index.php3
- [http://www.dm.fh-hannover.de/~petkli/foliant/_1st.html Ein Foliant zur Geschichte der Datenübertragung]
- [http://www.top500.org/ Liste der 500 leistungssstärksten Computer] Kategorie:Technikgeschichte ja:コンピュータ ko:컴퓨터 ms:Komputer nb:Datamaskin simple:Computer