SLIP的全稱是Serial Line IP延旧。它是一種在串行線路上對(duì) IP數(shù)據(jù)報(bào)進(jìn)行封裝的簡單形式。 S L I P適用于家庭中每臺(tái)計(jì)算機(jī)幾乎都有的 R S - 2 3 2串 行端口和高速調(diào)制解調(diào)器接入 Internet哨啃。
下面的規(guī)則描述了SLIP協(xié)議定義的幀格式: 1) IP數(shù)據(jù)報(bào)以一個(gè)稱作 E N D(0 x c 0)的特殊字符結(jié)束。 同時(shí), 為了防止數(shù)據(jù)報(bào)到來之前 的線路噪聲被當(dāng)成數(shù)據(jù)報(bào)內(nèi)容,大多數(shù)實(shí)現(xiàn)在數(shù)據(jù)報(bào)的開始處也傳一個(gè) E N D字符(如果有線 路噪聲,那么 E N D字符將結(jié)束這份錯(cuò)誤的報(bào)文奇瘦。 這樣當(dāng)前的報(bào)文得以正確地傳輸, 而前一個(gè) 錯(cuò)誤報(bào)文交給上層后,會(huì)發(fā)現(xiàn)其內(nèi)容毫無意義而被丟棄)棘催。
2) 如果I P報(bào)文中某個(gè)字符為 E N D, 那么就要連續(xù)傳輸兩個(gè)字節(jié) 0 x d b和0 x d c來取代它。 0xdb這個(gè)特殊字符被稱作SLIP的ESC字符,但是它的值與ASCII碼的ESC字符(0x1b)不同耳标。
3) 如果I P報(bào)文中某個(gè)字符為 S L I P的E S C字符,那么就要連續(xù)傳輸兩個(gè)字節(jié) 0 x d b和0 x d d來 取代它醇坝。
圖1中的例子就是含有一個(gè) E N D字符和一個(gè)E S C字符的I P報(bào)文。 在這個(gè)例子中, 在串行 線路上傳輸?shù)目傋止?jié)數(shù)是原 IP報(bào)文長度再加4個(gè)字節(jié)。
SLIP是一種簡單的幀封裝方法,還有一些值得一提的缺陷:?
1) 每一端必須知道對(duì)方的IP地址呼猪。沒有辦法把本端的 IP地址通知給另一端画畅。?
2) 數(shù)據(jù)幀中沒有類型字段(類似于以太網(wǎng)中的類型字段)。如果一條串行線路用于 S L I P, 那么它不能同時(shí)使用其他協(xié)議宋距。
3 ) S L I P沒有在數(shù)據(jù)幀中加上檢驗(yàn)和(類似于以太網(wǎng)中的 C R C字段)轴踱。如果S L I P傳輸?shù)膱?bào) 文被線路噪聲影響而發(fā)生錯(cuò)誤, 只能通過上層協(xié)議來發(fā)現(xiàn)(另一種方法是, 新型的調(diào)制解調(diào) 器可以檢測(cè)并糾正錯(cuò)誤報(bào)文)。這樣,上層協(xié)議提供某種形式的 C R C就顯得很重要谚赎。
盡管存在這些缺點(diǎn), SLIP仍然是一種廣泛使用的協(xié)議淫僻。
SLIP的歷史要追溯到1984年,Rick Adams第一次在4.2BSD系統(tǒng)中實(shí)現(xiàn)。盡管它本 身的描述是一種非標(biāo)準(zhǔn)的協(xié)議,但是隨著調(diào)制解調(diào)器的速率和可靠性的提高, SLIP越 來越流行『剑現(xiàn)在,它的許多產(chǎn)品可以公開獲得,而且很多廠家都支持這種協(xié)議雳灵。
由于串行線路的速率通常較低( 19200 b/s或更低),而且通信經(jīng)常是交互式的(如 Te l n e t 和Rlogin,二者都使用TCP),因此在SLIP線路上有許多小的TCP分組進(jìn)行交換。為了傳送 1個(gè) 字節(jié)的數(shù)據(jù)需要20個(gè)字節(jié)的IP首部和20個(gè)字節(jié)的TCP首部,總數(shù)超過40個(gè)字節(jié)闸盔。
既然承認(rèn)這些性能上的缺陷,于是人們提出一個(gè)被稱作 C S L I P(即壓縮S L I P)的新協(xié)議悯辙。 CSLIP一般能把上面的40個(gè)字節(jié)壓縮到3或5個(gè) 字節(jié)。它能在CSLIP的每一端維持多達(dá)16個(gè)TCP連接,并且知道其中每個(gè)連接的首部中的某些 字段一般不會(huì)發(fā)生變化迎吵。 對(duì)于那些發(fā)生變化的字段, 大多數(shù)只是一些小的數(shù)字和的改變躲撰。 這 些被壓縮的首部大大地縮短了交互響應(yīng)時(shí)間。
現(xiàn)在大多數(shù)的SLIP產(chǎn)品都支持CSLIP击费。