计算机网络第三章知识摘要
使用点对点信道的数据链路层
五层协议的体系结构
链路层负责将网络层交下来的IP数据包组装成帧,在两个相邻节点间的链路上透明的传输帧。
透明:不管所传数据是什么样的比特组合,都应当能够在链路上传送。当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
使用信道:
数据链路层使用的信道主要有两种类型:
- 点对点信道:使用一对一的点对点通信方式
- 广播信道:一对多的通信方式,需要使用专用的共享信道协议来协调主机的数据发送
数据链路与帧
链路
链路是一条无源的点到点的物理线路段,中间没有任何交换结点
数据链路
除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些硬件与软件加到链路上,就构成了数据链路。
现在最常用的方法是使用适配器来实现这些协议的硬件和软件
数据链路层的三个基本问题
封装成帧
封装成帧就是在一段数据的前后分别添加首部和尾部,构成了一个帧。
帧是数据链路层传输的基本单位
高中学过生物的都知道,DNA的表达是需要进行转录与翻译的,而每段基因的开头都会有一个启动子表明要在这里开始转录,帧的首部就是这样一个道理。在一段数据的开头加入首部表明这是一段数据的开始。首部和尾部的一个重要作用就是进行帧定界。
每一种数据链路层都规定了数据部分的长度上限——最大传送单元MTU
透明传输
在帧定界时,使用EOT字段(二进制为0000 0100)作为一个帧的结束,在接收端识别到这个字段时,将会停止接收。但是如果在数据内容中,恰好出现了一段二进制字段,符合0000 0100,那么这段数据就会被认为是EOH,接收端便会停止接收,而后面的内容会被当作无效帧被丢弃。
解决方法
- 发送端的数据链路层在数据中出现SOH、EOT的前面插入一个转义字符“ESC”
- 字节填充/字符填充:接收端的数据链路层在将数据送往网络层之前删除插入的转义字符
- 如果转义字符也出现在数据内容中,则在转义字符前加入转义字符,当识别到两个转义字符时删除前面的一个。
差错检测
传输过程中因为物理信道的原因可能会导致0变成1或1变成0
误码率
在一段时间内,错误传输的比特数占所传输的比特总数称为误码率,误码率与信噪比有很大关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用差错检测措施
循环冗余检验CRC
- 在发送端,先将数据划分为组,在一组的数据M后面添加供差错检验的n位冗余码一起发送
- 用二进制的模二运算进行2n乘M运算,相当于在M的后面添加n个0
- 将得到的(k+n)位数除以事先选定好的长度为(n+1)的除数P,得出余数是R,余数比除数少一位,即R是n位。
计算举例:
k = 6,M = 101001.
设n = 3,除数 P = 1101,
被除数就是2nM = 101001000
模二运算的结果就是商Q = 110101,R = 001
发送的数据就是:2nM + R =101001001
接受端对收到的每一帧进行CRC校验,用生成多项式表示CRC的除数
如G(X) = X3+X2+1表示1101
注意: 仅使用CRC校验技术只能做到无差错接受,要做到
可靠传输
(发送什么就收到什么)就必须加上确认
和重传
机制
点对点协议PPP
协议的特点
1.PPP协议应满足的需求
2.PPP协议不需要的功能
3.PPP协议的组成
PPP协议的帧格式
透明传输问题
- 异步传输——字节填充法
- 同步传输——比特填充
不提供使用序号和确认的可靠传输
PPP协议的工作状态
使用广播信道的数据链路层
局域网的数据链路层
媒体共享技术
- 静态划分信道: 频分复用、时分复用、波分复用、码分复用
- 动态媒体接入控制:随机接入、受控接入(令牌环网)
以太网的两个标准
- DIX Ethernet V2 是世界上第一个局域网产品的规约
- IEEE 的 802.3 标准
数据链路层的两个子层
- 逻辑链路控制LLC子层
- 媒体接入控制MAC子层
适配器的作用
CSMA/CD协议
载波监听多点接入/碰撞检测
多点接入:计算机以多点接入的方式连接在一根总线上
载波监听:每个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据,如果有则暂时不要发送数据,以免发生碰撞
碰撞检测:计算机边发送数据边检测信道上的信号电压大小。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大,超过一定门限值时,就表示总线上至少有两个站在同时发送数据,表明产生了碰撞。
碰撞的结果是两个帧都变的无用
争用期
最先发送数据帧的站,在发送数据帧后至多经过时间2τ(τ = 相邻两个结点间信道长度/信号在介质上的传播速率)就可以知道发送的数据帧是否遭受了碰撞,经过争用期后还没有检测到碰撞,才能肯定这次发送不会产生碰撞
截断二进制指数退避算法
发生碰撞的站在停止发送数据后,要推迟一个随机时间后才能再发送数据
- 确定基本退避时间,一般是取2τ
- 定义重传次数k,k<=10
- 从整数集合[0,1,…,(2k-1)]中随机取出一个数,记为r。重传所需的时延就是r倍的基本退避时间
- 重传达16次仍不能成功时即丢弃该帧,并向高层报告
- 以太网取51.2μs为争用期的长度
最短有效帧长
对于10Mbps的以太网,在争用期内可以发送512bit,即64字节。如果发生冲突,那么就一定在发送的前64个字节之内。由于一检测到冲突就立即中止发送,已经发送出去的数据一定小于64字节。
以太网规定了最短有效帧长为64字节,凡是长度小于64字节的帧都是由于冲突而异常中止的无效帧。
强化碰撞
当发送数据的站一旦发现发生了碰撞时,立即中止发送数据,再继续发送32或48比特的人为干扰信号,以便让所有用户都知道现在已经发生了碰撞。
帧间最小间隔
对于10Mbps的以太网来说,帧间最小间隔为9.6μs,相当于96bit的发送时间。一个站在检测到总线开始空闲后,还要等待9.6μs才能再次发送数据,为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。
使用星形集线器的拓扑
传统以太网最初使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为更便宜更灵活的双绞线
星形网10BASE - T
10:表示速率为10Mbps
BASE:连接线上使用基带信号
T:使用双绞线
集线器在逻辑上还是总线结构,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线。
以太网的信道利用率
以太网的信道被占用的情况:
- 争用期长度为2τ
- 帧长为L,数据发送速率为C,因而帧的发送时间为L/C = T0。
参数a
要提高以太网的信道利用率,就要减少τ与T0之比,在以太网中定义了参数a,是以太网单程端到端时延τ与帧的发送时间之比
a
=
τ
/
T
0
a = τ/T0
a=τ/T0
(不太会用KaTe X这玩意)
对以太网参数的要求:
- 当数据率一定时,以太网的连线的长度受到限制,否则τ的数值会太大。
- 以太网的帧长不能太短,否则T0的值太小,使a值太大
以太网的MAC层
在以太网中,硬件地址又称为物理地址,或MAC地址(48位)
IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(即高位24位) ,地址字段中的后三个字节由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。
MAC帧的格式
常用的以太网MAC帧格式有两种标准:
- DIX Ethernet V2 标准
- IEEE 的 802.3标准
- 最常用的是以太网V2的格式
两种格式唯一的区别在于,V2 标准表示协议类型的字段在802.3标准中是表示数据长度的字段
V2 标准的MAC帧格式
字段长度(单位:字节) | 表示内容 |
---|---|
7 | 前同步码 |
1 | 帧定界开始符 |
6 | 目的地址 |
6 | 源地址 |
2 | 协议类型 |
46~500 | 数据内容 |
4 | FCS |
扩展的以太网
还没整理完,等后续hhh