下面的規(guī)則描述了SLIP協(xié)議定義的幀格式:
1) IP數(shù)據(jù)報以一個稱作END(0xC0)的特殊字符結(jié)束。同時,為了防止數(shù)據(jù)報到來之前的線路噪聲被當(dāng)成數(shù)據(jù)報內(nèi)容,大多數(shù)實(shí)現(xiàn)在數(shù)據(jù)報的開始處也傳一個END字符(如果有線路噪聲,那么END字符將結(jié)束這份錯誤的報文。這樣當(dāng)前的報文得以正確地傳輸,而前一個錯誤報文交給上層后,會發(fā)現(xiàn)其內(nèi)容毫無意義而被丟棄)。
2) 如果I P報文中某個字符為END,那么就要連續(xù)傳輸兩個字節(jié)ESC,ESC_END(0XDB,0xDC)來取代它。
0xDB這個特殊字符被稱作SLIP的ESC字符,但是它的值與ASCII碼的ESC字符(0x1B)不同。
3) 如果IP報文中某個字符為SLIP的ESC字符,那么就要連續(xù)傳輸兩個字節(jié)ESC,ESC_ESC(0xDB,0xDD)來取代它。
SLIP是一種簡單的幀封裝方法,還有一些值得一提的缺陷:
1) 每一端必須知道對方的I P地址。沒有辦法把本端的I P地址通知給另一端。
2)數(shù)據(jù)幀中沒有類型字段(類似于以太網(wǎng)中的類型字段)。如果一條串行線路用于SLIP,那么它不能同時使用其他協(xié)議。
3 ) SLIP沒有在數(shù)據(jù)幀中加上檢驗(yàn)和(類似于以太網(wǎng)中的CRC字段)。如果SLIP傳輸?shù)膱笪谋痪€路噪聲影響而發(fā)生錯誤,只能通過上層協(xié)議來發(fā)現(xiàn)(另一種方法是,新型的調(diào)制解調(diào)器可以檢測并糾正錯誤報文)。這樣,上層協(xié)議提供某種形式的CRC就顯得很重要。