SLIP协议与PPP协议
SLIP协议和PPP协议都是链路层协议,都提供直接相连的两台设备之间传输数据报的方法
SLIP协议
SLIP协议全程 Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式,在RFC 1055中有详细描述
SLIP提供了两个特殊字符,END(0xc0)和 ESC(0xdb)
SLIP报文的头尾都有一个END字符,头部的END是用来结束之前的噪声,这些噪声传到上一层后会被丢弃,尾部END标志当前SLIP报文结束
如果IP数据报中有END字符,则需要用ESC字符加0xdc替代
如果IP数据报中有ESC字符,则需要用ESC加0xdd替代
一个例子
SLIP的优缺点
优点:简单,历史悠久
缺点:
- 通信双方必须知道对方的IP地址,无法把本机IP告诉另一端
- 数据帧中没有类型字段,即如果一条串行线路用于SLIP,那么就不能同时使用其他协议
- 没有检验和,需要上层协议发现错误
压缩的SLIP–CSLIP
CSLIP支持把上层的IP首部和TCP首部的一些一般不会发生变化的字段给去除,减少头部大小,缩短数据传输时间
PPP协议
点对点协议,可以看作SLIP协议的升级版,PPP协议包括一下部分
- 封装 支持多种方式的对IP数据报的封装,也支持其他网络协议的数据封装
- 链路控制协议(LCP:Link Control Protocol)用于建立,配置和测试数据链路,允许通信双方对不同选项进行协商
- 网络控制协议(NCP:Network Control Protocol)针对不同网络层协议进行协商
PPP数据帧的格式
标志位类似于SLIP的END字段
地址位是不变的0xff
然后是控制位0x03
协议位类似于类似那个类型字段,表示上一层使用的协议
CRC位是循环冗余检验码
PPP的优点:
- 支持在但跟串行线路上运行多种协议
- 有CRC检验
- 通信双方可以进行ip地址的动态协商和其他选项的协商配置
- 可以对TCP IP报文首部进行压缩