[计算机网络]数据链路层
文章目录
1.基本问题
1.1封装成帧
将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
1.2透明传输
透明表示一个实际存在的事物看起来好像不存在一样。
帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉不到转义字符的存在。
1.3差错检测
目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。
2.信道分类
2.1广播信道
一对多通信,一个节点发送的数据能够被广播信道上所有的节点接收到。
所有的节点都在同一个广播信道上发送数据,因此需要有专门的控制方法进行协调,避免发生冲突(冲突也叫碰撞)。
主要有两种控制方法进行协调,一个是使用信道复用技术,一个是使用CSMA/CD协议。
2.2点对点信道
一对一通信。
因为不会发生碰撞,因此也比较简单,使用PPP协议进行控制。
3.信道复用技术
3.1频分复用
频分复用的所有主机在相同的时间占用不同的频率带宽资源。
3.2时分复用
时分复用的所有主机在不同的时间占用相同的频率带宽资源。
使用频分复用和时分复用进行通信,在通信的过程中主机会一直占用一部分信道资源。但是由于计算机数据的突发性质,通信过程没必要一直占用信道资源而不让出给其他用户使用,因此这两种方式对信道的利用率都不高。
3.3统计时分复用
是对时分复用的一种改进,不固定每个用户在时分复用帧中的位置,只要有数据就集中起来组成统计时分复用帧然后发送。
3.4波分复用
光的频分复用。由于光的频率很高,因此习惯上用波长而不是频率来表示所使用的光载波。
3.5码分复用
为每个用户分配 m bit 的码片,并且所有的码片正交,对于任意两个码片 S ⃗ \vec{S} S 和 T ⃗ \vec{T} T 有 1 m S ⃗ ∙ T ⃗ = 0 \frac{1}{m}\vec{S} \bullet\vec{T}=0 m1