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

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

​ 广播信道可以一对多通信。局域网使用的就是广播信道。局域网最主要的特点就是网络为一个单位所拥有,且地理范围和站点数目有限。局域网可按网络拓扑进行分为星形网、环形网、总线网。传统的以太网就是总线网,后来又演变为星形网。随着以太网的发展,现在以太网已成为了局域网的同义词。

​ 共享信道有两种实现方法:

(1)静态划分信道

​ 例如频分复用、码分复用等技术。只要分配到了信道就不会与其他用户发生冲突,但这种方法代价高,不适合局域网。

(2)动态媒体接入控制

​ 又称为多点接入,信道并非在用户通信时固定分配给用户。

  • 随机接入:所有用户可随机发送消息,但是如果恰好有多个用户同一时刻发送就会发生碰撞导致这些用户都发送失败。所以需要有解决碰撞的网络协议。
  • 受控接入:用户不能随机发送消息而必须服从一定的控制。
一、适配器

计算级如何连接到局域网的?

​ 计算机与外界局域网的连接是通过适配器(adapter),也就是”网卡“(网络接口卡NIC)。由于现在计算机主板上都已经嵌入了这种适配器,所以不再使用单独的网卡了。在这种通信适配器上面装有处理器和存储器(包括 RAM和ROM)。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信通过计算机主板上的IO总线以并行传输方式进行的。因此,适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。由于网络上的数据率和计算机总线上的数据率并不相同,因此在适配器中必须装有对数据进行缓存的存储芯片。在主板上插入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉适配器,应当从存储器的什么位置上把多长的数据块发送到局域网,或者应当在存储器的什么位置上把局域网传送过来的数据块存储下来。适配器还要能够实现以太网协议。

​ 适配器在接收和发送各种帧时,不使用计算机的CPU。这时计算机中的CPU 可以处理其他任务。当适配器收到有差错的帧时,就把这个帧直接丢弃而不必通知计算机。当适配器收到正确的帧时,它就使用中断来通知该计算机,并交付协议栈中的网络层。当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。

我们计算机的硬件地址(MAC)就在适配器的ROM中,计算级软件地址(IP)在计算级的存储器中。

二、总线形以太网(传统以太网)

最早的以太网是将许多计算级连接到一根总线上。

​ 当一台计算机发送数据时,总线上所有计算机都能检测到该数据。为了在这种广播的方式下实现一对一通信,我们可以想到给每个计算机唯一的地址,在数据帧的首部写明接收站的地址,当与适配器中的地址一致时才接收,否则就丢弃。

为了通信简便,以太网采取了两种措施:

1、采用较为灵活的无连接的工作方式

​ 即不必先建立连接就可以直接发送数据。适配器对发送的数据帧不进行编号,也不要求对方发回确认。因此,以太网提供的服务是尽最大努力的交付,即不可靠的交付。当目的站收到有差错的数据帧时就把帧丢弃,其他什么也不做。对有差错帧是否需要重传则由高层来决定。

​ 总线上只要有一台计算机在发送数据,总线的传输资源就被占用。因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会互相干扰,使得所发送数据被破坏。以太网采用最简单的随机接入,但有很好的协议用来减少冲突发生的概率,——载波监听多点接入/碰撞检测(CSMA/CD)

2、使用曼彻斯特编码

​ 因为当基带数字信号出现一长串连续的1或0时,接受端无法从中提取位同步信号。

3、CSMA/CD

  • 多点接入: 实质上指的就是总线型网络。
  • 载波监听: 也就是”边发送边监听“。不管在发送数据前,还是正在发送,每个站都要不停的检测信道。
  • 碰撞检测: 适配器边发送数据边检测信道上信号电压的变化情况,如果有多个站在发送,总线上的信号电压幅度将会增大。当适配器检测到变化幅度达到一定门限值时,就会认为发生了碰撞。这样的信号产生了严重的失真导致无法从中恢复出有用信息。这时就应该停止发送。
  • 还有很多概念没有说明,例如争用期、退避等概念。感兴趣可以深入了解。

可以看出该协议只能进行双向通信交替(半双工)。

三、星形以太网

​ 传统以太网从使用粗同轴电缆到细同轴电缆,然后到现在的双绞线。星形以太网在中心增加了一种可靠性非常高的设备——集线器(hub)。

​ 集线器工作在物理层,他的每个端口仅仅简单的转发比特,不进行碰撞检测。

​ 使用集线器的以太网在逻辑上仍是一个总现网,各站共享逻辑上的总线,使用的还是CSMA/CD协议(具体说是各站中的适配器执行CSMA/CD协议)。网络中的各站必须竞争对传输媒体的控制,并且在同一时刻至多只允许一个站发送数据。

你可能感兴趣的:(#,数据链路层,网络,数据链路层)