计算机网络体系结构
OSI的七层协议体系结构之数据链路层
1.使用点对点信道的数据链路层
信道类型
点对点信道:使用一对一的点对点通信方式
广播信道:使用一对多的广播通信方式
2.数据链路层的功能
- 链路管理
- 为网路提供服务
- 帧定界 帧同步与透明传输
- 流量控制(确保发送方的发送速率 不大于接收方的处理速率 避免接收缓冲区溢出。)
- 差错检测(处理传输中出现的差错 如位错误,丢失等)
封装成帧 (framing)
在一段数据的前后分别添加首部和尾部,构成一个帧。
透明传输
“在数据链路层透明传送数据”表示:无论发送什么样的比特组合的数据,这些数据都能够按照原样没有差错地通过这个数据链路层。
采用办法:用“字节填充”或“字符填充”法解决透明传输的问题
差错控制
采用办法:循环冗余检验 CRC (Cyclic Redundancy Check) 原理
CRC冗余码的计算
1,用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。
2,得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q ,余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。
3,将余数 R 作为冗余码拼接在数据 M 后面,一起发送出去。
帧检验序列FCS的概念
循环冗余检验 CRC 和帧检验序列 FCS 并不等同。
1.CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
2.FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
注意:1.仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受 (accept)。
也就是说 凡是接收端数据链路层接受的帧都毫无差错。
2.在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输。
要做到可靠传输,还必须再加上帧编号、确认和重传等机制。
3.数据链路层协议--ppp协议
1.三个组成成分
1.链路控制协议(LCP)
2.网路控制协议(NCP)
3.一个将IP数据报封装到串行链路的办法
2.PPP协议帧格式
PPP 有一个 2 个字节的协议字段。
其值 若为 0x0021,则信息字段就是 IP 数据报。
若为 0x8021,则信息字段是网络控制数据。
若为 0xC021,则信息字段是 PPP 链路控制数据。
若为 0xC023,则信息字段是鉴别数据。
3.透明传输问题
当 PPP 用在异步传输时,使用字节填充法。
当 PPP 用在同步传输链路时,采用零比特填充法。
4.PPP 协议的工作状态
1.用户拨号接入 ISP 后,就建立了一条从用户个人电脑到 ISP 的物理连接。
2.用户个人电脑向 ISP 发送一系列的链路控制协议 LCP 分组(封装成多个 PPP 帧),以便建立LCP连接。
3.之后进行网络层配置。网络控制协议 NCP 给新接入的用户个人电脑分配一个临时的 IP 地址。
4.当用户通信完毕时,NCP 释放网络层连接,收回原来分配出去的IP地址。LCP 释放数据链路层连接。最后释放的是物理层的连接。