上次我们简单介绍了TCP/IP模型,它包括五层(也可以叫四层),今天我们具体的看下物理层和数据链路层。
物理层
1. 物理层的功能
根据所使用的传输介质不同,制定不同的物理层协议,规定数据的编码方式,传输速率,相关的通信参数。
2. 物理层的传输介质
(1)同轴电缆
早期的Ethernet是建立在同轴电缆的基础上的,现在已被替代。
(2)双绞线
双绞线是局域网中最常用的传输介质。
(3)光纤
光纤是应用前景最好的一种,光纤的纤芯是直径为8~100微米的柔软的,能传导光波的玻璃或塑料,其中用超高纯度石英玻璃纤维制作的纤芯传输损耗较低。
3. 物理层的协议
(1)点点通信线路的物理协议
点—点传输介质连接着两个相邻通信主机的物理层,主机A若想与主机B通信,必须先将数据传输给路由器A,再由路由器A传输给主机B,而主机A不能直接将数据传输给主机B。
(2)广播通信线路的物理协议
广播通信线路的一条公共通信线路可以连接多个主机。在Ethernet中,如针对非屏蔽双绞线的10base-2、10base-5等。
4. 数据通信的方式
(1)单工通信
单工通信是指在只能由主机A向主机B发送数据。信号只能朝一个方向传输。
(2)半双工通信
信号可以两个方向传输,但是必须交替进行,一个时间只能向一个方向传输。
(3)全双工通信
信号可以两个方向传输,双方可以同时向对方发送数据。
5. 数据的编码方式
(1)曼彻斯特编码
规则
(1)每比特的周期T分为前T/2和后T/2;
(2)前T/2传送该比特的反码;
(3)后T/2传送该比特的原码;
(2)差分曼彻斯特编码
规则
(1)每比特的中间跳变仅做同步使用;
(2)每比特的值根据其开始边界是否跳变来决定;
(3)每比特开始处如果发生电平跳变,则表示传输二进制‘0’,否则,表示传输二进制‘1’。
总结:
物理层的实现是基于硬件的基础上的,物理层传输数据是比特流,传输数据时一个比特位一个比特位的传输。
物理层没有差错控制,不能保证传输数据的正确性。
数据链路层
1. 数据链路层的功能
(1)链路管理
收发双方在数据通信时,需要建立数据链路连接;在数据传输过程中要维护数据链路;当通信结束时,要释放数据链路。数据链路管理功能包括数据链路的连接,维护与释放。
(2)帧同步
数据链路层的数据传输单元是帧,帧同步是指接收端要在收到的比特流中正确判断一帧的开始位与结束位。
(3)流量控制
发送端发送数据超过物理线路的传输能力或超过接收端的帧接收能力时,就会造成网络拥塞;为了防止网络拥塞,必须具有流量控制功能。
(4)差错控制
由于物理层传输数据是没有差错检测的,使有差错的物理线路变成无差错的数据链路,数据链路层必须有差错控制。
(5)透明传输
数据链路层必须保证发送的二进制比特序列是任意的组合,利用“ 0比特插入/删除”方法。
(6)寻址
数据链路层要保证每一帧都能传送到正确的接收端。
2. 差错产生的原因和类型
原因
在物理层通过传输介质传输数据时,需要将数据转化为0/1信号传输,会受到噪声的影响,导致在采样数据时有误差,存在差错。
类型
噪声分为热噪声和冲击噪声,热噪声引起的差错为随机差错;冲击噪声引起的差错为突发差错。
3. 差错控制方法
(1)奇偶校验码
奇偶校验分为垂直奇偶校验,水平奇偶检验,水平垂直奇偶校验;
奇偶校验的方式简单,但检错能力较差,一般只用于通信要求较低的环境。
(2)循环冗余编码(CRC)
应用最广泛的检错码编码。
4. 数据链路层协议
(1)HDLC(高级数据链路控制)协议
HDLC帧结构
(2)PPP(Point-to-Point Procotol)—点点协议
PPP协议帧结构
PPP帧头包括以下字段:
(1)标志(flag)字段
标志字段长度为一个字节,通常二进制序列为“01111110”,即16进制“0X7E”,表示帧的开始和结束。
(2)地址(address)字段
PPP协议只用于点—点链路,因此地址字段规定取值为“11111111”(0XFF)。
(3)控制(control)字段
控制字段长度为1个字节,规定取值为“00000011”(0X03).
(4)协议(procotol)字段
协议字段为2个字节,对应的三种类型帧的协议字段值为:
0X0021——表示PPP帧的信息字段是IP分组数据;
0XC021——表示信息字段是PPP的LCP数据帧;
0X8021——表示信息字段是PPP帧的NCP数据帧。
(5)信息字段
信息字段长度可变,最长为1500字节。
(3)PPP协议的字节填充规则
PPP协议可以用于异步通信,也可以用于同步通信。
PPP协议用于异步通信
在信息字段中出现的每一个“0X7E”字节,要转换为双字节“0X7D 0X5E”。
在信息字段中出现的每一个“0X7D”字节,要转换为双字节”0X7D 0X5D“。
PPP协议用于同步通信
当PPP协议用于同步通信时,采用”0比特插入/删除“方法。
(4)数据链路请求
LCP配置请求包括链路最大帧长度,链路认证协议。
链路认证协议
1. PAP(口令认证协议)
PAP协议是不安全的一种协议,只需要经历两次握手,而且允许用户多次输入用户与口令。
2. CHAP(查询—握手认证协议)
CHAP的三次握手如下:
第一次握手:ISP(服务器端)向用户端发送一个查询应答LCP帧,帧中包括用于数据签名的随机数。
第二次握手:用户端向ISP端发送用随机数与MD5算法加密后的用户名与口令。
第三次握手:ISP端用同样的随机数与MD5算法解密后,与存储的用户名与口令比较,相同则认为是合法用户,不同则认为是非法用户。