第5讲数据链路层优秀课件

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
link physical
数据链路协议
物理链路
network link
physical
Hl Hn Ht M frame
接口卡
链路层的服务
(1) 封装成帧 (2) 透明传输 (3) 差错控制
1. 封装成帧
封装成帧(framing)就是在一段数据的前后分别添加首 部和尾部,然后就构成了一个帧。确定帧的界限。
交换式 (e.g., 交换式以太网, ATM etc)
多点访问协议
一条共享的通信信道 两个或多个结点可同时发送信号: 相互干扰
在某一时刻只有一个结点可以成功地发送信号
多点访问协议:
分布式的算法来决定如何共享信道, i.e., 决定工作站何时可以发送 注意:有关共享通道的通信(协商)也必须在该通道自身上解决! 我们希望多点访问协议能够解决什么问题:
校验计算: 循环校验码
把数据比特串, D, 看成二进制数据 选择一个 r+1 bit 型 (generator), G 目的: 选择 r个 CRC位, R, 这样
<D,R> 可为 G 整除(modulo 2) 接收端已知 G, 用G来除 <D,R>. 如果余数不为0: 查出错误! 可以查出所有长度不超过r+1位的突发错误
把数据段的内容看成一 系列16-bit的整数
校验和: 对内容进行累 加 (1’s complement sum)
发送端将校验和放入 UDP 的checksum 字段
接收端:
对接收到的数据段进行校验和 计算
检查计算所得的校验和与接收 到值的是否相等 :
NO – 出错了
YES – 没查出错误. 但有可 能存在错误? ….
被接收端当作无效帧而丢弃
解决透明传输问题
发送端的数据链路层在数据中出现控制字符“SOH”或 “EOT”的前面插入一个转义字符“ESC”(其十六进制编 码是 1B)。
字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网络层之 前删除插入的转义字符。
第5讲数据链路层
数据链路层
链路(link)是一条无源的点到点的物理线路段,中 间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路外,还必须有通信协议来 控制这些数据的传输。若把实现这些协议的硬件和软件加到 链路上,就构成了数据链路。
现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件 和软件。
一般的适配器都包括了数据链路层和物理层这两层的功能。
链路层: 工作环境
链路层: 工作环境
两个 物理上连接的 设备:
主机-路由器, 路由器-路由器, 主机-主机
数据单元: frame(帧)
M
Ht M Hn Ht M Hl Hn Ht M
application transport network
link physical
data link protocol
phys. link
network link
physical
Hl Hn Ht M frame
adapter card
错误检测
EDC= 错误检测校正(Error Detection and Correction (冗余数据))位 D = 由检验位保护的数据, 可包括首部字段
如果转义字符也出现数据当中,那么应在转义字符前面插 入一个转义字符。当接收端收到连续的两个转义字符时, 就删除其中前面的一个。
用字节填充法解决透明传输的问题
帧开始符
SOH
EOT
原始数据
SOH
ESC
帧结束符
SOH
EOT
字节填充
字节填充
字节填充
字节填充
SOH
发送 在前
ESC EOT
ESC SOH
ESC ESC
同步还是异步 了解其他站点的信息 健壮性 (e.g.如何对待信道错误) 性能
多点访问协议
断言: 人类在许多场合都使用多点访问协议 class can "guess" multiple access protocols
multiaccess protocol 1: multiaccess protocol 2: multiaccess protocol 3: multiaccess protocol 4:
首部和尾部的一个重要作用就是进行帧定界。
帧开始 开始 发送 帧首部
IP 数据报
帧的数据部分 MTU
数据链路层的帧长
帧结束 帧尾部
用控制字符进行帧定界的方法举例
帧开始符
SOH
发送在前
装在帧中的数据部分 帧
帧结束符
EOT
2. 透明传输
出现了“EOT” 完整的帧
发送
数据部分
在前
SOH
EOT
EOT
被接收端 误认为是一个帧
在实践中被广泛应用 (ATM, HDLC)
CRC 举例
如果要: D.2r XOR R = nG
则等于:
D.2r = nG XOR R
也就等于:
如果要让 D.2r 被 G整 除, 则需要余数 R
R
=
remainder[
D.2r G
]
多点访问链路和协议
有三种类型的 “链路”:
点对点 ( e.g. PPP, SLIP) 广播式 (共享线路或介质; e.g, 以太网, 无线网, etc.)
时,必须采用各种差错检测措施。
链路层: 实现
通过 “adapter(网卡或适配器)” 实现
e.g., PCMCIA 卡, 以太网卡 一般适配器都含有: RAM, DSP 芯片, 主机的总线接
口, 和链路接口
M
Ht M Hn Ht M Hl Hn Ht M
application transport network
ESC SOH
EOT
经过字节填充后发送的数据
Βιβλιοθήκη Baidu
3. 差错检测
在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
在一段时间内,传输错误的比特占所传输比特总数的 比率称为误码率 BER (Bit Error Rate)。
误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数据
• 错误检测不可能达到 100% 可靠! • 协议算法可能会忽略了某些错误, 但比例极小 • 较大的 EDC 字段可以产生较好的检错和纠错效果
奇偶校验
单比特校验:
检测一位错误
两维单比特校验:
检测和校正单比特错误
0
0
因特网校验和
目的: 检测 数据段在传输过程中出现的错误 (注意: 仅用在
传输层)
发送端:
相关文档
最新文档