计算机网络:自顶向下 第二章笔记 链路层和局域网
Posted mayunfei233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络:自顶向下 第二章笔记 链路层和局域网相关的知识,希望对你有一定的参考价值。
目录
目标
- 了解数据链路层服务背后的原理:
1.错误检测,纠正
2.共享广播信道:多路访问
3.链路层寻址
4.可靠的数据传输,流量控制(后期) - 各种链路层技术的实例化和实现
2.1链路层介绍及业务
2.1.1专业术语
- 主机和路由器都是节点(nodes)
- 沿着通信路径连接相邻节点的通信通道称为链路(links):有线,无线,局域网
- 链路层的分组称为帧(frame)封装(encapsulates)了数据报(datagram)
数据链路层负责在链路上将数据报从一个节点传输到相邻节点
注意:
- 数据报在不同链路上遵循不同链路层协议
- 每个链路协议提供不同服务
2.1.2链路层服务
2.1.2.1成帧(framing)
- 将数据报封装到帧中,添加头、尾
2.1.2.2链路接入(link access)
- 媒体访问控制协议MAC规定帧在链路的传播规则,MAC协议用于协调多个节点的帧传送
2.1.2.3可靠交付(Reliable delivery)
- 保证无差错的经链路层移动每个网络层数据报
- 用于易产生高差错率的链路,如无线链路
- 本地纠错而不是交给应用层或运输层协议重传
2.1.2.4 流控制(Flow Control)
- 控制临近的发送节点和接收节点间的流量
2.1.2.5错误检测(Detection)和纠正(Correction)
- 由于信号衰减和噪声引起的比特误差 0变1,1变0
- 发送端发送校验比特,接收端根据相关方法检测或直接改证错误
2.1.2.6半双工和全双工(Half-duplex and full-duplex)
- 使用半双工,链路两端的节点都可以传送,但不能同时传送
- 全双工可以同时传送
2.1.3链路层在哪里实现
- 每个主机上实现
- 主体部分在网络适配器也叫网络接口卡(network interface card , NIC)上实现的,它既实现物理层也实现链路层
- 连接到主机的系统总线
- 硬件,软件,固件的组合
发送端:
将数据报封装成帧
加入差错校验位、rdt、流量控制
接收端:
检查错误、rdt、流量控制
提取数据报,传递给接收端的上层
2.2错误检验和纠正
EDC------Error Detection and Correction bits (redundancy)错误检验和校正位
注意:
- 错误检验不是百分百可靠
- 协议可能错过一些错误,但很少
- 更多位的EDC可以更好的检验和校正错误
2.2.1奇偶校验法(Parity Checking)
2.2.1.1单个奇偶校验位
假设图中要发送的信息有d位
对于偶校验,校验位添加一个1或0使这d+1位中有偶数个1
奇校验法同理
单个位奇偶校验只能检查出奇数个比特差错,未检测出错误的概率为50%
2.2.1.2二维奇偶校验
将d位比特划分为i行j列,对每行每列计算奇偶值,产生的i+j+1位比特组成奇偶校验比特
- 对于单个比特位错误,二维奇偶检验可以检测并纠正错误位
- 尽管现在是对d位信息进行校验,但是对于单个比特位的校验位出错,该方法也能检验并纠正
- 该方法还可以检验同一分组中两个比特的任意差错组合,但是不能纠正
2.2.2检验和方法
因特网检验和(Internet checksum)----只用于传输层
发送端:
- 将数据的字节当作16位整数对待
- 求和,并将和的反码作为检验和
- 将检验和放入报文段首部
接收端:
- 将和取反码,检验结果是否都是1
- 有0证明出错
2.2.3循环冗余检测(Cyclic Redundancy Check,CRC)
下式:
5 / 2 = 2……1
5是被除数,相当于要传数据
2是除数,相当于生成多项式
1是余数,相当于FCS帧检测序列/冗余码
最终发送端要发送的数据:5+1=6
接收端接收到的数据:6/2(生成多项式)=3……0
余数是0证明没有错误
举个例子:
要发送1101 0110 11采用CRC生成多项式为10011(题里一般会给),最终发送?
最终发送=要发数据+FCS帧检验序列
首先计算冗余码:
- 加0:假设生成多项式的阶数为r,则在要发数据后直接加r个0
- 模2除法:加0之后与生成多项式进行模2除法(异或操作),余数则为冗余码/FCS
这里的生成多项式:10011
他的阶数为4:n位就是(n-1)阶
异或运算:
2.3多路访问协议(MAC)
两种类型链路:
点对点(point-to-point)
- 拨号接入的PPP协议---点对点协议
- 以太网交换机和主机之间的点对点链路
- HDLC高级数据链路控制
广播(用导线或介质)
- 传统以太网
- HFC回传
- 802.11无线局域网
2.3.1理想的多路访问协议
广播信道速率为R bps
- 当一个节点想要传输时,它可以以R的速率发送
- 当M个节点想要传输时,每个节点可以以平均速率R/M发送
- 全分散控制:
没有特殊的节点来协调传输
不同步时钟,插槽 - 简单
2.3.2信道划分协议
- 分割频道
- 随机访问
- 轮流
2.3.2.1TDMA时分多路复用
一个采取TMDA的鸡尾酒会将允许每个聚会客人在固定的时间段发言,然后再允许另一个聚会客人发言同样时长,以此类推。一旦每个人都有了说话机会,将不断重复这种模式。
2.3.2.2FDMA频分多路复用
FDMA与TDMA有相同的优缺点:
- 都避免了碰撞
- 在信道传输速率为Rbps的情况下,均为R/n,即使信道只有一个节点在发送数据(浪费资源)
2.3.2.3CDMA码分多址协议
- 对每个节点编码
- 对每个节点发送的数据进行编码
- 不同的节点即使同时发送,对应的接收方也可以正确的接收到编码后的比特,抗干扰能力强。
- 以前用于军用,现在用于民用(蜂窝网络)
2.3.3随机(Random)访问协议
- 以全部速率R传输
- 发送前不去检验信道是否占用
- 碰撞(collision)时,涉及碰撞的每个节点反复重发帧
2.3.3.1时隙(Slotted)ALOHA
假设:
- 所有帧都是L比特
- 时间被划分成L/R的时隙(一个时隙只发送一帧)
- 节点只在时隙开始时传帧
- 节点同步,每个节点都知道时隙何时开始
- 如果在一个时隙中有两个或多个帧碰撞,所有节点都能在时隙结束前检测到该碰撞事件
令p为一概率,在0到1之间。在每个节点中,时隙ALOHA的操作是简单的
- 当节点有帧传输时,等到下一个时隙开始在发送
- 没碰撞就成功传输,准备下一帧
- 碰撞了,在时隙结束之前检测到碰撞,以概率p在后续的每个时隙中发送,知道帧成功发送出去。
特点:
- 在只有一个节点发送数据时可以全速发送,不会浪费资源
- 高度分散,每个节点在检测到碰撞后独立选择何时重传
- 要求各节点对时隙同步
**效率:**信道中真正成功传输帧的时隙37%,26%的时隙有碰撞
2.3.3.2纯ALOHA
纯ALOHA的操作:
- 不分时隙,收到帧就立刻近入广播信道
- 如果发生碰撞,(完全发送完碰撞帧后)立刻以P概率重传,或者等待一个帧时间,再以p概率重传
效率:18%
2.3.3.3CSMA载波监听多路访问
在传输帧之前先监听。如果信道空闲,直接传输帧,如果信道繁忙,等待空闲在传输
CSMA碰撞: 碰撞依然存在
端到端的信道传播时延在决定性能方面有重要作用,时延越高,检测出错概率越大
2.3.3.4CSMA/CD具有碰撞检测的载波监听多路访问
- 在短时间内检测到碰撞
- 碰撞传输中断,减少信道损耗
碰撞检测:
- 在有线局域网中很容易:测量信号强度,比较发送和接收信号
- 无线局域网的困难:发射时接收机关闭
2.3.4轮流访问协议(Taking turns)
2.3.4.1轮询协议(polling)
- 主节点依次“邀请”从节点进行传输
- 典型的哑的“主从设备”
- 问题: 产生新时延:轮询时延,如果主节点故障,整个系统无法工作
2.3.4.2令牌传递(token passing)协议
- 控制令牌按顺序从一个节点传递到下一个节点
- 无主节点
- 令牌到手里,有帧要发就发送最大数目,否则立刻传给下一个节点
缺点:
- 一个节点故障可能会使整个系统崩溃
- 如果一个节点忘记释放令牌,必须采用某些恢复步骤去恢复
2.3.5DOCSIS:用于电缆因特网接入的链路层协议
- 实现了前三种协议!
一个电缆接入网通常在电缆网头端将几千个住宅电缆调制解调器与一个电缆调制解调器端接系统(CMTS) 连接。
上行(upstream):调制解调器到CMTS
下行(downstream):CMTS到调制解调器
DOCSIS使用FDM将上下行网段分为多个频率信道
每个下行信道:宽6MHz,40Mbps吞吐量
每个上行信道:宽6.4MHz,30Mbps吞吐量
都是广播信道,不过由于下行只有一个CMTS到调制解调器,所以不存在多路访问问题,不过在上行信道就不同了
DOCSIS使用TDM将上行信道划分时间间隔
- 通过下行MAP帧控制哪一个调制解调器在该微时隙传输报文,所以上行报文没有碰撞传输
- 但是CMTS最开始是如何知道哪个调制解调器是有请求的?
- 上行信道中会有一些特殊的微时隙:在这些时隙里调制解调器会发送请求帧,此时可能会发生碰撞,调制解调器通过CMTS之后的下行控制报文是否含有响应来判断是否具有碰撞。
- 如果上行信道流量很少,调制解调器也会在请求帧时隙中发送实际传输数据帧
2.3.5多路访问协议总结
2.3.6局域网技术(LAN)
到此我们已经完成了数据链路层的:
- services---------------------------服务
- error detection/correction-----差错检测/纠正
- multiple access -----------------多路访问
接下来:局域网技术
- addressing----------寻址
- Ethernet--------------以太网
- hubs, switches-----集线器、交换机
- PPP-------------------点对点通信协议
以上是关于计算机网络:自顶向下 第二章笔记 链路层和局域网的主要内容,如果未能解决你的问题,请参考以下文章
王道考研 计算机网络13 局域网 以太网 FDDI网 ATM网 适配器 MAC地址 IEEE802.11标准 无线局域网 数据链路层的MAC子层和LLC子层