笔记总结|【计算机网络】(谢希仁第七版)第三章 数据链路层
计算机网络第三章
三、数据链路层 信道类型:
- **点对点信道:**使用一对一的点对点通信方式
- **广播信道:**使用一对多的广播通信方式。需要使用专用的共享信道协议来协调主机的数据发送
数据链路(逻辑链路):把实现控制数据传输的通信协议的硬件软件加到链路上
一般的适配器(网卡)都包括数据链路层和物理层的功能
数据链路层传送的是帧
数据链路层不要求可靠传输
封装成帧
形成:在一段数据的前后分别添加首部和尾部构成一个帧。首部和尾部可以实现帧定界
帧的数据部分就是封装过的IP数据报,最长的数据部分称为最大传输单元MTU
SOH帧开始符,EOT帧结束符都是特定组合的比特序列
透明传输
问题:数据中某个字节出现了恰好和SOH或者EOT相同的序列,接收端会接受到一个错误的帧,剩余数据部分当作无效帧丢弃
实现方法:**字节填充(字符填充)**主要用在异步传输网络。通过添加转义字节序列ESC实现透明传输
差错检测
误码率(误比特率):传输错误的比特占所传输比特总数的比率
循环冗余检验CRC:
原理:
- 假设每组数据M为k个比特,在M后面加上供差错检测的n为冗余码
- 冗余码计算:①先在M后面加上n个0;②此时M变成k+n位数,令其除以(模2运算的除法)自定义的n+1位的除数P,得商Q,余数R。余数R比除数P少一位 ,为n位;③把余数R作为冗余码拼接到原始的M后面发送
- **冗余码检验:**接受到带有冗余码的数据后,令其除以同样的除数P,如果能除尽则数据正确,如果有余数则数据错误,但不能确认错误比特的位置和数量
CRC只能做到无差错接受,即凡是接收端数据链路层接受的帧都没有传输差错,有差错的帧都丢弃不接受。不能做到可靠传输,即不能检测出丢帧的情况。CRC只能检测一个帧内的情况,不能判断帧间的关系
**可靠传输:**不重复、不丢失、不失序
点对点信道
使用的是PPP协议
PPP协议组成:
- 一个将IP数据报封装到串行链路上的方法
- 链路控制协议LCP
- 网络控制协议NCP
文章图片
透明传输问题:同步传输时采用比特填充;异步传输时采用字符填充
**字符填充:**信息字段中的每一个0x7E转变成0x7D, 0x5E。每一个0x7D转变成0x7D, 0x5D
**零比特填充(比特填充):**在发送端只要发现5个连续的1,则立即填入一个0。因为六个连续的1可能形成0x7E
广播信道
一般用于局域网的数据链路层
使用CSMA/CD协议
媒体共享技术:
- 静态划分信道:频分复用、时分复用、波分复用、码分复用
- 动态媒体接入控制(多点接入):随机接入、受控接入(如轮询)
以太网的两种措施
- 采用无连接的工作方式,因为局域网信道质量好,产生差错概率小,但是是不可靠的交付
- 发送数据都是用曼彻斯特编码,实现了双方的同步,但是所占频带宽度比基带信号增加了一倍
网卡。包括物理层和数据链路层。在TCP/IP四层协议中,合并为网络接口层
功能:
- 进行串行/并行转换
- 对数据进行缓存
- 在计算机操作系统安装设备驱动程序
- 实现以太网协议
含义:载波监听多点接入/碰撞检测
多点接入:表示许多计算机以多点接入的方式连接在一根总线上
载波监听:每一个站在发送数据之前要检测一下总线上是否还有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
碰撞检测:计算机边发送数据边检测信道上的信号电压大小。当一个站检测到信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站在同时发送数据,表明发生了碰撞
如果网络中不会发生碰撞,则无需使用CSMA/CD协议
若单程端到端传播时延记为τ,A从发送数据到接受数据的时间为t。若t < 2τ,则一定发生了碰撞;若t ≥ 2τ,则未发生碰撞。2τ是检测A发送的数据未发生碰撞所用的最小时间,称为争用期或碰撞窗口,如果争用期中没有检测到碰撞,这次发送就一定不会发生碰撞
使用CSMA/CD协议的以太网不能进行全双工通信而只能进行半双工通信
发生碰撞停止发数据后,要推迟一个随机数r倍的基本退避时间后再发送。基本退避时间取为争用期2τ
当重传达16次仍不能成功时则丢弃该帧,并向高层报告
争用期长度2τ值为51.2μs,以太网发送速率为10Mbit/s,所以至少能发送64个字节,为以太网中的最短帧长。如果收到的数据帧小于64字节,则数据发生了冲突成为无效帧,又称残帧。如果大于等于64字节说明这次发送不会发生碰撞
强化碰撞:发送站发现发生碰撞后,停止发送数据,再继续发送若干比特的人为干扰信号
要点:①准备发送;②检测信道;③检查碰撞
信道利用率最大值 S m a x = T 0 T 0 + τ = 1 1 + τ T 0 S_max = \frac{T_0}{T_0+τ} = \frac{1}{1+\frac{τ}{T_0}} Sm?ax=T0?+τT0??=1+T0?τ?1?
以太网的MAC层:
硬件地址:物理地址、MAC地址。每个站的标识符
每个网卡都有一个唯一的MAC地址
MAC地址是48位的,前24位为生产厂家的标识符,后24位为厂家赋予产品的标识符,没有重复地址
适配器接收到帧后会检查MAC帧中的MAC地址,如果是发往本站的帧,则接收并处理;如果不是,则丢弃该帧
如果是发往全体站的帧,则帧中的MAC地址是FFFFFFFFF
文章图片
MAC地址放在帧的头部
前同步码不属于帧的内容,既不是帧头,也不是帧尾。帧由上层传下来的IP数据报和数据链路层添加的首部与尾部组成
网桥:
根据MAC帧的目的地址对收到的帧进行转发和过滤
网桥接受到数据后不是立即转发,而是先变成帧,检测一下目的MAC地址,再转发到某个接口上,或者丢弃
网桥只能连接两个网络。交换机就是多接口的网桥,可以连接多个网络
交换机自动维护交换表:
- 交换表开始是空的
- 收到一个帧时,会把源地址和对应的接口存入交换表
- 如果交换表中没有目的地址对应的接口,则广播出去,寻找目的地址的接口。如果能找到就转发出去;如果没有找到,则丢弃帧
交换机使用生成树协议STP阻止了广播风暴。STP要点是,不改变网络的实际拓补结构,在逻辑上切断某些线路,使得从一台主机到所有其他主机的路径是无环路的树状结构
虚拟局域网VLAN:
由一些局域网网段构成的与物理位置无关的逻辑组,这这些网段具有某些共同的需求。VLAN其实是局域网给用户提供的一种服务,使得VLAN中连在不同交换机下的主机在使用上像连在一个交换机下一样
广播包只在VLAN中传输,只有同一个VLAN中的主机才能接收的到
【笔记总结|【计算机网络】(谢希仁第七版)第三章 数据链路层】对于数据链路层来说,只有同一个VLAN中的主机才能通信。不同VLAN的主机想要通信需要交给网络层来解决
推荐阅读
- 宽容谁
- 我要做大厨
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 增长黑客的海盗法则
- 画画吗()
- 2019-02-13——今天谈梦想()
- 远去的风筝
- 三十年后的广场舞大爷
- 叙述作文
- 20190302|20190302 复盘翻盘