数据链路层协议的位置 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),接收方的数据链路层将数据递交个网络层之前删除转义字节