数据链路层
数据链路层的功能?
数据链路层的基本功能就是将源网络层来的数据封装成帧并可靠的传输到相邻计算机网络的网络层
数据链路层的传输单元为:帧。
数据链路层的基本问题?
1. 封装成帧
将网络层传输下来的数据报添加首部和尾部
2. 透明传输
帧使用首部和尾部进行定界,如果数据区出现首部和尾部字符,就造成会对帧的首部和尾部的误判。对数据部分出现首部或尾部的字符前添加转义字符,如果数据部分出现转义字符,就在转义字符前再加一个转义字符。在接收端可以还原出原始数据,在这一过程中透明传输的是转义字符,用户察觉不到。
3. 差错检测
目前数据链路层广泛使用循环冗余检验(CRC)来进行比特(bit)的差错校验
数据链路层的通信?
1. 广播通信
一个节点发送的数据可以被广播信道上的全部节点接收到。
所有的节点都在同一广播信道上发送信息,因此需要专门的控制协调方式,避免发生碰撞冲突
主要有两种协调方式,一种是信道复用技术,一种是CSMA/CD协议。
什么是CSMA/CD协议?
CSMA/CD 载波监听多点接入/碰撞检测 协议
载波监听:每个节点必须不停的监听信道,在发送数据前如果检测到信道被占用,则必须等待。
多点接入: 多个节点连接在总线上。
碰撞检测: 节点在发送数据中,监听到有其他节点占用信道,开始发送数据,就表示发生了碰撞冲突。虽然节点在发送数据前,监测到信道为空闲,但是由于电磁波具有传输时延,碰撞冲突还是有可能发生的。
发生碰撞冲突该怎么办呢?
节点检测到碰撞冲突,会立即停止传输数据,并等待一段时间再传输数据。这个时间使用截断二进制指数退避算法来确定。
2. 一对一通信
PPP协议
计算机需要连接ISP(互联网服务提供商)来访问互联网,PPP协议是是用户计算机和ISP进行通信时数据链路层协议
PPP帧格式
F字段是帧的定界符
A,C字段暂时没有含义
FCS 是使用CRC检验序列
协议字段是用来标识数据域所承载的数据报类型
信息部分长度不能超越1500