《计算机网络技术基础》课件第4章_第1页
《计算机网络技术基础》课件第4章_第2页
《计算机网络技术基础》课件第4章_第3页
《计算机网络技术基础》课件第4章_第4页
《计算机网络技术基础》课件第4章_第5页
已阅读5页,还剩140页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章网络接口层

4.1OSI/RM模型中的物理层4.2OSI/RM模型中的数据链路层

4.3TCP/IP模型中的网络接口层本章小结

习题

4.1OSI/RM模型中的物理层4.1.1物理层的功能物理层的功能是实现在传输介质上传输各种数据的比特流。计算机网络中的物理设备种类繁多,也有许多不同的通信方式,物理层所起的作用就是对上一层屏蔽掉底层的技术细节,如使用的是什么传输介质,在传输介质上如何进行数据传输等,为上一层即数据链路层提供一个物理连接,以透明(所谓透明是指经实际电路传送后的比特流未发生变化)地传送比特流。物理层的主要功能包括:

建立通路。为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以由多个物理媒体连接而成。一次完整的数据传输包括激活物理连接、传送数据、终止物理连接。所谓激活,就是不管有多少物理媒体参与,都要将通信的两个数据终端设备连接起来,形成一条通路。

传输数据。物理层要形成适合数据传输需要的实体,为数据传送服务。一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或全双工,同步或异步传输的需要。

完成物理层的一些管理工作。4.1.2物理层的传输介质

1.同轴电缆

20世纪80年代,DEC、Intel和Xerox公司合作推出了以太网。最初设计以太网时,终端设备共享通信带宽,通过物理介质连接形成总线型拓扑网络。同轴电缆就是在当时普遍采用的传输介质。也就是说总线型拓扑结构与同轴电缆主要应用在早期的以太网中。现在以太网通常采用星型拓扑结构与双绞线。

2.双绞线电缆

1)双绞线电缆概述双绞线(TwistedPair,TP)是目前使用最广泛、价格最低廉的一种有线传输介质。“Twisted”源于双绞线电缆的内部结构,其内部由若干对两两绞在一起的相互绝缘的铜导线组成,导线的典型直径为1mm(0.4~1.4mm之间)。采用两两相绞的绞线技术可以抵消相邻线对之间的电磁干扰和减少近端串扰。双绞线既可以传输模拟信号,又能传输数字信号。用双绞线传输数字信号时,其数据传输率与电缆的长度有关。距离短时,数据传输率可以高一些。典型的数据传输率为10Mb/s和100Mb/s,也可高达1000Mb/s。对于一根双绞线,在外观上需要注意的是:每隔两英寸有一段文字。以AMP公司的线缆为例,该文字为:“AMPSYSTEMSCABLEE138034010024AWG(UL)CMR/MPRORC(UL)PCCFT4VERIFIEDETLCAT5e044766FT0507”,其中的具体含义如下所述:

AMP:代表公司名称。

0100:表示100Ω。

24:表示线芯是24号的(线芯有22、23、24、26四种规格)。

AWG:表示美国线缆规格标准。UL:表示通过认证的标记。FT4:表示4对线。CAT5:表示5类线。044766:表示线缆当前所在的英尺数。0507:表示生产年月。

2)双绞线电缆的分类双绞线按照是否有屏蔽层又可以分为非屏蔽双绞线(UTP)和屏蔽双绞线(STP)。到目前为止,EIA/TIA已颁布了7类(Category,简写为Cat)线缆的标准。

Cat1:适用于电话和低速数据通信;

Cat2:适用于ISDN及T1/E1,支持高达16MHz的数据通信;

Cat3:适用于10Base-T或100Mb/s的100Base-T4,支持高达20MHz的数据通信;

Cat5:适用于100Mb/s的100Base-TX和100Base-T4,支持高达100MHz的数据通信;

Cat5e:既适用于100Mb/s的100Base-TX、100Base-T4,支持高达100MHz的数据通信;又适用于1000Mb/s的1000Base-TX,支持高达1000MHz的数据通信;

Cat6:适用于1000Mb/s的1000Base-TX,支持高达1000MHz的数据通信;

Cat7:适用于1000Mb/s的1000Base-TX,支持高达1000MHz的数据通信。

6类双绞线电缆为了减少线对间的串扰,通常在线对间采用了圆形、片形、十字星形、十字骨架等种类填充物。十字星形填充的双绞线对称电缆构造是在电缆中建一个十字交叉中心,把4个线对分成不同的信号区,这样就可以提高电缆的抗近端串扰性能,减少在安装过程中由于电缆连接和弯曲引起的电缆物理上的失真,十字骨架构造在保证前后位置精准方面做了更多的改进。

3)直通线和交叉线以及设备连接标准在进行设备连接时,需要正确的选择线缆。通常将设备的RJ-45接口分为MDI和MDIX两类。当同种类型的接口通过双绞线互连时(两个接口都是MDI或都是MDIX),使用交叉线;当不同类型的接口(一个接口是MDI,另一个接口是MDIX)通过双绞线互连时,使用直通线。通常主机和路由器的接口属于MDI,交换机和集线器的接口属于MDIX。例如交换机与主机相连采用直通线,路由器和主机相连则采用交叉线。

4)反接线反接线用于将计算机连到交换机或路由器的控制端口,在此计算机起超级终端的作用。根据EIA/TIA568-B标准,反接线线图如表4-1所示。表4-1反接线线图

3.光纤光纤也称光缆,其全称为光导纤维。光纤通信是以光波为载频,以光导纤维为传输介质的一种通信方式。

1)光纤的组成光纤是光缆的纤芯,光纤由光纤芯、包层和涂覆层三部分组成。最里面的是光纤芯,包层将光纤芯围裹起来,使光纤芯与外界隔离,以防止与其他相邻的光导纤维相互干扰。包层的外面涂覆一层很薄的涂覆层,涂覆材料为硅酮树酯或聚氨基甲酸乙酯,涂覆层的外面套塑(或称二次涂覆),套塑的原料大多采用尼龙、聚乙烯或聚丙烯等塑料,从而构成光纤纤芯。

2)光纤的分类按照折射率分布不同可分为均匀光纤(突变型光纤)和非均匀光纤(渐变型光纤)两种。按照传输的总模数可分为单模光纤和多模光纤。

4.无线传输介质可以在自由空间利用电磁波发送和接收信号进行通信,这种方式称为无线传输。地球上的大气层为大部分无线传输提供了物理通道,这就是常说的无线传输介质。人们现在已经利用了好几个波段进行通信。无线通信的方法有微波、激光和红外线。

5.媒体和互连设备物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。通信用的互连设备指DTE和DCE间的互连设备。DTE即数据终端设备,又称物理设备,如计算机、终端等都包括在内。DCE则是数据通信设备或电路连接设备,如调制解调器等。数据传输通常是经过DTE──DCE,再经过DCE──DTE的路径。互连设备指将DTE、DCE连接起来的装置,如各种插头、插座。LAN中的各种粗、细同轴电缆、T型接、插头、接收器、发送器、中继器等都属物理层的媒体和连接器。4.1.3常见的物理层设备和组件

1.常见物理层组件常见的物理层组件除了物理线缆外,还包括连接头、连接插座、转换器等。连接头和连接插座是配对使用的组件,其基本作用是为网络线缆连接提供良好的端接。转换器则用于在不同的接口或介质之间进行信号转换,如DB-25到DB-9的转换器,光纤到UTP的转换器等。

2.常见物理层设备不可避免的信号衰减限制了信号的远距离传输,从而使每种传输介质都存在传输距离的限制。但是在实际组建网络的过程中,经常会碰到网络覆盖范围超越介质最大传输距离限制的情形。为了解决信号远距离传输所产生的衰减和变形问题,需要一种能在信号传输过程中对信号进行放大和整形的设备,以拓展信号的传输距离,增加网络的覆盖范围。这种具备物理上拓展网络覆盖范围功能的设备称为网络互连设备。在物理层通常提供两种类型的网络互连设备,即中继器(Repeater)和集线器(HUB)。

1)中继器中继器具有对物理信号进行放大和再生的功能,将其从输入接口接收的物理信号通过放大和整形再从输出接口输出。中继器具有典型的单进单出结构,所以当网络规模增加时,可能会需要许多单进单出结构的中继器作为信号放大之用。

(2)中继器的使用原则。使用中继器应遵守以下两条原则:一是用中继器连接的以太网不能形成环型网;另外必须遵守MAC(介质访问控制)协议的定时特性,即用中继器将电缆连接起来的段数是有限的。对于以太网,最多只能使用4个中继器,意味着只能连接5个网段即遵守以太网的5-4-3-2-1规则。其中:5指局域网最多有5个网段;4指全信道上最多可连4个中继器;3指其中3个网段可连网站;2指有两个网段只能用来延长网络距离而不连任何网站,其目的是减少竞发网站的个数,减少发生冲突的机率;1指由此组成一个共享局域网,总站数小于1024,全长小于500m(双绞线)或2.5km(粗同轴电缆)。

2)集线器集线器即通常所说的HUB,就是一种多端口中继器,其区别在于中继器仅连接两个网段,而集线器能够提供更多的端口服务。集线器通过对工作站进行集中管理,能够避免网络中出现问题的区段对整个网络的正常运行产生影响。

(1)集线器的功能。在网络中,集线器是一个共享设备,主要功能是对接收到的信号进行再生放大,以扩大网络的传输距离。依据IEEE802.3协议,集线器功能是随机选出某一端口的设备,并让它独占全部带宽,与集线器的上连设备(交换机、路由器或服务器等)进行通信。集线器在OSI七层模型中处于物理层,其实质是一个中继器,同样必须遵守MAC协议的定时特性,主要功能是对接收到的信号进行再生放大,以扩大网络的传输距离。集线器只是一个多端口的信号放大设备。当一个端口接收到数据信号时,由于信号从源端口到集线器的传输过程中已有了衰减,所以集线器便将该信号进行整形放大,使被衰减的信号再生到发送时的状态,紧接着转发到其他所有处于工作状态的端口上(广播)。以太网的每个时间片内只允许有一个节点占用公用通信信道而发送数据,所有端口共享带宽。

(2)集线器的分类。集线器有很多种分类方法,可以按速度、配置形式、管理方式和端口数不同进行分类。

按供电方式可分为无源HUB和有源HUB。

按网关功能可分为无管理HUB和管理式HUB。

按RJ-45端口数来分有8口、12口、16口、24口、48口等类型。

按适用的网络类型可分为以太网HUB、令牌环网HUB、FDDIHUB、ATMHUB。

按提供带宽可分为10Mb/s、10/100Mb/s、100Mb/s、10/100/1000Mb/sHUB。

按照扩展方式可分为可堆叠集线器和不可堆叠集线器两种。

(3)集线器的端口。端口是所连接节点的端口。集线器通常提供三种类型的端口,即RJ-45端口、BNC端口和AUI端口,以连接不同类型电缆所构建的网络,一些高档集线器还提供光纤端口和其他类型的端口,RJ-45端口可用于连接RJ-45接头,适用于由双绞线构建的网络,这种端口是最常见的。平常所说的多少口集线器,就是指具有多少RJ-45端口。集线器通常有一个UPLink端口,用于与其他集线器的连接(级联)。

RJ-45端口既可以直接连接计算机、网络打印机等终端设备,也可以与其他交换机、集线器或路由器等设备进行连接。需要注意的是,当连接至不同的设备时,所使用的双绞线电缆的跳线方法有所不同。

BNC端口是用于与细同轴电缆连接的端口,它一般通过BNCT型接头进行连接。集线器堆叠端口只有可堆叠集线器才具备。

AUI端口是用于与粗同轴电缆连接的端口。在10/100M自适应集线器或100M集线器上只有RJ-45端口。目前,随着交换技术的成熟和交换机价格的下降,现在市场上集线器已基本被交换机取代。

3)网桥网桥看上去有点像中继器,具有单个的输入端口和输出端口,它与中继器的不同之处就在于能够解析所收发的数据。网桥属于OSI模型的数据链路层,数据链路层能够进行流控制、纠错处理以及地址分配。网桥能够解析它所接收的帧,并能指导如何把数据传送到目的地。特别是它能够读取目标地址信息(MAC),并决定是否向网络的其他段转发(重发)数据包,而且,如果数据包的目标地址与源地址位于同一段,就可以将其过滤掉。当节点通过网桥传输数据时,网桥就会根据已知的MAC地址和它们在网络中的位置建立过滤数据库(也就是人们熟知的转发表)。网桥利用过滤数据库来决定是转发数据包还是将其过滤掉。

4)网关网关不能完全归为一种网络硬件。用概括性的术语来讲,网关应该是能够连接不同网络的软件和硬件的结合产品,它可以使用不同的格式、通信协议或结构连接起两个系统。网关实际上通过重新封装信息以使它们能被另一个系统读取。为了完成这项任务,网关必须能运行在OSI模型的多个层上。网关必须同应用程序通信,建立和管理会话,传输已经编码的数据,并解析逻辑和物理地址数据。常见的网关有以下几种:

电子邮件网关:通过这种网关可以从一种类型的系统向另一种类型的系统传输数据。例如,电子邮件网关可以允许使用Eudora电子邮件的人与使用GroupWise电子邮件的人相互通信。

IBM主机网关:通过这种网关,可以在一台个人计算机与IBM大型机之间建立和管理通信。

因特网网关:这种网关允许并管理局域网和因特网间的接入。因特网网关可以限制某些局域网用户访问Internet,反之亦然。4.1.4物理层EIARS-232C/V.24接口标准

EIARS-232C是由EIA在1969年颁布的一种串行物理接口,RS-232-C中的RS是RecommendedStandard的缩写,意为推荐标准;232是标识号码;后缀“C”是版本号。

RS-232-C接口标准与国际电报电话咨询委员会CCITT的V.24标准兼容,是一种非常实用的异步串行通信接口。RS-232标准提供了一个利用公用电话网络作为传输媒体,并通过调制解调器将远程设备连接起来的技术规定。远程电话网相连接时,通过调制解调器将数字转换成相应的模拟信号,以使其能与电话网相容;在通信线路的另一端,另一个调制解调器将模拟信号逆转换成相应的数字数据,从而实现比特流的传输。4.2OSI/RM模型中的数据链路层

4.2.1数据链路层的功能数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层中这些情况都可能发生,在数据链路层中必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为无差错的线路。数据链路层的主要功能如下:

1.帧同步功能在数据链路层,数据以帧为单位传送。当传输出现差错时,只需将有错误的帧进行重传,而避免了将全部数据都重传一次。帧同步是指接收方从接收到的比特流中明确地区分出数据帧的起始与终止的位置。常用的帧同步方法有以下几种:

(1)字符计数法。字符计数法是在帧头部中使用一个字符计数字段来标明帧内字符数。接收端根据这个计数值来确定该帧的结束位置和下一帧的开始位置。

(2)带字符填充的首尾界符法。带字符填充的首尾界符法是在每一帧的开头用ASCII字符DLESTX,在帧末尾用ASCII字符DLEETX。但是,如果在帧的数据部分也出现了DLESTX或DLEETX,那么接收端就会错误判断帧边界。为了不影响接收方对帧边界的正确判断,采用了填充字符DLE的方法。即如果发送方在帧的数据部分遇到DLE,就在其前面再插入一个DLE。这样数据部分的DLE就会成对出现。在接收方,若遇到两个连续的DLE,则认为是数据部分,并删除一个DLE。

(3)带位填充的首尾标志法。带位填充的首尾标志法一次只填充一个比特“0”而不是一个字符“DLE”。另外,带位填充的首尾标志法用一个特殊的位模式“01111110”作为帧的开始和结束标志,而不是分别用“DLESTX”和“DLEETX”作帧的首标志和帧的尾标志。

(4)物理层编码违例法。物理层编码违例法就是利用物理层信息编码中未用的电信号来作为帧的边界。

2.差错控制功能所谓差错是指接收端收到的数据与发送端实际发出的数据出现不一致的现象。数据链路层能够将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,以向网络层提供透明和可靠的数据传送服务。差错控制最常用的方法是检错重发,接收方通过对差错编码(如奇偶校验码)的检查,检测收到的帧在传输过程中是否发生差错,一旦发现差错,就通知对方重新发送该帧,这就要求接收方接收完一帧后,向发送方反馈一个接收是否正确的信息,使发送方据此做出是否需要重新发送的决定。发送方仅当收到正确的反馈信号后,才能认为该帧已经正确发送完毕;否则需要重发,直至正确为止。发送方在发送数据的同时启动计时器,若在限定时间间隔内未能收到接收方的反馈信息,即计时器超时,发送方就认为传出的帧出错或丢失,重新发送。

3.流量控制功能由于系统性能的不同,如硬件能力(包括CPU、存储器等)和软件功能的差异,会导致发送方与接收方处理数据的速度有所不同。若一个发送能力较强的发送方给一个接收能力相对较弱的接收方发送数据,则接收方会因无能力处理所有收到的帧而不得不丢弃一些帧。如果发送方持续高速地发送,则接收方最终还会被“淹没”。也就是说,在数据链路层只有差错控制机制是不够的,还必须解决因发送方和接收方速率不匹配所造成的帧丢失的问题。

4.2.2数据链路层的标准

IEEE802制定了以太网、令牌环和令牌总线等一系列局域网标准,它们都涵盖了物理层和数据链路层。例如以太网除了涉及数据链路层的数据帧定义与管理以外,还涉及到物理层的接口和线缆的定义。值得注意的是,物理传输介质与数据链路层使用的技术在理论上没有相关性,例如以太网可以使用细缆或双绞线等多种介质来实现传输。局域网数据链路层标准包括:以太网、令牌环、令牌总线、无线网络,IEEE802制定的标准系列将在后续章节详细学习。4.2.3广域网数据链路层标准广域网是一个基于交换技术的网络,其网络节点(如分组交换机)负责将一个节点的数据转发到另一个节点,节点间的线路利用率高。相比局域网采用广播方式发送数据,广域网数据链路层实现技术较为复杂。广域网的数据链路层需要将数据封装成适合在广域网线路上传输的帧,保证数据的可靠传输。4.2.4数据链路层协议

1.停止-等待协议停止-等待(stop-and-wait)协议是最简单但也是最基本的数据链路层协议。

1)不需要数据链路层协议的数据传输当两个主机进行通信时,应用进程要将数据从应用层逐层往下传,经物理层到达通信线路。通信线路将数据传到远端主机的物理层后,再逐层向上传,最后由应用层交给远程的应用进程。但现在为了把主要精力放在数据链路层的协议上,可以采用一个简化的模型,即把数据链路层以上的各层用一个主机来代替,而物理层和通信线路则等效成一条简单的链路,如图4-1所示。图4-1两台计算机通过一条数据链路进行通信的简化模型为了深入理解数据链路层的协议,先从一种假想的、完全理想化的数据传输过程开始讨论。为了和后面的讨论相衔接,假定数据传输是以帧为单位。所谓完全理想化的数据传输是基于以下两个假定:假定1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定2:不管发送方以多快的速率发送数据,接收方总是来得及收下,并及时上交主机。第一个假定很容易理解,对第二个假定则需加以解释。假设主机A连续不断地向主机B发送数据,在接收方,链路层B也就将收到的数据一帧接一帧地交给主机B。在理想情况下,接收方链路层B的缓冲区每存满一帧就向主机B交付一帧。如果没有专门的流量控制协议,则接收方并没有办法控制发送方的发送速率,而接收方也很难做到和发送方绝对精确同步。当接收方链路层向主机交付数据的速率略低于发送方发送数据的速率时,缓冲区暂时存放的数据帧就会逐渐堆积起来,最后造成缓冲区溢出和数据帧丢失。因此,上述第二个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。

2)具有最简单流量控制的数据链路层协议现在保留第一个假定,去掉上述的第二个假定,即主机A向主机B传输数据的信道仍然是无差错的理想信道,然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率。为了使接收方的接收缓冲区在任何情况下都不会溢出,最简单的情况就是发送方每发送一帧就暂时停下来。接收方收到数据帧后就交付给主机,然后发一条信息给发送方,表示接收的任务已经完成。这时,发送方才再发送下一个数据帧。在这种情况下,接收方接收缓冲区的大小只要能够装得下一个数据帧即可。显然,用这样的方法收发双方能够同步得很好,发送方发送数据的流量受接收方的控制。由接收方控制发送方的数据流量,是计算机网络中流量控制的一个基本方法。现将以上具有最简单流量控制的数据链路层协议写成算法如下:假定:链路是理想的传输信道,即所传送的任何数据既不会出差错也不会丢失。在发送节点:①从主机取一个数据帧。②将数据帧送到数据链路层的发送缓冲区。③将发送缓冲区中的数据帧发送出去。④等待。⑤若收到由接收节点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到②。在接收节点:①等待。②若收到由发送节点发过来的数据帧,则将其放入数据链路层的接收缓冲区。③将接收缓冲区中的数据帧上交主机。④向发送节点发一信息,表示数据帧已经上交给主机。⑤转到①。在理想化情况下,主机A将数据帧连续发出,而不管发送速率有多快,接收方总能够跟得上,收到一帧即交付给主机B。显然,这种完全理想化情况的传输效率是很高的。如图4-2(a)所示。但是由接收方控制发送方发送速率的情况,发送方每发完一帧就必须停下来,等待接收方的信息。这里要指出,由于假定了数据在传输过程中不会出差错,因此接收方将数据帧交给主机B后向发送方主机A发送的信息不需要有任何具体的内容,即不需要说明所收到的数据是正确无误的。这相当于只要发回一个不需要装入任何信件的空信封就能起到流量控制的作用。如图4-2(b)所示。图4-2两种数据传输情况对比

3)实用的停止-等待协议有了上面的基本概念后,现在就可以去掉前面的两个假定,讨论实用的数据链路层协议。也就是说,传输数据的信道不是可靠的(即不能保证所传的数据不产生差错),并且还需要对数据的发送端进行流量控制。图4-3(a)所示为数据在传输过程中不出差错的情况,接收方在收到一个正确的数据帧后,即交付给主机B,同时向主机A发送一个确认帧ACK。当主机A收到确认帧ACK后才能发送一个新的数据帧。这样就实现了接收方对发送方的流量控制。现在假定数据帧在传输过程中出现了差错。由于通常都在数据帧中加上了循环冗余校验CRC,所以节点B很容易检验出收到的数据帧是否有差错(一般用硬件检验)。当发现差错时,节点B就向主机A发送一个否认帧NAK(NegativeAcKnowledge),以表示主机A应当重发出现差错的那个数据帧。图4-3(b)所示为主机A重传数据帧。如多次出现差错,就要多次重发数据帧,直至收到节点B发来的确认帧ACK为止。为此,在发送端必须暂时保存已发送过的数据帧的副本。当通信线路质量太差时,则主机A在重发一定的次数(如8次或16次,这要事先设定好)后即不再进行重发,而是将此情况向上一层报告。有时链路上的干扰很严重,或由于其他一些原因,节点B收不到节点A发来的数据帧。这种情况称为帧丢失(如图4-3(c)所示)。发生帧丢失时节点B当然不会向节点A发送任何应答帧,如果节点A要等收到节点B的应答信息后再发送下一个数据帧,那么就将永远等待下去,于是就出现了死锁现象。同理,若节点B发过来的应答帧丢失,也会同样出现这种死锁现象。图4-3数据帧在链路上传输的几种情况

2.连续ARQ协议连续ARQ协议是应用滑动窗口机制的流量控制方法,改进了停止-等待协议的缺点,在发送完一个数据帧后,不是停下来等待确认帧,而是连续再发送若干个数据帧,如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。由于减少了等待时间,从而提高了整个通信的吞吐量。

1)连续ARQ协议的工作过程连续ARQ协议的工作原理如图4-4所示。节点A向节点B发送数据帧,发送窗口的大小Wt = 5,表明节点A可连续发送5个数据帧,其序号为0~4。当节点A发完0号帧后,不是停止等待,而是继续发送后续的1号帧、2号帧等。由于连续发送了许多帧,所以确认帧不仅要说明是对哪一帧进行确认或否认,而且确认帧本身也必须编号。ACKN表示对第(N-1)号帧的确认。图4-4连续ARQ协议的工作原理:对出错数据帧的处理节点B正确收到了0号帧和1号帧,并送交主机。现在假设2号帧出了差错,于是节点B的CRC检验器就自动将有差错的2号帧丢弃,然后等待发送端超时重传。在这里要注意:

(1)接收端只按序接收数据帧。虽然在有差错的2号帧之后接着又收到了正确的两个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个2号帧还没有收到。接收端应重复发送已经发送过的最后一个确认帧ACK2。

(2) ACK1表示确认0号帧DATA0,并期望下次收到1号帧;ACK2表示确认1号帧DATA1,并期望下次收到2号帧。依此类推。

(3)节点A在每发送完一个数据帧时都要设置该帧的超时计时器。如果在所设置的超时时间Tout内收到确认帧,就立即将超时计时器清零。但若所设置的超时时间Tout到了而仍未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。在等不到2号帧的确认而重传2号数据帧时,虽然节点A已经发完了4号帧,但仍必须向回走,将2号帧及其后的各帧全部重传。所以,连续ARQ协议又称后退N帧ARQ协议。

2)滑动窗口的概念在使用连续ARQ协议时,如果发送端一直没有收到对方的确认信息,那么实际上发送端并不能无限制地发送其数据帧。这是因为:

(1)当未被确认的数据帧的数目太多时,只要有一帧出了差错,就要有很多的数据帧需要重传,这必然就要白白花费较多的时间,因而增大开销。

(2)为了对所发送出去的大量数据帧进行编号,每个数据帧的发送序号也要占用较多的比特数,这样又增加了一些不必要开销。因此,在连续ARQ协议中,应当将已发送出去但未被确认的数据帧的数目加以限制。在停止-等待协议中,无论发送多少帧,只需使用1个比特来编号就足够了。发送序号循环使用0和1这两个序号。对于连续ARQ协议,也可采用同样的原理,即循环重复使用已收到确认的那些帧的序号。这时只需要在控制信息中用有限的几个比特来编号就够了。当然这还要加入适当的控制机制才行,也就是要在发送端和接收端分别设定所谓的发送窗口和接收窗口。下面先讨论发送窗口。现在设发送序号用3个比特来编码,即发送序号从0号到7号(共8个不同的序号)。又设发送窗口大小Wt = 5,即在未收到对方确认信息的情况下,发送端最多可以发送出5个数据帧。发送窗口的规则归纳如下:

(1)发送窗口内的帧是允许发送的帧,而不考虑有没有收到确认。发送窗口右侧所有的帧都是不允许发送的帧。图4-5(a)画出了刚开始发送时的情况。

(2)每发送完一个帧,允许发送的帧数就减1,但发送窗口的位置不改变。图4-5(b)中有三种不同的帧:已经发送的帧(最左边的0号帧);允许发送的帧(共4个,1号帧至4号帧),以及不允许发送的帧(5号帧和以后的帧)。

(3)如果所允许发送的5个帧都发送完了,但还没有收到任何确认,那么就不能再发送任何帧了,如图4-5(c)所示。这时,发送端进入等待状态。图4-5发送窗口控制发送端的发送速率

(4)每收到对一个帧的确认,发送窗口就向前(即向右方)滑动一个帧的位置。如图4-5(d)所示,表示收到了对前三个帧的确认,因此,发送窗口可向右方滑动三个帧的位置。在图4-5(d)中有四种不同的帧:已发送且已收到了确认的帧(最左边的0~2帧);已发送但未收到确认的帧(左边的3~4帧);还可以继续发送的帧(5~7号帧);不允许发送的帧(右边的0号帧和以后的帧)。为了减少开销,连续ARQ协议还规定接收端不一定每收到一个正确的数据帧就必须发回一个确认帧,而是可以在连续收到好几个正确的数据帧以后,才对最后一个数据帧发确认信息。也就是说,对某一数据帧的确认就表明该数据帧和在此之前所有的数据帧均已正确无误地收到了。这样做可以使接收端少发一些确认帧,因而减少了开销。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧而不可以接收哪些帧。在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许接收该数据帧。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。在连续ARQ协议中,接收窗口的大小Wr = 1。接收窗口的规则很简单,归纳如下:

(1)只有当收到的帧的序号与接收窗口一致时才能接收该帧,否则丢弃。

(2)每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置,同时向发送端发送对该帧的确认。图4-6(a)表明一开始接收窗口处于0号帧处,接收端准备接收0号帧。0号帧一旦收到,接收窗口即沿顺时针方向向前旋转一个号,如图4-6(b)所示,准备接收1号帧,同时向发送端发送对0号帧的确认信息。现在继续研究接收窗口处于图4-5(b)时的接收策略。显然,若收到1号帧,则接收窗口将顺时针旋转1个号,并发出对1号帧的确认。但若收到的不是1号帧,情况就稍复杂些。如果收到的帧号落在接收窗口前面(顺时针方向),例如收到了2号帧,这时接收端就必须丢弃它,并发出对2号帧的否认信息。但若收到的帧号落在接收窗口的后面,例如收到了0号帧(注意:0号帧已收到过,并对它发送过确认信息),这就表明已发出的对0号帧的确认帧没有被发送方收到。因此现在还要再发一次对0号帧的确认,不过这时不能再把0号帧送交主机(否则就重复了)。在这两种情况下,接收窗口都不得向前旋转。图4-6接收窗口Wr的意义当陆续收到1号、2号和3号帧时,接收窗口的位置应如图4-6(c)所示。从以上讨论可以看出,只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才可能向前滑动。发送端若没有收到该确认,发送窗口就不能滑动。正因为收发两端的窗口按照以上规律不断地沿顺时针方向旋转(即滑动),因此这种协议又称为滑动窗口协议。不难看出,当发送窗口和接收窗口的大小都等于1时,就是最初讨论的停止-等待协议。

3.选择重传ARQ协议为了进一步提高信道的利用率,可以设法只重传出现差错的数据帧或者是定时器超时的数据帧。但在这种情况下,必须加大接收窗口,以便先接收发送序号不连续但仍处在接收窗口中的那些数据帧,等到所缺序号的数据帧收到之后再一并送交主机。这就是选择重传ARQ协议4.2.5高级数据链路控制(HDLC)协议在OSI七层协议产生之前,为了使容易产生差错的物理链路在通信时变得可靠,使用了一些控制协议,包括ARPANET推出的IMP-IMP协议和IBM推出的BSC协议,这些数据链路层协议都是面向字符(即链路上所传输的数据或控制信息都必须是由规定字符集(例如ASCII码)中的字符所组成)的协议。由于这种面向字符的协议对字符的依赖性比较强,不便于扩展,为此IBM推出了面向比特的规程SDLC(SynchronousDataLinkControl)。后来,ISO把SDLC修改后称为HDLC(HighlevelDataLinkControl)。

HDLC最大的特点是不需要数据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。HDLC是面向比特的协议,支持全双工通信,采用位填充的成帧技术,以滑动窗口协议进行流量控制。

1. HDLC的基本知识

HDLC是通用的数据链路层协议,为满足不同应用场合的需要,HDLC定义了三种通信站类型、两种链路结构及三种数据响应模式。

1)通信站类型

HDLC规定允许有三种类型的通信站:主站、从站和组合站。主站:主站的主要功能是发送命令帧和数据信息帧,接收响应帧,并负责控制链路的操作与运行。主站向从站发送命令帧,并从从站接收响应帧。在多点链路中,主站负责管理与各个从站之间的链路。从站:从站在主站的控制下进行工作,从站发送响应帧作为对主站命令帧的响应。从站对链路无控制权,从站之间不能直接进行通信。组合站:同时具有主站与从站的功能,既可以发送命令帧,也可以发送响应帧。

2)链路结构

HDLC规定了两种链路结构:不平衡链路结构和平衡链路结构。不平衡链路结构:由一个主站与一个或一个以上从站构成。既可用于点对点链路,也可用于多点链路。主站控制从站并实现链路管理。平衡链路结构:有两种组成方法,一种是主、从站间配对通信;另一种是通信的每一方均为组合站,且两组合站具有同等能力。无论哪种链路结构,站点之间均以帧为单位传输数据或状态变化的信息,其方式具有“行为-应答”的特点。

3)数据响应方式

HDLC有如下三种数据响应方式:正常响应方式NRM:用于不平衡链路结构。从站只有在得到主站允许之后才能向主站传送数据。异步平衡方式ABM:用于平衡链路结构。任何一个组合站不必事先得到对方许可,就可以开始传输过程。异步响应方式ARM:用于不平衡链路结构。ARM方式允许从站在事先不得到主站的允许下开始传输数据,主站仍然负责控制和链路管理。

2. HDLC的帧格式数据链路层的数据传送是以帧为单位的。一个帧的结构具有固定的格式,如图4-7所示。从网络层交下来的分组变为数据链路层的数据,就是图4-7中的信息字段。信息字段的长度没有具体规定。数据链路层在信息字段的头尾各加上24bit的控制信息,这样就构成了一个完整的帧。HDLC的功能集中体现在HDLC帧格式中。图4-7HDLC帧格式及控制字段的结构帧格式中各字段的含义如下:标志字段F(Flag):为了解决帧同步的问题,HDLC规定了一个帧的开头和结尾各放入一个特殊的标记,作为一个帧的边界。这个标记就叫做标志字段F。标志字段F为6个连续1加上两边各一个0共8bit,即“01111110”。可以看出,HDLC协议在帧定界上采用的是带位填充技术首尾界符法(零比特填充法)。在接收端,只要找到标志字段,就可以很容易地确定一个帧的位置。地址字段A(Address):由8位组成,对于命令帧,存放接收站的地址;对于响应帧,存放发送响应帧的站点地址。

控制字段C(Control):由8位组成,该字段是HDLC协议的关键部分。它标志了HDLC的三种类型帧:信息(Information)帧、监控(Supervisory)帧和无编号(Unnumbered)帧。控制字段结构如图4-7所示,若帧的第1位为“0”,则代表这是一个用于发送数据的信息帧,相应地,其第2至4位代表当前发送的信息帧的序号,而第6至8位则代表接收序号即期望收到的帧的发送序号;若帧的第1至2位为“10”,则代表这是一个用于协调双方通信状态的监控帧,相应地,其第3至4位用以代表四种不同类型的监控帧:“00”表示接收准备就绪;“01”表示传输出错,并要求采用拉回方式重发;“10”表示接收准备尚未就绪,要求发送方暂停发送;“11”则表示传输出错并要求采用选择重发。监控帧中不包含Data(数据)部分;第三种情况,若帧的第1至2位为“11”,则代表用于数据链路控制的无序号帧,其第3、4、6、7和8位用M(Modifier)表示,M的取值不同表示不同功能的无序号帧。无序号帧可用于建立连接和拆除连接。在所有三种情况下,第5位是轮询/终止(Poll/Final)位,简称P/F,用于询问对方是否有数据要发送或告诉对方数据传输结束。信息字段:若控制字段的第1位为0,则该帧为信息帧,可以包含任意信息且长度没有规定,但实际上受多种条件的制约,如帧校验效率就会随着数据长度的增加而下降。校验序列字段FCS:采用16位的CRC校验,其生成多项式为CRC-16:G(x)=x16+x15+x2+1,校验的内容包括A字段、C字段和Data字段。4.2.6点对点协议(PPP)

PPP(Point-to-PointProtocol)是一个点到点的数据链路层协议,目前是TCP/IP网络中最重要的数据链路层协议。PPP协议由IETF(InternetEngineeringTaskForce)开发,目前已被广泛使用并成为国际标准。

PPP作为一种提供在点到点链路上传输、封装网络层数据包的数据链路层协议,处在TCP/IP协议栈的第二层,主要被设计用来在支持全双工的同异步链路上进行点到点之间的数据传输。PPP是一个适用于调制解调器、点到点专线、HDLC比特串行线路和其他物理层的多协议帧机制。它支持错误检测、选项商定、头部压缩等机制,在当今网络中得到普遍的应用。例如同学们所熟悉的利用Modem进行拨号上网(163、169、165等)就是使用PPP实现主机到网络连接的典型例子。如图4-8所示。图4-8PPP提供多种连接

1. PPP的特性

PPP是目前使用得最广泛的广域网协议,这是因为它具有以下特性:

能够控制数据链路的建立;

能够对IP地址进行分配和使用;

允许同时采用多种网络层协议;

能够配置和测试数据链路;

能够进行错误检测。

有协商选项,能够对网络层的地址和数据压缩等进行协商。

PPP是目前主流的一种国际标准WAN封装协议,可支持同步串行连接、异步串行连接、ISDN连接和HSSI连接。

2. PPP的组成

PPP作为数据链路层的协议,在物理上可使用各种不同的传输介质,包括双绞线、光纤及无线传输介质,在数据链路层提供了一套解决链路建立、维护、拆除、上层协议协商、认证等问题的方案;在帧的封装格式上,PPP采用的是一种HDLC的变化形式;其对网络层协议的支持则包括了多种不同的主流协议,如IP和IPX等。图4-9给出了PPP的体系结构,从中可以看出,PPP主要由两类协议组成。图4-9PPP协议结构

1)链路控制协议族(LCP)链路控制协议族(LinkControlProtocol,LCP)主要用于数据链路连接的建立、拆除和监控;LCP主要完成MTU(最大传输单元)、质量协议、验证协议、魔术字、协议域压缩、地址和控制域压缩协商等参数的协商。

2)网络层控制协议族(NCP)网络层控制协议族(NetworkControlProtocol,NCP)主要用于协商在该链路上所传输的数据包的格式与类型,建立和配置不同网络层协议。目前,NCP有IPCP和IPXCP两种。IPCP用于在LCP上运行IP协议;IPXCP用于在LCP上运行IPX协议,这里只介绍IPCP。

IPCP主要有两个功能:其一是协商IP地址(用于PPP通信的双方中一侧给另一侧分配IP地址),其二是协商IP压缩协议(即是否采用VANJacobson压缩协议)。同时,PPP还提供了用于安全方面的验证协议族(PAP和CHAP)。

3. PPP的帧格式

PPP的帧格式如图4-10所示。图4-10无编号模式下的PPP完整帧格式所有的PPP帧都是以标准的HDLC标志字节(01111110)开始的,如果用在信息字段上,就是所填充的字符。地址字段(A):总是设成二进制值11111111,表明主从端均为接收状态。控制字段(C):其缺省值为00000011,此值表明是一个无序号帧。换言之,缺省情况下,PPP没有采用序列号和确认来进行可靠传输。在有噪声的环境如无线网络中,则使用编号方式进行可靠的传输。协议字段(P):告知在信息字段中使用的是哪类分组,针对LCP、NCP、IP、IPX、AppleTalk及其他协议,定义了相应的代码。信息字段(I):是变长的,最多可达到所商定的最大值。缺省长度1500字节。如果需要的话,在有效内容后面增加填充字段。

4. PPP的协商过程

PPP链路的建立是通过一系列的协商完成的。其中,链路控制协议除了用于建立、拆除和监控PPP数据链路,还主要进行数据链路层特性的协商,如MTU、验证方式等;网络层控制协议族主要用于协商在该数据链路上所传输的数据的格式和类型,如IP地址。

PPP协商过程大致可以分为如下几个阶段:Dead(链路不可行)阶段、Establish(链路建立)阶段、Authenticate(验证)阶段、Network(网络层协议)阶段、Terminate(链路终止)阶段。如图4-11所示。图4-11PPP的协商过程

(1)链路不可用阶段(Dead):链路必须从这个阶段开始和结束。当一个外部事件(如一个载波信号或网络管理员配置)检测到物理层可用,PPP就会进入到Establish阶段。在Dead阶段,LCP状态机有两个状态:Initial和Starting。从这个状态迁移到Establish状态会给LCP状态机送一个Up事件。当断开连接后,链路会自动回到这个状态。在一般情况下这个阶段是很短的,仅仅只是检测到设备在位。

(2)链路建立阶段(Establish):LCP协议用来建立一个传输配置数据包的连接,一旦发送一个Configure-Ack数据包并被对方正确接收,LCP进入Opened状态,就停止配置数据包的发送了。LCP只配置与网络层协议无关的配置,各个网络层协议的配置通过各自的网络控制协议(NCP)在网络层协议(Network-LayerProtocol)阶段配置。在链路建立阶段接收到的非LCP数据包会直接丢弃。在网络层协议阶段或验证阶段一旦收到一个Configure-Request就会回到链路建立阶段。

(3)验证阶段(Authenticate):某些链路可能要求对端验证自己之后才允许网络层协议数据包在链路上传输,在缺省值中验证是不要求的。如果某个应用要求对端采用特定的验证协议进行验证,则必须在链路建立阶段发出使用这种协议的请求。只有当验证通过时才可以进入网络层协议阶段,如果验证失败,则应继续验证而不是转到链路终止阶段。在这个阶段只允许链路控制协议、验证协议和链路质量检测的数据包进行传输,其他的数据包都应丢弃。

(4)网络层协议阶段(Network-LayerProtocol):当PPP结束前面的几个阶段,每个网络层协议(如IP、IPX)就要通过适当的网络控制协议独立地进行配置。每个NCP随时都可能是打开或关闭状态。当某个网络控制协议达到Opened状态,PPP将运送相应的网络层协议的数据包。在某个网络控制协议到达Opened状态之前,收到的与之对应的网络层协议数据包将被丢弃。在这个阶段,链路上传输的是任何可能的LCP、NCP和网络层协议的数据包组合。

(5)链路终止阶段(LinkTerminate):PPP可以在任何时候终止链路,这可能是由于载波信号丢失、验证失败、链路质量不好、定时器超时或管理员关闭链路。PPP通过交换终止链路的数据包来关闭链路,当交换结束时,应用就告诉物理层拆除连接从而强行终止链路。但验证失败时,发出终止请求的一方必须等收到终止应答或者重启计数器超过最大终止计数次数才断开连接。收到终止请求的一方必须等对方先断开连接,而且在发送终止应答之后,必须至少经过一次重启时间之后才能断开连接,之后PPP回到链路不可用状态。

5. PPP的身份验证

PPP协议包含了通信双方身份验证的安全性协议,即在网络层协商IP地址之前,首先必须通过身份验证。PPP的身份验证有两种方式:CHAP和PAP。

1) PAP的验证过程

PAP(PasswordAuthenticationProtocol)是两次握手协议,它通过用户名及口令来进行用户的验证,其过程如下:当开始验证阶段时,被验证方首先将自己的用户名及口令发送到验证方,验证方根据本端的用户数据库(或Radius服务器)查看是否有此用户,口令是否正确,如果正确则发送ACK报文通知对端进入下一阶段协商,否则发送NAK报文通知对端验证失败。此时,并不直接将链路关闭。只有当验证失败达到一定次数时才关闭链路,来防止因网络误传、网络干扰等因素造成不必要的LCP重新协商的过程。PAP是在网络上以明文的方式传送用户名及口令,所以安全性不高。其报文交互过程如图4-12所示。图4-12PAP验证过程

2) CHAP的验证过程

CHAP为三次握手协议,它只在网络上传用户名而不传口令,因此安全性比PAP高。其验证过程为:首先验证方向被验证方发送一些随机的报文,并加上自己的主机名;被验证方收到验证方的验证请求,通过收到的主机名和本端的用户数据库查找用户口令字(密钥),如果找到用户数据库中和验证方主机名相同的用户,便利用接收到的随机报文、此用户的密钥和报文ID用MD5加密算法生成应答,随后将应答和自己的主机名送回;验证方收到此应答后,利用对端的用户名在本端的用户数据库中查找本方保留的口令字,用本方保留的用户的口令字(密钥)、随机报文和报文ID用MD5加密算法生成结果,与被验证方的应答比较,相同则返回ACK,否则返回NAK。其报文交互过程如图4-13所示。图4-13CHAP验证过程

CHAP协议不仅在连接建立阶段进行,在以后的数据传输阶段也可以按随机间隔继续进行,但每次验证方和被验证方的随机数据都应不同,以防被第三方猜出密钥。如果验证方发现结果不一致,将立即切断线路。4.2.7面向字符的同步控制协议面向字符的同步协议是最早提出的同步协议,其典型代表是IBM公司的二进制同步通信(BinarySynchronousCommunication,BISYNC或BSC)协议,通常,也称该协议为基本型协议。随后,ANSI和ISO都提出类似的相应标准。ISO的标准称为数据通信系统的基本型控制过程(BasicModeControlProceduresforDataCommunicationSystems),即ISO1745标准。任何链路层协议均可由链路建立、数据传输和链路拆除三部分组成。为实现建链、拆链等链路管理以及同步等各种功能,除了正常传输的数据块和报文外,还需要一些控制字符。BSC协议用ASC2或EBCDIC字符集定义的传输控制(TC)字符来实现相应功能。4.2.8面向比特的同步控制协议

20世纪70年代初,IBM公司率先提出了面向比特的同步数据链路控制规程SDLC。随后,ANSI和ISO均采纳并发展了SDLC,并分别提出了自己的标准:ANSI的高级通信控制过程ADCCP(AdvancedDataControlProcedure),ISO的高级数据链路控制规程HDLC。链路控制协议着重于对分段成物理块或包的数据的逻辑传输,数据块或包由起始标志引导并由终止标志结束,也称为帧。帧是每个控制、每个响应以及用协议传输的所有信息的媒体的工具。所有面向比特的数据链路控制协议均采用统一的帧格式,不论是数据还是单独的控制信息均以帧为单位传送。4.2.9BSC和HDLC特点的比较

1)适用场合就系统结构而言,HDLC适用于点到点或点到多点式的结构,BSC同样也适用于这些结构;就工作方式而言,HDLC适用于半双工或全双工,而BSC则更适用于半双工方式(也可扩充为全双工);就传输方式而言,BSC和HDLC两者都只用于同步传输。在传输速率方面,BSC和HDLC虽然都没有限制,但由于它们各自的特点所定,通常BSC用于低、中速传输,而HDLC则常用于中、高速传输。

2)传输效率

HDLC开始发送一帧后,就要连续不断地发完该帧,而BSC的同一数据块中的不同字符之间可能有时间间隔,这些间隔用SYN字符填充。HDLC可以同时确认几个帧,而BSC则在发完一数据块后必须要等待确认(即“停止-等待”方式)。HDLC中的每个帧都含有地址字段A,在多点结构中,每个从站只接收含有本站地址的帧,因此,主站在选中一个从站并与之通信的同时,不用拆链,便可选择其他的站通信,即同时与多个站建立链路。而在BSC中,从建链开始,两站之间的链路通道就一直保持到传输结束为止。由于以上特点,HDLC的传输效率高于BSC。

3)传输可靠性

HDLC中所有的帧(包括响应帧)都有FCS,在BSC的监控报文中只有字符校验能力而无块校验能力。HDLC中的I帧按窗口序号顺序编号,BSC的数据块不编号。由于以上特点,HDLD的传输可靠性比BSC高。

4)数据透明性

HDLC采用“0比特插入法”对数据实现透明传输,传输信息的比特组合模式无任何限制。BSC用DLE字符填充法来实现透明传输,依赖于采用的字符编码集,且处理复杂。

5)信息传输格式

HDLC采用统一的帧格式来实现数据、命令、响应的传输,实施起来方便。而BSC的格式不统一,数据传送、正反向监控各规定了一套格式,给实施带来了不便。

6)链路控制HDLC利用改变一帧中的控制字段的编码模式来完成各种规定的链路操作功能,提供的是面向比特的传输功能。BSC则是通过改变控制字符来完成链路操作功能,提供的是面向字符的传输功能。4.3TCP/IP模型中的网络接口层4.3.1LLC子层

LLC是LogicalLinkControl的缩写,意为逻辑链路控制。IEEE802委员会为局域网制订了一系列标准,统称为802标准。其中IEEE802.2LAN标准定义了逻辑链路控制(LLC)子层的功能与服务,并且是IEEE802.3、IEEE802.4和IEEE802.5等标准的基标准。

LLC负责识别网络层协议,然后对它们进行封装。LLC报头告诉数据链路层一旦帧被接收到,应当对数据包做何处理。它的工作原理如下:主机接收到帧并查看其LLC报头,以找到数据包的目的地,如网际层的IP协议。LLC子层也可以提供流量控制并控制比特流的排序。

IEEE802.2LLC应用于IEEE802.3(以太网)和IEEE802.5(令牌环)LAN,以实现如下功能:

(1)管理数据链路通信。

(2)链接寻址。

(3)定义服务接入点(ServiceAccessPoints,SAP)。

(4)排序。

LLC为上层提供了处理任何类型MAC层的方法,例如,以太网IEEE802.3CSMA/CD或者令牌环IEEE802.5令牌传递(TokenPassing)方式。

LLC是在高级数据链路控制(HDLC)的基础上发展起来的,并使用了HDLC规范的子集。LLC定义了三种数据通信操作类型:类型1:无连接。该方式不保证发送的信息一定可以收到。类型2:面向连接。该方式提供了四种服务:连接的建立、确认和数据到达响应、差错恢复(通过请求重发接收到的错误数据实现)以及滑动窗口(系数:128)。滑动窗口用来提高数据传输速率。类型3:无连接应答响应服务。类型1的LLC无连接服务中规定了一种静态帧格式,并允许在其上运行网络协议。使用传输层协议的网络协议通常会使用类型1方式。类型2的LLC面向连接服务支持可靠数据传输,适用于不需要调用网络层和传输层协议的局域网环境。4.3.2MAC子层介质访问控制(MediaAccessControl,MAC)是解决当局域网中共用信道的使用产生竞争时,如何分配信道的使用权问题。MAC子层构成了数据链路层的下半部,直接与物理层相邻。

MAC子层定义了数据包怎样在介质上进行传输。在共享同一个带宽的链路中,对连接介质的访问是“先来先服务”的。物理寻址在此处被定义,逻辑拓扑(信号通过物理拓扑的路径)也在此处被定义。线路控制、出错通知(不纠正)、帧的传递顺序和可选择的流量控制也在这一子层实现。

MAC主要负责控制与连接物理层的物理介质。在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC(逻辑链路控制)层。无论是在传统的有线局域网(LAN)中还是在目前流行的无线局域网(WLAN)中,MAC协议都被广泛地应用。在传统局域网中,各种传输介质(铜缆、光纤等)的物理层对应到相应的MAC层,目前网络中普遍采用的是IEEE802.3的MAC层标准,采用CSMA/CD访问控制方式;而在无线局域网中,MAC所对应的标准为IEEE802.11,其工作方式采用DCF(分布控制)和PCF(中心控制)。4.3.3MAC子层与LLC子层的功能区别

OSI协议栈中的数据链路层可进一步细分为较低的介质访问控制(MAC)子层和较高的逻辑链路控制(LLC)子层。当接收到一个分组后,它从MAC子层向上传送。如果有多个网络和设备相连,LLC层可能将分组送给另一个网络。例如,在一个NetWare服务器上,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论