Universalität
Die Universalität, die Möglichkeit, praktisch alle Daten transportieren zu können, ist eine wichtige Eigenschaft von IP-Netzen:
IP ist neutral hinsichtlich der Daten, die es transportiert: im Prinzip kann man alles, was sich digital kodieren lässt, über IP-Netze transportieren; dabei kommen in der Regel weitere Protokolle der Familie zum Einsatz. Das wohl am meisten verwendete andere Protokoll ist TCP, daher wird die ganze Familie auch als TCP/IP bezeichnet; ohne die Mitglieder UDP und ICMP wäre sie jedoch nicht komplett noch wirklcih einsatzfähig.
Die Protokollfamilie stellt im wesentlcihen zwei Transportmechanismen zur Verfügung, TCP und UDP.
UDP (User Datagram Protocol) funktioniert im wesentlcihen wie der Briefdienst der Post: der Absender packt seine Daten in ein Paket (einen Briefumschlag), adressiert dieses Paket, bei IP wird dazu die Quelladresse wie auch die Zieladresse angegeben, beide sind einfach Zahlen, und übergibt es dem Postdienst (IP protocol layer).
Das Datenpaket (der Briefumschlag) wird dann anhand der Zieladresse transportiert - aber eine Quittung über den korrekten Empfang erfolgt nicht.
Es ist leicht einzusehen, dass ein Empfängerprogramm eine Quittung selbst versenden kann und dass der Programmierer so eine gesicherte Übertragung schaffen kann; daher kommt der Name User Datagram Protocol: der Benutzer (Programmierer) kann darüber Datagrams versenden und selbst alle erforderlichen weiteren Massnahmen ergreifen.
Oft ist es aber erforderlich, dass der korrekte Empfang der gesendeten Daten sichergestellt wird, dass eine gesicherte Kommunikation erfolgt. TCP stellt diesen Dienst zur Verfügung.
Ein TCP-Kanal wird einmal geöffnet und kann dann zwischen seinen beiden Endpunkten (Programme, die auf Computern laufen) Daten transportieren. Die TCP-Software sorgt dabei dafür, dass die DAten, die abgesendet wurden, komplett und in der gesendeten Reihenfolge empfangen werden - der Programmierer der Anwendung muss sich um die Korrektur von Übertragungsfehlern und verloren gegangene Pakete nicht kümmern. TCP stellt einen fehlerkorrigierten Stream von Ende zu Ende sicher.
Die Programme, die über TCP oder UDP miteinander kommunizieren, müsen nicht immer auf verschiedenen Computern laufen. So kann ein Datenbank-Client durchaus auf einen Datenbank-Server zugreifen, der auf demselben Computer läuft. Für den Programmierer stellen TCP und UDP ein universelles Mittel zur Kommunikation dar - innerhalb eines Computers oder über ein Datennetz.
Technische Anspruchslosigkeit
Eine andere wichtige Eigenschaft ist die Anspruchslosigkeit gegenüber dem "darunterliegenden" Netz: praktisch jede Technik, die Bits übertragen kann, kann für den Transport von IP verwendet werden.
Das mag zunächst selbstverständlich erscheinen, aber in der Tat ist es ein Durchbruch in der Technik, der grösser kaum sein könnte: zum ersten Mal war mit IP ein Protokoll verfügbar, das universell war, das sowohl einsetzbar war über eine Modemstrecke mit 9600 Bit/s als auch auf einem Ethernet mit 10 Megabit/s - wie auch auf zukünftigen Netzwerken (FastEthernet ist eine Entwicklung, die aus der Sicht von IP zukünftig ist).
Diese Eigenschaft trägt zum grossen Erfolg des Internet bei, da sie die Anwendung auf vorhandenen wie zukünftig zu installierenden Infrastrukturen erlaubt.
Für Unternehmensnetzwerke ist diese Eigenschaft besonders wichtig, da ohne einen Bruch im System, ohne eine Veränderung der Struktur jede neue Technik leicht eingegliedert werden kann. Diese Eigenschaft und die herstelerübergreifende Standardisierung haben IP zum Protokoll der Wahl werden lassen und haben IPX (Novell) Vines (Banyan), AppleTalk (Apple) und LAT (Digital Equipment) verdrängt. Nur SNA hält sich noch recht hartnäckig, da die Umstellung der IBM-Mainframes nicht immer einfach ist.
Überbuchung
Das Wort Überbuchung klingt zunächst recht negativ, weil es z.B. an Überlastung erinnert (oder an Check-In-Frust auf dem Flughafen).
Tatsächlich ist die Überbuchung eine Eigenschaft von sehr vielen gemeinsam genutzten Resourcen, speziell Netzen.
Die Überbuchung beschreibt einfach die Tatsache, dass sich mehrere Benutzer eine Leitung oder ähnliche Resource teilen.
Dies ist auch bei anderen Netzen völlig üblich: beim alten (analogen) Telefonnetz (in Deutschland System 55V der Post) teilen sich z.B. 100 Teilnehmer eine "Wählergruppe" aus 7 Wählern. Es können damit maximal 7 Teilnehmer gleichzeitig eine Verbindung zu einem anderen Teilnehmer aufbauen. Der achte Teilnehmer würde beim Abheben des Hörers gleich ein Besetzzeichen erhalten. Die Wählergruppe ist also um den Faktor 14,4 "überbucht".
Auch Stromnetze sind "überbucht". Würden alle Anschlüsse in einer Strasse gleichzeitig mit dem Maximalstrom, den die Sicherungen zulassen, belastet, würde die Streifensicherung für den lokalen Verteiler garantiert überlastet.
Die Auslegung auf einen Durchschnitt statt auf eine Spitze fürht fast immer zu einer Überbuchung.
Anders als beim Telefon wirkt bei IP die Überbuchung auf die Leistung jedoch nicht "verhindernd" sondern "mindernd": Hat ein Netzknoten, an den 100 Kunden mit je 2 MBit/s angeschlossen sind, eine Kapazität von 25 MBit/s zu anderen Netzknoten, dann ist das Backbone um den Faktor 8 überbucht. Sollten also alle Teilnehmer gleichtzeitig Daten zu übertragen versuchen, dann erhält jeder nur 256 kBit/s an Durchsatz.
Beim Stromnetz würde die Sicherung die ganze Strasse abschalten, beim Telefonnetz würden die ersten 12 Teilnehmer ihre volle Leistung erhalten, die anderen gingen leer aus ("besetzt"), bei einem IP Netz geht einfach für alle die Leistung herunter, aber jeder bekommt noch eine Leistung.
Diese Form der Serviceeinschränkung ist für die Benutzer zum einen weniger sichtbar, denn viele Faktoren (von der Quelle bis zum Ziel) tragen zur tatsächlichen Übertragungsrate bei, zum anderen ist sie in der Regel viel erträglicher als ein kompletter Ausfall der Leistung (beim Telefon: Besetzt-Zeichen).
Garantien
Noch eine wichtige Neuerung gegenüber älteren Protokollen zeichnet IP aus: das Protokoll garantiert für nichts.
IP garantiert keinen Datendurchsatz, keine Maximalzeit für die Zustellung und auch keinen fehlerfreien Transport - also Eigenschaften, die man von der Post kennt: meist geht alles ganz gut, aber eine Postkarte kann schon mal abhanden kommen oder statt der üblichen drei Tage auch drei Wochen unterwegs sein.
Neulinge in der Materie halten diese wichtige Neuerung für trivial oder nicht für eine bemerkenswerte Eigenschaft. Es ist jedoch wichtig zu verstehen, dass es zum Konzept von IP gehört, eben nichts zu versprechen und dementsprechend mehr zu halten.
Dies ist in der Tat eine wichtige Neuerung, denn die meisten anderen Protokolle, die für Datenkommunikation entwickelt wurden, bieten gewisse Service-Garantien, ganz ähnlich wie wir das von bestimmten Paket-Speditionen oder vom Pizza-Lieferdienst kennen: Lieferung innerhalb 30 Minuten sonst Pizza umsonst (hier haben wir gleich eine qualifizierte Servicegarantie: die "Strafe" ist mit angegeben).
IP dagegen arbeitet ohne jegliche Garantien z.B. für die Zustellzeit oder dafür, ob das Paket überhaupt ankommt.
Diese Verzicht auf Zusagen ist zum Einen ein Resultat dessen, was oben als technische Anspruchslosigkeit dargestellt ist: wenn das Protokoll auch auf Netzen funktionieren soll, die kein definiertes Zeitverhalten zeigen können (z.B. Modemverbindungen oder Ethernet) dann kann es kein definiertes Zeitverhalten liefern, also verspricht es das auch nicht.
Der Verzicht auf technisch hergestellte Garantien ist jedoch nicht einfach ein fauler Kompromiss sondern dieser technische Minimalismus hat ein Ziel: das Protokoll soll so einfach wie möglich sein.
Der Verzicht auf Garantien scheint zunächst ein immenser Nachteil zu sein. Protokolle wie ATM (das in vielerlei Hinsicht eine Konkurrenzveranstaltung zu IP darstellt) bieten Garantien: beim Aufbau einer Verbindung können die Kommunikationspartner vom Netz bestimmte Eigenschaften der Verbindung anfordern, z.B. eine maximale Paketverlustrate oder eine maximale Laufzeit für alle Pakete. Kann das Netz (momentan) diese Anforderungen nicht erfüllen, dann kommt die Verbindung eben nicht zustande ("besetzt" ist die Analogie aus dem Telefonnetz). Wie solche netzseitigen Zusagen jeweils bepreist und abgerechnet werden sei hier mal komplett aussen vor.
IP verzichtet darauf, solche Garantien überhaupt anzubieten.
Der scheinbare Nachteil ist einerseits in der Tat ein Vorteil: IP muss keine Garantien von seinem Trägermedium fordern und die IP-Implementation muss auch nicht die Einhaltung der Garantien überwachen.
Das macht IP erheblich einfacher in der Implementation und führt damit zu wesentlich billigeren Geräten.
Andererseits ist der Nachteil wirklich nicht so gross, wie man auf den ersten Blick vermutet, denn viele Anforderungen an Kommunikationsnetze, die in Form von "maximales dies" oder "minimales das" formuliert werden, sind in der Realität gar nicht so hart, wie zunächst formuliert:
- für die Darstellung von Audio- oder -Videostreams reicht es beispielsweise aus, wenn das Netz im Mittel über ca. 10 Sekunden die Datenrate des Streams liefern kann. Man überträgt zunächst 10 Sekunden Material in einen Puffer beim Empfänger. Wenn das Netz dann im Mittel die Daten in den Puffer nachliefern kann, reisst der Datenstrom beim darstellenden Programm niemals ab, der Film kann ohne Ruckeln oder Lücken dargestellt werden.
Internet-Radio nutzt diese Tatsache und auch Internet-TV wird das in Kürze (Stand Feb-2007) verstärkt nutzen.
- für Echtzeitanwendungen wie Telefonie reicht die Übertragungsqualität des Internet in Strenge nicht aus.
"In Strenge" meint, dass die meisten Pakete durchaus schnell genug durchgehen, aber ab und zu eben die Paketlaufzeiten doch mal zu lang werden oder ab und zu so viele Pakete verloren gehen, dass selbst das Hirn des Zuhörers die gesprichenen Worte nicht mehr rekonstruieren kann.
In bester Telefon-Tradition würde man ein solches Netz niemals für Telefonie einsetzen, weil eben nicht immer die Qualität garantiert werden kann (ISDN oder ATM böten die permanente Garantie).
Aber auch hier sehen viele Anwender ein "geht meistens und ist immer billig" als wünschenswerter als ein "wenn's geht ist's perfekt, ab und zu ist aber auch besetzt (weil das Netz momentan die Garantien nicht erfülen kann) ist aber immer teuer"
IP und die auf IP basierenden Netze werden ständig weiterentwickelt, insbesondere an den Echtzeiteigenschaften wird ständig gefeilt.
Der bereits verabschiedete Standard für das IP der Zukunft (IPv6) enthält diverse Mechanismen, mit denen dem Kunden eine Mindestleistung garantiert werden kann.
Dieser Satz stammt aus dem Jahr 2003 und auch 2007 sind noch keine IPv6-Anschlüsse komerziell und als Standardprodukt verfügbar, geschweige denn solche, bei denen auch dei optionalen Features von IPv6 wie eben QoS-Garantien voll implementiert sind. Die Gründe dafür wollen wir hier zunächst ausklammern.
IP muss nicht allein stehen. Da das Protokoll universell ist und auf jedem Trägermedium funktioniert, kann natürlich auch ein Träger eingesetzt werden, der Garantien bietet (z.B. ein ATM-Netz). In diesem Fall "erbt" dann quasi auch das darauf basierende IP-Netz die Garantieeigenschaften und der Anwender kann sich innerhalb eines solchen IP-Netzes dann durchaus darauf verlassen.
Vor diesem Hintergrund kann man dann Meldungen wie http://www.heise.de/newsticker/result.xhtml?url=/newsticker/meldung/84750 oder http://www.heise.de/newsticker/result.xhtml?url=/newsticker/meldung/85394 auch richtig verstehen: hier soll nicht ein irgendwie aufgebautes Internet als Ersatz für die bestehenden ISDN, PDH, SDH und ATM-Netze verwendet werden sondern die vorhandenen Glasfasernetze werden statt mit ATM eben mit IP betrieben, das so gebaute IP-Backbone erbt jedoch die Echtzeiteigenschaften des Fasernetzes und kann so weiter die gewohnte (oder fast die gewohnte) Qualität gewährleisten.
Quality Of Service QoS
Als Schlagwort tritt QoS an vielen Stellen auf.
Der Windows-Anwender kommt seit Windows XP z.B. in den segensreicehn Genuss eines QoS Paketplaners für jede Netzwerkverbindung. Klingt ja erstmal toll.
Wie Homepage ist auch QoS ein ziemlicher Gummibegriff geworden, daher ist hier immer von "Garantien" die Rede gewesen, und nicht von QoS.
Wenn von QoS im zusammenhang mit IP oder Internet die Rede ist, dann ist immer irgendein Mechanismus gemeint, der versucht, Paketverluste zu vermeiden, die durch eine Überlastung der Leitung eintreten; auch wenn nur kurzzeitig mehr Pakete zum Transport anstehen, als die Leitung bewältigen kann, dann gehen Pakete halt verloren.
Seltener sind komplexere Traffic Shaping Mechanismen gemeint, wie sie z.B. der Linux-Kernel bietet und die (korrekt konfiguriert) erlauben, für eine bestimmte Anwendung (z.B. die verlust- und latenzkritische IP-Telefonie) eine bestimmte Bandbreite zu reservieren aber auch nur dann, wenn wirklich diese Reservierung benötigt wird (also wenn wirklich telefoniert wird).
In der Marktrealität schmückt sich einfach alles, was einen simplen Paketratenbegrenzer oder ähnliches Feature implementiert, mit dem verkaufsfürdernden "QoS", ohne dass ein konkreter Nutzen daraus erkennbar ist.
Richtig verstanden kann man aber - wie oben dargestellt - ein IP-Netz durchaus so aufbauen, dass es definiertes Zeitverhalten für jedes Paket zeigt und so bestimmte Eigenschaften für den Kommunikationskanal in Strenge garantiert, also eine betimmte Servicequalität immer bietet.
Für das Internet als Ganzes gilt jedoch, dass es eine Laufzeit- oder sonstige Garantie niemals geben kann, weil eben IP (klug) alle Mechanismen zur Überwachung und Sicherstellung solcher Parameter weglässt.
IP arbeitet immer nach dem "best effort" Prinzip: für jedes Paket wird ein ernsthafter Versuch gemacht, es weiterzuleiten; aber wenns nicht klappt, dann eben nicht.

