更新时间:2022-08-25 12:16
串行线路网际协议(Serial Line Internet Protocol)是一个在串行线路上对IP分组进行封装的简单的面向字符的协议,用以使用户通过电话线和调制解调器接入Internet 。
因特网服务提供者ISP是一个能够提供用户拨号入网的经营机构。ISP拥有路由器与因特网相连(—般都用高速专线),同时也和电信公司的电话交换机有专线相连。用户在某一个ISP缴资注册后,即可使用家中的计算机通过调制解调器、电话线接入到该ISP。例如,用计算机拨号码为163或169的ISP。ISP在收到用户的接入呼叫后,就分配给该用户—个临时的IP地址。一个ISP拥有很多的调制解调器,并申请得到了很多个可供分配的IP地址,使许多用户能够同时拨通该ISP并接入到因特网。用户拨通ISP后,经过ISP的识别用户名和口令的过程后,就获得了一个临时的IP地址,使用户的计算机成为连接在因特网上的主机,这样就可以使用因特网所提供的各种网络服务。当用户结束通信并发出释放连接的请求时,ISP就将刚才分配给该用户的IP地址收回,以便能够分配给下次拨号入网的其他用户使用。
一旦用户拨通ISP后,用户机器与ISP的路由器之间就建立了一个TCP/IP连接。用户正是通过这个连接与因特网进行通信。在用户与ISP之间的链路上使用的协议包括SLIP和PPP。
SLIP 的帧格式如图1所示
SLIP 帧的封装规则有三个:
1、IP 数据报的首尾各加上一个特殊标志字符END,将其封装成为SLIP帧 。END的编码为(0xC0) ,相当于二进制的11000000 。在SLIP的帧首加上END字符的作用,是为了防止在IP数据报到来之前将线路上的噪声当成数据报的内容。
2、如果在IP数据报中的某一个字节恰好与特殊标志字符END的编码(0xC0)一样 ,那么需要用2字节序列0xDB和0xDC 替换这一个字节(这里将特殊字符0xDB 称为SLIP转义字符,它和 ASCII码的转义字符ESC并不相同,ESC 字符的值为0x1B)。
3、如果在 IP数据报中的某一个字节恰好与 SLIP转义字符一样 ,则需要用2字节序列0xDB 和0xDD将它替换。
SLIP协议只是一种简单的帧封装协议,它还存在一些缺点:
1、SLIP没有校验字段,不提供差错检测的功能。 当SLIP帧在传输中出差错时 ,只能靠高层协议来进行纠正。
2、通信双方必须事先知道对方的IP地址 ,SLIP 不能将IP地址提供给对方 。这对没有固定IP地址的拨号入网的用户来说是不方便的。
3、SLIP帧中无协议类型字段,因此仅支持IP协议 ,而不支持其他的协议。SLIP 主要用于低速串行线路中的交互性业务 ,每传输一个数据报都需要20字节的IP首部和20字节的 TCP 首部开销,数据传输效率较低。 为了提高传输数据的效率,又提出了一个称作 CSLIP的协议 ,即压缩的 SLIP ,它可以将40字节的额外开销压缩到3或5 个字节。压缩的基本策略是:在连续发送的数据报分组中,一定会有许多首部字节是相同的,若某一字段和前一分组中的相应字段是一样的,则可以不发送这个字段;若某一字段与前一个分组中的相应字段不同,则可以只发送改变的部分。 CSLIP大大地缩短了交互响应的时间。