链路层环境的重要特点
- 一条端到端路径上的不同单端链路可运行不同的链路层协议
- 每种链路层协议提供的服务可能不同(提供可靠交付/不可靠交付)
- 通信环境较为简单
网络适配器
每个节点通过网络适配器与网络连接,俗称网卡
作用:
- 进行串行并行的转换
- 对帧进行缓存
- 帧的发送与接收
- 帧的封装与解封
- 差错检测
- 实现链路层协议
链路层的三个基本问题
1.封装成帧
在一段数据前后分别添加首部和尾部,数据部分不得大于最大传输单元(MTU),MTU由硬件决定
2.透明传输
传输过程中数据部分中出现了EOT或者SOH都会造成帧的破坏
解决办法:字节填充或者字符填充,在接收端的数据链路层将数据送往网络层之前删除插入的转义字符
如果出现转义字符在数据当中,应该在转义字符前插入一个转义字符,接收端收到连续两个转义字符就会删除前面一个
3.差错检测
有两种处理帧出现的差错
- 检错重传:接收方检测到报文受损,就通知发送方重传该报文的副本
- 向前纠错(FEC):纠错通过预先发送的额外信息进行,而不是等待重传的信息
4.校验技术
- CRC循环冗余校验
以太网MAC帧的格式
无效的MAC帧
-
数据字段长度与长度字段的值不一样
-
帧的长度不是整数个字节
-
用收到的帧检验序列FCS查出有差错
-
数据字段的长度不在46~1500字节之间
-
帧长度不在64~1518字节之间
对于查出的无效MAC 帧就简单地丢弃,以太网不会重传丢弃的帧