数据链路层的功能
数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
1.1 为网络层提供服务
对网络层而言,数据链路层的基本任务是将源机器中来自网络层的数据传输到目标机器的网络层。
- 无确认的无连接服务。适用于实时通信或误码率较低的通信信道,如以太网。
- 有确认的无连接服务。适用于误码率较高的通信信道,如无线通信。
- 有确认的面向连接服务。适用于通信要求(可靠性、实时性)较高的场合。
1.2 链路管理
数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务。除此以外,还有在多个站点共享同一物理信道的情况下如何在通信站点间分配和管理信道。
- 首先确认对方已处于就绪状态
- 交换一些必要的信息以对帧序号初始化
- 建立连接
- 传输过程中维持连接
- 传输完毕后要释放该连接
1.3 流量控制
- 错误原因:由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力的现象,如若此时不适当限制发送方的发送速率,前面来不及接收的帧将会被后面不断发送来的帧“淹没”,造成帧的丢失而出错。
- 概念:流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。
- 控制设计:这个过程需要有–些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送。
- 控制应用:
- 数据链路层:控制的是相邻两结点之间数据链路上的流量。
- 传输层:控制的则是从源端到目的端之间的流量。
1.4 差错控制
- 错误原因:由于信道噪声等各种原因,帧在传输过程中可能会出现错误。
- 概念:差错控制是指以使发送方确定接收方是否正确收到由其发送的数据的方法。
- 控制设计:
- 位错:循环冗余校验(CRC)发现位错、自动重传请求(ARQ)重传出错的帧。
- 帧错;指帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,能保证每一帧最终都能有且仅有一次正确地交付给目的结点。
流量控制和可靠传输机制
2.1 流量控制基本原理
流量控制的基本方法是由接收方控制发送方发送数据的速率。
2.1.1 停止-等待流量控制基本原理
- 发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧,
- 接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧。
- 如果接收方不反馈应答信号,那么发送方必须一直等待。
- 每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低。
2.1.2 滑动窗口流量控制基本原理
1.滑动窗口基本概念
- 发送窗口:发送方维持一组连续的允许发送的帧的序号。
- 接收窗口:接收方维持一组连续的允许接收帧的序号。
- 发送窗口的大小w:在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。
2.滑动过程
- 发送端每收到一个确认帧,发送窗口就向前滑动一个帧的位置。
- 当发送窗口内没有可以发送的帧(即窗口内的帧全部是已发送但未收到确认的帧)时,发送方停止发送。
- 直到收到接收方发送的确认帧使窗口移动,窗口内有可以发送的帧后,才开始继续发送。
- 接收端收到数据帧后,将窗口向前移一个位置。并发回确认帧,若收到的数据帧落在接收窗口之外,则一律丢弃。
3.滑动窗口特性
- 只有接收窗口向前滑动时,发送窗口才有可能向前滑动。
- 停止-等待协议、后退N帧协议和选择重传协议只在发送窗口大小与接收窗口大小上有所差别:
- 停止-等待协议:发送窗口大小=1,接收窗口大小=1。
- 后退N帧协议:发送窗口大小>1,接收窗口大小=1。
- 选择重传协议:发送窗口大小>1,接收窗口大小>1。
- 接收窗口的大小为1时,可保证帧的有序接收。
- 数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的。
2.1.3 可靠传输机制
- 确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。
- 超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。自动重传请求(Auto Repeat reQuest,ARQ)通过接收方请求发送方重传出错的数据帧来恢复出错的帧。
- 停止-等待(Stop-and-Wait)ARQ、
- 后退N帧(Go-Back-N) ARQ
- 选择性重传(Selective Repeat)ARQ。
2.2 单帧滑动窗与停止-等待协议
在停止-等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。因此停止-等待协议通信信道的利用率很低。
- 停等协议差错。
- 数据帧丢失,若连续出现相同发送序号的数据帧,表明发送端进行了超时重传。
- 数据帧破坏,超时重传。
- 数据帧正确而确认帧破坏,连续出现相同序号的确认帧时,则接收端收到了重复帧。
- 滑动窗口
- 发送窗口大小=1,接收窗口大小=1
此外,为了超时重发和判定重复帧的需要,发送方和接收方都须设置一个帧缓冲区。发送端在发送完数据帧时,必须在其发送缓存中保留此数据帧的副本,这样才能在出差错时进行重传。只有在收到对方发来的确认帧ACK时,方可清除此副本。
2.3 多帧滑动窗口与后退N帧协议(GBN)
在后退N帧式ARQ中,发送方可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后发现 某一帧超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重传该出错帧及随后的N个帧。即接收方只允许按顺序接收帧。
为了减少开销,GBN协议还规定接收端在连续收到好几个正确的数据帧后,才对最后一个数据帧发确认信息,或者可在自己有数据要发送时才将对以前正确收到的帧加以捎带确认。这就是说,对某一数据帧的确认就表明该数据帧和此前所有的数据帧均已正确无误地收到。
- 滑动窗口
- 接收窗口为1,可以保证按序接收数据帧。
- 若采用n比特对帧编号,则其发送窗口的尺寸w应满足1≤W≤2”-1。若发送窗口的尺寸大于2”-1,则会造成接收方无法分辨新帧和旧帧。
- 优点
- 因连续发送数据帧而提高了信道的利用率,
- 缺点
- 重传时又必须把原来已传送正确的数据帧进行重传,这种做法又使传送效率降低。
- 当信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停等协议。
2.4 多帧滑动窗口与选择重传协议(SR)
选择重传ARQ协议:只重传出现差错或超时的数据帧,但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。
- 滑动窗口
- 接收窗口尺寸环和发送窗口尺寸都大于1,一次可以发送或接收多个帧。
- 若采用n 比特对帧编号,为了保证接收方向前移动窗口后,新窗口序号与旧窗口序号没有重叠部分,需要满足条件:接收窗口+发送窗口≤2”。假定仍然采用累计确认的方法,并且接收窗口显然不应超过发送窗口。一般情况下,在SR协议中,接收窗口的大小和发送窗口的大小是相同的。
- 优点
- 可以避免重复传送那些本已正确到达接收端的数据帧。
- 缺点
- 在接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧。
介质访问控制
3.1 基本概念
- 介质访问控制:为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。
- 介质访问控制(Medium Access Control,MAC)子层:用来决定广播信道中信道分配的协议属于数据链路层的一-个子层。
- 静态划分信道
- 信道划分介质访问控制
- 动态分配信道
- 随机访问介质访问控制
- 轮询访问介质访问控制
3.2 信道划分介质访问控制
- 信道划分介质访问控制:使用介质的每个设备与来自同一通信信道上的其他设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。
- 多路复用:当传输介质的带宽超过传输单个信号所需的带宽时,人们就通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率。
3.2.1 频分多路复用(FDM)
频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
- 复用原理
- 将物理信道的总带宽分割成若干子信道(每个子信道分配的带宽可不相同)。
- 每个子信道传输一种信号。
- 为了防止子信道之间的干扰,相邻信道之间需要加入“保护频带”。
- 优点
- 充分利用了传输介质的带宽,系统效率较高。
- 技术比较成熟,实现容易。
3.2.2 时分多路复用(TDM)
时分多路复用是将条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用。
- 复用原理
- 某个时刻,信道上传送的仅是某一对设备之间的信号。
- 某段时间,传送的是按时间分割的多路复用信号。
- 缺点
- 由于计算机数据的突发性,用户对已经分配到的子信道的利用率不高。
- 改进
- 统计时分多路复用(STDM):它采用STDM帧不固定分配时隙,而按需动态地分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率。
3.2.3 波分多路复用(WDM)
波分多路复用即光的频分多路复用,它在一根光纤中传输多种不同波长的光信号,由于波长不同,各路光信号互不干扰,因而可以实现多路的波分复用。
3.2.4 码分多路复用(CDM)
码分多路复用是采用不同的编码来区分各路原始信号的一种复用方式。与FDM和TDM不同,它既共享信道的频率,又共享时间。
3.3 随机访问介质访问控制(争用型协议)
在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧的冲突,导致所有发送均失败。因此用户需要按照规则反复重传帧,直到该帧无碰撞地通过。规则即为随机访问协议。
- 此协议不集中控制,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。
- 各结点之间的通信既不共享时间,也不共享空间。
- 实质上是一种将广播信道转化为点到点信道的行为。
3.3.1 ALOHA协议
1. 纯ALOHA协议
当网络中的任何-一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内未收到确认.就认为传输过程中发生了冲突。发送站点需要随机等待一段时间后再发送数据,直至发送成功。缺点是纯ALOHA网络的吞吐量很低。
2. 时隙ALOHA协议
把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。时隙ALOHA网络比纯ALOHA网络的吞吐量大了1倍。
3.3.2 CSMA协议
载波侦听多路访问(Carrier Sense Multiple Access,CSMA):若每个站点在发送前都先侦听一下共用信道,发现信道空闲后再发送,从而大大降低冲突的可能,提高信道的利用率。
1. 1-坚持CSMA
- 一个结点要发送数据时,首先侦听信道。
- 如果信道空闲,那么立即发送数据。
- 如果信道忙,那么等待,同时继续侦听直至信道空闲。
- 如果发生冲突,那么随机等待一段时间后,再重新开始侦听信道。
[注]传播延迟会影响发送带来冲突。
2. 非坚持CSMA
- 一个结点要发送数据时,首先侦听信道。
- 如果信道空闲,那么立即发送数据。
- 如果信道忙,那么放弃侦听,等待一个随机的时间后再重复上述过程。
降低了多个结点等待信道空闲后同时发送数据导致冲突的概率,但增加数据在网络中的平均延迟。
3. p-坚持CSMA
p-坚持CSMA(P-persistent CSMA)用于时分信道。
- 一个结点要发送数据时,首先帧听信道。
- 如果信道忙,就持续侦听,直至信道空闲。
- 如果信道空闲,那么以概率p 发送数据,以概率1-p推迟到下一个时隙。
- 如果在下-个时隙信道仍然空闲,那么仍以概率p发送数据,以概率1-p推迟到下一个时隙。这个过程一直持续到数据发送成功为止。
- 因其他结点发送数据而检测到信道忙,则等待下一个时隙再重新开始帧听。
目的是降低1-坚持CSMA 协议中多个结点检测到信道空闲后同时发送数据的冲突概率;采用坚持“帧听”的目的是,试图克服非坚持CSMA 协议中由于随机等待而造成的延迟时间较长的缺点。因此,p-坚持CSMA 协议是非坚持CSMA 协议和1-坚持CSMA 协议的折中方案。 三种不同类型的CSMA协议比较如表3.1所示。
3.3.3 CSMA/CD协议
载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection, CSMA/CD)协议适用于总线形网络或半双工网络环境。“载波帧听”就是发送前先侦听,即每个站在发送数据之前先要检测一下总线上是否有其他站点正在发送数据,若有则暂时不发送数据,等待信道变为空闲时再发送。“碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。 CSMA/CD的工作流程可简单概括为“先听后发,边听边发,冲突停发,随机重发”。1〉适配器从网络层获得一个分组,封装成以太网帧,放入适配器的缓存,准备发送。 2)如果适配器侦听到信道空闲,那么它开始发送该帧。如果适配器侦听到信道忙,那么它 持续侦听直至信道上没有信号能量,然后开始发送该帧。 3)在发送过程中,适配器持续检测信道。若一直未检测到碰撞,则顺利地把这个帧发送完 毕。若检测到碰撞,则中止数据的发送,并发送…-个拥塞信号,以让所有用户都知道。4)在中止发送后,适配器就执行指数退避算法,等待一段随机时间后返回到步骤2)。 电磁波在总线上的传播速率总是有限的,因此,当某个时刻发送站检测到信道空闲时,此时信道并不一定是空闲的。如图3.22所示,设t为单程传播时延。在t=0时,A发送数据。在t= r-8时,A发送的数据还未到达B,由于B检测到信道空闲而发送数据。经过时间6/2后,即在t = t–612时,A发送的数据和B发送的数据发生碰撞,但这时A和B都不知道。在t= t时,B检测到碰撞,于是停止发送数据。在t=2r-8时,A检测到碰撞,也停止发送数据。显然,CSMA/CD中的站不可能同时进行发送和接收,因此采用CSMA/CD 协议的以太网只能进行半双工通信。 由图3.22可知,站A在发送帧后至多经过时间2r(端到端传播时延的2倍)就能知道所发送的帧有没有发生碰撞(当80时)。因此把以太网端到端往返时间2r称为争用期(又称冲突窗口或碰撞窗口)。每个站在自己发送数据之后的一小段时间内,存在发生碰撞的可能性,只有经过争用期这段时间还未检测到碰撞时,才能确定这次发送不会发生碰撞。
为了确保发送站在发送数据的同时能检测到可能存在的碰撞,需要在发送完帧之前就能收到自己发送出去的数据,即帧的传输时延至少要两倍于信号在总线中的传播时延,所以CSMA/CD总线网中的所有数据帧都必须要大于—个最小帧长。任何站点收到帧长小于最小帧长的帧时,就把它当作无效帧立即丢弃。最小帧长的计算公式为 最小帧长=总线传播时延×数据传输速率×2 例如,以太网规定取51.2us 为争用期的长度。对于10Mb/s 的以太网,在争用期内可发送512bit,即64B。在以太网发送数据时,如果前64B未发生冲突,那么后续数据也就不会发生冲突(表示已成功抢占信道)。换句话说,如果发生冲突,那么就–定在前64B。由于一旦检测到冲突就立即停止发送,因此这时发送出去的数据一定小于64B。因此,以太网规定最短帧长为64B,凡长度小于64B的帧都是由于冲突而异常中止的无效帧,收到这种无效帧时应立即丢弃。 如果只发送小于64B的帧,如40B的帧,那么需要在MAC子层中于数据字段的后面加入-一个整数字节的填充字段,以保证以太网的MAC帧的长度不小于64B。 除检测冲突外,CSMA/CD还能从冲突中恢复。一旦发生了冲突,参与冲突的两个站点紧接着再次发送是没有意义的,如果它们这样做,那么将会导致无休止的冲突。CSMA/CD 采用二.进制指数退避算法来解决碰撞问题。算法精髓如下: 1)确定基本退避时间,一般取两倍的总线端到端传播时延2r(即争用期)。 2〉定义参数k,它等于重传次数,但k不超过10,即k = min[重传次数, 10]。当重传次数不 超过10时,k等于重传次数;当重传次数大于10时,k就不再增大而一直等于10(这个条件往往容易忽略,请读者注意)。 3)从离散的整数集合[0,1,…,2~1]中随机取出一个数r,重传所需要退避的时间就是r倍的 基本退避时间,即2rt. 4)当重传达16次仍不能成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧 并向商层报告出错(这个条件也容易忽略,请读者注意)。 现在来看一个例子。假设-个适配器首次试图传输-帧,当传输时,它检测到碰撞。第Ⅰ次重传时,k = 1,随机数r从整数{0,1}中选择,因此适配器可选的重传推迟时间是0或2r。若再次发送碰撞,则在第2次重传时,随机数r从整数{0,1,2,3}中选择,因此重传推迟时间是在0,2z4r6t这4个时间中随机地选取一个。以此类推。 使用二进制指数退避算法可使重传需要推迟的平均时间随重传次数的增大而增大(这也称动态退避),因而能降低发生碰撞的概率,有利于整个系统的稳定。
3.3.4 CSMA/CA协议
CSMA/CD协议已成功应用于使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用CSMA/CD协议,特别是碰撞检测部分。主要有两个原因: 1)接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范 围很大,因此若要实现碰撞检测,则硬件上的花费就会过大。 2)在无线通信中,并非所有的站点都能够听见对方,即存在“隐蔽站”问题。 为此,802.11标准定义了广泛应用于无线局域网的CSMA/CA 协议,它对CSMA/CD协议进行了修改,把碰撞检测改为碰撞避免(Collision Avoidance,CA)。“碰撞避免”并不是指协议可以完全避免碰撞,而是指协议的设计要尽量降低碰撞发生的概率。由于802.11无线局域网不使用踏撞瞪刚,-且站点开始发送一个帧,就会完全地发送该帧,但碰撞存在时仍然发送整个数据帧 电凯入全产建隆低网络的效率,因此要采用碰撞避免技术降低碰撞的可能性。
CSMA/CA 的退避算法和 CSMA/CD 的稍有不同(见教材)。信道从忙态变为空闲态时,任何-个站要发送数据帧,不仅都要等待一个时间间隔,而且要进入争用窗口,计算随机退避时间以便再次试图接入信道,因此降低了碰撞发生的概率。当且仅当检测到信道空闲且这个数据帧是要发送的第…个数据帧时,才不使用退避算法。其他所有情况都必须使用退避算法,具体为:①在发送第-一个帧前检测到信道忙;每次重传;每次成功发送后要发送下一帧。 CSMA/CA算法归纳如下: l))若站点最初有数据要发送(而不是发送不成功再进行重传),且检测到信道空闲,在等待时间DIFS后,就发送整个数据帧。 2)否则,站点执行CSMA/CA退避算法,选取–个随机回退值。一旦检测到信道忙,退避计时器就保持不变。只要信道空闲,退避计时器就进行倒计时。 3)当退避计时器减到0时(这时信道只可能是空闲的),站点就发送整个帧并等待确认。4)发送站若收到确认,就知道已发送的帧被目的站正确接收。这时如果要发送第二帧,就要从步骤2)开始。 若发送站在规定时间内没有收到确认帧ACK(由重传计时器控制),就必须重传该帧,再次使用CSMA/CA协议争用该信道,直到收到确认,或经过若干次重传失败后放弃发送。
CSMA/CD 与CSMA/CA主要有如下区别: 1)CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送数据的同时不能检测信道上有无 冲突,本结点处没有冲突并不意味着在接收结点处就没有冲突,只能尽量避免。 2〉传输介质不同。CSMA/CD用于总线形以太网,CSMA/CA用于无线局域网802.11a/b/g/n等。3)检测方式不同。CSMA/CD通过电缆中的电压变化来检测;而 CSMA/CA采用能量检测、 载波检测和能量载波混合检测三种检测信道空闲的方式。 总结:CSMA/CA协议的基本思想是在发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞。CSMA/CD 协议的基本思想是发送前侦听,边发送边侦听,一旦出现碰撞马上停止发送。
3.4 轮询访问介质访问控制:令牌传递协议
在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要用在令牌环局域网中。 在令牌传递协议中,一个令牌在各结点间以某个固定次序交换。令牌是由一组特殊的比特组合而成的帧。当环上的一个站希望传送帧时,必须等待令牌。一旦收到令牌,站点便可启动发送帧。帧中包括目的站的地址,以标识哪个站应接收此帧。帧在环上传送时,不管该帧是否是发给本站点的,所有站点都进行转发,直到该帧回到它的始发站,并由该始发站撤销该帧。帧的目的站除转发帧外,应针对该帧维持一个副本,并通过在帧的尾部设置“响应比特”来指示已收到此副本。站点在发送完一帧后,应释放令牌,以便让其他站使用。 当计算机都不需要发送数据时,令牌就在环形网上游荡,而需要发送数据的计算机只有在拿到该令牌后才能发送数据帧,因此不会发送冲突(因为令牌只有一个)。
在令牌传递网络中,传输介质的物理拓扑不必是一个环,但是为了把对介质访问的许可从–个设备传递到另一个设备,令牌在设备间的传递通路逻辑上必须是一个环。 轮询介质访问控制非常适合负载很高的广播信道。所谓负载很高的信道,是指多个结点在同一时刻发送数据概率很大的信道。可以想象,如果这样的广播信道采用随机介质访问控制,那么发生冲突的概率将会很大,而采用轮询介质访问控制则可以很好地满足各结点间的通信需求。 轮询介质访问控制既不共享时间,也不共享空间,它实际上是在随机介质访问控制的基础上,限定了有权力发送数据的结点只能有一个。 即使是广播信道也可通过介质访问控制机制使广播信道逻辑上变为点对点的信道,所以说数据链路层研究的是“点到点”之间的通信。
局域网
3.6.1局域网的基本概念和体系结构 局域网(Local Area Network,LAN)是指在一个较小的地理范围(如一所学校〉内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。主要特点如下:
1)为一个单位所拥有,且地理范围和站点数目均有限。2)所有站点共享较高的总带宽(即较高的数据传输速率)。3〉较低的时延和较低的误码率。 4〉各站为平等关系而非主从关系。5)能进行广播和组播。 局域网的特性主要由三个要素决定:拓扑结构、传输介质、介质访问控制方式,其中最重要的是介质访问控制方式,它决定着局域网的技术特性。 常见的局域网拓扑结构主要有以下4大类:①星形结构;②环形结构;③总线形结构;④星形和总线形结合的复合型结构。 局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流传输介质。 局域网的介质访问控制方法主要有CSMA/CD、令牌总线和令牌环,其中前两种方法主要用于总线形局域网,令牌环主要用于环形局域网。 三种特殊的局域网拓扑实现如下: 以太网(目前使用范围最广的局域网)。逻辑拓扑是总线形结构,物理拓扑是星形或拓展 星形结构。 令牌环(Token Ring,IEEE 802.5)。逻辑拓扑是环形结构,物理拓扑是星形结构。 . FDDI(光纤分布数字接口,IEEE 802.8)。逻辑拓扑是环形结构,物理拓扑是双环结构。IEEE 802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层:逻辑链路控制(LLC)子层和媒体接入控制(MAC)子层。与接入传输媒体有关的内容都放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括:组帧和拆卸帧、比特传输差错检测、透明传输。LLC子层与传输媒体无关,它向网络层提供无确认无连接、面向连接、带确认无连接、高速传送4种不同的连接服务类型。
广域网
3.7.1广域网的基本概念 广域网通常是指覆盖范围很广(远超一个城市的范围)的长距离网络。广域网是因特网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路都是高速链路,它可以长达几千千米的光缆线路,也可以是长达几万千米的点对点卫星链路。因此广域网首要考虑的问题是通信容量必须足够大,以便支持日益增长的通信量。 广域网不等于互联网,互联网可以连接不同类型的网络(既可以连接局域网,又可以连接广域网),通常使用路由器来连接。图3.30显示了由相距较远的局域网通过路由器与广域网相连而成的一个覆盖范围很广的互联网。因此,局域网可以通过广域网与另一个相隔很远的局域网通信。
广域网由一些结点交换机(注意不是路由器,结点交换机和路由器都用来转发分组,它们的工作原理也类似。结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组)及连接这些交换机的链路组成。结点交换机的功能是将分组存储并转发。结点之间都是点到点连接,但为了提高网络的可靠性,通常一个结点交换机往往与多个结点交换机相连。 从层次上考虑,广域网和局域网的区别很大,因为局域网使用的协议主要在数据链路层(还有少盘在物理层),而广域网使用的协议主要在网络层。怎么理解“局域网使用的协议主要在数据链路层,而广域网使用的协议主要在网络层”这句话呢?如果网络中的两个结点要进行数据交换,那么结点除要给出数据外,还要给数据“包装”上一层控制信息,用于实现检错纠错等功能。如果这层控制信息是数据链路层协议的控制信息,那么就称使用了数据链路层协议,如果这层控制信息是网络层的控制信息,那么就称使用了网络层协议。 它们的区别与联系见表3.3。
广域网中的一个重要问题是路由选择和分组转发。路由选择协议负贵搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表,然后从路由表再构造出转发分组的转发表。分组是通过转发表进行转发的。 PPP协议和 HDLC协议是目前最常用的两种广域网数据链路层控制协议。3.7.2 PPP协议 PPP (Point-to-Point Protocol)是使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上。设计的目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。 PPP协议是在SLP 协议的基础上发展而来的,它既可以在异步线路上传输,又可在同步线路上使用:不仅用于Modem链路,也用于租用的路由器到路由器的线路。 背景:SLIP主要完成数据报的传送,但没有寻址、数据检验、分组类型识别和数据压缩等功能,只能传送P分组。如果上层不是P协议,那么无法传输,并且此协议对一些高层应用也不支持,但实现比较简单。为了改进SLIP 的缺点,于是制定了点对点协议(PPP). PPP协议有三个组成部分: 1)链路控制协议(LCP)。一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。2)网络控制协议(NCP)。PPP协议允许同时采用多种网络层协议,每个不同的网络层协议 要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接。 3)一个将IP数据报封装到串行链路的方法。P数据报在PPP帧中就是其信息部分,这个信 息部分的长度受最大传送单元(MTU)的限制。
图3.32给出了PPP链路建立、使用、撤销所经历的状态图。当线路处于静止状态时,不存在物理层连接。当线路检测到载波信号时,建立物理连接,线路变为建立状态。此时,LCP 开始选项商定,商定成功后就进入身份验证状态。双发身份验证通过后,进入网络状态。这时,采用NCP 配置网络层,配置成功后,进入打开状态,然后就可进行数据传输。当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。
注意: 1)PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验) 它是不可靠的传输协议,因此也不使用序号和确认机制
- 2)它仅支持点对点的链路通信,不支持多点线路. 3 )PPP只支持全双工链路。
4) PPP的两端可以运行不同的网络层协议,但仍然可使用同一个 PPP进行通信。 5 )PPP是面向字节的,当信息字段出现和标志字段一致的比特组合时,PPP有两种不同的处理方法:若PPP用在异步线路(默认),则采用字节填充法;若 PPP用在SONET/SDH等同步线路,则协议规定采用硬件来完成比特填充(和HDLC的做法一样).
3.7.3 HDLC协议 高级数据链路控制(High-level Data Link Control,HDLC)协议是ISO制定的面向比特(记住PPP协议是面向字节的)的数据链路层协议。该协议不依赖于任何一种字符编码集:数据报文可透明传输,用于实现透明传输的“О比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。 HDLC适用于链路的两种基本配置:非平衡配置和平衡配置。)非平衡配置的特点是由一个主站控制整个链路的工作。 2)平衡配置的特点是链路两端的两个站都是复合站,每个复合站都可以平等地发起数据传 输,而不需要得到对方复合站的允许。 1.站 HDLC有3种站类型:主站、从站和复合站。主站负责控制链路的操作,主站发出的帧称为命令帧。从站受控于主站,按主站的命令进行操作;发出的帧称为响应帧。另外,有些站既具有主站的功能,又具有从站的功能,所以这类站称为复合站,它可以发出命令帧和响应帧。 2.数据操作方式 HDLC有3种数据操作方式: 1)正常响应方式。这是一种非平衡结构操作方式,即主站向从站传输数据,从站响应传输, 但从站只有在收到主站的许可后,才可进行响应。 2)异步平衡方式。这是一种平衡结构操作方式。在这种方式中,每个复合站都可以进行对 另一站的数据传输。 3)异步响应方式。这是一种非平衡结构操作方式。在这种方式中,从站即使未受到主站的 允许,也可进行传输。
由图3.31和图3.33可知,PPP帧和HDLC帧的格式很相似。但两者有以下几点不同:1 ) PPP协议是面向字节的,HDLC协议是面向比特的。 2)PPP帧比HDLC帧多一个2字节的协议字段。当协议字段值为Ox0021时,表示信息字段 是P数据报。 3) PPP协议不使用序号和确认机制,只保证无差错接收(通过硬件进行CRC检验),而端 到端差错检测由高层协议负贵。HDLC 协议的信息帧使用了编号和确认机制,能够提供可靠传输。
数据链路层设备
3.8.1网桥的概念及其基本原理 两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段。网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。如果把网桥换成工作在物理层的转发器,那么就没有这种过滤通信量的功能。由于各网段相对独立,因此一个网段的故障不会影响到另一个网段的运行。 注意:网桥处理数据的对象是帧,所以它是工作在数据链路层的设备,中继器、放大器处理数据的对象是信号,所以它是工作在物理层的设备。 网络1和网络⒉通过网桥连接后,网桥接收网络1发送的数据帧,检查数据帧中的地址,如果是网络⒉的地址,那么就转发给网络2:如果是网络1的地址,那么就将其丢弃,因为源站和目的站处在同一个网段,目的站能够直接收到这个帧而不需要借助网桥转发。 如图3.34所示,设每个网段的数据率都是10Mbls,那么三个网段合起来的最大吞吐量就变成了30Mb/s。如果把两个网桥换成集线器或转发器,那么整个网络仍然是–个碰撞域(即冲突域),当A和B通信时,所有其他站点都不能通信,整个碰撞域的最大吞吐盘仍然是10Mb/s。 网桥的基本特点:①网桥必须具备寻址和路径选择能力,以确定帧的传输方向;②从源网络接收帧,以目的网络的介质访问控制协议向目的网络转发该帧:③网桥在不同或相同类型的LAN之间存储并转发帧,必要时还进行链路层上的协议转换。注意,一般情况下,存储转发类设备都能进行协议转换,即连接的两个网段可以使用不同的协议:④网桥对接收到的帧不做任何修改,或只对帧的封装格式做很少的修改;⑤网桥可以通过执行帧翻译互联不同类型的局域网,即把原协议的信息段的内容作为另一种协议的信息部分封装在帧中:⑥网桥应有足够大的缓冲空间,因为在短时间内帧的到达速率可能高于转发速率。
网桥的优点:①能过滤通信量;②扩大了物理范围;③可使用不同的物理层;④可互联不同类型的局域网;⑤提高了可靠性;⑥性能得到改善。 网桥的缺点:①增大了时延;②MAC子层没有流量控制功能(流量控制需要用到编号机制,编号机制的实现在LLC子层);③不同MAC子层的网段桥接在一起时,需要进行帧格式的转换;④网桥只适合于用户数不多和通信量不大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,这就是所谓的广播风暴。 网桥必须具有路径选择的功能,接收到帧后,要决定正确的路径,将该帧转送到相应的目的局域网站点。根据路径选择算法的不同,可将网桥分为透明网桥和源路由网桥。 1,.透明网桥(选择的不是最佳路由) 透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。到达帧的路由选择过程取决于源LAN和目的LAN:①如果源LAN和目的LAN相同,那么丢弃该帧;②如果源LAN和目的LAN不向,那么转发该帧;画如果目的LAN未知,那么扩散该帧。 当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。该算法的基本思想是:若从站A发出的帧从某端口进入网桥,那么从这个端口出发沿相反方向定可把一个帧传送到站A。所以网桥每收到-一个帧,就记下其源地址和进入网桥的端口,作为转发表中的-一个项目(源地址、进入的接口和时间)。在建立转发表时,把帧首部中的源地址写在“地址”一栏的下面。在转发帧时,则根据收到的帧首部中的目的地址来转发。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入端口当作转发端口。网桥就是在这样的转发过程中逐渐将其转发表建立起来的。 为了避免转发的帧在网络中不断地“兜圈子”,透明网桥使用了一种生成树算法(无环),以确保每个源到每个目的地只有唯一的路径。生成树使得整个扩展局域网在逻辑上形成树形结构,所以工作时逻辑上没有环路,但生成树一般不是最佳路由。
2.源路由网桥(选择的是最佳路由) 在源路由网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据真正的路由信息对帧进行接收和转发。 源路由网桥对主机是不透明的,主机必须知道网桥的标识及连接到哪个网段上。路由选择由发送帧的源站负责,那么源站如何知道应当选择什么样的路由呢?为了找到最佳的路由,源站以广播方式向目的站发送一个发现帧(Discovery Frame)作为探测之用。源路由的生成过程是:在未知路径前,源站要先发送一个发现帧;途中的每个网桥都转发此帧,最终该发现帧可能从多个途径到达目的站;目的站也将一一发送应答帧:每个应答帧将通过原路径返回,途经的网桥把自己的标志记录在应答帧中;源站选择出一个最佳路由。以后,凡从这个源站向该目的站发送的帧的首部,都必须携带这一路由信息。 此外,发送帧还可以帮助源站确定整个网络可以通过的帧的最大长度。由于发现帧的数量指数式增加,可能会使网络严重拥塞。 3。两种网桥的比较 使用源路由网桥可以利用最佳路由。若在两个以太网之间使用并联的源路由网桥,则还可使通信量较平均地分配给每个网桥。采用透明网桥时,只能使用生成树,而使用生成树一般并不能保证所用的路由是最佳的,也不能在不同的链路中进行负载均衡。 注意:透明网桥和源路由网桥中提到的最佳路由并不是经过路由器最少的路由,而可以是发送帧往返时间最短的路由,这样才能真正地进行负载平衡,因为往返时间长说明中间某个路由器可能超载了,所以不走这条路,换个往返时间短的路走。 3.8.2局域网交换机及其工作原理 1.局域网交换机 桥接器的主要限制是在任一时刻通常只能执行-一-个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。从本质上说,以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。 以太网交换机对工作站是透明的,因此管理开销低廉,简化了网络结点的增加、移动和网络变化的操作。利用以太网交换机还可以方便地实现虚拟局域网(Virtual LAN,VLAN),VLAN不仅可以隔离冲突域,而.且可以隔离广播域。 2。原理 以太网交换机的原理是,它检测从以太端口来的数据帧的源和目的地的MAC(介质访问层)地址,然后与系统内部的动态查找表进行比较,若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。 3,特点 以太网交换机的特点如下: 1)以太网交换机的每个端口都直接与单台主机相连(普通网桥的端口往往连接到以太网的 –个网段).并且-一船都工作在全双工方式。
2〉以太网交换机能同时连通许多对端口,使每对相互通信的主机都能像独占通信媒体那样, 无碰撞地传输数据。 3)以太网交换机也是一种即插即用设备(和透明网桥一样),其内部的帧的转发表也是通过 自学习算法自动地逐渐建立起来的。 4)以太网交换机由于使用了专用的交换结构芯片,因此交换速率较高。5)以太网交换机独占传输媒体的带宽。 对于传统10Mb/s 的共享式以太网,若共有N个用户,则每个用户占有的平均带宽只有总带宽(10Mb/s)的1/N。在使用以太网交换机时,虽然在每个端口到主机的带宽还是10Mbls,但由于一个用户在通信时是独占而不是和其他网络用户共享传输媒体的带宽,因此拥有N个端口的交换机的总容盘为N×10Mbls。这正是交换机的最大优点。 以太网交换机一般都具有多种速率的端口,例如可以具有10Mb/s、100Mbls和 1Gb/s的端口的各种组合,因此大大方便了各种不同情况的用户。
4。两种交换模式 目前,以太网交换机主要采用两种交换模式,即直通式和存储转发式。 1)直通式交换机只检查帧的目的地址,这使得帧在接收后几乎能马上被传出去。这种方式 速度快,但缺乏智能性和安全性,也无法支持具有不同速率的端口的交换。 2)存储转发式交换机先将接收到的帧缓存到高速缓存器中,并检查数据是否正确,确认无 误后通过查找表转换成输出端口将该帧发送出去。如果发现帧有错,那么就将其丢弃。存储转发式的优点是可靠性高,并能支持不同速率端口间的转换,缺点是延迟较大。