数据链路层
三、数据链路层
3.1、基础知识
数据链路和帧
链路(link)是从一个结点到相邻结点的中间没有任何交换结点的物理线路。
数据链路是加上必要通信协议(通信规程(procedure))的物理链路,是逻辑链路。常用网络适配器实现这些协议。
帧:数据链路层协议的数据单元。
三个基本问题
封装成帧
定义:在一段数据前后分别添加帧定界的首部和尾部。接收端收到物理层上交的比特流后,根据帧定界识别一个帧。
传输效率——尽可能 数据部分>首部+尾部(长度),但有数据部分长度上限——最大传输单元MTU(Maximum Transfer Unit)。
帧定界可以用帧定界符——SOH(Start Of Header)0x01,EOF(End Of Transmission)0x04。
透明传输
透明:某一个实际存在的事物看起来却好像不存在一样。
解决方法:字节填充(byte stuffing)或字符填充(character stuffing)——插入转义字符ESC(0x1B)
差错检测
差错:比特差错、传输差错(帧丢失、帧重复、帧失序)。
数据链路层——>网络层不是“可靠传输”服务。
比特差错,误码率BER(Bit Error Rate)——错误/总(比特数)。
差错检测措施——循环冗余检验CRC(Cyclic Redundancy Check):把数据划分为组,假定每组K个比特。假定传输数据M=101001(k=6)。CRC运算就是在M后面添加用于检错的n为冗余码,然后构成一个帧一起发出去,一共发送(k+n)位。
n位冗余码的得到方法:(二进制模2运算——不进位)。事先规定n+1位的除数P,得到商Q余数R。现假定M=101001,P=1101(n=3),用M模2运算除P得到商Q=110101,余数R=001,这个余数R就作为冗余码拼接在数据M的后面发送出去。这种为了检错而进行添加的冗余码常称为帧检验序列FCS(Frame Check Sequence)。因此加上FCS后发送的帧是101001001(共k+n位)。
在接收端把接收到的数据以帧为单位进行CRC检验:把收到的帧都除以同样的除数P(模2运算),然后检查得到的余数R。若余数R为0,则这个帧么有出错,接受;否则就有差错,丢弃。
P=1101,M=1011001,n=3,k=7
生成多项式:P(X)=X3+X2+1表示除数P=1101。
3.2、点到点协议PPP
点到点协议PPP
可靠数据链路控制HDLC(High-level Data Link Control)(了解,很少使用)——>PPP(Point-to-Point Protocol)协议。
PPP协议的组成
一个将IP数据封装到串行链路的方法;
一个用来建立、配置和测试数据链路的链路控制协议LCP;
一套网络控制协议NCP(其中每个协议支持不同分网络层协议);
PPP协议特点
简单、封装成帧、透明性、多种网络协议、多种类型的链路、差错检测、检测连接状态、最大传送单元、网络层地址协商、数据压缩协商。
支持点对点链路通信和全双工链路。
PPP协议的帧格式
- 各字段意义
字节填充(异步传输)
填充方法如下:
- 把信息字段中的0x7E转化为2字节序列(0x7D,0x5E)
- 把信息字段中的0x7D转化为2字节序列(0x7D,0x5D)
- 当信息字段中出现ASCII码的控制字符(数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时把该字符编码加以改变。例如:0x03就要把它转变为2字节序列(0x7D,0x23)
零比特填充(同步传输)
零比特填充的具体方法:
- 在发送端先扫描整个信息字段(通常使用硬件实现,但也可以用软件实现,但是会慢一些)。
- 只要发现有5个连续的1,则立即填入一个0。
- 接收端在收到一个帧时,先找到标志字段F以确定帧的边界,接着再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把5个连续1后的一个0删除,以还原成原来的信息比特流。
PPP协议的工作状态
3.3、使用广播信道的数据链路层
局域网的数据链路层
局域网主要特点:网络为一个单位所拥有,且地理位置和站点数目均有限。
局域网主要优点:广播功能;便于系统扩展和逐渐演变,各设备位置可灵活调制和改变;提高系统的可靠性(reliability)、可用性(availability)、生存性(survivability)。
局域网分类(网络拓扑):星形图(集线器);环形网;总线网。
共享信道方法:
- 静态划分信道——划分信道(频分复用、时分复用等)
- 动态划分信道(多点接入)
- 随机接入(重点)——解决碰撞问题
- 受控接入
以太网
共享以太网
采取两种措施
- 无连接的工作方式,尽最大努力交付即不可靠交付。解决碰撞问题——载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)
- 奥彻斯特编码
CSMA/CD协议
详见:https://blog.csdn.net/idealhunting/article/details/85038512
使用集线器的星形拓扑
? 集线器
交换式以太网
以太网的信道利用率
以太网帧格式
3.4、扩展的以太网
?
?