第6讲:数据链路层 本讲目标: 概述: 口了解数据链路层服务原口链路层的服务 理 o错误检测,校正 口错误检测,校正 O共享广播信道 多点访问技术和LAN o链路层编址 链路层寻址,ARP o可靠数据传输流量控口特定的链路层技术: 制 done 口各类链路层技术的实现 以太网 和实例 o集线器,网桥,交换机 口教科书参考 o IeEE 802. 11 LANs 口第3,4,5,6章 O PPP O ATM 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-1
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-1 第6讲: 数据链路层 本讲目标: 了解数据链路层服务原 理: 错误检测, 校正 共享广播信道 链路层编址 可靠数据传输, 流量控 制: done! 各类链路层技术的实现 和实例 教科书参考 第3,4,5,6章 概述: 链路层的服务 错误检测, 校正 多点访问技术和LAN 链路层寻址, ARP 特定的链路层技术: 以太网 集线器, 网桥, 交换机 IEEE 802.11 LANs PPP ATM
链路层:工作环境 error actual PDu flow di dI dI Router r1 application app ication transport network net ork data link data link data link physical dIdI d protocol I di d physica Host H1 ph/ph/Ph 回p回 network Host H2 Router R2 Router r3 Router R4 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-2
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-2 链路层: 工作环境
链路层:工作环境 口两个物理上连接的设备 o主机-路由器,路由器-路由器,主机-主机 口数据单元; frame(帧) APplication HM‖ fransport n ht Ml network数据链路协议[ network link link Hi HnH+ N hysical phy 物理链路 physical frame 接口卡 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-3
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-3 链路层: 工作环境 两个 物理上连接的 设备: 主机-路由器, 路由器-路由器, 主机-主机 数据单元: frame(帧) application transport network link physical network link physical M M M M Ht HnHt Hl HnHt Hl HnHt M 物理链路 frame 数据链路协议 接口卡
链路层的服务 口成帧,链路访问 o将分组封装入帧,加上帧头,帧尾 o如果是共享介质,则需实现信道的访问, 物理地址’放在帧首用来确定信源、信宿 ·不同于IP地址喔! 口在两台物理上连接的设备之间实现可靠传递: o可靠传递是什么概念,回顾一下学过的知识 不太用在误码率低的场合(光纤,某些双绞线 无线链路:误码率相当高 ·Q:为什么在链路层和端到端之间都要做可靠性的校验? 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-4
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-4 链路层的服务 成帧, 链路访问: 将分组封装入帧, 加上帧头, 帧尾 如果是共享介质,则需实现信道的访问, ‘物理地址’ 放在帧首用来确定信源、信宿 • 不同于IP地址喔! 在两台物理上连接的设备之间实现可靠传递: 可靠传递是什么概念,回顾一下学过的知识! 不太用在误码率低的场合(光纤, 某些双绞线) 无线链路: 误码率相当高 • Q: 为什么在链路层和端到端之间都要做可靠性的校验?
链路层的服务(续) 口流量控制 O保持收发双方的同步 错误检测 o信号衰减和噪声会导致出错. o接收端检测到错误时: 给发送端信号要求重发或丢弃出错帧 口错误校正 o接受端检测多个位错并加以校正而无需要求发送端 重发 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-5
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-5 链路层的服务 (续) 流量控制: 保持收发双方的同步 错误检测: 信号衰减和噪声会导致出错. 接收端检测到错误时: • 给发送端信号要求重发或丢弃出错帧 错误校正: 接受端检测多个位错并加以校正 而无需要求发送端 重发
链路层:实现 口通过“ adapter(网卡或适配器)”实现 oe.g, PCMCIA卡,以太网卡 o一般适配器都含有:RAM,DSP芯片,主机的总线接 口,和链路接口 [M application H+ M l transport MM network data link network link proToco link Hi HH+ M physical phys. link physical frame 主讲人:西安交通大学程 pter card 第6讲数据链路层之一6a-6
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-6 链路层: 实现 通过 “adapter(网卡或适配器)” 实现 e.g., PCMCIA 卡, 以太网卡 一般适配器都含有: RAM, DSP 芯片, 主机的总线接 口, 和链路接口 application transport network link physical network link physical M M M M Ht HnHt Hl HnHt Hl HnHt M frame phys. link data link protocol adapter card
错误检测 EDC=错误检测校正( Error Detection and Correction(冗余数据))位 D=由检验位保护的数据,可包括首部字段 错误检测不可能达到100%可靠! 协议算法可能会忽略了某些错误,但比例极小 较大的EDC字段可以产生较好的检错和纠错效果 datagram datagram a bits in D N ○K detected ? error ← d data bits D EDC D EDC o bit-error prone link 0 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-7
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-7 错误检测 EDC= 错误检测校正(Error Detection and Correction (冗余数据))位 D = 由检验位保护的数据, 可包括首部字段 • 错误检测不可能达到 100% 可靠! • 协议算法可能会忽略了某些错误, 但比例极小 • 较大的 EDC 字段可以产生较好的检错和纠错效果
奇偶校验 单比特校验 两维单比特校验 检测一位错误 检测和校正单比特错误 d data bits -parity d 1,j+1 bit 2,1 d 2j+1 011001010 olumn li,j di, j+1 1.1 d 101011 11011 1111oO 王(11)Pa error 011101 01110n 001010 0101o no errors parIty error correctab/e single bit error 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-8
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-8 奇偶校验 单比特校验: 检测一位错误 两维单比特校验: 检测和校正单比特错误 0 0
因特网校验和 目的:检测数据段在传输过程中出现的错误(注意:用在 传输层) 发送端: 接收端: 口对接收到的数据段进行校验和 口把数据段的内容看成 计算 系列16-bi的整数 检査计算所得的校验和与接收 校验和:对内容进行累到值的是否相等 加(1 s complement oNO-出错了 sum) oyES-没查出错误.但有可 口发送端将校验和放入 能存在错误? UDP的 checksum字段 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-9
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-9 因特网校验和 发送端: 把数据段的内容看成一 系列16-bit的整数 校验和: 对内容进行累 加 (1’s complement sum) 发送端将校验和放入 UDP 的checksum 字段 接收端: 对接收到的数据段进行校验和 计算 检查计算所得的校验和与接收 到值的是否相等 : NO – 出错了 YES – 没查出错误. 但有可 能存在错误? …. 目的: 检测 数据段在传输过程中出现的错误 (注意: 仅用在 传输层)
校验计算:循环校验码 口把数据比特串,D,看成二进制数据 口选择一个r+1b型( generator),6 口目的:选择r个CRC位,R,这样 可为G整除( modulo2) o接收端已知G,用G来除.如果余数不为O:查出错误! o可以查出所有长度不超过r+1位的突发错误 口在实践中被广泛应用(ATM,HDCL) -d bits r bits bit D: data bits to be sent R: CRC bits pattern mathematical D*2 XOR R formula 主讲人:西安交通大学程向前 第6讲数据链路层之一6a-10
主讲人:西安交通大学 程向前 第6讲 数据链路层之一 6a-10 校验计算: 循环校验码 把数据比特串, D, 看成二进制数据 选择一个 r+1 bit 型 (generator), G 目的: 选择 r个 CRC位, R, 这样 可为 G 整除(modulo 2) 接收端已知 G, 用G来除 . 如果余数不为0: 查出错误! 可以查出所有长度不超过r+1位的突发错误 在实践中被广泛应用 (ATM, HDCL)