您所在的位置:读书频道 > 网络与维护 > 网络协议 > 7.7.3 Internet数据链路层

7.7.3 Internet数据链路层

2007-07-05 13:38 王达 电子工业出版社 字号:T | T
一键收藏,随时查看,分享好友!

本章主要介绍局域网、广域网,以及OSI各层主要功能及其工作原理这些基本的计算机网络通信技术,同时还将介绍计算机网络数据通信中常见的技术指标和参数。这些都是我们平常进行各种网络工程施工和系统设计的基础和前提。本节是Internet数据链路层介绍。

AD:

7.7.3  Internet数据链路层
用户接入Internet的一般方法有两种:一种是用户使用拨号电话线接入Internet;另一种使用专线接入。不管用哪一种方法,在传送数据时都需要有数据链路层的协议。在Internet中使用得最为广泛的是SLIP和PPP协议。
Internet服务提供商 (Internet Service Provider,ISP)是一个能够提供用户拨号入网的经营机构。ISP拥有路由器,一般都用专线与Internet相连。用户在某一个 ISP缴费注册后,即可用家中的电话线通过调制解调器接入该ISP。ISP分配给该用户一个临时的IP地址,因而用户就可以像Internet上的主机一样使用网上所提供的服务。当用户结束通信时,ISP将其用过的IP地址收回,以便下次再分配给新拨号入网的其他用户。
当用户拨通ISP时,用户PC机中使用TCP/IP的客户进程就和ISP的路由器中的选路进程建立了一个TCP/IP连接。用户正是通过这个连接与 Internet 通信。在用户与ISP之间的链路上使用最多的协议就是SLIP和PPP。
1.串行线路网际协议SLIP
串行线路IP(Serial Line Internet Protocol,SLIP)用于运行TCP/IP协议的面向字符的点对点串行连接,早在1984年就已经开始使用。SLIP通常专门用于串行连接,有时候也用于拨号,使用的线路速率一般介于1200bit/s和19.2Kbit/s之间。SLIP允许主机和路由器混合连接通信(主机-主机、主机-路由器、路由器-路由器都是SLIP网络通用的配置),因而非常有用。
SLIP只是一个包组帧协议,仅仅定义了在串行线路上将数据包封装成帧的一系列字符。它没有提供寻址、包类型标识、错误检查/修正或者压缩机制。
SLIP定义了两个特殊字符:END和ESC。END是八进制数300(十进制数192),ESC是八进制数333(十进制数219)。在发送分组时,SLIP主机只是简单地发送分组数据。如果数据中有一字节与END字符的编码相同,就连续传输两字节ESC和八进制334数(十进制数220)。如果与ESC字符相同,就连续传输两字节ESC和八进制数335(十进制数221)。当分组的最后一字节发出后,再传送一个END字符。
因为没有"标准的"SLIP规范,也就没有SLIP分组最大长度的实际定义。可能最好是接收Berkeley UNIX SLIP驱动程序使用的最大分组长度:1006字节,其中包括IP头和传输协议头(但不含分帧字符)。压缩串行线路IP(CSLIP)在传送出的IP分组上执行VanJacobson头部压缩。这个压缩过程显著提高了交互式会话吞吐量。如今,点对点协议(PPP)广泛替代了SLIP,因为它有更多特性和更灵活。
SLIP协议的缺点如下。
SLIP没有差错检测的功能。如果一个SLIP帧在传输中出了差错,就只能靠高层来进行纠正。
通信的每一方必须事先知道对方的IP地址,这对拨号入网的用户是很不方便的。
SLIP仅支持IP,而不支持其他的协议。
SLIP并未成为Internet的标准协议。因此目前存在着多种互不兼容的版本,影响了不同网络的互联。
SLIP主要用于低速(不超过19.2kbit/s)的交互性业务。为了提高数据传输的效率,又提出了一种CSLIP(Compressed SLIP),即压缩的SLIP。它可将40字节的额外开销(即20字节的TCP首部和20字节的IP首部)压缩到3或5字节。压缩基于这样的考虑:在一连串的分组中,一定会有很多的首部字段是相同的。如某一段和前个分组中的相应字段是一样的,就可不发送这个字段。如这一字段与前个分组中的相应字段不同,就可只发送改变的部分。CSLIP大大地改善了交互响应的时间。
2.点对点协议PPP
为了改进SLIP的缺点,人们制定了点对点协议 PPP(Point-to-Point Protocol),它有如下三个部分。
一个将IP数据报封装到串行链路的方法。PPP既支持异步链路 (无奇偶校验的 8比特数据),也支持面向比特的同步链路。
一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Pro- cotol),通信的双方可协商一些选项。
一套网络控制协议NCP(Network Control Protocol),支持不同的网络层协议,如IP、OSI的网络层、DECnet及AppleTalk等。
为了建立点对点链路通信,PPP链路的每一端必须首先发送LCP包,以便设定和测试数据链路。在链路建立LCP所需的可选功能被选定之后,PPP必须发送NCP包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在链路上发送了。
PPP的帧格式如图7-12所示。标志字段 F为0x7E,但地址字段A和控制字段C都是固定不变的,分别为0xFF和0x03。PPP不是面向比特的,因而所有的PPP帧的长度都是整数字节。链路将保持通信设定不变,直到有LCP和NCP数据包关闭链路,或者发生一些外部事件的时候(如休止状态的定时器期满,或者网络管理员干涉)。
图7-12  PPP协议帧频结构
Flag:标志字段,表示帧的起始或结束,由二进制序列“01111110”构成。
Address:地址字段,包括二进制序列“11111111”、标准广播地址(注意:PPP通信不分配个人站地址)。
Control:控制字段,为二进制序列“00000011”,要求用户数据传输采用无序帧。
Protocol:协议字段,识别帧中Information字段封装的协议。
Information:信息字段,任意长度,包含Protocol字段中指定的协议数据报。
FCS:帧校验序列(FCS)字段,通常为16位(1字节长)。PPP的执行可以通过预先协议采用32位FCS来提高差错检测效果。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

分享到:

栏目热门

更多>>

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

C#高级编程(第4版)
C#经典名著!2006年最受读者喜爱的十大技术开发类图书!也是Wrox红皮书中最畅销的品种之一,从第一版开始就名满天下;其第3版被

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院