以下内容是对《计算机网络》谢希仁第七版数据链路层一章的一些要点的总结,并生成一条线索,方便知识树搜索。不过前言在先,任何博文都是别人咀嚼过得东西,要想体会个中滋味,还需读者亲自品读名家巨著。
1. 重要概念
- 数据链路与链路的区别
- 链路:是从一个结点到另一个节点的一段物理链路。
- 数据链路:数据链路除了包括物理链路外,还必须有一些必要的协议来控制数据的传输,因此数据链路比物理链路多了实现通信协议所需要的硬件和软件。 我们这一层的名字叫数据链路层而不是链路层是有道理的。
- 数据链路层的三个基本问题
- 封装成帧:这是分组交换的必然要求。
- 透明传输:避免信息符号与定界符号相混淆。
- 差错检验:防止出现差错的无效数据帧浪费后继路由器上的传输和处理资源。
2. 点对点通信:PPP协议
-
特点:无纠错、无序号、无流量控制、点对点链路通信、全双工链路。
-
组成:
- 一个将IP数据包封装到串行数据帧的方法。
- 一个用来建立、配置和测试数据链路的链路控制协议LCP.
- 一套网络控制协议NCP.
-
帧格式(图):注意各字段意义,注意字节填充(异步传输下)和零比特填充(同步传输下)
-
工作状态(图)
3. 广播通道:CSMA/CD协议、MAC协议
局域网与以太网的关系:局域网使用的就是广播通道,实现了一对多通信。局域网网络为一个单位所拥有,地理范围和站点数目都有限,工作层次跨越了数据链路层和物理层。在局域网中要解决信道共享的问题,信道共享有好几种方案,具体看书此处不赘述。以太网属于局域网的一种,且以太网采用随机接入的共享通道方案,随机接入以为这通道不是独享型的,需要解决碰撞问题(这就是CSMA/CD协议存在的必要性了)。在此剧透一下,并不是所有的以太网都需要CSMA/CD协议(这个也是很自然的,有其他方法可以避免或解决碰撞问题)
以太网由于历史原因,有两个标准,只讨论大量商用的DIX Ethernet v2标准,不讨论IEEE802.3标准。不过由于这两个标准互相扯皮而引出的一条和事佬公式 局域网的数据链路层 = LLC + MAC ,这一点还是需要了解的。但是毕竟DIX Ethernet v2一统天下,LLC也没有必要了,所以以太网还是MAC层的天下。那么以太网的核心协议是CSMA/CD协议还是MAC协议呢?答案是MAC层协议,毕竟有的以太网不需要CSMA/CD协议,但是MAC数据帧在他们的骨子里了。
通信适配器,也就我们俗称的网卡,这个设备的功能跨越了数据链路层和物理层。一方面在物理层负责比特流的接收和发送,一方面在数据链路层提供了定位用的MAC地址。适配器在数据链路层的工作具体可参考操作系统文件系统章节部分。
在讨论CSMA/CD协议之前,必须先讨论一下以太网。以太网为了通信的简洁,采用了两个措施:1. 无连接的工作方式,因此只能实现不可靠交付。2. 使用曼彻斯特编码,曼彻斯特编码的优点是自同步,缺点是每秒传送的码元数加倍(看不懂其中术语意思就回去面壁顺便通读物理层,知识断层是一知半解的罪魁祸首)
CSMA/CD协议:总而言之,这个协议主要是为了解决碰撞问题,这个从它的英文名Carrier Sense Multiple Access with Collision Detection就可以得知。这个协议的要点有三个:多点接入、载波监听和碰撞监测,其中理解碰撞检测是重中之重,重中之重,重中之重。
关于碰撞监测,不得不多说。为什么会有碰撞?站点都在载波监听,但是由于传播时延(这个概念在物理层有,不清楚的在次面壁吧)存在,有的站点没发现通道远处有信号传输于是也发送,这就造成了狭路相逢。不过狭路相逢也不是勇者胜了,是两败俱伤。碰撞的信号全部都得取消,并且还要返回去告诉主子我们遭遇了碰撞。可以说,碰撞会造成通信资源浪费。
必须注意的是以太网的信道利用率。信道利用率公式是在没有碰撞条件下的极限值 (这里批判一下简书,markdown都不支持LaTeX数学公式输入)。这一章有很多互相联系的数据公式,自己慢慢体会吧。
MAC帧看书本图
3. 以太网的拓扑结构及各种拓展
早期的以太网是总线型的,后来有了集线器,加上了集线器的以太网物理上是星型拓扑,骨子里还是难用的总线型拓扑。总线型的很大一个缺点是共享总线,这以为这传输媒体要分享和竞争。集线器只能解决分发,不能解决竞争,所以现在集线器都退出市场了。现在普遍使用交换机对以太网进行拓展,交换机同时连通多对接口,相互通信的主机独占传输媒体,无碰撞地传输数据。集线器和交换机的使用和特点是关键。总线型以太网使用CSMA/CD协议,以半双工方式工作,以太网交换机不使用共享总线,没有碰撞问题,不使用CSMA/CD协议,以全双工方式工作。
后来发展了各种高速以太网,有的兼容半双工,有的直接直接全双工,这又是后话了。
只是一点读后感,其知识量还不足书本的10%,很多细节+联系都无法很好的书写出来。不过读书百遍,其义自见,总结性的文章是不能替代原文阅读的。这篇博文只能自赏了,各位看官勿见笑。
网友评论