本文参考自cys大佬的总结:链接
一、物理层
1.通信方式
- 全双工通信:
- 值的是通信双方可以随时发送和接收信号
- 类似打电话;
- 半双工通信:
- 双方都能发送和接收信号,但是同一时刻只有一方能够接收,另一方发送
- 类似对讲机。
- 单工通信:
- 只有一方只能发送,另一方只能接收;
- 如广播。
2. 调制与解调
- 计算机的数据存储只能采用0-1的离散信号,但是要在线路上传输就需要转为模拟信号(连续的信号)。
- 调制就是将离散数字信号转为模拟信号的过程;解调就是反向过程。
二、数据链路层
1.数据链路层三个基本问题
- 封装成帧
- 将网络层的数据包加上mac首部和帧首帧尾等控制信息,封装成数据帧在链路上传输;
- 透明传输
- 帧需要特殊的开始与结束符,若用户数据中出现这些信息可能会造成传输错误,因此需要对开始、结束符进行转义,同时,这些转义字符本身也需要处理,而不需要用户去解决特殊字符的问题;
- 差错校验
- 负责对传输数据进行校验,但不负责纠错,纠错交由上层处理。
- 目前常用crc校验;
2. 信道种类
- 广播信道
- 一台主机发出信号,连接到同一网络的其他计算机都能同时收到;
- 以太网是典型的广播信道。
- 点对点信道
- 两台主机一对一的通信信道。需要封装为帧,提供通信双方的信息。
- 常使用PPP协议进行点对点通信。
信道与通信方式不是一回事:
如:广播信道其实也可以实现点对点通信,当其他主机接到点对点的帧时,如果发现数据的MAC地址不是给自己的,就丢弃他,也是一种点对点的通信。
3. 广播通信
- 主要协议是CSMA/CD(carrier sense multi access/collision setection)
- cs:载波监听,一边发帧,一边监听有没有发生碰撞;
+ 若发生碰撞,电压会有变化;
- ma:多点接入,多台主机同时连接到一根总线上;
- cs:碰撞检测,一旦发现碰撞,自己的数据会因为碰撞出现差错,因此要重传;
- 使用广播通信的主要是局域网,而当前局域网技术基本上被以太网垄断:
- 以太网帧:
- 以太网采取交换机作为设备:
- 交换机具有自学习能力:第一次传递帧时,他不知道目标在哪个端口,就发送广播信号,交换机之后会根据目标返还的物理地址发送帧,并将这个地址对应的端口写在自己的表中,下次可以直接将数据传进该端口
4. PPP协议
- PPP协议是用的最多的数据链路层协议。它规定了主机与ISP之间传输的数据帧格式。
- 这个协议的作用太抽象,暂时没弄明白。
5. 信道复用
信道复用技术是为了提高传输信道的使用率:原本一条信道上只有一对通信方可以通信,其他人不能占据,可以使用下面技术来使得一条信道上使用的用户数量增多。
- 时分复用:不同用户分时间段使用传输信道;
- 频分复用: 按照不同信号的频率将同时传递的信号区分开;
- 统计时分复用:时分复用的时间分配不划分死,而是统计用户使用较多的时间段灵活分配时间;
- 波分复用:对应光载波信号,频分划分较困难,使用波长划分;
- 码分复用:使用一种数学处理方法(正交),将处理好地好几个用户的数据同时发送出去,每个用户经过反处理会发现这其中只有部分是对他有意义的,其他都是“乱码”。
7. 物理地址
每个网络适配器(网卡)都有一个物理地址,这是全球唯一的。
移动设备(如笔记本)一般有两个适配器:一个是无线,一个是有线的。因此就有两个MAC地址。
参考:
https://blog.csdn.net/michealoven/article/details/107850366?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.control
如果想看更详细的数据链路层内容,可以参考这个大佬的博客,很赞!