Zum Inhalt springen

„Serial Line Internet Protocol“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Änderungen von 89.144.234.50 (Diskussion) auf die letzte Version von Tschäfer zurückgesetzt
Van-Jacobson-Komprimierung und CSLIP: 'Byte' statt 'Zeichen' ist IMHO besser & eindeutiger in diesem Kontext.
 
(16 dazwischenliegende Versionen von 13 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]]'''
|-----
|-
| align="center" bgcolor="#FFEEBB" | ''Anwendung''
|style="background:#FFEEBB"| ''Anwendung''
| align="center" bgcolor="#EEEEFF" | [[File Transfer Protocol|FTP]]
|style="background:#EEEEFF"| [[File Transfer Protocol|FTP]]
| align="center" bgcolor="#EEEEFF" | [[SMTP]]
|style="background:#EEEEFF"| [[SMTP]]
| align="center" bgcolor="#EEEEFF" | [[HTTP]]
|style="background:#EEEEFF"| [[HTTP]]
| align="center" bgcolor="#EEEEFF" | [[Domain Name System|DNS]]
|style="background:#EEEEFF"| [[Domain Name System|DNS]]
| align="center" bgcolor="#EEEEFF" | ...
|style="background:#EEEEFF"|
|-----
|-
| align="center" bgcolor="#FFEEBB" | ''Transport''
|style="background:#FFEEBB"| ''Transport''
| colspan="3" align="center" bgcolor="#EEEEFF" | [[Transmission Control Protocol|TCP]]
|colspan="3" style="background:#EEEEFF"| [[Transmission Control Protocol|TCP]]
| colspan="2" align="center" bgcolor="#EEEEFF" | [[User Datagram Protocol|UDP]]
|colspan="2" style="background:#EEEEFF"| [[User Datagram Protocol|UDP]]
|-----
|-
| rowspan="1" align="center" bgcolor="#FFEEBB" | ''Vermittlung''
|style="background:#FFEEBB"| ''Vermittlung''
| colspan="5" align="center" bgcolor="#EEEEFF" | [[Internet Protocol|IPv4]]
|colspan="5" style="background:#EEEEFF"| [[Internet Protocol|IPv4]]
|-----
|-
| rowspan="2" align="center" bgcolor="#FFCC99" | '''Netzzugang'''
|rowspan="2" style="background:#FFCC99"| '''Netzzugang'''
| colspan="3" align="center" bgcolor="#9999FF" | '''SLIP'''
|colspan="3" style="background:#9999FF"| '''SLIP'''
| colspan="2" align="center" bgcolor="#9999FF" | '''[[Point-to-Point Protocol|PPP]]'''
|colspan="2" style="background:#9999FF"| '''[[Point-to-Point Protocol|PPP]]'''
|-----
|-
| colspan="4" align="center" bgcolor="#EEEEEE" | ''[[Serielle Datenübertragung|Serielle]] Leitung''
|colspan="4" style="background:#EEEEEE"| ''[[Serielle Datenübertragung|Serielle]] Leitung''
| align="center" bgcolor="#EEEEEE" | ...
|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 Oktets eines IP-Pakets über das serielle Kabel gesendet werden. Das Ende des Pakets wird mit dem speziellen END-Zeichen Nr. 192 (Oktalcode <code>300</code>) gekennzeichnet. Falls dieses Zeichen innerhalb des zu sendenden Pakets auftritt, wird stattdessen die Sequenz 219/220 (Oktal <code>333</code>+<code>334</code>) und für das Zeichen Nr. 219 selbst die Sequenz 219/221 (Oktal <code>333</code>+<code>335</code>) übertragen. Das Zeichen Nr. 219 wird ESC-Zeichen genannt.
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.&nbsp;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.&nbsp;219 selbst die Sequenz 219/221 (<code>0xDB 0xDD</code>) übertragen. Das Zeichen Nr.&nbsp;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.


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 ==
Das PPP-Protokoll ist wesentlich komplexer als SLIP. Zunächst verlangt SLIP, dass alle Oktetts unverändert über das serielle Kabel gesendet werden können. Dies ist oft nicht möglich, da Terminaltreiber manche Bytes 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.
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 Provider]]n verlangt wird.
PPP erlaubt darüber hinaus eine Übertragung der Netzwerkparameter ([[IP-Adresse]], Gateway-Adresse) und eine Authentifizierung, wie sie heute von vielen [[Internet Service Provider]]n 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.
Auch andere Parameter wie z.&nbsp;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 ([[Extranet]]).
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 immerhin 40 Zeichen. Auf einer 19200-[[Baud]]-Leitung benötigt jedes Zeichen immerhin ca. 1/2 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.
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. ½&nbsp;ms, der TCP/IP-Header allein also etwa 20&nbsp;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 Zeichen statt 40 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.
[[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.

SLIP mit TCP/IP-Protokollstapel
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.

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.

  • RFC: 1055 – Serial Line Internet Protocol. 1988 (englisch).
  • RFC: 1144 – Compressed Serial Line Internet Protocol. 1990 (englisch).