使用广播信道的数据链路层

使用广播信道的数据链路层


以太网的两个标准

  • DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约。

  • IEEE 的 802.3 标准。

  • DIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

  • 严格说来,“以太网”应当是指符合 DIX Ethernet V2 标准的局域网  


数据链路层的两个子层 

  • 为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:

逻辑链路控制 LLC (Logical Link Control)子层

媒体接入控制 MAC (Medium Access Control)子层。

  • 与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的 


局域网对 LLC 子层 是透明的

使用广播信道的数据链路层_第1张图片

注意:

  • 由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了。

  • 很多厂商生产的适配器上就仅装有 MAC 协议而没有 LLC 协议。 


网络适配器(网卡NIC)的作用

计算机与外键局域网的连接是通过通信适配器(adapter)。

网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。 

在适配器上面装有处理器和存储器(包括RAM和ROM)。

适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的。

因此适配器的一个主要功能就是进行数据串行传输和并行传输的转换。

由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中装有对数据进行缓存的存储芯片。

适配器的重要功能:

  • 进行串行/并行转换。

  • 对数据进行缓存。

  • 在计算机的操作系统安装设备驱动程序。

  • 实现以太网协议。  

网卡的功能主要有两个:

  • 一是将电脑的数据封装为帧,并通过网线(对无线网络来说就是电磁波)将数据发送到网络上去;

  • 二是接收网络上其它设备传过来的帧,并将帧重新组合成数据,发送到所在的电脑中。网卡能接收所有在网络上传输的信号,但正常情况下只接受发送到该电脑的帧和广播帧,将其余的帧丢弃。然后,传送到系统CPU做进一步处理。当电脑发送数据时,网卡等待合适的时间将分组插入到数据流中。接收系统通知电脑消息是否完整地到达,如果出现问题,将要求对方重新发送。

计算机通过适配器 和局域网进行通信 

使用广播信道的数据链路层_第2张图片


CSMA/CD 协议

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)即带冲突检测的载波监听多路访问技术。

最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。 

使用广播信道的数据链路层_第3张图片


以太网的广播方式发送 

  • 总线上的每一个工作的计算机都能检测到 B 发送的数据信号。 

  • 由于只有计算机 D 的地址与数据帧首部写入的地址一致,因此只有 D 才接收这个数据帧。 

  • 其他所有的计算机(A, C 和 E)都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来。

  • 具有广播特性的总线上实现了一对一的通信。 


为了通信的简便 以太网采取了两种重要的措施

  • 用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。 

  • 以太网对发送的数据帧不进行编号,也不要求对方发回确认。这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。 


以太网提供的服务

  • 以太网提供的服务是不可靠的交付,即尽最大努力的交付。

  • 当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。

  • 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。 


以太网发送的数据都使用 曼彻斯特(Manchester)编码

使用广播信道的数据链路层_第4张图片


载波监听多点接入/碰撞检测  CSMA/CD 

  • CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。

  • “多点接入”表示许多计算机以多点接入的方式连接在一根总线上。

  • “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。 

  • 总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。  


碰撞检测

  • 碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。

  • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。

  • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。

  • 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。


检测到碰撞后

  • 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。

  • 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。


电磁波在总线上的 有限传播速率的影响

  • 当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。 

  • A 向 B 发出的信息,要经过一定的时间后才能传送到 B。

  • B 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。

  • 碰撞的结果是两个帧都变得无用。


重要特性

  • 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。

  • 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。 

  • 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。


争用期

  • 最先发送数据帧的站,在发送数据帧后至多经过时间 2T(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。

  • 以太网的端到端往返时延 2T 称为争用期,或碰撞窗口。

  • 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。


二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。

  • 确定基本退避时间,一般是取为争用期 2t。

  • 定义重传次数 k ,k <= 10,即 k = Min[重传次数, 10]

  • 从整数集合[0,1,…, (2k 1)]中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间。

  • 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。 


争用期的长度

  • 以太网取 51.2 us 为争用期的长度。

  • 对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。

  • 以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。 


最短有效帧长

  • 如果发生冲突,就一定是在发送的前 64 字节之内。 

  • 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。 

  • 以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。 


强化碰撞

当发送数据的站一旦发现发生了碰撞时:

  • 立即停止发送数据;

  • 再继续发送若干比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞。  

==========================END==========================

你可能感兴趣的:(使用广播信道的数据链路层)