《TCP/IP详解卷一:协议》数据链路层(二)

本文详细介绍了串行线路IP(SLIP)协议,包括其帧格式、特点和存在的问题。接着,讨论了压缩SLIP(CSLIP)以提高串行线路的效率。然后,引入了点对点协议(PPP),说明了PPP如何改进SLIP的不足,支持多协议传输、链路控制和网络控制。此外,还详细阐述了PPP的帧结构、零比特填充法以及环回接口和最大传输单元(MTU)的概念。最后,探讨了串行线路的吞吐量计算和路径MTU的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SLIP:串行线路IP

        SLIP的全称是Serial Line IP。它是一种在串行线路上对IP数据报进行封装的简单形式。SLIP适用于家庭中每台计算机几乎都有的RS-232串行端口和高速调制解调器接入Internet。 SLIP协议描述的帧格式如下:


  • IP数据报以一个称作END(0xC0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个END字符(如果有线路噪声,那么END字符将结束这份错误的报文。这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃)。
  • 如果IP报文中某个字符为END,那么就要连续传输两个字节ESC,ESC_END(0XDB,0xDC)来取代它。0xDB这个特殊字符被称作SLIP的ESC字符,但是它的值与ASCII码的ESC字符(0x1B)不同。
  • 如果IP报文中某个字符为SLIP的ESC字符,那么就要连续传输两个字节ESC,ESC_ESC(0xDB,0xDD)来取代它。

        SLIP是一种简单的帧封装方法,同时也有一些值得一提的缺陷:

  • 每一端必须知道对方的IP地址。没有办法把本端的IP地址通知给另一端。
  • 数据帧中没有类型字段(类似于以太网中的类型字段)。如果一条串行线路用于SLIP,那么它不能同时使用其他协议。
  • SLIP没有在数据帧中加上检验和(类似于以太网中的CRC字段)。如果SLIP传输的报文被线路噪声影响而发生错误,只能通过上层协议来发现(另一种方法是,新型的调制解调器可以检测并纠正错误报文)。这样,上层协议提供某种形式的CRC就显得很重要。


        类比于上面的以太网帧封装格式,我们可以知道:SLIP为链路层协议,其目的类似于以太网封装协议,只是封装的格式不同而已。上面图片以太网封装只是在IP数据报前后添加数据,而SLIP协议的封装要求可能需要对数据内部数据进行更改。同时缺陷上面也提出来了,没有类型字段表示是什么协议的报文,也没有CRC字段进行纠错检验 。然而,尽管存在这些缺点同时它本身的描述是一种非标准的协议,但随着调制解调器的速率和可靠性的提高, SLIP仍然是一种广泛使用的协议。它主要被用于支持TCP/IP网络控制协议(network control protocol,NCP)中。

压缩的SLIP

        由于串行线路的速率通常较低(19200 b/s或更低),而且通信经常是交互式的(如Telnet和Rlogin,二者都使用TCP),因此在SLIP线路上有许多小的TCP分组进行交换。为了传送1个字节的数据需要20个字节的I P首部和20个字节的TCP首部,总数超过40个字节。

        既然承认这些性能上的缺陷,于是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值