6.1链路层概述
6.2差错检测和纠错
6.3多路访问链路和协议
两种网络链路
- 点到点链路:链路两端各一节点。一个发送一个接收。如P2P。
- 广播链路:多个节点连接到一个共享的广播信道。如以太网和无线局域网。
这里讨论的就是广播链路的信道共享技术。
广播信道要解决的问题
- 传统的广播电视:是单向的广播,一个固定的节点向书多节点发送。
- 计算机网络:广播信道上的节点都能够发送和接收。
这的中心问题:哪个节点以及什么时候获得广播的权利。
解决该问题的技术:多路访问协议(也称多址访问协议)
多路访问协议
目的:协调多个节点在共享广播信道上的传输。避免多个节点同时使用信道,发生冲突,产生相互干扰。
冲突:两个以上节点同时传输帧,使接收方收不到正确的帧(发生冲突的帧都会损失)
特点:多路访问协议可以用到许多网络环境
应具有的理想特性:
- 当一个节点发数据,则它占全部带宽
- 多个节点发数据,则平分带宽
- 完全分散:不需要主节点调节传输,不需要时钟时隙同步
- 简单
类型:
- 信道划分协议
- 随机访问协议
- 轮流协议
6.3.1信道划分协议
信道划分协议
- 时分多路复用:TDMA
- 频分多路复用:FAMA
- 码分多址:CDMA
设信道支持n个节点,传输速率为rb/s
TDMA:
时间划分为时间帧,每个时间帧划分为n个时隙,分别分配给n个节点。每个节点只在固定分配的时隙内传输。
特点:
避免冲突:可以平分带宽
节点速率有限:最多只能得到平分的带宽
效率不高:节点必须等待到它的传输时隙才可以传输
FDAM
总信道划分为n个较小的信道,分别分配给n个节点。
特点:
避免冲突
节点带宽有限、效率不高
CDMA
每个节点分配唯一的编码,节点用这个编码来对他发送的数据进行编码,这样可以让多个节点共存、可叠加,不会发生冲突
6.3.2随机访问协议
基本思想:
- 节点以全部速率发送
- 发生冲突时,每个节点分别等待一个随机的时间,再重发,直到帧发送成功
- 没有协调者
典型随机访问协议:
- ALOHA协议
- 载波监听多路访问CSMA协议
- 带冲突检测的载波监听多路访问CSMA/CD
- 带冲突避免的载波监听多路访问CSMA/CA
ALOHA
采用星型拓扑结构,使地理上分散的用户通过无线电来使用中心主机
中心主机通过下行信道向二级主机广播分组
二级主机通过上行信道向中心主机发送分组(可能会冲突)
两种形式:
纯ALOHA
带时隙ALOHA
纯ALOHA
简单,不需要同步
帧一到达,立即传输
如冲突,则该帧传完后,以概率p立即重传这个帧,或者等待一个帧的传输时间再以概率p传输该帧,或概率1-p
t发送的帧,会和[t-1,t+1]传输的帧发生冲突
时隙ALOHA
假设:
所有帧大小相同
时间被分为相同大小的时隙,一个时隙等于传送一帧的时间
节点在时隙的开始才能传送
节点需要同步
如果一个时隙有多个节点同时传送,所有节点都检测到冲突
实现:
当节点要发送新帧,他要等待下一个时隙的开始时传送
如果没有冲突,怎在下一个时隙发新帧
有,在随后的时隙,以概率p重传该帧,直到成功为止。
有点:
单个活跃节点可以持续以全速发送
高分散性:只要节点时隙同步
简单
缺点:
冲突会浪费时隙
空闲时隙
节点只有在传输数据包时才能检测到冲突
信道有37%的传输效率
CSMA
载波侦听:
某个节点发送之前先监听信道。若忙,则随机等待一段时间再侦听。若空则开始传输整个数据帧。
特点:
发前监听,可减少冲突
由于传播时延的存在,仍然可能出现冲突,发生冲突的时候仍继续传输,造成信道浪费。
CSMA/CD
增加“载波侦听”和“冲突检测”
基本原理:
传送前侦听,忙则延迟传送,空则传送整个帧,发送的同时进行冲突检测,一旦检测到冲突就立即停止传送,等待一段时间后重新发送。
以太网就采用这种协议
检测到冲突会发送拥塞信号,让所有重送者知道发生了冲突
6.3.3轮流协议
该协议有以下两种
轮询协议
设置一个节点为主节点,主节点轮流邀请从节点一次传送,并且通知从节点可以发送的信息量。
缺陷
邀请过程会花费时间,主节点损坏会完全无法运行
令牌传递协议
有一个称为令牌的小的特殊帧在节点之间按照特殊次序进行交换。一个节点得到令牌后就会传输它需要传输的所有信息,然后将令牌交给另一个节点。
缺陷
一个节点发生问题就会导致整个系统瘫痪。
6.4交换局域网
局域网:LAN
广泛使用多址访问协议
基于随机访问的CSMA/CD广泛使用
随着链路层发展,局域网,广域网等概念以比较模糊
6.4.1链路层寻址和ARP
每个节点有网络层地址和链路层地址
网络地址:
节点在网络中分配的唯一地址(IP地址)
链路层地址:
又叫做MAC地址或者物理地址、局域网地址
用于把数据帧从一个节点传递到另一个节点
是节点网卡本身带的地址
长度通常为6字节
用16进制表示
网卡的MAC地址是永久的,生产时固化在ROM中
MAC地址分配
IEEE管理高三位字节,厂家自行分配后三位
MAC地址的识别
一个节点发送的帧,在广播传输时,其他节点都可以收到。由网卡负责MAC地址的封装和识别。
发送适配器:
负责母的MAC地址封装到帧中,并发送。其他适配器都会收到。
接收适配器:检查接收到的MAC地址是否和自己的MAC地址相同,相同则去除数据并向上传递。否则丢弃。
地址解析协议(ARP)
ARP表:
局域网上每个节点都有这个表
记录ip和mac的对应关系
实例:
A希望发送数据到B:
B的mac地址不在A的映射表中
A就广播ARP查询分组,包含B的IP地址
B收到查询分组,会返回自己的MAC地址到A(以单播的方式)。