1、一个子网内部链路连接的形式
1.1、点对点
- 拨号访问的PPP;
- 以太网交换机和主机之间的点对点链路;
1.2、广播(共享线路)
- 传统以太网
- HFC上行链路
- 802.11无线局域网
2、MAC(媒体访问控制/多路访问)协议分类
- 信道划分:把信道划分成小片(时间、频率、编码),分配片给每个节点专用;
- TDMA、FDMA、CDMA、WDMA;
- 随机访问:信道不划分,允许冲突;(冲突后有恢复机制)
- 时隙ALOHA、ALOHA;
- CSMA、CSMA/CD、CSMA/CA;
- 线缆接入;
- 依次轮流:节点依次轮流发送;(某一节点可能长时间占用信道)
- 集中式
- 分布式
2.1、信道划分
TDMA(time division multiple access)时分复用:如果某个节点无帧传输,浪费;
FDMA(frequency...)频分复用:分配给节点的频段如果没有使用,浪费;
CDMA(code...)码分复用:所有节点在整个频段上同时传输,采用编码原理加以区分,无冲突;
2.2、随机访问
2.2.1、ALOHA类
时隙ALOHA:时间被划分为等长的时隙,只有在每个时隙开始时可发送,且只能发送一帧(定义每个帧等长),如果多个节点在一个时隙传输(冲突),下一时隙各节点以概率p决定是否重传直到成功;
- 需要时钟上同步;
- 发生冲突的时隙被浪费;
- 即便有帧要传输,仍可能存在空闲时隙;
- 很多节点都要发送帧时,37%的时隙能成功传输;
(无时隙)ALOHA:在上面的基础上去掉了时钟同步,各节点想什么时候发就什么时候发,成功概率降到17.5%;
2.2.2、CSMA类
CSMA(Carrier Sense Multiple Access)载波监听多路访问
发前监听:各节点在发送之前检测有无别的节点在发送帧,如果没有再传输;
冲突仍然可能发生:由于传播延迟,节点可能侦听不到正在进行传输;
冲突区域:红黄部分,B先发送,D不知道B在传也发送,BD信号交叠的部分都被浪费了;
CSMA/CD冲突检测
发前监听,发送过程中检测有无冲突,检测到冲突:
- 停止发送帧,
- 发送Jam信号,通知所有节点发生了冲突;
- 进入退避状态:第m次失败,随机选择{0,1...2^m-1}中的K,等待K*512位时重发;
CSMA/CD效率
CSMA/CA冲突避免
用于无线局域网中,发前监听,发前避免冲突,发的过程中没有冲突检测;
没有冲突检测的原因:
- 无法检测冲突:不发送的时候能检测到有帧在发送,但是发送的时候自身信号远远大于其他节点信号,可能自身信号波动都大于其他节点信号了所以测不出;
- 由于无线信号的衰减,AC相距较远,AC同时在发是检测不到对方在发的,但是实际对接收端B造成冲突;
- 另一方面,由于信号的衰减,虽然有多个节点在发送,但是影响不到各自的接收;
发送方:
- 如果监测到信道空闲时间持续DIFS,则发送帧;
- 如果监测到信道忙碌,以2进制退避方式随机选择一个回退值,并在信道空闲时递减,减为0时发送帧;
- 然后等待ACK,如果没有收到ACK则增加回退值;
接收方:如果收到帧,帧也正确,则在SIFS时间后发送ACK;
无法完全避免冲突:
- 站点隐藏的情况;
- 回退值比较近,A减为0发送帧,帧还未到达B,B也减为0开始发送;
可采用预约的方面避免冲突:
要发送数据的节点先向基站BS发出预约,BS同意预约后广播A要发送,A发送数据,抑制别的节点发数据;
2.2.3、线缆接入网络
下行:通过FDM分为若干信道,互联网、数字电视等;在一个下行信道上只有CMTS在传输;
上行:多路访问,给所有用户使用,通过TDM分为时隙;
在竞争时隙待发送数据的节点发出请求,请求应答通过上行信道发送,在数据时隙通过请求的节点发送数据;
2.3、轮流MAC协议(Taking Turns)
集中式:主节点依次轮询,轮询到本节点,本节点才能发送数据;
如果有100个节点,只有1个节点需要发送数据,也必须问一圈才能发送;
分布式:令牌(token)在节点中循环传递,当令牌传到本节点,且之前没有节点发送数据时,才能发送数据;此时令牌变成了数据帧,在局域网内传递,当这个数据再次传回到发送节点时,才能进行下一次令牌传递;