码迷,mamicode.com
首页 > 其他好文 > 详细

链路层 - SLIP,PPP,

时间:2015-08-01 15:47:20      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:链路层   ppp   slip   mtu   

技术分享

        最常使用的封装格式是RFC 894定义的格式。图2 - 1显示了两种不同形式的封装格式。图中每个方框下面的数字是它们的字节长度。

        两种帧格式都采用48 bit(6字节)的目的地址和源地址( 8 0 2 . 3允许使用16 bit的地址,但一般是48 bit地址)。即硬件地址。

        接下来的2个字节在两种帧格式中互不相同。在8 0 2标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码。以太网的类型字段定义了后续数据的类型。在8 0 2标准定义的帧格式中,类型字段则由后续的子网接入协议( Sub-network AccessP r o t o c o l,S N A P)的首部给出。幸运的是, 8 0 2定义的有效长度值与以太网的有效类型值无一相同,这样,就可以对两种帧格式进行区分。

        在以太网帧格式中,类型字段之后就是数据;而在8 0 2帧格式中,跟随在后面的是3字节的802.2 LLC和5字节的802.2 SNAP。目的服务访问点( Destination Service Access Point,D S A P)和源服务访问点( Source Service Access Point, SSAP)的值都设为0 x a a。Ct r l字段的值设为3。随后的3个字节o rg code都置为0。再接下来的2个字节类型字段和以太网帧格式一样(其他类型字段值可以参见RFC 1340 [Reynolds and Postel 1992])。

        C R C字段用于帧内后续字节差错的循环冗余码检验(检验和)(它也被称为F C S或帧检验序列)。

        8 0 2 . 3标准定义的帧和以太网的帧都有最小长度要求。8 0 2 . 3规定数据部分必须至少为3 8字节,而对于以太网,则要求最少要有4 6字节。为了保证这一点,必须在不足的空间插入填充(p a d)字节。在开始观察线路上的分组时将遇到这种最小长度的情况。

SLIP:串行线路IP

        下面的规则描述了S L I P协议定义的帧格式:
    1) IP数据报以一个称作E N D(0 x c 0)的特殊字符结束。同时,为了防止数据报到来之前的线路噪声被当成数据报内容,大多数实现在数据报的开始处也传一个E N D字符(如果有线路噪声,那么E N D字符将结束这份错误的报文。这样当前的报文得以正确地传输,而前一个错误报文交给上层后,会发现其内容毫无意义而被丢弃)。
    2) 如果I P报文中某个字符为E N D,那么就要连续传输两个字节0 x d b和0 x d c来取代它。0 x d b这个特殊字符被称作S L I P的E S C字符,但是它的值与A S C I I码的E S C字符(0 x 1 b)不同。
    3) 如果I P报文中某个字符为S L I P的E S C字符,那么就要连续传输两个字节0 x d b和0 x d d来取代它。

图2 - 2中的例子就是含有一个E N D字符和一个E S C字符的I P报文。在这个例子中,在串行线路上传输的总字节数是原I P报文长度再加4个字节。

技术分享

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

        既然承认这些性能上的缺陷,于是人们提出一个被称作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连接,并且知道其中每个连接的首部中的某些字段一般不会发生变化。对于那些发生变化的字段,大多数只是一些小的数字和的改变。这些被压缩的首部大大地缩短了交互响应时间。

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的前面)。

技术分享

        总的来说, 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个字节,当建立链路时要发送几帧协商数据,以及更为复杂的实现。

环回接口

大多数的产品都支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通过T C P / I P进行通信。A类网络号1 2 7就是为环回接口预留的。根据惯例,大多数系统把I P地址1 2 7 . 0 . 0 . 1分配给这个接口,并命名为l o c a l h o s t。一个传给环回接口的I P数据报不能在任何网络上出现。

技术分享

        1) 传给环回地址(一般是1 2 7 . 0 . 0 . 1)的任何数据均作为I P输入。
        2) 传给广播地址或多播地址的数据报复制一份传给环回接口,然后送到以太网上。这是因为广播传送和多播传送的定义包含主机本身。
        3 ) 任何传给该主机I P地址的数据均送到环回接口。

最大传输单元MTU

正如在图2 - 1看到的那样,以太网和8 0 2 . 3对数据帧的长度都有一个限制,其最大值分别是1 5 0 0和1 4 9 2字节。链路层的这个特性称作M T U,最大传输单元。不同类型的网络大多数都有一个上限。

技术分享





版权声明:本文为博主原创文章,未经博主允许不得转载。

链路层 - SLIP,PPP,

标签:链路层   ppp   slip   mtu   

原文地址:http://blog.csdn.net/zyq522376829/article/details/47185153

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!