温故:
上一篇文章《网络基础之TCP/IP》中我大致 讲了一些关于TCP/IP协议的知识点,最重要的一点是希望大家记住TCP/IP是四层模型,这一点要和OSI模型区分开来,这四层分别是应用层、传输层、网络互联层和网路接口层。而且最好能够了解一些各层所使用的的协议,比如应用层使用的Telnet协议、FTP协议;传输层使用的是TCP协议、UDP协议;网络互联层自然使用的就是IP协议、ICMP协议;网络接口层自然使用的就是ARP协议了。这只是我举的个别例子,还有一些协议如POP协议、TFTP协议等等大家有兴趣的话可以去了解。
关于《网络基础之TCP/IP》的链接如下,又兴趣的朋友可以去看看:
网络基础之TCP/IP协议
知新:
师出有名(概念)
说起这个局域网的体系结构,还和之前讲过的OSI 网络七层有些关系。事情是这样的,由于OSI 网络七层存在的时间之久使其影响根深蒂固,所以在它的影响下形成了局域网的体系结构,因此IEEE 802标准所描述的局域网体系的参考模型一般来说仅包含OSI 模型的最下面两层,当然了并不是说将这两层拿之即用。为了适应局域网的特征,于是将数据链路层又划分了两个子层,分别是逻辑链路控制子层(LLC)和媒体访问控制层(MAC).
去伪存真 (答疑)
1、为什么只用了OSI 中的最下面两层?
首先局域网只包含了OSI 的最下面的两层,是因为局域网只涉及通信子网的功能,所以只关注下面三层即可,但是又因为局域网大多采用公共信道进行传输,连接局域网的链路只有一条,不需要设立路由器选择和流量控制功能,而且流量控制功能、差错控制功能都已经可以再数据链路层实现了,就更不需要网络层了,因此你看到的局域网体系中没有网络层;
2、为什么要把数据链路层再分成两层?(很重要)
在考虑这个问题之前,我们先回顾一个前面讲过的问题,我说过既然局域网中的多个设备一般共享公共的传输介质,那么传输数据是就要考虑时序问题,即哪个设备先占用,哪个后使用,所以就要求数据链路层要具备介质访问控制功能。那么我前面有讲过,介质访问控制功能的实现不是独立的,它需要根据传输介质和拓扑结构来选择合适的介质访问控制方法,所以要实现数据链路层的介质访问控制是离不开介质的。
然而还有一个问题需要解决,因为底层的传输介质和拓扑的不确定性,我们总不能将介质访问控制方法设置为统一的吧。所以我们一共要将解决两个问题:第一是要有介质访问控制方法;第二是要求介质访问控制方法是可变的。于是前辈们就将数据链路层分为了两层,让LLC层完成与介质无关的功能,让MAC层完成依赖于物理介质的介质访问控制功能。这样的好处是可以将数据链路层中与硬件有关的部分和无关的部分都分开,就可以实现在LLC层不变的情况下,只需改变MAC子层就可以适应不同的传输介质和访问控制方法,是的局域网可以适应多种传输介质。
3、这两层的数据是如何进行传输的呢?
上层数据在数据链路层上的封装如果细分的话也可以认为有两个封装头,先是更高的LLC子层封装,然后是mac子层的封装。
继往开来(总结)
数据链路层的MAC和LLC子层的区别为:实现不同、依赖体不同、主要功能不同。
一、实现不同
1、MAC子层:MAC子层是由网络接口卡(NIC:网卡)来实现。
2、LLC子层:LLC子层是由传输驱动程序实现的。
二、依赖体不同
1、MAC子层:MAC子层依赖于各自的物理层。
2、LLC子层:LLC子层在IEEE802.2标准中定义,为802标准系列共用。
三、功能不同
1、MAC子层:MAC子层的的主要功能为数据帧的封装/卸装,帧的寻址和识别,帧的接收与发送,链路的管理,帧的差错控制。
2、LLC子层:LLC子层的主要功能为传输可靠性保障和控制,数据包的分段与重组,数据包的顺序传输。
今天暂且聊到这里,咱们明天继续《计算机网络基础之以太网》。