在前面我们学习了ppp协议,该协议用于ISP和用户之间连接的数据链路层,ppp协议由封装成帧、LCP链路控制协议和NCPs网络控制协议组成,在该节学习了ppp协议中帧的格式为 7E + EF + 03 + 协议 + 数据部分 + FCS + 7E,LCP链路和NCP链路建立的过程;同时探讨了在ppp协议中如何实现数据链路层的透明传输以及差错检测。接下去我们将学习局域网是中的数据链路层,就是ISP接了一根网线到家中,我连接家中的WIFI,即探讨局域网中的数据链路层。
一、广播信道中的数据链路层
广播信道就不在像我们的点对点信道一样,发送方和接收方不是互相直接连接的,而是采用总线的形式连接,所有的主机都连接在同一个总线上,连接在总线上源主机通过向总线发送数据,经过总线的传输到达目的主机,这显然是比我们单一的两个主机之间两两连接来的效果好的,两两连接会导致线的数量会非常的庞大,而采用下列的总线结构,线的数量会大大的减小并且,对于主机的数量扩展是十分容易的。
使用广播信道传输数据的话,也会产生问题,就是当总线上的两个同时的想要使用总线传输信息的时候,可能会产生总线的抢用,以及也可能会 造成发送的数据产生碰撞,为了解决该问题,我们将在接下去的学习中找到解决办法。
1.1总线型局域网——以太网的特点
局域网的特点就是使用一对多的广播通信,当共享信道上有多个主机发送信息的时候,就会产生冲突;这个想想我们自己家中的局域网络就能很好的理解,只不过家中的局域网的信道大部分都是无线的形式。
既然是采用广播信道的方式来传送数据,那么请想一想你和你家人同时连接着自己家中的WIFI,而你们同时发送消息的时候,消息是如何有序的被发送的,而不会产生冲突呢?
1.2媒体共享技术
为解决共享信道信息传播的冲突问题,提出以下解决方案
①频分复用
②时分复用划分
③码分复用
④波分复用
以上四种方式都是属于静态划分信道,其实这种方式在数据链路层是很不常用的,一般用于物理层,这四种方式其实都是在某一种程度上说是独占信道的某一时间或是某一物理特性的,当总线上的设备变得非常多的时候,这些方式显然就不够用了。所以接下去学习CSMA/CD协议,看他是如何解决数据的碰撞问题的。
1.3CSMA/CD协议
CSMA/CD叫做多点接入、载波监听、碰撞监测。
- 多点接入:表示多台设备是连接在同一个总线上的
- 载波监听:主机想要想某个主机发送信息时,首先会检测总线上此时是否有载波,即检测其上是否存在信息传送,只有检测到总线上无信息传送时,才向总线发送信息。
- 碰撞检测:信息发送后,要监测信息是否在总线传输途中是否发生碰撞。
对于多点接入和载波监听是很好理解的;对于碰撞检测来说,我们具体来看一下它是如何进行碰撞检测的。
- 主机A先进行载波监听,发现总线空闲,等待96bit时间后就会开始向主机B发送数据。(为什么要等待96比特?因为数据链路层是需要通过来帧定界的,而以太网V2的帧格式并没有帧开始和帧解释的标记,是通过中间的空闲时间来区分出帧的)
- 主机B也想发送数据,进行载波监听,发现总线空闲,等待96bit时间数据还没到达主机B,没有检测到,误以为总线空闲,开始通过总线向主机A发送信息
- 在总线的某一处就会发生碰撞,碰撞信号就会在沿着总线沿路返回,当碰撞信号传回到发送方的,时候就会知道此次发送数据产生了碰撞,就会立马停止发送数据。
至此,引出争用期的概念:争用期为2 τ \tau τ,意思就是说在 2 τ 2\tau 2τ