链路层 - SLIP,PPP,_帧格式

        最常使用的封装格式是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个字节。

链路层 - SLIP,PPP,_帧格式_02

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

链路层 - SLIP,PPP,_首部_03

        总的来说。 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),以同意执行在同一台主机上的客户程序和server程序通过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数据报不能在不论什么网络上出现。

链路层 - SLIP,PPP,_首部_04

        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,_数据_05