Chapter3数据链路层 1
1 Chapter 3 数据链路层
主要功能 成帧: 在接收方从比特流中恢复出帧,关键是确定帧 开始和结束的地方,也称之为帧定界 数据帧可靠传输: 差错校验:在发送方,给数据加尾部,用于差 应用层 错校验 传输层 流量控制:如何避免一个快速的发送方淹没掉 网络层 一个慢速的接收方 信道(链路)多路访问: 数据链路层 如何寻址以及控制对共享信道(链路)的访问, 为此在数据链路层引入了一个特殊的子层,即介质 物理层 访问控制子层 相关协议 HDLC(High-Level Data Link Control)l点对点 PPP (Point to Point Protocol) 」链路 CSMA/CD 多路访问/共享链路 CSMA/CA
2 应用层 传输层 网络层 数据链路层 物理层 主要功能 成帧: 在接收方从比特流中恢复出帧,关键是确定帧 开始和结束的地方,也称之为帧定界 数据帧可靠传输: 差错校验:在发送方,给数据加尾部,用于差 错校验 流量控制:如何避免一个快速的发送方淹没掉 一个慢速的接收方 信道(链路)多路访问: 如何寻址以及控制对共享信道(链路)的访问, 为此在数据链路层引入了一个特殊的子层,即介质 访问控制子层 相关协议 HDLC(High-Level Data Link Control) PPP(Point to Point Protocol) CSMA/CD CSMA/CA 点对点 链路 多路访问/共享链路
Chapter3数据链路层 ■3.1数据链路层的功能 ■3.2差错检测与纠正 ■3.3基本数据链路协议 ■3.A滑动窗口(Slide Windows)协议 ■3.5面向位的协议HDLC ■3.6 Internet中的数据链路层 3
3 Chapter 3 数据链路层 ◼ 3.1数据链路层的功能 ◼ 3.2差错检测与纠正 ◼ 3.3基本数据链路协议 ◼ 3.4滑动窗口(Slide Windows)协议 ◼ 3.5面向位的协议HDLC ◼ 3.6 Internet中的数据链路层
Chapter3数据链路层 ■3.1数据链路层的功能 ■3.2差错检测与纠正 ■3.3基本数据链路协议 ■3.A滑动窗口(Slide Windows)协议 ■3.5面向位的协议HDLC ■3.6 Internet中的数据链路层 4
4 Chapter 3 数据链路层 ◼ 3.1数据链路层的功能 ◼ 3.2差错检测与纠正 ◼ 3.3基本数据链路协议 ◼ 3.4滑动窗口(Slide Windows)协议 ◼ 3.5面向位的协议HDLC ◼ 3.6 Internet中的数据链路层
3.1数据链路层的功能 向网络层提供良好的服务接口 ■将物理层的比特流编成帧 差错控制 流量控制 Sending machine Receiving machine Packet Packet Frame Header Payload field Trailer Header Payload field Trailer
5 3.1数据链路层的功能 ◼ 向网络层提供良好的服务接口 ◼ 将物理层的比特流编成帧 ◼ 差错控制 ◼ 流量控制
数据链路层协议的位置 network actual PDU flow d d Router R1 ph phph applicatio app ication transport sport network net vork data lin network network data link data link 物理层提供physical protocol p可3ica 不可靠的比 ph ph p ph Host H1 ph 特传输服务 network Host H2 Router R2 Router R3 ph Router ph:physical Layer Router R4 dl:data link layer Data link Routing PDU:Protocol Data Unit layer process process (message at application 端口 layer,packet at network ■■ 3 layer,frame at dl,and bit Data link Frames Packets protocol at ph) here here 数据链 路层协议 端口 Transmission 6 line to a router
数据链路层协议的位置 6 ph: physical Layer dl: data link layer PDU: Protocol Data Unit (message at application layer, packet at network layer, frame at dl, and bit at ph) 物理层提供 不可靠的比 特传输服务 端口 端口 数据链 路层协议
3.1.1为网络层提供服务 无确认、无连接的服务 发送方不需要建立连接就向接收方发送独立的数据帧, 而接收方也不需要对收到的颅进行确认 有确认、无连接的服务 发送方不需要建立连接就向接收方发送独立的数据帧, 但接收方需要对收到的颅进行确认 ■ 面向连接的服务 ■ 发送方与接收方在通信前要先建立连接,然后在此连 接上互相传输数据帧,每一个顺都被编号,保证数据 链路层保证传送的帧被对方收到,且只收到一次,并 且确保接收帧的顺序,双方通信完毕后拆除连接 7
7 3.1.1为网络层提供服务 ◼ 无确认、无连接的服务 ◼ 发送方不需要建立连接就向接收方发送独立的数据帧, 而接收方也不需要对收到的帧进行确认 ◼ 有确认、无连接的服务 ◼ 发送方不需要建立连接就向接收方发送独立的数据帧, 但接收方需要对收到的帧进行确认 ◼ 面向连接的服务 ◼ 发送方与接收方在通信前要先建立连接,然后在此连 接上互相传输数据帧,每一个帧都被编号,保证数据 链路层保证传送的帧被对方收到,且只收到一次,并 且确保接收帧的顺序,双方通信完毕后拆除连接
3.1.2成帧(framing) 为什么要成帧? 物理层传输比特流时可能发生错误,如何处理?> 在数据链路层重发! ■数据链路层以帧为单位重发 在共享链路上,发送方以帧为单位来竞争对共享链 路的访问 将比特流划分成帧的方法 ■字符计数法 含字节填充的分界符法 标识每一帧的起始 含位填充的分界标志法 和结束位置 物理层编码违例法 8
8 3.1.2成帧(framing) ◼ 为什么要成帧? ◼ 物理层传输比特流时可能发生错误,如何处理?→ 在数据链路层重发! ◼ 数据链路层以帧为单位重发 ◼ 在共享链路上,发送方以帧为单位来竞争对共享链 路的访问 ◼ 将比特流划分成帧的方法 ◼ 字符计数法 ◼ 含字节填充的分界符法 ◼ 含位填充的分界标志法 ◼ 物理层编码违例法 标识每一帧的起始 和结束位置
字符计数法 帧的帧头描述帧的长度 Character Count 51234567898012345 68789012 3 第1帧 第2帧 第3帧 第4帧 Error 5 1234367 898 01234 56 878 9 0123 第1帧 第2帧 第3帧 第4帧 缺点:帧头出错不光影响本数据帧,还影响后续的帧 9
9 字符计数法 ◼ 帧的帧头描述帧的长度 缺点:帧头出错不光影响本数据帧,还影响后续的帧
含字节填充的分界符法 帧起始和结束用特殊字节标志,称为标志字节(Flag) 若发送方数据链路层发送的数据中有标志字节,则在它前面插入转义字节 (ESC),接收方的数据链路层将数据递交个网络层之前删除转义字节 FLAG Header Payload field Trailer FLAG (a) Original characters After stuffing FLAG B FLAG B ESC B ESC ESC B A ESC FLAG B ESC ESC ESC FLAG B A ESC ESC B ESC ESC ESC B
10 含字节填充的分界符法 ◼ 帧起始和结束用特殊字节标志,称为标志字节(Flag) 若发送方数据链路层发送的数据中有标志字节,则在它前面插入转义字节 (ESC),接收方的数据链路层将数据递交个网络层之前删除转义字节