计算机网络-数据链路层
二月 27, 2021
基本概念
- 链路:物理上的线路段
- 数据链路:硬件(数据线路段)+软件(通信协议)
信道类型
- 点对点信道
- 广播信道
传输的基本单位
帧
帧是面向字节,其数据长度为整数个字节
解决的基本问题
- 封装成帧
- 透明传输
- 差错控制
封装成帧
透明传输
- 当出现SOH(即0000 0001)时说明这是帧的开头
- 当出现EOT(即0000 0100)时说明这是帧的结尾
问:但是如果我数据部分里面恰好出现了0000 0001呢?
答:这时候就用到了我们的转义字符(ESC)了,我们在出现SOH前添加ESC,声明一下我们后面的内容是数据,你别乱给我转义
差错检测
- 通过循环冗余检验(CRC)计算
- 得到帧校验序列(FCS)
点到点信道的数据链路层
代表协议:PPP协议
组成:
- NCP协议(网络控制协议)
- LCP协议(链路控制协议)
- HDLC(高级数据链路控制协议)
注意:PPP协议没有序号机制和确认机制
原因①:数据链路层出错概率不大
原因②:数据链路层并不保证上层数据的传输可靠性
原因③:帧检验序列FCS字段保证了无差错检测
协议字段的常用协议:
0x0021:IP数据包
0xC021:LCP数据
0x8021:NCP数据
0xC023:安全性认证PAP
0xC025:LQR
0xC223:安全性认证CHAP
广播信道的数据链路层
实现的方法
静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
实现麻烦,不使用该方法
动态媒体接入控制(多点接入)
- 随机接入(以太网主要采用)
- 受控接入(如多点线路探询polling或轮询,已不采用)
常用协议
CSMA/CD(载波侦听多路访问/冲突检测)协议
载波侦听多路访问:多台主机以多点的方式连接在一条总线上
冲突检测:发数据前会检测总线上是否有数据传输,有则不发送
检测依据:信道上的电压
通讯方式:半双工通信协议
争用期:2τ(通常取51.2μs)
51.2μs在10Mb/s的以太网中,可发送512bit,即64字节
所以导致:
- 以太网线长度大多不大于100米
- 发送的数据至少64个字节
- 以太网帧的最短有效帧长度为64字节
- 少于64字节的帧都已由于冲突而中止的异常帧
退避算法:
- 基本退避时间:一般为2τ
- 重传时延为r倍的基本退避时间
- r是从集合[0,1,2,…,(2^k-1)]中的随机取出的一个数
- k=Min[重传次数,10]
- 当重传达到16次仍没有成功会丢弃该帧,并向上层报告
以太网
满足CSMA/CD协议的网络
为了使数据链路层更好的适应多种局域网标准,数据链路层还拆分成两个子层
- 逻辑链路控制LLC子层
- 媒体接入控制MAC子层
市面上的网络适配器大多仅装有MAC协议,而没有LLC协议
提供的服务是不可靠的交付,尽最大努力交付
MAC地址:MAC层的硬件地址
网络适配器会从网络中收到的MAC帧解析出MAC地址
- 如果是发给自己的则收下,会接受
- 单播帧
- 多播帧
- 广播帧
- 否则丢弃
MAC帧格式
- 有效帧的要求:
- 必须为整数个字节
- FCS无差错
- 数据长度必须在46-1500个字节范围内(其中1500为最大MTU)
- 帧长度必须在64-1518个字节范围内
- 每个帧之间间隔不能少于9.6μs,给时间清理接受的缓存
拓展以太网
拓展范围
- 双绞线(100米)
- 光纤(上千公里)
拓展数量
网桥
- 先检测mac地址,再确认发往那个端口
- 端口连接的是集线器
交换器
端口连接的是主机
高速以太网
- 100Mb/s
- 全双工通信
- 不使用CSMA/CD协议
- 保持最短帧长度不变,但网段的最大电缆长度减小至100米
- 帧间隔时间9.6μs改成现在的0.96μs
吉比特以太网
- 1Gb/s
- 半双工/全双工通信
- 半双工使用CSMA/CD协议,全双工不使用CSMA/CD协议
十吉比特以太网
- 10Gb/s
- 不再使用铜线,只使用光纤作为传输媒介
- 全双工通信
- 不使用CSMA/CD协议
- 从而能够实现端对端通信,从局域网扩大到城域网和广域网
查看评论