第2章链路层

来源:互联网 发布:易语言进销存管理源码 编辑:程序博客网 时间:2024/05/19 15:40

以太网这个术语一般是指数字设备公司( Digital Equipment Corp.)、英特尔公司( I n t e l
C o r p .)和X e r o x公司在1 9 8 2年联合公布的一个标准。它是当今T C P / I P采用的主要的局域网技
术。它采用一种称作C S M A / C D的媒体接入方法,其意思是带冲突检测的载波侦听多路接入
(Carrier Sense, Multiple Access with Collision Detection)。它的速率为10 Mb/s,地址为48 bit

 

最常使用的封装格式是RFC 894定义的格式。图2 - 1显示了两种不同形式的封装格式。图
中每个方框下面的数字是它们的字节长度。
两种帧格式都采用48 bit(6字节)的目的地址和源地址( 8 0 2 . 3允许使用16 bit的地址,但
一般是48 bit地址)。这就是我们在本书中所称的硬件地址。A R P和R A R P协议(第4章和第5章)
对32 bit的I P地址和48 bit的硬件地址进行映射。

接下来的2个字节在两种帧格式中互不相同。在8 0 2标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码。以太网的类型字段定义了后续数据的类型。
在8 0 2标准定义的帧格式中,类型字段则由后续的子网接入协议( Sub-network Access
P r o t o c o l,S N A 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的前面)。

 

每一帧都以标志字符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时,表示
信息字段是网络控制数据。

由于标志字符的值是0 x 7 e,因此当该字符出现在信息字段中时, P P P需要对它进行转义。
在同步链路中,该过程是通过一种称作比特填充(bit stuff i n g )的硬件技术来完成的[ Ta n e n b a u m
1 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个字符都进行转义。

 

环回接口
大多数的产品都支持环回接口( 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数
据报不能在任何网络上出现。

当在同一个网络上的两台主机互相进行通信时,该网络的M T U是非常重要的。但是如果
两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的M T U。重要的
不是两台主机所在网络的M T U的值,重要的是两台通信主机路径中的最小M T U。它被称作路
径M T U。
两台主机之间的路径M T U不一定是个常数。它取决于当时所选择的路由。而选路不一定
是对称的(从A到B的路由可能与从B到A的路由不同),因此路径M T U在两个方向上不一定是
一致的。

 

 

原创粉丝点击