前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >速读原著-TCP/IP(PPP:点对点协议)

速读原著-TCP/IP(PPP:点对点协议)

作者头像
cwl_java
发布2020-03-02 14:40:40
1.1K0
发布2020-03-02 14:40:40
举报
文章被收录于专栏:cwl_Javacwl_Java

第二章 链路层

2.5 压缩的SLIP

由于串行线路的速率通常较低( 19200 b/s或更低),而且通信经常是交互式的(如 Te l n e t和R l o g i n,二者都使用T C P),因此在S L I P线路上有许多小的T C P分组进行交换。为了传送 1个字节的数据需要2 0个字节的I P首部和2 0个字节的T C P首部,总数超过4 0个字节(1 9 . 2节描述了R l o g i n会话过程中,当敲入一个简单命令时这些小报文传输的详细情况)。既然承认这些性能上的缺陷,于是人们提出一个被称作 C S L I P(即压缩S L I P)的新协议,它在RFC 1144[Jacobson 1990a]中被详细描述。C S L I P一般能把上面的4 0个字节压缩到3或5个字节。它能在C S L I P的每一端维持多达1 6个T C P连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。对于那些发生变化的字段,大多数只是一些小的数字和的改变。这些被压缩的首部大大地缩短了交互响应时间。

现在大多数的S L I P产品都支持C S L I P。作者所在的子网(参见封面内页)中有两条SLIP链路,它们均是CSLIP链路。

2.6 PPP:点对点协议

P P P,点对点协议修改了S L I P协议中的所有缺陷。P P P包括以下三个部分:

  1. 在串行链路上封装 I P数据报的方法。 P P P既支持数据为 8位和无奇偶检验的异步模式(如大多数计算机上都普遍存在的串行接口),还支持面向比特的同步链接。
  2. 建立、配置及测试数据链路的链路控制协议( L C P:Link Control Protocol)。它允许通信双方进行协商,以确定不同的选项。
  3. 针对不同网络层协议的网络控制协议( N C P:Network Control Protocol)体系。当前R F C定义的网络层有I P、O S I网络层、D E C n e t以及A p p l e Ta l k。例如,IP NCP允许双方商定是否对报文首部进行压缩,类似于 C S L I P(缩写词N C P也可用在T C P的前面)。RFC 1548[Simpson 1993]描述了报文封装的方法和链路控制协议。 RFC 1332[McGregor 1 9 9 2 ]描述了针对I P的网络控制协议。

P P P数据帧的格式看上去很像 I S O的H D L C(高层数据链路控制)标准。图 2 - 3是P P P数据帧的格式。 每一帧都以标志字符0 x 7 e开始和结束。紧接着是一个地址字节,值始终是 0 x ff,然后是一个值为0 x 0 3的控制字节。

在这里插入图片描述
在这里插入图片描述

接下来是协议字段,类似于以太网中类型字段的功能。当它的值为 0 x 0 0 2 1时,表示信息字段是一个I P数据报;值为0 x c 0 2 1时,表示信息字段是链路控制数据;值为 0 x 8 0 2 1时,表示信息字段是网络控制数据。

C R C字段(或F C S,帧检验序列)是一个循环冗余检验码,以检测数据帧中的错误。由于标志字符的值是 0 x 7 e,因此当该字符出现在信息字段中时, P P P需要对它进行转义。在同步链路中,该过程是通过一种称作比特填充 (bit stuff i n g )的硬件技术来完成的[ Ta n e n b a u m1 9 8 9 ]。在异步链路中,特殊字符 0 x 7 d用作转义字符。当它出现在 P P P数据帧中时,那么紧接 着的字符的第6个比特要取其补码,具体实现过程如下:

  1. 当遇到字符0 x 7 e时,需连续传送两个字符: 0 x 7 d和0 x 5 e,以实现标志字符的转义。
  2. 当遇到转义字符0 x 7 d时,需连续传送两个字符: 0 x 7 d和0 x 5 d,以实现转义字符的转义。
  3. 默认情况下,如果字符的值小于 0 x 2 0(比如,一个A S C I I控制字符),一般都要进行转义。例如,遇到字符0 x 0 1时需连续传送0 x 7 d和0 x 2 1两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为 0)。

这样做的原因是防止它们出现在双方主机的串行接口驱动程序或调制解调器中,因为有时它们会把这些控制字符解释成特殊的含义。另一种可能是用链路控制协议来指定是否需要对这3 2个字符中的某一些值进行转义。默认情况下是对所有的 3 2个字符都进行转义。与S L I P类似,由于P P P经常用于低速的串行链路,因此减少每一帧的字节数可以降低应用程序的交互时延。利用链路控制协议,大多数的产品通过协商可以省略标志符和地址字段,并且把协议字段由 2个字节减少到 1个字节。如果我们把 P P P的帧格式与前面的 S L I P的帧格式(图2 - 2)进行比较会发现, P P P只增加了 3个额外的字节: 1个字节留给协议字段,另 2个给 C R C字段使用。另外,使用I P网络控制协议,大多数的产品可以通过协商采用 Van Jacobson报文首部压缩方法(对应于C S L I P压缩),减小I P和T C P首部长度。

总的来说,P P P比S L I P具有下面这些优点: (1) PPP支持在单根串行线路上运行多种协议,不只是I P协议; (2) 每一帧都有循环冗余检验; (3) 通信双方可以进行 I P地址的动态协商(使用I P网络控制协议); (4) 与C S L I P类似,对T C P和I P报文首部进行压缩; (5) 链路控制协议可以 对多个数据链路选项进行设置。为这些优点付出的代价是在每一帧的首部增加 3个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实现。

尽管P P P比S L I P有更多的优点,但是现在的S L I P用户仍然比P P P用户多。随着产品越来越多,产家也开始逐渐支持PPP,因此最终PPP应该取代SLIP。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第二章 链路层
    • 2.5 压缩的SLIP
      • 2.6 PPP:点对点协议
      相关产品与服务
      文件存储
      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档