SLIP[網際協定]

SLIP[網際協定]
SLIP[網際協定]
更多義項 ▼ 收起列表 ▲

SLIP(Serial Line Internet Protocol,串列線路網際協定),該協定是Windows遠程訪問的一種舊工業標準,主要在Unix遠程訪問伺服器中使用,現今仍然用於連線某些ISP。因為SLIP協定是面向低速串列線路的,可以用於專用線路,也可以用於撥號線路,Modem的傳輸速率在1200bps到19200bps。

名詞解釋

SLIP:Serial Line IP

串列線路 IP (SLIP)用於運行 TCP/IP 的點對點串列連線。 SLIP 通常專門用於串列連線,有時候也用於撥號,使用的線路速率一般介於 1200bps 和 19.2Kbps 之間。 SLIP 允許主機和路由器混合連線通信(主機 - 主機、主機 - 路由器、路由器 - 路由器都是 SLIP 網路通用的配置),因而非常有用。

SLIP 只是一個包組幀協定,僅僅定義了在串列線路上將數據包封裝成幀的一系列字元。它沒有提供定址、包類型標識、錯誤檢查 / 修正或者壓縮機制。

SLIP 定義了兩個特殊字元: END 和 ESC 。 END 是八進制300 (十進制 192), ESC 是八進制 333 (十進制 219)。傳送分組時, SLIP 主機只是簡單地傳送分組數據。如果數據中有一個位元組與 END 字元的編碼相同,就連續傳輸兩個位元組 ESC 和八進制 334 (十進制 220)。如果與 ESC 字元相同,就連續傳輸兩個位元組 ESC 和八進制 335 (十進制 221) 。當分組的最後一個位元組發出後,再傳送一個 END 字元。

因為沒有“標準的” SLIP 規範,也就沒有 SLIP 分組最大長度的實際定義。可能最好是接受 Berkeley UNIX SLIP驅動程式使用的最大分組長度: 1006 位元組,其中包括 IP 頭和傳輸協定頭(但不含分幀字元)。

壓縮串列線路 IP (CSLIP)在傳送出的 IP 分組上執行 Van Jacobson 頭部壓縮。這個壓縮過程顯著提高了互動式會話吞吐量。

如今,點對點協定(PPP)廣泛替代了 SLIP ,因為它有更多特性和更靈活。

套用範圍

在Windows中要設定SLIP協定,比如在Windows 98中,假設已經創建了“撥號連線”,右鍵單擊該連線,選擇“屬性”。接著,在打開的屬性視窗中,選擇“伺服器類型”選項卡,在“撥號網路伺服器類型”中選擇“SLIP:Unix連線”。最後,單擊“確定”按鈕即可。

套用缺點

SLIP是一種簡單的組幀方式,使用時還存在一些問題。首先,SLIP不支持在連線過程中的動態IP位址分配,通信雙方必須事先告訴對方IP位址,這給沒有固定IP位址的個人用戶上Internet網帶來了很大的不便;其次,SLIP幀中無協定類型欄位,因此他只能支持IP協定;再有,SLIP幀中無校驗欄位,因此鏈路層上無法檢測出傳輸差錯,必須由上層實體或具有糾錯能力的MODEM來解決差錯問題。

SLIP是一種在串列線路上對IP數據報進行封裝的簡單形式,在RFC 1055[Romkey 1988]中有詳細描述。SLIP適用於家庭中每台計算機幾乎都有的RS-232串列連線埠和高速數據機接入Internet。

十六進制數縮寫描述
0xC0END幀結束符
0xDBESC幀退出符
0xDCESC_END幀結束轉義符
0xDDESC_ESC幀退出轉義符

下面的規則描述了SLIP協定定義的幀格式:

1) IP數據報以一個稱作END(0xC0)的特殊字元結束。同時,為了防止數據報到來之前的線路噪聲被當成數據報內容,大多數實現在數據報的開始處也傳一個END字元(如果有線路噪聲,那么END字元將結束這份錯誤的報文。這樣當前的報文得以正確地傳輸,而前一個錯誤報文交給上層後,會發現其內容毫無意義而被丟棄)。

2) 如果IP報文中某個字元為END,那么就要連續傳輸兩個位元組ESC,ESC_END(0XDB,0xDC)來取代它。

0xDB這個特殊字元被稱作SLIP的ESC字元,但是它的值與ASCII碼的ESC字元(0x1B)不同。

3) 如果IP報文中某個字元為SLIP的ESC字元,那么就要連續傳輸兩個位元組ESC,ESC_ESC(0xDB,0xDD)來取代它。

SLIP是一種簡單的幀封裝方法,還有一些值得一提的缺陷:

1) 每一端必須知道對方的IP位址。沒有辦法把本端的IP位址通知給另一端。

2)數據幀中沒有類型欄位(類似於乙太網中的類型欄位)。如果一條串列線路用於SLIP,那么它不能同時使用其他協定。

3 ) SLIP沒有在數據幀中加上檢驗和(類似於乙太網中的CRC欄位)。如果SLIP傳輸的報文被線路噪聲影響而發生錯誤,只能通過上層協定來發現(另一種方法是,新型的數據機可以檢測並糾正錯誤報文)。這樣,上層協定提供某種形式的CRC就顯得很重要。

目前狀況

廣泛使用

儘管存在這些缺點, SLIP仍然是一種廣泛使用的協定。它主要被用於支持TCP/IP網路控制協定(network control protocol,NCP)。

SLIP的歷史要追溯到1 9 8 4年,Rick Adams第一次在4.2BSD系統中實現。儘管它本身的描述是一種非標準的協定,但是隨著數據機的速率和可靠性的提高,SLIP越來越流行。現在,它的許多產品可以公開獲得,而且很多廠家都支持這種協定。

壓縮

由於串列線路的速率通常較低(19200 b/s或更低),而且通信經常是互動式的(如Telnet和Rlogin,二者都使用TCP),因此在SLIP線路上有許多小的TCP分組進行交換。為了傳送1個位元組的數據需要2 0個位元組的IP首部和40個位元組的TCP首部,總數超過40個位元組。

既然承認這些性能上的缺陷,於是人們提出一個被稱作CSLIP(即壓縮SLIP)的新協定,它在RFC 1144[Jacobson 1990a]中被詳細描述。CSLIP一般能把上面的40個位元組壓縮到3或5個位元組。它能在CSLIP的每一端維持多達16個TCP連線,並且知道其中每個連線的首部中的某些欄位一般不會發生變化。對於那些發生變化的欄位,大多數只是一些小的數字和的改變。這些被壓縮的首部大大地縮短了互動回響時間。現在大多數的SLIP產品都支持CSLIP。

相關詞條

相關搜尋

熱門詞條

聯絡我們