使用广播信道的数据链路
局域网按照拓扑结构可以分为:总线型、环形、星形、树形和网状拓扑结构。
共享信道要着重考虑的一个问题就是如何使众多用户能够合理而方便地共享通信媒体资源。这在技术上有两种方法:
随机接入:
随机接入的特点是所有的用户可随机地发送信息。但如果恰巧有两个或更多的用户在同一时刻发送信息,那么在共享媒体上就要产生碰撞(即发生了冲突),使得这些用户的发送都失败。因此,必须有解决碰撞的网络协议。CSMA/CD就是典型的解决冲突的协议。
受控接入
:受控接入的特点是用户不能随机地发送信息而必须服从一定的控制。这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询,或称为轮询,这种方式在局域网中使用的较少。
CSMA/CD协议
我们知道,总线上只要有一台计算机在发送数据,总线的传输资源就被占用。因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会互相干扰,使得所发送数据被破坏。因此,如何协调总线上各计算机的工作就是以太网要解决的一个重要问题。
以太网采用的协调方法是CSMA/CD协议,意思是载波监听多点接入/碰撞检测。
以太网发送的数据都使用曼彻斯特编码的信号
CSMA/CD协议的要点:
“多点接入”就是说明这是总线型网络,许多计算机以多点接入的方式连接在一根总线上。协议的实质是“载波监听”和“碰撞检测”。
载波监听
就是检测信道,不管在发送前,还是在发送中,每个站都必须不停地检测信道。在发送中检测信道,是为了及时发现有没有其他站的发送和本站发送的碰撞。这就称为碰撞检测
虽然,每次在发送数据之前会监听信道是否“空闲”,但是还是不能避免数据在总线上会发生碰撞,电磁波在1
km电缆的传播时延约为5us,假设A向B发数据,在约5
us后才能传送到B。换言之,B若在A发送的数据到达B之前发送自己的帧(因为这时B的载波监听检测不到A所发送的信息),则必然要在某个时间和A发送的帧发生碰撞
显然,在使用CSMA/CD协议时,一个站不可能同时进行发送和接收(但必须边发送边监听信道)。
因此使CSMA/CD协议的以太网不可能进行全双工通信而只能进行半双工通信。
只有经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞
争用期:就是以太网端到端往返时间2τ,又称为碰撞窗口。 在局域网的分析中,常把总线上的单程端到端传播时延记为τ。
截断二进制指数退避算法:
以太网使用截断二进制指数退避算法来确定碰撞后重传的时机,算法让发生碰撞的站在停止发送数据后,不是等待信道变为空闲后就立即再发送数据,而是推迟(这叫做退避)一个随机的时间
退避算法如下:
(1)协议规定了基本退避时间为争用期2τ,具体的争用期时间是51.2 us。
(2)从离散的整数集合[0,1,…,()]中随机取出一个数,记为r。重传应推后的时间就是r倍的争用期。
其中参数k的计算为:
k=Min[重传次数,10]
当重传次数不超过10时,参数k等于重传次数;但当重传次数超过10时,k就不再增大而一直等于10。
(3)当重传达16次仍不能成功时,则丢弃该帧,并向高层报告。