学习笔记之计算机网络(王道考研) 第三章 数据链路层

  • 数据链路层的功能:
  1. 为网络层提供服务
  2. 链路管理
  3. 帧定界、帧同步和透明传输
  4. 流量控制
  5. 差错控制
  • 数据链路层可以为网络层提供的服务有:
  1. 无确认的无连接服务
  2. 有确认的无连接服务
  3. 有确认的面向连接服务(有连接则一定有确认
  • 透明传输:不管所传数据是什么样的比特组合,都应当能在链路上传送
  • 流量控制:限制发送方的数据流量,使其发送速率不致超过接收方的接收能力(由滑动窗口提供反馈机制)
  • 对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是源端到目的端之间的流量
  • 数据链路层中传输数据出现的错误分为位错帧错(一个帧包含多个位)
  • 通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(ARQ)方式重传出错的帧
  • 帧错指帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,保证每一帧最终都能有且仅有一次正确地交付给目的节点
  • 组帧时既要加首部也要加尾部
  • 组帧的四种方法:
  1. 字符计数法。在帧头部使用一个计数字段来标明帧内字符数(计数字段提供的字节数包含自身所占用的一个字节
  2. 字符填充的首位定界符法。使用特定的字符来定界一帧的开始和结束。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可以在特殊字符前面填充一个转义字符来加以区分
  3. 比特填充的首尾标志法。比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用01111110来标志一帧的开始和结束,发送方的数据链路层在信息位中遇到5个连续的“1”时,将自动在其后插入一个0;接收方则执行逆操作。比特填充容易由硬件来实现,性能优于字符填充方法。
  4. 违规编码法。在物理层比特编码时通常采用违规编码法
  • 目前较常用的组帧方法时比特填充法和违规编码法
  • 进行差错控制的编码技术主要有两类:自动重传请求(ARQ)前向纠错(FEC)。在ARQ方式中,接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止;在FEC方式中,接收端不但能发现差错,而且能确定二进制数码的错误位置,从而加以纠正。因此,差错控制又分为检错编码纠错编码
  • 检错编码都是采用冗余编码技术。其核心思想是在有效数据(信息位)被发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。
  • 常见的检错编码有奇偶校验码和循环冗余码
  • 奇偶校验码:由n-1位信息元和1位校验元组成,如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数
  • 计算循环冗余码过程:假设一个帧的比特序列为101001,双方链路层商量好的多项式G(x)系数序列为1101(最高次为3),则首先将帧的比特序列变为101001000,然后计算101001000 % 1101,其结果为FCS,附在101001之后,发送
  • 最常见的纠错编码时海明码,它能发现双比特错误,但只能纠正单比特错误

  • 流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有:停止-等待协议滑动窗口协议
  • 停止-等待协议原理:发送方一次只能发一个帧,接收方对于接收到的帧必须反馈一个应答信号,发送方收到对上一个帧的应答信号后,才能发送下一个帧,否则发送方将一直等待(后可由重传技术改进)。效率极低
  • 滑动窗口流量控制基本原理:在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口中存放的帧序号为当前情况下可以发送的帧以及已经发送了但尚未收到确认的帧,在接收端只有当数据帧的序号落入接受窗口内才允许将该数据帧守下,若接收到的数据帧落在接收窗口之外,则一律将其丢弃
  • 数据链路层的可靠传输通常使用确认超时重传两种机制来完成
  • 传统自动重传请求分为三种:停等式、后退N帧(GBN)以及选择性重传(SR)
  • 单帧滑动窗口与停止等待协议:停止等待协议相当于发送窗口和接收窗口均为1的滑动窗口协议
  • GBN协议:发送方可以连续发帧,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方必须重传该出错帧及随后的N个帧。也就是说,接收方值允许按顺序接收帧
  • GBN协议还规定接收端不一定每收到一个正确的数据帧就必须立即发回一个确认帧,而是可以在连续收到好几个正确的数据帧后,才对最后一个数据帧发确认消息。也就是说ACKn表示对第n号帧的确认,表示接收方已正确收到了第n号帧及其以前的所有帧,下次期望收到第n+1号帧或者是0号帧
  • 接收端在返回ACKn时,将丢弃那些不按序到达的帧(接受窗口的大小为1
  • 若采用n个比特对帧编号,则GBN发送窗口的尺寸Wt应满足:1<=Wt<=2^n - 1
  • SR协议:只重传出现差错的数据帧或者是计时器超时的数据帧。加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机
  • SR协议中,接收方还可以回复否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传
  • 若采用n个比特对帧编号,则SR发送窗口的尺寸Wt和接收窗口的尺寸一般为:Wt=Wr=2^(n - 1)
  • 信道利用率:发送方从开始发送数据,到收到第一个确认帧为止,称为一个发送周期,记为T。设发送方在这个周期内共发送了L比特的数据,发送方的数据传输率为C,则发送方用于发送有效数据的时间为L/C,在这种情况下,信道的利用率为(L/C)/T
  • 信道吞吐率 = 信道利用率 * 发送方的发送速率
  • 介质访问控制所要完成的主要任务是为使用介质的每个节点隔离来自同一信道上其他节点所传送的信号,以协调活动节点的传输
  • 用于决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(MAC)子层
  • 常见的介质访问控制方法有:信道划分介质访问控制随机访问介质访问控制轮询访问介质访问控制
  • 信道划分的实质就是通过分时、分频、分码等方法把原来的一条广播信道,逻辑上分为几条用于两个几点之间通信的互不干扰的子信道,把广播信道转变为点对点信道。
  • 频分多路复用(FDM):每个子信道分配的带宽可不相同,但它们的总和必须不超过信道的总带宽。实际应用中,为了防止子信道之间的干扰,相邻信道之间需要加入“保护频带
  • 时分多路复用(TDM):将一条物理信道按时间分成若干时间片,轮流地分配给多个信号使用
  • 统计时分多路复用(STDM,也称异步时分多路复用):采用STDM帧,STDM帧不是固定分配时隙,而是按需动态地分配时隙,当终端有数据要传送时才会分配到时间片
  • 波分多路复用(WDM):光的频分多路复用
  • 码分多路复用(CDM):靠不同的编码来区分各路原始信号的一种复用方式,既共享空间,也共享时间
  • 码分多址:

  •  随机访问控制协议,常见协议有:ALOHA协议、CSMA协议、CSMA/CD协议和CSMA/CA协议。它们的核心思想是:胜利者通过争用获得信道,从而获得信息的发送权。因此,随机访问控制协议又称为争用型协议
  • 纯ALOHA协议:当网络中的任何一个站点需要发送数据时,可以不进行任何检测就发送数据。如果在一段时间内没有收到确认,该站点就认为传输过程中发生了冲突。发送站点需要随机等待一段时间后再发送数据,直至发送成功
  • 时隙ALOHA协议:将时间划分一段段等长的时隙,规定只能在每个时隙开始时才能发送一个帧。碰撞后重传策略与纯ALOHA协议相似
  • 载波侦听多路访问(Carrier Sense Multiple Access,CSMA)协议:每个站点在发送前都先侦听一下公用的信道,发现信道空闲后再发送。有三种不同的CSMA协议:
  1. 1-坚持CSMA:当侦听到信道忙后,继续坚持侦听信道;当侦听到信道空闲后,发送帧的概率为1,即立即发送数据。传播延迟对1-坚持CSMA协议的性能影响较大。
  2. 非坚持CSMA:当一个节点要发送数据时,首先侦听信道。如果信道空闲就立即发送数据;如果信道忙就放弃监听。等待一个随机的时间后再重复上述过程
  3. p-坚持CSMA:用于时分信道。当一个节点要发送数据时,首先侦听信道。若信道忙,则等待下一个时隙再侦听;若信道空闲,便以概率p发送数据,以概率1-p推迟到下一个时隙
  • 载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)协议:适用于总线型网络或半双工网络。“碰撞检测”就是变发送边侦听,即适配器边发送数据边检测信道上电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。
  • CSMA/CD工作流程:先听后发,边听边发,冲突停发,随机重发
  • 以太网中端到端(相邻两个节点)的往返时间称为争用期
  • CSMA/CD总线网中最小帧长计算公式:最小帧长 = 总线传播时延 * 2 * 数据传输速率
  • CSMA/CD采用二进制指数退避算法解决碰撞问题。二进制指数退避算法:

  • CSMA/CD协议适用于有线局域网
  • CSMA/CA协议:CA = Collision Avoidance,碰撞避免,广泛应用于无线局域网。碰撞避免并不是指协议可以完全避免碰撞,而是指协议的设计要尽量减少碰撞发生的概率
  • CSMA/CA还使用预约信道ACK帧RTS/CTS帧三种机制来实现碰撞避免
  • CSMA/CA预约信道:发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,以便让其他站点在这段时间内不发送数据,从而避免碰撞
  • CSMA/CA ACK帧
  • CSMA/CA RTS/CTS帧:可选的碰撞避免机制,主要用于解决无线网中“隐蔽站”的问题
  • CSMA/CD通过电缆中电压的变化来检测,而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式
  • 轮询访问介质访问控制:典型为令牌传递协议,主要用在令牌环局域网。帧在环上传送时,不管该帧是否是发给本站点的,所有站点都进行转发,直到该帧回到它的始发站,并由该始发站撤销该帧。帧的目的站除转发帧外,应针对该帧维持一个副本,并通过在帧的尾部设置“响应比特”来指示已收到此副本
  • 只有拿到令牌才能发送数据帧,而令牌只有一个,因此令牌传递协议不会发生冲突;一次只能发送一帧
  • 局域网的特性主要由三个要素决定:拓扑结构传输介质介质访问控制方式,其中最重要的为介质访问控制方式
  • 常见的局域网拓扑结构:星形结构、环形结构、总线形结构和环形和总线形结合的复合型结构
  • 局域网可以使用双绞线、铜缆和光纤等多种传输介质,其中双绞线为主流传输介质
  • 局域网的介质访问控制方式主要有:CSMA/CD、令牌总线和令牌环。其中前两种方法主要用于总线型局域网,令牌环主要用于环形局域网
  • 以太网(IEEE802.3,目前使用范围最广的局域网)-----逻辑拓扑是总线型结构,物理拓扑是星形或拓展星形结构。
  • 令牌环(IEEE802.5)------逻辑拓扑是环形结构,物理拓扑是星形结构
  • FDDI(IEEE802.8,光纤分布数字接口)------逻辑拓扑是环形结构,物理拓扑是星形结构
  • IEEE802标准定义的局域网参考模型只对应于OSI参考模型的数据链路层和物理层,并将数据链路层拆分为两个子层:逻辑链路控制LLC子层媒体接入控制MAC子层。
  • 以太网MAC帧格式两种标准:DIX Etheernet V2标准和IEEE 802.3标准

  • 高速以太网:速率达到或超过100Mb/s的以太网
  1. 100BASE-T以太网:使用CSMA/CD协议,既支持全双工又支持半双工方式;在全双工方式下不使用CSMA/CD协议
  2. 吉比特以太网:允许在1Gb/s下用全双工和半双工两种方式工作。
  3. 10吉比特以太网:使用光纤作为传输媒体。只工作在全双工方式,没有争用问题。
  • 在无线局域网(802.11)中,即使在发送过程中发生了碰撞,也要把整个帧发送完毕。而在有线局域网中,发送冲突则节点立即停止发送数据
  • 802.11标准规定无线局域网最小构件是基本服务集(BSS)。一个基本服务集包括一个基站(接入点,AP)和若干个移动站
  • 交换机在单个网络中转发分组,路由器在多个网络构成的互联网中转发分组
  • 局域网使用的协议主要在数据链路层(还有少量在物理层),而广域网使用的协议主要在网络层
  • 广域网数据链路层控制协议:PPP协议HDLC协议
  • PPP协议:串行线路,面向字节。由三个部分组成:链路控制协议LCP、网络控制协议NCP以及一个将IP数据报封装到串行链路的方法。
  • PPP提供差错检测但不提供纠错功能,只保证无差错接收(通过硬件进行CRC校验)。它是不可靠的传输协议,不使用序号和确认机制
  • PP只支持点对点的链路通信,不支持多点线路;PPP只支持全双工链路;PPP的两端可以运行不同的网络层协议,但仍然可以使用同一个PPP进行通信
  • HDLC协议:面向比特;全双工通信;所有帧采用CRC校验,对信息帧进行顺序编号
  • HDLC用于链路的两种基本配置:非平衡配置和平衡配置
  • HDLC站的类型:主站、从站和复合站
  • HDLC数据操作方式:正常响应方式、异步平衡方式和异步响应方式
  • HDLC三类帧:信息帧、监督帧和无编号帧
  • 两个或多个以太网通过网桥连接起来后,原来的每个以太网称为一个网段
  • 网络1和网络2通过网桥连接后,网桥接收网络1发送的数据帧,检查数据帧中的地址,如果是网络2的地址,就转发给网络2;如果是网络1的地址,就将其丢弃。因为源站和目的站处于同一个网段,目的站能够直接收到这个帧而不需要借助网桥的转发
  • 一般情况下,存储转发类设备都可以进行协议转换,即连接的两个网段可以使用不同的协议
  • 网桥只适合于用户数不多和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,这就是所谓的广播风暴
  • 透明网桥(选择的不是最佳路由):它接收与之相连的所有LAN传送的每一帧,到达帧的路由选择过程取决于源LAN和目的LAN。
  1. 源LAN和目的LAN相同,则丢弃该帧
  2. 源LAN和目的LAN不同,则转发该帧
  3. 目的LAN未知,则扩散该帧
  • 透明网桥采用自学习算法处理收到的帧并构造转发表;透明网桥使用了一种生成树算法(无环),以确保每个源到每个目的地只有唯一的路径
  • 源路由网桥(选择的是最佳路由):路由选择由发送数据帧的源站负责。为了找到最佳路由,源站以广播的方式向目的站发送一个发现帧作为探测之用......
  • 网桥的端口一般连接局域网,而交换机的端口一般直接与局域网中的主机相连
  • 以太网交换机就是一个多端口的网桥。利用以太网交换机还可以很方便地实现虚拟局域网(VLAN),VLAN不仅可以隔离冲突域,也可以隔离广播域
  • 以太网交换机一般具有多种速率的端口
  • 以太网交换机主要采用两种交换模式,即直通式和存储转发式
  1. 直通式交换机:只检查帧的目的地址。速度很快,但无法支持不同速率的端口的交换
  2. 存储转发式交换机:先将接收到的帧缓存到高速缓存器中,并检查数据是否正确,确认无误后通过查找表转换成输出端口将该帧发送出去。如果发现帧有错,将其丢弃。支持不同速度端口间的转换

猜你喜欢

转载自blog.csdn.net/smart_ferry/article/details/84952341