„Serial Line Internet Protocol“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Hex-Codierung |
→Van-Jacobson-Komprimierung und CSLIP: 'Byte' statt 'Zeichen' ist IMHO besser & eindeutiger in diesem Kontext. |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Serial Line Internet Protocol''' ('''SLIP''') bezeichnet ein [[Netzwerkprotokoll]] der Sicherungsschicht. |
'''Serial Line Internet Protocol''' ('''SLIP''') bezeichnet ein [[Netzwerkprotokoll]] der Sicherungsschicht. |
||
{| class="float-right" style="text-align:center" cellspacing="3" |
|||
{| border="0" cellspacing="3" class="float-right" |
|||
|+ '''SLIP mit [[TCP/IP-Referenzmodell|TCP/IP-Protokollstapel]]''' |
|+ '''SLIP mit [[TCP/IP-Referenzmodell|TCP/IP-Protokollstapel]]''' |
||
| |
|- |
||
| |
|style="background:#FFEEBB"| ''Anwendung'' |
||
| |
|style="background:#EEEEFF"| [[File Transfer Protocol|FTP]] |
||
| |
|style="background:#EEEEFF"| [[SMTP]] |
||
| |
|style="background:#EEEEFF"| [[HTTP]] |
||
| |
|style="background:#EEEEFF"| [[Domain Name System|DNS]] |
||
| |
|style="background:#EEEEFF"| … |
||
| |
|- |
||
| |
|style="background:#FFEEBB"| ''Transport'' |
||
| |
|colspan="3" style="background:#EEEEFF"| [[Transmission Control Protocol|TCP]] |
||
| |
|colspan="2" style="background:#EEEEFF"| [[User Datagram Protocol|UDP]] |
||
| |
|- |
||
| |
|style="background:#FFEEBB"| ''Vermittlung'' |
||
| |
|colspan="5" style="background:#EEEEFF"| [[Internet Protocol|IPv4]] |
||
| |
|- |
||
| |
|rowspan="2" style="background:#FFCC99"| '''Netzzugang''' |
||
| |
|colspan="3" style="background:#9999FF"| '''SLIP''' |
||
| |
|colspan="2" style="background:#9999FF"| '''[[Point-to-Point Protocol|PPP]]''' |
||
| |
|- |
||
| |
|colspan="4" style="background:#EEEEEE"| ''[[Serielle Datenübertragung|Serielle]] Leitung'' |
||
| |
|style="background:#EEEEEE"| … |
||
|} |
|} |
||
Es wird verwendet, um eine [[Internet Protocol|IP]]-Netzwerkverbindung zwischen zwei [[Computer]]n herzustellen, die über eine [[Serielle Datenübertragung|serielle]] Schnittstelle verbunden sind. |
Es wird verwendet, um eine [[Internet Protocol|IP]]-Netzwerkverbindung zwischen zwei [[Computer]]n herzustellen, die über eine [[Serielle Datenübertragung|serielle]] Schnittstelle verbunden sind. |
||
Mittlerweile wird dazu meist das [[Point-to-Point Protocol]] (PPP) verwendet. |
Mittlerweile wird dazu meist das [[Point-to-Point Protocol]] (PPP) verwendet. |
||
SLIP geht den einfachstmöglichen Weg einer solchen Verbindung, indem einfach die Bytes eines IP-Pakets über das serielle Kabel gesendet werden. Das Ende des Pakets wird mit dem speziellen END-Zeichen Nr. |
SLIP geht den einfachstmöglichen Weg einer solchen Verbindung, indem einfach die Bytes eines IP-Pakets über das serielle Kabel gesendet werden. Das Ende des Pakets wird mit dem speziellen END-Zeichen Nr. 192 (<code>0xC0</code>) gekennzeichnet. Falls dieses Zeichen innerhalb des zu sendenden Pakets auftritt, wird stattdessen die Sequenz 219/220 (<code>0xDB 0xDC</code>) und für das Zeichen Nr. 219 selbst die Sequenz 219/221 (<code>0xDB 0xDD</code>) übertragen. Das Zeichen Nr. 219 wird ESC-Zeichen genannt. |
||
Eine Modifikation des Protokolls sendet das END-Zeichen auch zu Beginn jedes Pakets. Dies macht die Übertragung robuster gegenüber geringem Leitungsrauschen zwischen den Paketen. |
Eine Modifikation des Protokolls sendet das END-Zeichen auch zu Beginn jedes Pakets. Dies macht die Übertragung robuster gegenüber geringem Leitungsrauschen zwischen den Paketen. |
||
Zeile 34: | Zeile 35: | ||
SLIP besitzt keinerlei Adressierung und keine Fehlererkennung. Diese müssen von den übergeordneten Protokollen zur Verfügung gestellt werden: |
SLIP besitzt keinerlei Adressierung und keine Fehlererkennung. Diese müssen von den übergeordneten Protokollen zur Verfügung gestellt werden: |
||
*SLIP: keine Fehlererkennung und Adressierung |
* SLIP: keine Fehlererkennung und Adressierung |
||
*IP: Prüfsumme für IP-Headerdaten, 32-Bit-Adressen |
* IP: Prüfsumme für IP-Headerdaten, 32-Bit-Adressen |
||
*UDP: Prüfsumme über UDP-Header und Daten, 16-Bit-Ports |
* UDP: Prüfsumme über UDP-Header und Daten, 16-Bit-Ports |
||
*TCP: Prüfsumme über TCP-Header und Daten, 16-Bit-Ports |
* TCP: Prüfsumme über TCP-Header und Daten, 16-Bit-Ports |
||
== Unterschiede zu PPP == |
== Unterschiede zu PPP == |
||
Zeile 46: | Zeile 47: | ||
Auch andere Parameter wie z. B. eine Komprimierung können über PPP zwischen den Parteien beim Verbindungsaufbau ausgehandelt werden, was bei SLIP nicht möglich ist. |
Auch andere Parameter wie z. B. eine Komprimierung können über PPP zwischen den Parteien beim Verbindungsaufbau ausgehandelt werden, was bei SLIP nicht möglich ist. |
||
SLIP kann und wird daher nur in sehr einfachen Fällen eingesetzt; in der Vergangenheit häufig bei [[Callback (Telekommunikation)|Callback]]-Modems zwecks externem Einwählens auf Workstations in einem gesicherten Intranet ( |
SLIP kann und wird daher nur in sehr einfachen Fällen eingesetzt; in der Vergangenheit häufig bei [[Callback (Telekommunikation)|Callback]]-Modems zwecks externem Einwählens auf Workstations in einem gesicherten Intranet ([[Extranet]]). Gegen Ende der 1990er Jahre gehörte diese Art der Internetverbindung mit zu den sichersten überhaupt: ein ungewollter Eindringling hätte mindestens Zugang zu den abgesicherten Server-Räumen haben müssen, um die Telefonnummern in den Modems umzuprogrammieren, auf die das Callback eingestellt war. Denn ein "Telefonnummern-Spoofing" (analog zum [[IP-Spoofing]]) wäre ohne Eingriff in die Hardware des Telefonanbieters nicht leicht zu bewerkstelligen gewesen. |
||
== Van-Jacobson-Komprimierung und CSLIP == |
== Van-Jacobson-Komprimierung und CSLIP == |
||
Da serielle Verbindungen oft recht langsam sind, führt die Übertragung der IP-Headers mit jedem Paket zu einem verringerten Datendurchsatz. Jeder TCP/IP-Header hat 40 Zeichen. Auf einer 19200-[[Baud]]-Leitung benötigt jedes Zeichen ca. ½ |
Da serielle Verbindungen oft recht langsam sind, führt die Übertragung der IP-Headers mit jedem Paket zu einem verringerten Datendurchsatz. Jeder TCP/IP-Header hat 40 Zeichen. Auf einer 19200-[[Baud]]-Leitung benötigt jedes Zeichen ca. ½ ms, der TCP/IP-Header allein also etwa 20 ms. Dies begrenzt die Übertragungsrate auf unter 50 Pakete/Sekunde, was oft nicht einmal für Schnelltipper ausreicht, wenn pro Tastendruck ein Paket übertragen wird. |
||
[[Van Jacobson]] schlug daher eine Komprimierung vor, die nur die Unterschiede der TCP-Header zwischen zwei Paketen überträgt. Dadurch wird der Durchsatz wesentlich erhöht, da in der Regel nur 7 |
[[Van Jacobson]] schlug daher eine Komprimierung vor, die nur die Unterschiede der TCP-Header zwischen zwei Paketen überträgt. Dadurch wird der Durchsatz wesentlich erhöht, da in der Regel nur 7 statt 40 Byte für den Header nötig sind. Die Van-Jacobson-Komprimierung wird oft bei SLIP-Verbindungen eingesetzt. Das Protokoll mit aktiver Van-Jacobson-Komprimierung wird auch [[CSLIP]]-Protokoll (''compressed SLIP''=komprimiertes SLIP) genannt. |
||
== Geschichte == |
== Geschichte == |
||
Der Entwurf (RFC) zu SLIP stammt von 1988, der zu CSLIP von 1990. Heute ist SLIP in der Praxis weithin oder vollständig von [[Point-to-Point Protocol|PPP]] abgelöst. |
Der Entwurf (RFC) zu SLIP stammt von 1988, der zu CSLIP von 1990. Heute ist SLIP in der Praxis weithin oder vollständig von [[Point-to-Point Protocol|PPP]] abgelöst. |
||
== Weblinks == |
== Weblinks == |
||
* {{RFC-Internet |RFC=1055 |Titel=Serial Line Internet Protocol |Datum=1988}} |
|||
* SLIP: RFC 1055 |
|||
* {{RFC-Internet |RFC=1144 |Titel=Compressed Serial Line Internet Protocol |Datum=1990}} |
|||
* CSLIP: RFC 1144 |
|||
{{Normdaten|TYP=s|GND=4441658-1}} |
{{Normdaten|TYP=s|GND=4441658-1}} |
Aktuelle Version vom 23. Februar 2025, 17:41 Uhr
Serial Line Internet Protocol (SLIP) bezeichnet ein Netzwerkprotokoll der Sicherungsschicht.
Anwendung | FTP | SMTP | HTTP | DNS | … |
Transport | TCP | UDP | |||
Vermittlung | IPv4 | ||||
Netzzugang | SLIP | PPP | |||
Serielle Leitung | … |
Es wird verwendet, um eine IP-Netzwerkverbindung zwischen zwei Computern herzustellen, die über eine serielle Schnittstelle verbunden sind. Mittlerweile wird dazu meist das Point-to-Point Protocol (PPP) verwendet.
SLIP geht den einfachstmöglichen Weg einer solchen Verbindung, indem einfach die Bytes eines IP-Pakets über das serielle Kabel gesendet werden. Das Ende des Pakets wird mit dem speziellen END-Zeichen Nr. 192 (0xC0
) gekennzeichnet. Falls dieses Zeichen innerhalb des zu sendenden Pakets auftritt, wird stattdessen die Sequenz 219/220 (0xDB 0xDC
) und für das Zeichen Nr. 219 selbst die Sequenz 219/221 (0xDB 0xDD
) übertragen. Das Zeichen Nr. 219 wird ESC-Zeichen genannt.
Eine Modifikation des Protokolls sendet das END-Zeichen auch zu Beginn jedes Pakets. Dies macht die Übertragung robuster gegenüber geringem Leitungsrauschen zwischen den Paketen.
SLIP besitzt keinerlei Adressierung und keine Fehlererkennung. Diese müssen von den übergeordneten Protokollen zur Verfügung gestellt werden:
- SLIP: keine Fehlererkennung und Adressierung
- IP: Prüfsumme für IP-Headerdaten, 32-Bit-Adressen
- UDP: Prüfsumme über UDP-Header und Daten, 16-Bit-Ports
- TCP: Prüfsumme über TCP-Header und Daten, 16-Bit-Ports
Unterschiede zu PPP
[Bearbeiten | Quelltext bearbeiten]Das PPP-Protokoll ist wesentlich komplexer als SLIP. Zunächst verlangt SLIP, dass alle Bytes unverändert über das serielle Kabel gesendet werden können. Dies ist oft nicht möglich, da Terminaltreiber manche Oktetts speziell interpretieren, beispielsweise CTRL-Q und CTRL-S als Start/Stop-Zeichen interpretieren oder vor einen Wagenrücklauf noch einen Zeilenvorschub einfügen. Über PPP können bestimmte Zeichen verboten werden. Diese werden dann durch Zeichensequenzen ersetzt.
PPP erlaubt darüber hinaus eine Übertragung der Netzwerkparameter (IP-Adresse, Gateway-Adresse) und eine Authentifizierung, wie sie heute von vielen Internet Service Providern verlangt wird.
Auch andere Parameter wie z. B. eine Komprimierung können über PPP zwischen den Parteien beim Verbindungsaufbau ausgehandelt werden, was bei SLIP nicht möglich ist.
SLIP kann und wird daher nur in sehr einfachen Fällen eingesetzt; in der Vergangenheit häufig bei Callback-Modems zwecks externem Einwählens auf Workstations in einem gesicherten Intranet (Extranet). Gegen Ende der 1990er Jahre gehörte diese Art der Internetverbindung mit zu den sichersten überhaupt: ein ungewollter Eindringling hätte mindestens Zugang zu den abgesicherten Server-Räumen haben müssen, um die Telefonnummern in den Modems umzuprogrammieren, auf die das Callback eingestellt war. Denn ein "Telefonnummern-Spoofing" (analog zum IP-Spoofing) wäre ohne Eingriff in die Hardware des Telefonanbieters nicht leicht zu bewerkstelligen gewesen.
Van-Jacobson-Komprimierung und CSLIP
[Bearbeiten | Quelltext bearbeiten]Da serielle Verbindungen oft recht langsam sind, führt die Übertragung der IP-Headers mit jedem Paket zu einem verringerten Datendurchsatz. Jeder TCP/IP-Header hat 40 Zeichen. Auf einer 19200-Baud-Leitung benötigt jedes Zeichen ca. ½ ms, der TCP/IP-Header allein also etwa 20 ms. Dies begrenzt die Übertragungsrate auf unter 50 Pakete/Sekunde, was oft nicht einmal für Schnelltipper ausreicht, wenn pro Tastendruck ein Paket übertragen wird.
Van Jacobson schlug daher eine Komprimierung vor, die nur die Unterschiede der TCP-Header zwischen zwei Paketen überträgt. Dadurch wird der Durchsatz wesentlich erhöht, da in der Regel nur 7 statt 40 Byte für den Header nötig sind. Die Van-Jacobson-Komprimierung wird oft bei SLIP-Verbindungen eingesetzt. Das Protokoll mit aktiver Van-Jacobson-Komprimierung wird auch CSLIP-Protokoll (compressed SLIP=komprimiertes SLIP) genannt.
Geschichte
[Bearbeiten | Quelltext bearbeiten]Der Entwurf (RFC) zu SLIP stammt von 1988, der zu CSLIP von 1990. Heute ist SLIP in der Praxis weithin oder vollständig von PPP abgelöst.