期末复习——数据链路层
数据链路层
- DLC子层:1. 负责物理介质拥塞管理(差错控制、流量控制) 2. 为帧分配序列、跟踪确认 3. 为网络层提供统一接口
- MAC子层:1. 解决局域网中共用信道的使用产生竞争时,如何分配信道使用权。(征用型 随机、确定型 有序)
功能
为网络层提供的服务
有连接就一定要确认
- 无确认 无连接服务
- 有确认 无连接服务
- 有确认 面向连接服务
组帧
4种方法
3and4较为常用
- 
1.字节计数法 
 Byte Count
 很少使用
 第一个byte表示紧跟着(包括它自己)有多少个byte
 51234 51234 80123456 87890123
- 
- 字符填充的首尾定界符法
 标志字节 flag byte 
 界定一帧的开始和结束。特殊字符FLAG填充
 转义字符ESC !not 'ESC'!
 放在特殊字符之前
 例 A FLAG B ... A ESC FLAG B
 填充后 A ESC FLAG B ... A ESC ESC ESC FLAG B较复杂 
- 
- 比特填充的标志比特法
 USB常用
 改进,在byte = 8 bits基础上改进,从而帧可以不再是8b的倍数长。
 性能better than 字符填充
 01111110标志一帧的开始and结束(中间是连续6个1)
 ∴发送方 在这一帧中间连续5个1后自动插入一个零
 接收方遇到连续5个1减掉后面那个0
 
- 比特填充的标志比特法
- 
- 物理层编码违禁法
 曼彻斯特编码 高低——码元1,低高——码元0
 so, 高高or低低都是违禁的,可以用来标志帧的开始和终止
 
- 物理层编码违禁法
差错控制
detect检错 correct纠错
- 
ARQ 自动重传请求 3种 
 ARQ Automatic Repeat reQuest 自动重传请求
 使用检错码ARQ控制方法: 
 发送方将要发送的数据帧附加CRC 冗余校验码一起发送;
 接收方根据这部分CRC码进行校验;
 发现错误——丢弃-->发送方超时重传。- 
- 停止-等待 ARQ
 
- 
- Go-Back-N 后退N帧 ARQ
 
- 
- 选择性重传 ARQ
 
 
- 
- 
FEC 前向纠错 使用纠错码的技术 
- 
检错编码 - 
奇偶校验码 只能发现奇数个 位错误,看1的个数 
 偶校验:加上最后一位校验位,有偶数个1
 奇校验:加上最后一位校验位,有奇数个1
- 
CRC循环冗余校验 also. 多项式编码、Cyclic Redundancy Check 
 除法皆为模2除法,不同为1相同为0
 几个量:
 G(x) :CRC的生成多项式,接收方与发送方的约定,已经规定好了。传输过程中,始终保持不变。最高位、最低位都是1
 C(x):发送的原始数据,原始多项式
 R(x):CRC多项式,即余数
 T(x) = C(x) << R + R(x)
 K:C(x) 的位数,or 最高幂次 +1
 R:CRC码位数 = G(x) 位数 - 1
 原理:
 发送端、接收端预先商定一个生成多项式 G(x)
 K位的原始数据帧C(x),比G(x)长
 在C(x)尾部附加校验和,生成T(x),能够被G(x)除尽
 计算过程
 r位的G(x),发送K位的原始帧C(x)
 1. C(x) 尾部加 R 位0
 2. C(x) 除以 G(x),得到余数,即CRC校验码R(x)
 3. 余数替换末尾的 R 个0,得到T(x),余数位数不够在前面补0
 4. 接收端收到T(x) + E(x)
 错误分析 接收端收到T(x) + E(x)
 奇数个位发生错误——E(x) 有x奇次项
 只有1位错误——E(x) = xi
 两个独立的1位错误,E(x) = xi + xj举例 G(x) = x4 + x + 1 计算帧1101011111校验和 
 解:
 G(x) = x4 + x + 1 即:10011
 G(x)5位,M(x)补上4个0--M(x)帧11010111110000,再除G(x)10011
 余10
 发出帧T(x) = 1101011110010,T(x)能被G(x)整除
 
- 
- 
纠错编码 - 
海明码 海明距离 
 多对数据取最小值海明距离(d + 1) 最多检测detect d个错误 
 海明距离(2d + 1) 最多纠正correct d个错误
 m+r+1≤2r
 海明码默认一串数据 只错一位,so只能检查一个错误位。
 原data = 1001101 r = 4;
 r1、r2、r4、r8 插入
 r1画一隔一、r2画二隔二、r4画4隔4、r8画8隔8
 偶校验,使得画出来的部分是偶数个1
 得到code
 检查code
 不要改变code,依次检查r1、r2、r4、r8 ,错误位记为1,正确记为0
 写成r8 r4 r2 r1,转换成十进制,即为错误位
- 
二进制卷积码 
 
- 
流量控制
点对点
限制发送方的数据流量,不超过接收方的接收能力。只看两端,不看中间
传输层的流量控制是端到端
- 
停等 发送方发一帧,等待接收方应答信号,等到之后才能发下一帧 
 没收到就一直等效率低 
- 
滑动窗口 - 
单帧 停等 发送窗口 size = 1 
 接收窗口 size = 1
 源收到ACK才可以发下一帧,缓冲区才可以删除备份文件
- 
Go-Back-N 对ACK进行 n bit 编号:0 ~ 2n - 1 号码 
 发送窗口 1 ≤ size ≤ 2n - 1
 接收窗口 size = 1 按顺序接收
 源可连发,对ACK进行 n bit 编号,每帧都有超时计时器;
 ACKn 表示前n帧都已经正确接收
- 
SR 选择性重传 对ACK进行 n bit 编号,否定帧NAK, 
 发送窗口 1 ≤ size ≤ 2n-1
 接收窗口 size > 1收发双方窗口大小相同
 
- 
- 
信道利用率 针对发送方而言,一个发送周期内,有效发送数据时间/整个发送周期 
 T发送周期,C 数据传输速率,L 共发送了L bits数据,( L/C) / T
 信道吞吐率 = 信道利用率 * 发送方发送速率
协议
HDLC
面向比特
使用序号、确认机制,提供可靠传输
SONET
PPP
面向字节
不使用序号、确认机制,只保证无差错接收CRC校验
ADSL 拨号上网
用户可以边打电话边上网,一条电话线可同时接听,拨打电话并进行数据传输,两者互不影响。
adsl传输的数据并不通过电话交换机,所以adsl上网
不需要缴付额外的电话费,节省了费用。
MAC子层 介质访问控制
信道分配
征用型 随机
确定型 有序
- 
多路复用技术 在一条介质上,同时携带多个传输信号,从而提高传输系统的利用率。共享空间or时间or both 
 这也是实现信道划分介质访问的一个途径。
 多路复用将多个信号组合在一条物理信道上进行传输,从而多个计算机/终端设备 共享信道资源-->提高信道利用率- 
FDM 频分多路复用 子信道带宽总和≤信道总带宽 
 每个子信道带宽基本相同(Hz),每个子信道传输一种信号
 不同频率同时发
 用于:
 电话网络
 蜂窝网络
 地面无线
 卫星网
- 
TDM 时分多路复用 信道传输时间作为分割对象,分成若干时间片,固定分配!ABCDABCDABCD这样发,共享带宽,分时利用信道。 STDM:不固定分配时隙!异步时分多路复用。TDM改进version,当有数据要传的时候才被分到时间片。从而提高了线路利用率。 用于: 
 电话网络
 蜂窝网络
- 
WDM 波分多路复用 采用光的频分多路复用,在一根光纤中传输不同波长 
 (λ = c/v(Hz))的信号。
 因为波长(频率)不同,各路光信号不互相干扰,好理解这个,真好记,md不像别的几个
- 
CDM 码分多路复用 每个用户有特定的地址码,用户会有 无消息(正交结果0)/发0(正交结果-1)/发1(正交结果1) 三种情况。 地址码两两之间正交性,这样频率、时间、空间上发送的信号都可能重叠,从而更加充分利用了有限的频率资源。 例:向量T = (-1 -1 +1 -1 +1 +1 +1 -1) 
 A站发消息 1给C:传了向量 (-1 -1 -1 +1 +1 -1 +1 +1)
 B站发消息 0给C:传了向量 (+1 +1 -1 +1 -1 -1 -1 +1)
 然后两个向量发生重叠 相加 :R(0 0 -2 2 0 -2 0 2)
 C收到这个叠加后的向量,怎么求A/B发了0 1哪个呢?
 需要已知A的(-1 -1 -1 +1 +1 -1 +1 +1) 将 R与A点乘=2+2+2+2=8-->/8 = 1 so,A发了1
 需要已知B的 (+1 +1 -1 +1 -1 -1 -1 +1) 将 R与B点乘=-2-2-2-2=-8-->/8 = -1 so,B发了0
 
- 
- 
随机访问介质访问控制协议 征用型 
 实质上广播信道 转化成 点到点信道的行为因为总线型网络中,>1个用户同时发消息就会产生帧冲突,导致有冲突的用户发消息失败。不同于多路复用技术,这里不能共享空间and时间 
 so要解决这个问题,用户们需要按照一些规则来反复重传自己的帧,直到无碰撞通过。- 
ALOHA 协议 - 
纯ALOHA Pure ALOHA 时间连续 
 某站点要发数据时,直接发送;如果一段时间后还未收到确认,认为发生了冲突;冲突重发:等待一段时间后继续上述步骤;直到成功。可代表:总线型网络、无线信道情况 
 最大吞吐量 S = 1/2e = 0.184,G = 0.5可见吞吐量低得很例:A pure ALOHA network transmits 200-bit frames on a shared channel of 200 kbps. 
 What is the requirement to make this frame collision-free?一个帧需要用到 200b/200kb = 1ms 的时间 
 vulnerable time?? = 2ms
 所以任何站都不应该在这1ms中开始发送数据vulnerable time:顾前顾后。要不和前一个帧冲突,后一个帧也不能和它冲突,so = 2*T A pure ALOHA network transmits 200-bit frames on a shared channel of 200 kbps. 
 What is the throughput吞吐量 if the system (all stations together) produces
 a. 1000 frames per second? 1 frame/ms G = 1
 S = G * e-2G = 0.135
 throughput = 0.1351000 = 135
 b. 500 frames per second? 0.5 frame/ms G = 0.5
 S = G * e-2G = 0.184
 throughput = 0.184500 = 82
 c. 250 frames per second? 0.25 frame/ms G = 0.25
 S = G * e-2G = 0.152
 throughput = 0.152*250=38
- 
时隙ALOHA协议 slot ALOHA also called 分槽ALOHA协议 
 把时间分成一段段等长的时隙,每个时隙的开始才可以发送帧。减少了发送数据的随意性;帧到达后,缓存中等待一段时间,才能发出去;同一时隙中>1 个帧到达时,下一个时隙将产生冲突,然后和pure ALOHA一样重传。
 这样冲突只浪费了一个时隙,且冲突发生在时隙起点。最大吞吐量0.368 
 
- 
- 
CSMA协议 载波侦听多路访问 先听后发,信道空闲才发。 
 ALOHA+载波侦听装置- 
1-坚持CSMA 两种情况发生冲突: 
 信号传输延迟导致:由于时延,站1发送的信号还没到达站2,站2误认为信道空闲立即发送数据。
 多个站点同时监听空闲信道,同时发送。
- 
非坚持CSMA 发送数据前,监听信号;信道空闲--立即发送;信道忙,放弃监听,随机等待一段时间再重复上述步骤 
- 
p-坚持CSMA 概率p,直接与协议性能相关。用于时分信道。 
 降低1-坚持CSMA多站点同时发送造成冲突的概率,和1-坚持一样坚持监听-->克服非坚持CSMA造成的时间延迟。
 信道空闲-->以概率p发送数据,(1 -q )概率推迟到下一时隙监听-发送。
 
- 
- 
CSMA/CD协议 先听后发+边听边发。一旦冲突,立即停发。随机等待时机再发。发送过程中也持续监听信道,如果检测到冲突,立即停止发送,且发送一串阻塞信号--然后随机等待一段时间重新开始上述步骤。 
 适用于:半双工、总线型网络环境。成功用于使用有线连接的LAN局域网,因为无线环境下存在“隐蔽站”问题,不一定能监听到CSMA/CD是经典局域网、以太网协议 最小帧长 = 总线传播时延 * 数据传输速率 * 2 
 最小帧长/数据传输速率 = 帧传播时延 >= 2 * 总线传播时延
 最小以太网帧长 64Bytes隐蔽站问题:B在A、C监听范围交界处,A和C监听结果为空闲时,都以为B空闲一起发送,结果导致碰撞冲突。 
 一位空闲实际不空闲而发生冲突
 暴露站点:A是B的暴露站点——AC都在B可听范围,BD都在C可听范围,此时C发给D,而B想发A却不敢发(因为听到C在发,误以为A也收到误以为会有冲突,但是其实没有的。
 误以为不空闲实际空闲而发生冲突。
- 
CSMA/CA协议 无线网802.11 WiFi,CSMA/CA无线环境 
 解决隐蔽站问题:RTS 请求发送控制帧 CTS 允许发送控制帧例: 
 A向B发送RTS(Request To Send)帧,A周围的站点在一定时间内不发送数据,以保证B的CTS帧返回给A;
 B向A回答CTS(Clear To Send)帧,B周围的站点在一定时间内不发送数据,以保证A发送完数据;
 A开始发送,若发生冲突(两站点同时发送RTS),则等待随机时间,再重试。发送站点刺激接收站点发送应答短帧,从而使得接收站点周围的站点监听到该帧,并在一定时间内避免发送数据。 
 而非采用载道监听机制。
 
- 
- 
无冲突协议 - 
bitmap 位图协议 N个站点共享信道,编号 0~N-1。信道划分成一系列竞争周期(N个 1 bit竞争时隙 )and数据传输周期。 
 一个竞争/预约周期 N个时隙,对应N个站点,要发送的站点会标记成1 。从0轮到N-1,发送也是从0轮到N-1
 预约结束之后,对这些站点按照bit顺序发送。
 so永不冲突,,但无法考虑发送的优先级。低负载:一轮只有一个站点要发送1帧。每帧开销为N,数据长度d个bit,信道利用率( d/ (N+d)) 
 高负载:一轮所有站点都要发送1帧。所以每一帧只加上额外的1位开销,信道利用率(d/(d+1)。
 最长等待时间 = 征用时隙N + 帧发送时间(N-1)d (bit)
 想预约,但刚好问完自己,同时其他所有站点都要发送b位的帧
- 
轮询访问 令牌token传递协议 
 令牌(特殊的MAC控制帧)随环形总线在各个计算机之间传递,确保同一时间只有一个站点独占信道。只有有令牌的站点才可以发送帧。
- 
二进制倒计数 
 
- 
- 
有限竞争协议 - 自适应树遍历协议
 
       1              level0
     /   \
    2      3          level1
   / \    |  \
  4  5    6   7       level2
  |\ |\   |\  |\
  A B C D E F G H     stations站点
!先左后右,冲突向下,空闲or成功回退。
例如
- 
A G要发, 
 0槽:冲突在level0,节点1下所有站;;
 1号槽,节点1左子树 -->节点2下所有站,A成功;;
 2号槽,节点1右子树-->节点3下所有站,G成功
- 
AC要发 
 0槽:冲突 level0,节点1下所有站;;
 1号槽,节点1左子树--冲突 level1;;
 2号槽,节点2左子树-->A成功;回退到结点2;
 3号槽,节点2右子树-->C成功
- 
CD要发 
 0槽:冲突 level0,节点1下所有站;;
 1号槽,节点1左子树-->冲突 level1;;
 2号槽,节点2左子树-->空闲;回退;
 3号槽,节点2右子树-->冲突 level2;;
 4号槽,节点5左子树-->C成功;回退;
 5号槽,节点5右子树-->D成功;回回回OK
- 
局域网 LAN局域网三大特性 
 拓扑结构:星型、总线、环形、星型+总线复合
 传输介质:双绞线、铜缆、光纤等。
 介质访问控制方式!!
 局域网分类
 以太网(目前使用最广泛的局域网):总线型拓扑,有线网络,插网卡上网,提供无连接不可靠服务,CSMA/CD二进制退避算法
 令牌环网:环形拓扑
 无线局域网802.11WiFi:CSMA/CA
 ATM网
 FDDI网802.8 环形拓扑- 
以太网 可以说802.3简称为以太网(although有细小差别,不想管了 
 总线型拓扑
 无连接不可靠,差错检验交给高层来
 使用曼彻斯特编码的信号,每个码元中间有一次电压转换-->同步信号提取
 每块网卡的MAC地址唯一
 以太网帧:由CSMA/CD最短64B以太网中,传输速率=10Mbps时,时间槽=51.2us; 
 一个时间槽内可以发送512bits,即64字节(所以也称一个时间槽长度为64字节)
 6B目的MAC地址+6B原MAC地址+2B类型
 +数据data部分+填充(保证至少64B)+ 4B checksum校验和
 so除了数据+填充,有18B的header和尾部,至少要中间加入(64-18) =46B- 
MAC地址 also called物理地址,6B=48bits 
 第一个Byte的第八位(最后一位):
 0:unicast单播一对一
 1:multicast组播一对多
 FF:FF:FF:FF:FF:FF :broadcast 广播 6B全1
 
- 
- 
无线局域网 802.11MAC子层协议规定,所有的站在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。这段时间的通称是帧间间隔IFS。 
 IFS 帧间间隔
 SIFS:短帧间间隔。间隔需要立即响应的帧,如控制帧(RTS/CTS/ACK)等
 AIFS:任意帧间间隔。根据访问类别(即要传输的数据类型)对站点进行优先级排序,AISF的计算公式为:AISF编号*时隙+ SISF;
 PIFS:点协调IFS,中等长度。集中协调功能帧间间隔,只能够由工作于PCF模式的站点来使用
 DIFS:分布式协调IFS,最长。只能够由工作于DCF模式的站点来使用
 高优先级的帧需要等待的时间较短,因此可以优先获得发送权,但低优先级帧就必须等待较长的时间。
 
- 
数据链路层设备
局域网交换机
- 
直接交换 交换机只接收数据帧头部,检测目的地址,立即转发(无论帧是否出错) 
 帧出错检测由结点主机完成(延迟小,缺乏差错检测)
- 
存储转发交换 交换机完整地接收数据帧,并检测差错。若帧正确,则根据帧目的地址确定输出端口,进行转发出 具有帧差错检测能力,延迟大 
- 
改进的二者结合 接收到数据的前64B之后,判断数据的头部字段是否正确 
 如果正确则转发出去。对于短数据,交换延迟与直接交换方式比较接近; 
 而对于长数据 ,由于它只对数据前部的主要字段进行差错检测,因此交换延迟将会明显减少

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号