### 大学计算机网络笔记(四 链路层-点到点链路)
#### 数据链路的概念
数据链路是指在物理线路的基础上通过一系列控制措施实现无差错的数据传输的过程。它不仅仅是一条简单的物理连接,而是包含了必要的通信协议和服务来确保数据能够在发送端与接收端之间正确地传输。
#### 数据链路层解决的问题
数据链路层是OSI模型中的第二层,主要负责在两个相邻节点间提供可靠的数据传输服务。这一层需要解决的关键问题包括:
1. **封装成帧**:将上层传下来的比特流分割成帧,并在每个帧的前后添加特殊的帧定界符,以便接收方能够识别帧的开始和结束位置。
2. **透明传输**:保证传输过程中数据的透明性,即无论数据是什么样的内容,都要准确无误地传输到目的节点。为了解决特殊字符(如帧定界符)出现在数据中的问题,需要采取适当的措施进行转义处理。
3. **差错检测**:在数据传输过程中可能会发生错误,因此数据链路层需要具备检测这些错误的能力。常用的差错检测方法包括循环冗余校验(CRC)等。
#### 数据链路层结构
数据链路层可以分为两个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
1. **LLC子层**:负责建立、维持和释放数据链路连接,并提供差错控制等功能。
2. **MAC子层**:主要负责控制对物理介质的访问,解决多个设备共享同一物理信道时如何分配的问题。
#### PPP协议
PPP(Point-to-Point Protocol)是一种广泛使用的点对点通信协议,主要用于通过串行或拨号连接建立数据链路。PPP协议具有以下特点:
1. **简单性**:PPP协议设计简单,易于实现。
2. **封装能力**:能够封装多种网络层协议,如IP、IPX等。
3. **三个组成成分**:
- 链路控制协议(LCP):用于建立、配置和测试数据链路连接。
- 网络控制协议(NCP):用于协商在网络层使用的协议及选项。
- 数据封装方式:定义了如何将高层数据封装成帧进行传输。
4. **身份验证**:支持多种身份验证机制,如PAP、CHAP等。
5. **压缩**:支持数据压缩选项,提高传输效率。
6. **协议格式**:PPP帧由标志字段、地址字段、控制字段、协议字段、信息字段和FCS字段组成。
#### PPP协议功能
PPP协议的功能主要包括:
1. **链路建立与配置**:通过LCP协议建立并配置数据链路连接,包括设置最大传输单元(MTU)、认证类型等参数。
2. **网络层协议配置**:通过NCP协议协商网络层协议及其参数,例如IP地址的分配、压缩选项等。
3. **身份验证**:提供两种常见的身份验证方法:
- **PAP(Password Authentication Protocol)**:一种简单的明文密码验证方式,安全性较低。
- **CHAP(Challenge Handshake Authentication Protocol)**:通过质询应答的方式进行身份验证,相对更安全。
数据链路层作为计算机网络中的关键组成部分,在实现数据可靠传输方面扮演着至关重要的角色。通过采用合适的协议和技术,能够有效解决数据传输过程中的各种问题,从而确保网络通信的高效性和可靠性。PPP协议作为一种经典的点对点协议,在实际应用中得到了广泛的部署和使用。