讨论一下局域网,我们可以简单的将局域网理解为由一定数量计算机相互连接所组成的网络,在组成的网络上,计算机之间可以很方便的相互通信。
    如果说,采用前面所提到的方式相互连接,成本会非常高的。
    而且采用该种连接方式,每台计算机与其他计算机相连的接口都会随着计算机数量的增加而增加,这不仅不够经济,而且增加了拓展的难度。
    显然是不能采用这种连接方式。因此我们尝试使用公用线路。
    如左图,A,B,C,D,E,F六台计算机,通过公用的环形线路连接起来,右图中A,B,C,D通过总线式的线路连接起来。
    除了以上两种之外,还有一个星型网络的结构
    各台计算机都与一台中间设备(集线器)相互连接,集线器对数据进行转发
    使用集线器的网络虽然看上去是星型的,但是逻辑上仍然是总线型的网络
    到这儿,局域网所使用几种结构介绍完了。
    这几种结构有一个共同的特点,就是具有共享的线路。
    也就是说可能会出现 多台计算机同时占用一条线路的情况 。
    因此共享线路要考虑的一个重要问题就是,如何使多个用户能够合理的共享线路资源,同时使得各个用户的通信需求得到满足。
    这个问题在技术上有两种方法可以解决
    (1) 静态划分信道
    语雀内容
    在前面的这篇文章中已经提出过的解决方案。
    (2) 动态媒体接入控制
    信道并不在用户通信时固定分配给用户。这里又可以细分为两类
    (2.1)随机接入
    随机接入就是所有用户都可以随机的发送消息。但是如果恰好有多个用户在同一时刻发送消息,就会产生冲突,消息都无法正确的传输到接收方,因此需要一定的协议来解决碰撞的问题。
    (2.2)受控接入
    受控接入的特点就是用户无法随机的发送信息,而必须服从一定的控制,这类的典型代表有分散控制的令牌环局域网和集中控制的多点线路探询(轮询)

    除了以上所说的数据冲突问题之外,再回过头来考虑数据链路层解决的基本问题

    • 数据有没有被正确的传送到指定位置?
    • 对于连续的数据比特流接收方如何将其划分为一段一段的数据?
    • 如何保证数据不会因为下层的错误而导致接收方接收错误的数据,即错误的数据如何识别?

    在问题2和3上,很自然的可以沿用在点对点通信上的解决方案,数据封装成帧与错误检测。
    在点对点通信协议上,问题1可以很好的解决。但是在广播通信的局域网上,一个计算机的消息能够保证正确的传送到接收方,还要确定,不会被其他计算机所错误接收。
    这个问题现在也有很好的解决办法,就是在发送的数据中使用特点的记号标识接收方。信号从发送方发送出去之后,局域网的每一个计算机都可以接收到(至少在上面介绍的几种结构中,是这样),接收方根据接收到信号的标识来识别自己是不是接收方,从而决定是否接收该数据,不是则丢弃。
    因此要解决的问题就成了如何解决多台计算机同时占用一条线路的情况 以及如何标识各个计算机保证数据的正确接收