计算机网络数据链路层
1、数据链路层
- 功能:将网络层交下来的数据报组装成帧,在两个相邻结点间的链路上传送以帧为单位的数据
- 数据单位:帧
2、数据链路层使用的信道
- 点对点信道
这种信道使用一对一的点对点通信方式- 广播信道
使用一对多的广播通信方式
因此必须使用专用的共享信道协议来协调这些主机的数据发送
3、数据链路层的三个基本问题
3.1 封装成帧
- 在一段数据的前后分别添加首部和尾部,构成一个帧
- 首部和尾部的一个重要作用就是进行帧定界
- 用控制字符进行帧定界的方法
3.2透明传输
- 如果数据中的某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误地“找到帧的边界”
- 解决方法:字节填充 or 字符填充
数据中如果出现控制字符“SOH”、“EOT”的前面插入一个转义字符“ESC”
数据中有转义字符的,需要在转义字符前面也加一个转义字符
3.3 差错控制
- 传输过程中可能出产生比特差错:1变成0,0变成1
- 误码率 BER:传输错误的比特所占传输比特总数的比率
- 误码率与信道比有很大关系
- 为了确保数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施(循环冗余检验)
4、PPP协议
4.1 应满足的要求
- 简单(首要要求)
- 封装成帧(帧定界符)
- 透明性(数据传输的透明性)
- 多种网络层协议
- 多种类型链路
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
4.2 不需要的功能
- 纠错
- 流量控制
- 序号
- 多点线路
- 半双工或单工链路
4.3 三个组成成分
- 一个将IP数据报封装到串行链路的方法
- 链路控制协议LCP
- 网络控制协议NCP
4.4 帧格式
- 标志字段F = 0x7E,地址字段A只置为0xFF,控制字段C通常设为0x03
- 面向字节,所有的PPP帧长度都是整数字节
4.5 透明传输的实现
- 比特填充(PPP用在同步传输链路中)(SNOET/SDH链路中)
发送端,只要发现有五个连续1,则立即填入一个0- 字符填充(异步传输)
0x7E转变为(0x7E,0x5E)
0x7D转变为(0x7D,0x5E)
ASCII控制字符(小于0x20的字符),则该字符前面要加一个0x7D字节,同时将该字符的编码加以改变
4.6 差错控制(循环冗余检测)
- PPP协议中不提供使用序号和确认的可靠传输
- 循环冗余检测
- 循环冗余检测只能做到无差错接受
- 要做到“可靠传输”就必须再加上确认和重传机制
5、局域网拓扑结构
- 星形网
- 环形网
- 总线网
- 多级星形网
6、局域网
- 特点
网络为一个单位所拥有
地理范围和站点数目均有限
6.1 传输媒体
铜缆:双绞线、50Ω同轴电缆
光缆(最高10Gb/s)
无线媒体
6.2 媒体共享技术
- 静态划分信道
频分复用
时分复用
波分复用
码分复用- 动态媒体接入控制(多点接入)
随机接入
受控接入(多点线路探寻,轮询)
7、CSMA/CD协议
7.1 工作过程
多点接入
表示许多计算机以多点接入的方式连接在一根总线上载波监听
每个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,暂时不要发送数据,以免发生碰撞
总线上并没有什么“载波”,“载波监听”就是用带脑子技术检测总线上有没有其他计算机发送的数据信号碰撞检测
计算机边发送数据边检测信道上的信号电压大小
“碰撞”就是发生了冲突,因此“碰撞检测”也称为“冲突检测”
为什么进行碰撞检测?
由于电磁波在总线上的传播速率是有限的,当某个站将听到总线是空闲时,也可能总线并非真正是空闲的
检测到碰撞后
停止发送
强化碰撞
停止发送后,再继续发送若干比特人为干扰信号,以便让所有用户都知道现在已经发生了碰撞
7.2 重要特性
- 使用CSMA/CD协议的以太网不能进行全双工通信,而只能进行双向交替通信(半双工通信)
- 在发送数据后的一小段时间内,存在着草鱼碰撞的可能性
- 发送的不确定性使整个以太网的平均通信量小于以太网的最高数据率
7.3 争用期
- 最先发送数据帧的站,在发送数据帧后之多经过2RTT(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞
- 以太网的端到端往返时延2RTT称为争用期,或碰撞窗口
- 经过争用期这段时间没有检测到碰撞,才能肯定这次发送不会发生碰撞
- 10Mbit/s以太网取51.2微秒为争用期的长度
- 对于10Mbit/s以太网在争用期内可发送512bit,即64字节
这也意味着:以太网在发送数据时,若前64字节没有发生冲突,则后续的数据就不会发生冲突
7.4 最短帧长
- 最短有效帧长为64字节(10Mbit/s)
- 凡长度小于64字节的帧都是由于冲突而异常中止的无效帧
8、集线器
- 使用集线器的以太网在逻辑上仍是一个总线网
- 各工作站使用的还是CSMA/CA协议,并共享逻辑上的总线
- 集线器很像一个多接口的转发器,工作在物理层
- 扩展以太网可以:扩大网络覆盖地理范围、增大碰撞域
9、以太网信道利用率
以太网总的信道利用率并不能达到100%
成功发送一个帧需要占用信道的时间是T0 + τ,比这个帧的发送时间要多一个单程端到端时延τ
要提高以太网的信道利用率,就必须减少τ与T0之比。在以太网中定义了参数α。它是以太网单程端到端时延τ与帧的发送时间T0之比:α = τ / T0
- α→0,表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。
- α越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
对以太网参数α的要求:
- 当数据率一定时,以太网的连线的长度受到限制,否则τ的数值会太大
- 以太网的帧长不能太短,否则T0的值会太小,使α值太大
理想情况下的极限信道利用率Smax为:Smax = T 0/( T 0 + τ) = 1 /(1 + α )
10、以太网的MAC层
10.1 解决的问题
- 媒体共享技术(CSMA/CD)
- 寻址
10.2 MAC层的硬件地址
硬件地址(物理地址)(MAC地址)
每一个站的“名字”或标识符
如果一个主机或路由器安装有多个适配器,那么这样的主机或路由器就有多个“地址”
48位的MAC地址
地址字段的第一字节的最低位位I/G位
I/G位=0:地址字段表示一个单站地址
I/G位=1:表示组地址,用来进行多播(以前译为组播)第一字节的最低第2位为G/L位
G/L位=0:全球管理,厂商向IEEE购买的OUI都属于全球管理
G/L位=1:本地管理,用户可任意分配网络上的地址发往本站的帧
单播帧
广播帧
多播帧
只有目的地址才能使用广播地址和多播地址
10.3 MAC帧格式
- DIX Ethernet V2标准(最常用)
- MAC帧:6字节目的地址+6字节源地址+2字节类型+46~1500字节数据+4字节FCS字段
- 数据字段的最小长度位46字节,最大长度为1500字节
- -有效的MAC帧长度为64~1518字节
- 帧间最小间隔:9.6us,相当于96bit的发送时间
- IEEE的802.3标准
11、以太网交换机的交换方式
- 存储转发方式:把整个数据帧先缓存后再处理
- 直通方式:收到数据帧的同时立即按数据帧的目的MAC地址决定该帧的转发接口