导图社区 IP网络基础之数据链路层
计算机网络:IP网络基础五层模型之数据链路层。
编辑于2020-11-16 11:06:18IP网络基础之数据链路层
以太网帧
格式
由TCP/IP协议簇中的网络层决定
Ethernet Ⅱ帧格式
20世纪80年代
包含类型(type)字段
标识以太帧处理完成之后发送到哪个上层协议处理
IEEE 802.3格式
1983年提出
Ethernet Ⅱ帧格式的Type字段换成长度(Length)字段
Length字段后另外增加了LLC字段和SNAP字段
以太网中大多数使用Ethernet Ⅱ格式
通过MAC地址唯一标识网络设备
标识
通过增加前同步码、帧开始定界符标识一个帧的开始和结束
前同步码
1和0交替码
使接收端的适配器能迅速调整其时钟频率,使其与发送端时钟同步
帧开始定界符
10101011
校验
CRC校验
基本思想
线性编码理论
发送端
根据传送的二进制码序列,产生监督码,附在信息后边
接收端
根据信息码和CRC码之间的规则进行检验
MAC地址
以太网MAC子层所使用的地址
大多数网卡厂商将MAC地址烧入了网卡的ROM中
MAC地址也叫物理地址、硬件地址
MAC地址包含两部分
前24比特是组织唯一标识符,由IEEE同一分配
后24位序列号由厂商自行分配给各个产品的唯一数值
第一字节第7比特为表示本地管理,为0表示全球管理
发送顺序
字节发送顺序第一字节至第六字节
字节内比特发送顺序第8比特至第1比特
帧发送方式
单播
从单一的源端发送到单一的目的端
第一字节第8个比特表示地址类型,固定为0
广播
从单一的源发送到共享以太网的所有主机
目的MAC地址为FF:FF:FF:FF:FF:FF
组播
比广播高效
主机监听特定组播地址
接受并处理目的MAC地址为该组播MAC地址的帧
第一字节第8个比特表示地址类型,固定为1
封装成帧
在上层交付的协议数据单元添加帧头帧尾
帧头、帧尾包含重要的控制信息
作用之一就是帧定界
透明传输
数据链路层对上层交付的传输数据没有任何限制
面向字节的物理链路使用字节填充实现
在数据部分的帧定界符、转义字符之前插入转义字符
转义字符
1个字节
十进制值为27
面向比特的物理链路使用比特填充实现
在数据部分每5个连续的比特1后面插入一个比特0
为提高传输效率,数据部分长度尽可能大
考虑到差错控制等,帧的数据部分均由长度上限
PPP协议
点到点的数据链路层协议
目前是TCP/IP协议中最重要的点到点协议
组成
链路控制协议:LCP
主要用于数据链路的建立、拆除和监控
主要完成参数的协商
MUT(最大传输单元)
质量协议
验证协议
魔术字
协议域压缩
地址和控制域压缩协商
网络控制协议:NCP
协商在该链路上所传输的数据包的格式与类型
建立和配置不同的网络层协议
帧结构
标志
标志帧的开始和结束
0111 1110
地址
1111 1111
控制
0000 0011
协议
区分信息字段所承载的数据报文类型
典型取值
0xC021
LCP数据报文
0x8021
NCP数据报文
0x0021
IP数据报文
0xC023
PAP数据报文
0xC223
CHAP数据报文
信息
默认最大长度补超过1500Byte
校验码
标志
协商过程
链路不可用阶段
链路建立阶段
验证阶段
包括PAP和CHAP
网络层协议阶段
链路终止阶段
验证方式
PAP
两次握手
被验证方明文发送用户名和密码
验证方验证成功返回Ack,失败则返回Nak
CHAP
三次握手
验证方发送用户名和随机报文
被验证方检查是否存在该用户名
存在则利用随机报文、该用户密钥、报文ID通过MD5加密算法生成应答
利用对端保留的口令字、密钥、随机报文、报文ID通过MD5算法生成结果
验证方的结果与被验证方的应答比较,相同则放回Ack,不同则返回Nak
HDLC
面向比特型的数据链路层协议
主站
发送命令帧
接受响应帧
链路控制系统的开启
流程的控制
差错检测
从站
接受命令帧
发送响应帧
配合主站
复合站
即是主站,又是从站
链路配置方式
非平衡配置
平衡配置
操作方式
正常响应方式
适用于不平衡链路结构
由主站控制整个链路的操作
从站只有收到主站明确的允许后,方可响应
异步响应方式
适用于不平衡链路结构
由主站控制整个链路的操作
从站不必收到主站的允许,便可传输数据
异步平衡方式
适用于平衡链路结构
两个方向均需较高的信息传输量
不需要收到命令帧便可发送响应帧
帧结构
标志
标志帧的开始和结束
0111 1110
地址
控制
信息帧
b1:0
b2、b3、b4:N(S)
b5:P/F
b6、b7、b8:N(R)
监控帧
b1、b2:10
b3、b4:S
b5:P/F
b6、b7、b8:N(R)
无编号帧
b1、b2:11
b3、b4:M
b5:P/F
b6、b7、b8:M
信息
校验码
校验范围:地址至信息
标志
帧类别
信息帧
N(S)
该帧序号
N(R)
下个帧序号
监控帧
b2、b3比特含义
00
RR:接收准备好
准备接收N(R)帧
此前各帧已正确接收
01
RNR:接收未准备好
暂停接收N(R)帧
此前各帧已正确接收
10
REJ:拒绝接收
重发N(R)及其之后的帧
此前各帧已正确接收
11
SREJ:选择拒绝接收
只需重发N(R)帧
此前各帧已正确接收
无编号帧
b3、b4、b6、b7、b8比特含义
00 001
SNRM:置正常响应模式
11 000
SARM/DM:置异步响应模式/断开方式
11 100
SABM:置异步平衡模式
00 010
DISC/RD:断链/请求断链
11 001
RESET:复位
10 001
FRMR:帧拒绝
00 110
UA:无编号确认
阶段
数据链路建立阶段
需要用到无编号帧
数据传输阶段
需要用到信息帧、监控帧
数据链路释放阶段
需要用到无编号帧
可靠传输
差错类型
比特差错
分组失序
分组丢失
分组重复
可靠传输服务
发送端发送什么,接受端便接受什么
不可靠传输服务
仅丢弃有误码的帧
使用差错检测技术检测是否有误码
有线链路
误码率较低
不要求数据链路层提供可靠传输服务
可靠传输问题由其上层处理
无线链路
误码率较高
要求数据链路层必须提供可靠传输服务
差错检测
比特在传输过程中可能会产生差错,称为比特差错
一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER
奇偶校验
在待发送数据后添加一位奇偶校验位
使“1”的个数为偶数则为偶校验
使“1”的个数为奇数则为奇校验
当偶数个比特出现错误,无法检测出来
循环冗余校验CRC(Cycle Redundancy Check)
约定好一个生成多项式
发送方
构造被除数
待发送信息后面添加生成多项式最高次数个0
构造除数
生成多项式各项系数构成的比特串
做“除法”
位数足够商“1”,后异或
位数不足商“0”,从被除数中获取一位
检查余数
余数位数应与生成多项式最高次数相同,不同则在余数前补“0”至相同
接收方
构造被除数
接收到的信息即为被除数
构造除数
生成多项式各项系数构成的比特串
做“除法”
位数足够商“1”,后异或
位数不足商“0”,从被除数中获取一位
检查余数
余数为0,则无误码
余数不为0,则产生了误码
只能检测错误,无法定位错误,故无法纠错