本章概要(最重要内容,数据链路层的地位):
数据链路层使用的信道有:
本章的主要内容:
本节要讨论以下问题:
什么是数据链路、帧、数据链路层的作用、三层简化模型、点对点信道的数据链路层通信时的步骤。三个基本问题(封装成帧、透明传输、差错校验)
数据链路:链路是一个结点到另一个结点之间的物理线路,而中间灭有其他交换结点。当传输数据时,还需要一些必要的通信协议来控制数据传输。因此,链路加上通信协议就是数据链路。
帧:数据链路层的协议数据单元为帧。数据链路层将网络层下发的IP数据报封装成帧。
三层简化模型:任何一条数据链路上(不管是主机和路由器之间,还是连个路由器之间),都可以用该模型表示。如图1-1:
数据链路层的点对点信道通信的步骤如下(参照图 1-1 ):
数据链路层可以不用考虑物理层如何进行比特传输。
封装成帧,就是将网络层下发的IP数据报封装成帧。帧的结构如图1-2所示:
一个帧的前面部分是帧首部,用一个控制字符SOH,后面部分是帧尾部,用EOH表示。如图1-3所示:
为什么要封装成帧?是为了让数据链路层从物理层的比特流中识别帧的开始和结束。
透明传输,就是在进行数据传输时,就好像数据链路层不存在一样,数据链路层并不妨碍数据传输的东西。
这里需要考虑一个问题,当我们的数据部分出现帧开始符和帧结束符时就会发生异常。解决方法是添加转义字符"ESC"。如图1-4 所示:
在传输过程中,可能出现差错。分为:
对于比特差错,可以使用循环冗余校验CRC。将数据进行分组,每组k个比特,如M=101001,在其后面加上n个0,去除以一个约定好的n+1位除数P(如p=1101),得到n位冗余码,将这n为冗余码加在M后面,得到k+n的序列(如101001001)。
注意,用模2运算进行加法是不进位。减法和加法一样
现在,当接收端收到加上帧校验序列001后的新序列101001001时,将其除以P:
在数据链路层使用CRC循环冗余校验能实现无比特差错,但这还不是可靠传输,因为还可能存在其他传输差错。
点对点协议PPP(Point to Point Protocol)是用户计算机和ISP进行通信是使用的数据链路层协议。如图2-1所示:
点对点协议的组成:
PPP点对点协议的特点:
广播信道需要考虑一个问题,如何使众多用户能够合理而方便地共享通信媒体。这里有两种技术:
以太网有两个标准——DEC公式、英特尔公式和施乐公司提出的DIX Ethernet V2 标准和IEEE 802 委员会提出的IEEE 802.3标准。由于有关厂商在商业上的激烈竞争,IEEE 802委员会无法形成一个统一的以太网标准,因此将数据链路层分为两个子层:逻辑链路控制LLC(Logical Link Control)与媒体接入控制层MAC(Medium Access Control)。如图3-1 所示:
适配器(网卡上面)的作用:适配器和局域网通过电缆或双绞线、WiFi进行串行通信,而适配器与计算机之间通过计算机主板上的I/O总线以并行方式进行通信。由于网络的数据率和计算机总线上的数据率不一样,所以需要适配器上有可以缓存的存储芯片,进而需要驱动程序对这个存储芯片进行管理。图3-2是计算机通过适配器和局域网进行通信的示意图:
为了使广播通信简便。以太网常采用以下两种措施:
由于广播通信采用的是动态媒体接入的随机接入,所以中的总线在同一时间只能允许一台计算机发送数据,这时就需要载波监听多点接入/碰撞检测CSMA/CD协议来减少冲突了。该协议类似于一个屋子里面正在开讨论会,没有会议主持人控制发言。想发言的人随时可以发言,不需要举手。但这里有个问题,当同时有多个人发言时,就发生了冲突。CSMA/CD就是用来解决这个冲突的。
如果你听见有人在发言时,那么你必须等别人讲完才能发言(否则就干扰了别的发言)。但同时有多个人发言时,那么一旦发现冲突,大家都必须立即停止发言,等听到没有人发言了你再发言。
CSMA/CD协议的要点:
图3-5 是碰撞检测示意图。其中π是传播时延。使用CSMA/CD协议时,一个站不能同时进行发送和接收。所以使用CSMA/CD协议的以太网是半双工通信。在发送数据帧至多进过2π就可知发送的数据帧是否发生了碰撞。该2π就称为争用期,又被称为碰撞窗口。以太网使用截断二进制指数退避算法来确定碰撞后重传时机。
其实,当发送数据的站发现发生了碰撞时,便会发送人为干扰信号,以便用户都知道现在发送了碰撞。这就是强化碰撞。
集线器的一些特点如下:
前面图3-1所示,数据链路层被分为两个子层:逻辑链路控制LLC(Logical Link Control)与媒体接入控制层MAC(Medium Access Control)。MAC又叫做物理地址或硬件地址,它是固化在ROM中的地址。
适配器有过滤功能。适配器从网络上没收到一个MAC帧就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧则收下,否则将此帧丢弃。发往本站的帧有一下三种:
以太网适配器有一种工作模式——混杂模式。处于混杂模式的适配器只要听到有帧在以太网上传输就悄悄地接收起来,而不管这些帧是发往哪个站。混杂模式的一个应用就是嗅探器。
以太网V2的MAC帧格式如图4-3 所示。
其中,目的地址、源地址都是MAC地址,第三个字段表明MAC帧的类型,数据部分用来封装网络层下发的IP数据报,FCS部分存放帧校验序列(用来进行CRC校验)。
扩展的以太网意思是把以太网的覆盖范围扩展。
在物理层扩展以太网的一种简单方法:使用光纤和一对光纤调制解调器。如图5-1所示。
光纤解调器的作用就是进行光信号和电信号的转换。
然而,这种方法存在一些缺点。用一个例子举例,如一个学院的三个系各有10BASE-T以太网如图5-2(a),可头脑特工队一个主干集线器把各个系的以太网连接起来,称为一个更大的以太网。
在数据链路层扩展以太网使用的是网桥。网桥是工作在数据链路层的,它的作用是根据MAC帧的目的地址对收到的帧进行转发和过滤。网桥的工作原理如图5-3所示。
当然,网桥也有一些缺点:
目前使用最多的网桥是透明网桥,透明的意思是以太网的站点并不知道所发送的帧经过了哪几个网桥,以太网的站点看不见以太网上的网桥。网桥刚开始连接到以太网时,转发表是空的。网桥是通过自学习算法逐步建立转发表的。网桥的自学习和转发过程如下图5-5所示。
透明网桥还通过生成树算法保证网络中不存在回路,即两个站之间只有一条路径。这样可以避免转发的帧在整个网络中兜圈子。如图5-6所示。
源路由网桥。是通过广播方式发送一个目的帧,从而找寻从源地址都目的地址最佳的路由。
以太网交换机有被称为交换式集线器。他也是工作在数据链路层的。它的实质就是一个多接口的网桥。它的每个接口都直接与一个单个主机或另一个集线器相连,并且一般工作在全双工模式下。当主机通信时,交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占传输媒体那样,无碰撞地传输数据。
图5-7中,虚线内的主机分别为一个工作组。虚拟局域网限制了接受广播信息的工作站的数目,因而避免了广播风暴。
速率达到或超过100Mb/s的以太网称为高速以太网。
100BASE-T的一种方法时,使用一个100Mb/s的集线器和适配器。当然也可以采用交换式集线器(如果交换式集线器采用的是全双工,那么就不使用CSMA/CD协议;如果采用的是半双工,那么一定采用的是CSMA/CD协议)。
吉比特以太网,为了让a(以太网单程端到端时延π与帧发送时间T0的比值:π/T0)保持不变,要么是增大帧的最小长度,要么是减小最大电缆长度。然而,这样减小最大电缆的长度会使网络的实际价值大大减少;增大帧的最小长度会使发送短数据时开销增大。因而采用了载波延伸与分组突发技术。
载波延伸:其实我感觉就是增大帧的最小长度。只不过使用了分组突发技术对这个缺点进行了优化。
分组突发:当有很多短帧要发送时,第一个短帧采用载波延伸方式填充,随后的一些短帧则一个接一个的发送(在争用期没有发生碰撞,那后续发送的数据就一定不会冲突)
10吉比特和100吉比特的以太网都只工作在全双工方式下,所以不使用CSMA/CD协议。
计算机网络(第六版 谢希仁)第三章