今天主要讲一下我对链路层上的SLIP协议和PPP协议的看法。今天应该是写的第三天了,为自己的坚持点个赞。
SLIP协议其实用到的并不多,它全名叫serial line imternet protocol,译为中文是串行线路网际协议。它属于低速串行线路,可用于专业线路,也可用于拨号线路,传输速率在1200bps到19200bps之间。对slip帧(因为它是链路层协议)的格式,主要需要记住的是一个END位,位于帧的首部和尾部,用于判断帧的开始与结束。这样就可能存在如果在帧中间有个END的话,数据帧就被破坏了,接收方只会读取前面部分的内容。因此采用类似c语言中的转义字符,这里采用的是ESC位,即若接收者连续收到ESC,END,则认为该END并不表示帧的结束;若倒数第二个字符是ESC,则再增加ESC位,否则接收方认为数据帧还没有结束,即连续出现两个ESC,则只处理一个。
SLIP协议之所以不适用,是因为存在以下原因:
1.串行线路上只能跑一种协议(只能跑SLIP),而不能跑其他的协议
2.传输的数据大,会增加网络拥塞
3.不能把本端的IP传给另一端(帧中没有源IP位)
4.不能进行校验(帧中没有校验位)
现在常用的是CSLIP协议,它与SLIP主要的不同是对数据帧进行了压缩,即原来要传输40字节的帧,现在只需要传送3~5字节的帧。
此外PPP协议大家应该比较了解,即点对点协议,它已经逐渐取代了SLIP和CSLIP协议。它用SOF和EOT位分别表示数据帧的开始与结束,相比较之前的两个协议,它的优点在于:
1.可以在一条串行线路上跑多个协议
2.同时具有压缩数据帧的功能
3.可以对数据帧进行校验(存在校验位)