《计算机网络》课程笔记 (Ch06-链路层和局域网)
链路层将数据报通过单一通信链路从一个节点移动到相邻节点。节点即主机和路由器。链路层提供了差错检测和纠正、流量控制(没有拥塞控制)、半双工和全双工通信服务。主机的链路层主体部分是在网络适配器(网卡)中实现的,路由器是在接口卡中实现的。
差错检测和纠正
奇偶校验
使得信息位+校验位(即全体位)中1的总数为奇/偶数,可检测奇数个比特差错。通常习惯使用偶校验。
二维奇偶校验
检测和纠正单个甚至多个比特位差错;可检测出除相互补偿的偶数个错误。通过横向和纵向出错位的交叉点来确定比特错误位置。
校验和
参考TCP/UDP章节相关。只能进行差错检测,不能进行差错恢复。
注:TCP和UDP中对所有字段都计算校验和,而IP只对头部计算校验和。
CRC循环冗余校验码
也称为多项式编码,使用最广泛。
例题:
多路访问链路和协议
由于多个节点共享一个传输信道,当两个以上的节点同时传输时,帧会发生碰撞,导致帧丢失和信道浪费。多路访问协议就是为了规范节点在共享信道上的传输行为。
信道划分类协议
主要思想是将信道划分为片段,分配给每个节点。
注:带宽=大小×时间,单位如bps
-
FDM频分复用
将总带宽为R的信道按频率进行N等分
- 优点:非常公平,彻底消除碰撞
- 缺点:效率不足,即使有空闲频率,也只能使用R/N的带宽
-
TDM时分复用
给每个设备分配时间片
- 优点:非常公平,彻底消除碰撞
- 缺点:效率不足,即使有空闲时间片,也要等待轮次,且也只能使用R/N的带宽
-
CDMA码分多址
在编码空间上进行划分。每个节点用不同的编码方式对数据进行编码。如果精心选择编码,不同节点能够稳定地同时传输。
随机接入类协议
一个节点总是以全速进行发送,当有碰撞时,等待一个随机时延后重发,反复上述过程直到发送成功。
-
时隙ALOHA
节点在下一个时隙(时间片)开始时,在该时隙传输整个帧。如果碰撞,可以在该时隙结束前检测到,之后以概率p在后续每个时隙中重传,直到该帧被正确传输。
N趋于无穷时,效率为1/e。
- 优点
- 当某节点唯一活跃时,可以按全速R传输
- 协议比较去中心分散化,实现简单
- 缺点
- 不能避免碰撞,会造成时隙浪费
- 可能带来空闲时隙,造成时隙浪费
- 需要进行碰撞检测、时隙同步
- 优点
-
纯ALOHA
当帧首次到达时,立刻进入广播信道。如果发生碰撞,则立刻以概率p重传,或者以概率1一p等待一个单位时间后重传。
- 优点:没有时隙概念,完全去中心分散化
- 缺点:N趋于无穷时,效率为1/2e,是时隙ALOHA的一半
-
CSMA 载波侦听多路访问
“说前先听”。在传输前如果侦听到另一个节点正在发送,则等待直到一小段时间内没有传输,才开始发送。
-
问题:仍然不能避免碰撞发生
-
原因:传播时延的存在
D开始发送的时间点 和 B了解到D正在发送的时间点 存在延迟
-
发生碰撞后,整个帧传输时间都被浪费
-
传播时延对发生碰撞的概率起决定性作用
-
-
-
CSMA/CD 带碰撞检测的载波侦听多路访问
“说前先听”,“边说边听”。传输时一直侦听信道。 如果检测到另一个节点正在传输,就停止传输,并用指数回退算法确定应该在什么时候再尝试下一次传输。
-
A需要单程传播时延的2倍的时间,才能检测到与B的发送产生了冲突
-
二进制指数后退算法:当第m次碰撞后, 从整数集合{0,1,2, …, 2^(m-1)}中随机一个整数K,等待K*512比特时间后继续
-
效率高于ALOHA,分散,简单
-
轮流类协议
-
轮询协议
主节点以循环的方式轮询每个节点,告知可发送的最大帧数
- 问题
- 引入了轮询时延
- 中心化,主节点故障会影响整个信道
- 问题
-
令牌传递协议
没有主节点,一个令牌帧在节点之间以某种固定次序进行交换。节点收到令牌时,若有帧要发送,就持有这个令牌,并发送最大数据的帧数;否则,立即向下一个节点转发该令牌。
- 问题:一个节点的故障会影响整个信道
交换局域网
指的是由二层交换机互联的网络。
链路层寻址
链路层的设备(实际上是网络适配器,即网卡)具有MAC地址(物理地址)。注意:链路层交换机的接口没有MAC地址(而三层上,路由器的接口有IP地址)。
在同一个子网内,利用MAC地址进行寻址。适配器收到一个帧时,MAC地址与自己不匹配的就丢弃。
MAC地址的广播地址为FF-FF-FF-FF-FF-FF。
地址解析协议ARP
负责将IP解析为MAC地址。主机和路由器会维护一张ARP表,记录[IP, MAC, TTL],而二层交换机没有。、
ARP的作用范围是同一个局域网内部。ARP请求是通过IP查询MAC。
将数据报发送到子网外
- A构建数据报,源IP为A,目的IP为B
- A将该数据报封装成帧,源MAC为A,目的MAC为R的左边接口
- R收到帧后,取出IP数据报
- R将该数据报封装成帧(不改变IP配置),源MAC为R的右边接口,目的MAC为B
- B收到帧后,取出IP数据报
以太网交换机
- 二层设备
- 交换机表自学习,即插即用,表项为[MAC, interface, TTL]
- 不会发生碰撞
- 能够借助交换机表进行帧的转发和过滤
- 未找到对应表项就广播,找到就转发到对应接口
VLAN技术
支持VLAN的交换机可以在单一的物理局域网上定义多个二层隔离的虚拟局域网,从而达到分割广播域的目的。这也使得不同VLAN之间的互访必须借助路由器。通常使用基于端口划分的VLAN。
* 链路虚拟化
使用MPLS(多协议标签交换)技术,基于固定长度标签(而不是目的地IP地址)和虚电路技术,让路由器加快转发速度(不改变基础设施)。
Web页面请求的过程
-
机器接入Internet阶段
- 利用DHCP获得IP分配
-
机器访问网站阶段
-
DNS查询
-
ARP查询
-
与服务器建立TCP连接
-
HTTP请求和响应
-