?
3.1数据链路层的功能
数据链路层在物理层提供服务的基础上向网络层提供服务。起主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
3.2什么是帧
帧是数据链路层的协议数据单元,而网络层的协议数据单元是IP数据报(也叫做数据报或者是分组、包),数据链路层将网络层传递下来的IP数据报封装成帧,同时又把帧中的IP数据报交给网络层。
3.3封装成帧
将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。帧长等于数据部分的长度加上首部和尾部的长度。首部和尾部中含有很多控制信息,他们一个重要的作用就是帧定界。
3.4透明传输
如果数据中恰好出现与帧定界符相同的比特组合(会误认为“传输结束”而丢弃后面数据),那么就要采取有效的措施解决这个问题即透明传输。简而言之,透明传输就是不管所传数据是什么样的比特组合,都应当能在链路传送。
3.4.1组帧
数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不用重发所有数据,从而提高效率。为了使接收方能正确地接受并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧即为组帧。组帧主要解决帧定界、帧同步、透明传输等问题;以下有四种组帧方法:
字符计数法
?? 字符计数法指在帧头用一个计数字段来标明帧内字符数。目的节点的数据链路层收到字节计数值时就知道后面跟随的字节数,从而确定帧结束的位置。
这种方法的最大问题在于如果计数字段出错,即失去了帧边界划分的依据,那么接收方就无法判断所传输帧结束位和下一帧的开始位,无法同步。
字符填充的首尾定界符法
字符填充法用特定字符来定界一帧的开始或结束,在上图中‘SOH’代表了一帧的开始,‘EOT’代表一帧的结束。倘若帧中出现了EOT即数据内某段比特流数据正好与标记字段重复解决办法如下;
为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可在特殊字符前面填充一个转义字符(ESC)来加以区分,以实现数据的透明传输。接收方收到转义字符后就会知道后面紧跟的是数据信息,而不是控制信息。
零比特填充的首尾标志法
零比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用一个特定的比特模式,即“01111110”来标志一帧的开始或者结束,为了防止误判,发送方数据每遇到5个连续的1将自动在其后插入一个0;接受方只需逆操作。
零比特填充法很容易由硬件来实现,性能优于字符填充法。
违规编码法
因为曼彻斯特编码不使用高-高,低-低来表示,所以如果使用高-高,低-低来表示帧起始和终止就不会与数据冲突 。
由于字节计数法中技术字段的脆弱性和字符填充法实现上的复杂性与不兼容性,目前较常用的组帧方法是比特填充法和违规编码法
3.5差错控制
由于信道噪声等原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方是否正确收到由其发送的数据的方法称为差错控制。
通常利用编码技术进行差错控制,主要有两类:自动重传请求ARQ—在ARQ方式中,接收端检测出差错时,就设法通知发送端重发,直到正确为止。前向纠错FEC—在FEC方式中,接收端不但能发现差错,而且能确定比特串的错误位置,从而加以纠正。因此,差错控制又可分为检错编码和纠错编码。
检错编码
检错编码都采用冗余编码技术,其核心思想是在有效数据被发送前,先按某种关系附加一定的冗余位,构成一个符合某一规则的码字后再发送。
1.奇偶校验码
如果是奇校验码,它由n-1位信息元和1位校验元组成,在附加一个校验元后1的个数为奇数; 如果是偶校验码,在附加一个校验元后1的个数为偶数。
2.循环冗余码(Cyclic Redundancy Code,CRC)
任何一个由二进制数位串组成的代码都可以与一个只含有0和1两个系数的多项式建立一一对应关系
生成多项式若为:1101,它的多项式形式
发送端发送过程↑
接收端接受过程↑
凡是数据链路层接收的帧均默认无差错。
纠错编码
最常见的纠错编码是海明码,其原理是在信息有效位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关几个校验位的值发生变化,这不但可以发现错位,而且能指出错位的位置。
4.纠错&检错
3.6流量控制
由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收方的接受能力的现象,如若不加以限制,接收的帧会被后续的帧“淹没”造成出错,因此流量控制是必要的。 流量控制涉及对电路上帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。例如,在面对真的自动传送请求系统中,当待确认中的数量增加时,有可能超出缓冲储存空间而造成过载。流量控制的基本方法是由接收方控制发送数据的速率,常见方式有两种:停止-等待协议***和***滑动窗口协议。
停止-等待协议
?在全双工的前提下,发送方每发送一帧,都要等待接收方的应答信号,之后才发送下一帧。可以有效解决比特出错、底层数据丢包、流量控制问题。
信道利用率
停止-等待协议特点:简单;信道利用率低
滑动窗口协议
滑动窗口流量控制基本原理
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接受帧的序号,称为接收窗口;该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认。因此该协议可以加速数据的传输,提高网络吞吐量。
后退N帧协议(GO BACK-n,GBN)
GBN发送方需要响应的三件事:
- 上层的调用:上层要发送数据时,发送方检查发送窗口是否已满;如果满了,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。
- 收到了一个ACK:GBN协议中,对n号帧的确认采用累计确认的方式表明接收方已收到n号帧和它之前的全部帧。
- 超时事件:如果出现超时,发送方重传所有一放松单位被确认的帧。
GBN接收方要做的事
- 如果正确收到n号帧,并且按序,接收方为n帧发送一个ACK,并将该帧的数据部分交付给上层。
- 其余情况都丢弃帧,并为最近按序接受的帧重新发送ACK
GBN窗口长度 GBN总结
选择重传协议(selective repeat protocol ,SR)
为了进一步提高信道的利用率
SR发送方必须响应的三件事
1.上层的调用: 从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否 则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。 2.收到了一个ACK: 如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口 的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了 并且有序号在窗口内的未发送帧,则发送这些帧。 3.超时事件: 每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。
SR接收方要做的事
- 来者不拒(对于窗?内的帧):SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧【收谁确认谁】,直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
SR协议滑动窗口长度 SR总结
3.7介质访问控制
介质访问控制所要完成的主要任务:为使用介质的每个结点隔离来自同一信道上其它结点所传送的信号,以协调活动结点的传输。
3.7.1信道划分介质访问控制(静态划分信道)
信道划分介质访问控制将使用介质的每个设备与来自统一通信信道上的其它设备的通信隔离开,把时域和频域资源合理的分配给网络上的设备。 多路复用技术 把多个信号组合在一条物理信道上进行传输,使得多个计算 机或终端设备共享信道资源, 提高信道利用率。
频分多路复用(Frequency-division multiplexing,FDM)
频分多路复用是一种将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
时分多路复用(Time-Division Multiplexing,TDM)
时分多路复用是将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用。每个时间片由复用的一个信号占用,在某个时刻,TDM上传送的仅仅是某一对设备之间的信号;但就某段时间而言,传送的是按时间分割的多路复用信号。 由于计算机数据的突发性,一个用户对已经分配到的子信道的利用率一般不高。统计时分多路复用(Statistical Time-Division Multiplexing,STDM) 应运而生;它是TDM的改进,采用STDM帧,STDM 并不固定分配时隙,而按需动态地分配时隙,当终端有数据要传送时,才会分配到时间片,因此可以提高线路的利用率。
波分多路复用(Wave-Division Multiplexing, WDM)
码分多路复用(Code-Division Multiplexing,CDM)
3.7.2随机访问介质访问控制
ALOHA协议
当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内收到确认,那么该站点就认为传输过程中发生了冲突。发生碰撞的结果是:双方都要进行重传;ALOHA协议采用的策略是让各站等待一段随机的时间在进行重传。若再次发生碰撞,继续重传。
时隙ALOHA协议
时隙ALOHA协议把所有各站在时间上同步起来,并将时间划分为一段段等长的时隙 (Slot),规定只能在每个时隙开始时才能发送一个帧。从而避免了用户发送数据的随意性,提高了信道的利用率。
CSMA协议(Carrier Sense Multiple Acess)
1-坚持CSMA 坚持指的是对于监听信道忙之后的坚持。 1-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则一直监听,直到空闲马上传输。
如果有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。 - 优点:只要媒体空闲,站点就马上发送,避免了媒体利用率的损失。
- 缺点:假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
非坚持CSMA 非坚持指的是对于监听信道忙之后就不继续监听。 非坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则等待一个随机的时间之后再进行监听。
缺点:可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
p-坚持CSMA p-坚持CSMA思想:如果一个主机要发送消息,那么它先监听信道。
- 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
- 忙则持续监听直到信道空闲再以p概率发送。
- 如果在下一个时隙信道仍然空闲,那么仍以概率p发送数据,以1-p推迟到下一时隙直到发送成功或者忙碌为止。
- 如果忙碌则推迟到下一时隙继续监听。
CSMA/CD协议(Carrier Sense Multiple Acess With Collection Detection)
CSMA/CD协议是CSMA协议的改进方案,适用于总线型半双工网络。发送前先侦听,即每个站在发送数据之前先要检测总线上是否有其他站点正在发送数据,若有则暂时不发送,等待信道变为空闲时再发送。CD—collision detection“碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上电压变化情况,以便判断自己发送数据时别人是否也在发送。
碰撞后的重传时机 最小帧长选取
CSMA/CA协议(Carrier Sense Multiple Acess With Collision Avoidance)
由于上述图片中的原因,802.11标准定义了广泛应用于无线局域网的CSMA/CA协议,把碰撞检测改为碰撞避免。“碰撞避免”并不是指协议可以完全避免碰撞,而是指协议的设计要尽量降低碰撞发生的概率。由于802.11无线局域网不使用碰撞检测所以一但站点开始发送一个帧,就会完全地发送该帧,但碰撞存在时仍然发送整个数据帧,有可能会降低网络的效率。 CSMA/CD与CSMA/CA的区别
轮询访问介质访问控制:令牌传递协议
3.8局域网(Local Area Network, LAN)
局域网(LAN)是指在一个较小的地理范围内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接在一起,组成资源和信息共享的计算机互联网络。 决定局域网的主要要素为:网络拓扑,传输介质与介质访问控制方法。
3.8.1局域网的拓扑结构
3.8.2局域网传播介质
- 有线局域网的常用介质:双绞线、同轴电缆、光纤。
- 无线局域网的常用介质:电磁波。
3.8.3局域网的介质控制方法
- CSMA/CD:常用于总线型局域网,也用于树型网络。
- 令牌总线:常用于总线型局域网,也用于树型网络 。
- 令牌环 :用于环形局域网,如令牌环网。
3.8.4局域网的分类
- 以太网:以太网是应用最为广泛的局域网,包括标准以太网(10Mbps)、快速以(100Mbps)、
千兆以太网(1000Mbps)和10G以太网,它们都符合IEEE802.3系列标准规范。逻辑拓扑总线型,物理拓扑是星型或拓展星型。使用CSMA/CD。 - 令牌环网:物理上采用了星形拓扑结构,逻辑上是环形拓扑结构。已是“明日黄花”。
- FDDI网:物理上采用了双环拓扑结构,逻辑上是环形拓扑结构。
- ATM网:较新型的单元交换技术,使用53字节固定长度的单元进行交换。
- 无线局域网:采用IEEE 802.11标准。
3.8.5IEEE802标准
IEEE 802系列标准是IEEE 802 LAN/MAN 标准委员会制定的局域网、城域网技术标准(1980年2月成立)。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中个专门工作组负责。
LAC子层与MAC子层
3.9 以太网(Ethernet)
以太网提供无连接、不可靠的服务:
- 无连接:发送方和接收方之间无“握手过程”。
- 不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
以太网传输介质与拓扑结构的发展
10BASE-T以太网
以太网MAC帧格式
V2标准与IEEE802.3的区别:
- 第三个字段为长度/类型。
- 当长度/类型<0X0600时,数据字段必须装入LCC子层。
高速以太网
3.10 IEEE 802.11(无线局域网的通信标准)
3.10.1802.11的MAC帧头格式
3.10.2有固定基础设施无线局域网
3.10.3无固定基础设施无线局域网的自组织网络
3.11 广域网(Wide Area Network,WAN)
广域网通常由两个或多个局域网组成。计算机通过使用运营商提供的设备作为信息传输平台。比如通过公用网络,如电话网、光纤连接到广域网,也可以通过专线或卫星连接。国际互联网是目前最大的广域网。
3.11.1 PPP协议(Point To Point)
点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议(通过拨号或专线方式建立点对点连接发送数据)。 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。 只支持全双工链路。PPP协议是面向字节的。
PPP协议需要满足的要求
PPP协议的组成部分
链路控制协议(LCP)。一种扩展链路控制协议,用于建立、配置、测试和管理数据链路。 网络控制协议(NCP)。PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑链接。 一个将IP数据包封装到串行链路的方法。IP数据包在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元MTU的限制。
PPP帧的格式
3.11.2 HDLC协议(High-level Data Link Control)
HDLC是ISO制定的 面向比特 的数据链路层协议。该协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;采用CRC检验。
HDLC的站
- 主站负责控制链路的操作,发出的帧称为命令帧。
- 从站受控于主站,按主站的命令进行操作;发出的帧称为响应帧。
- 既具有主站的功能,又具有从站的功能,这类帧称为复合站。它即可以发出命令帧也可以发出响应帧
HDLC帧的格式
3.11.3 HDLC协议与PPP协议对比
3.12 数据链路层设备
3.12.1 网桥的概念及基本原理
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的以太网就成为一个网段。网桥工作在MAC子层,可以使以太网各网段成为隔离开的碰撞域亦称冲突域。
透明网桥(选择的不是最佳路由)
- 如果源LAN和目的LAN相同,那么丢弃该帧 。
- 如果源LAN和目的LAN不同,那么转发该帧 。
- 如果目的LAN未知,那么扩散该帧。
源路由网桥(选择最佳路由)
通过广播发送一个发现帧作为探测之用。
3.12.2 局域网交换机
桥接器的主要限制实在任意时刻只能执行一个帧的转发,于是出现了局域网交换机,又称以太网交换机;以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能经济的将网络分成小的冲突域,为每个工作站提供更高的带宽
两种局域网交换机
冲突域与广播域
|