《计算机网络》-读书笔记-第五章-链路层:链路、接入网和局域网

第五章 链路层:链路、接入网和局域网

5.1 链路层概述

5.1.1 链路层提供的服务

在链路层的讨论中,我们将看到两种截然不同类型的链路层信道。
第一种类型是广播信道,这种信道用于连接有线局城网、卫星网和混合光纤同轴电缆(Hybrid Fiber Coaxial cable, HFC)接人网中的多台主机。因为许多主机与相同的广播信道连接,需要所谓的媒体访问协议来协调帧传输。在某些场合中,可以使用中心控制器来协调传输。

第二种类型的链路层信道是点对点通信链路,这在诸如长距离链路连接的两台路由器之间,或用户办公室计算机与它们所连接的邻近以太网交换机之间等场合经常能够发现。协调对点对点链路的访问较为简单;在本书 Web 网站上的相关材料详细地讨论了点到点协议(Point- to- Point Protocol, PPP),该协议的适用范围从经电话线的拨号服务到经光纤链路的高速点到点帧传输。

链路层提供的服务:
成帧(framing)。在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。帧的结构由链路层协议规定。

链路接入。媒体访问控制(Medium Access Control, MAC)协议规定了帧在链路上传输的规则。对于在链路的一端仅有一个发送方、链路的另一端仅有一个接收方的点对点链路,MAC 协议比较简单(或者不存在),即无论何时链路空闲,发送方都能够发送帧。更有趣的情况是当多个结点共享单个广播链路时,即所谓多路访问问题。这里,MAC 协议用于协调多个结点的帧传输。

可靠交付。当链路层协议提供可靠交付服务时,它保证无差错地经链路层移动每个网络层数据报。前面讲过,某些运输层协议(例如 TCP)也提供可靠交付服务。与运输层可靠交付服务类似,链路层的可靠交付服务通常是通过确认和重传取得的。链路层可靠交付服务通常用于易于产生高差错率的链路,例如无线链路,其目的是本地(也就是在差错发生的链路上)纠正一个差错,而不是通过运输层或应用层协议迫使进行端到端的数据重传。然而,对于低比特差错的链路,包括光纤、同轴电缆和许多双绞铜线链路,链路层可靠交付可能会被认为是一种不必要的开销。由于这个原因,许多有线的链路层协议不提供可靠交付服务。差错检测和纠正。当帧中的一个比特作为 1 传输时,接收方结点中的链路层硬件可能不正确地将其判断为 0,反之亦然。这种比特差错是由信号衰减和电磁噪声导致的。因为没有必要转发一个有差错的数据报,所以许多链路层协议提供一种机制来检测这样的比特差错。通过让发送结点在帧中包括差错检测比特,让接收结点进行差错检查,以此来完成这项工作。

差错检测,即因特网检验和。链路层的差错检测通常更复杂,并且用硬件实现。差错纠正类似于差错检测,区别在于接收方不仅能检测帧中出现的比特差错,而且能够准确地确定帧中的差错出现的位置(并因此纠正这些差错)。

5.1.2 链路层在何处实现

链路层的主体部分是在网络适配器(network adapter)中实现的,网络适配器有时也称为网络接口卡(Network Interface Card, NIC)。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务(成帧、链路接人、差错检测等)的专用芯片。因此,链路层控制器的许多功能是用硬件实现的。

5.2 差错检测和纠正技术

5.2.1 奇偶校验

5.2.2 检验和方法

5.2.3 循环冗余检测

5.3 多路访问链路和协议

5.3.1 信道划分协议

如何协调多个发送和接收结点对一个共享广播信道对访问,这就是多路访问对问题。

多路访问协议(multiple access protocol),即结点通过这些协议来规范它们在共享的广播信道上的传输行为。

时分多路复用(TDM)和频分多路复用(FDM)是两种能够用于在所有共享信道结点之间划分广播信道带宽的技术。

5.3.2 随机接入协议

第二大类多访问协议是随机接人协议。在随机接人协议中,一个传输结点总是以信道的全部速率(即 R bps)进行发送。当有碰撞时,涉及碰撞的每个结点反复地重发它的帧(也就是分组),到该帧无碰撞地通过为止。但是当一个结点经历一次碰撞时,它不必立刻重发该帧。相反,它在重发该帧之前等待一个随机时延。涉及碰撞的每个结点独立地选择随机时延。因为该随机时延是独立地选择的,所以下述现象是有可能的:这些结点之一所选择的时延充分小于其他碰撞结点的时延,并因此能够无碰撞地将它的帧在信道中发出。

5.3.3 轮流协议

轮流协议(taking- turns protocol)。和随机接人协议一样,有几十种轮流协议,其中每一个协议又都有很多变种。

5.3.4 DOCSIS:用于电缆因特网接入的链路层协议

5.4 交换局域网

5.4.1 链路层寻址和ARP

链路层地址有各种不同的称呼:LAN 地址(LAN address)、物理地址(physical Address)或 MAC 地址(MAC address)。

因为存在网络层地址(例如,因特网的 IP 地址)和链路层地址(即 MAC 地址),所以需要在它们之间进行转换。对于因特网而言,这是地址解析协议(Address Resolution Protocol, ARP) [RFC 826] 的任务。

5.4.2 以太网

5.4.3 链路层交互机

交换机的任务是接收入链路层帧并将它们转发到出链路

过滤(filtering)是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能。转发(forwarding)是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能。交换机的过滤和转发借助于交换机表(switch table)完成。

交换机是即插即用设备(plug- and- play device),因为它们不需要网络管理员或用户的干预。要安装交换机的网络管理员除了将局域网网段与交换机的接口相连外,不需要做其它任何事情。

路由器是使用网络层地址转发分组的存储转发分组交换机。尽管交换机也是一个存储转发分组交换机,但它和路由器是根本不同的,因为它用 MAC 地址转发分组。交换机是第一层的分组交换机,而路由器是第三层的分组交换机。

5.4.4 虚拟局域网

5.5 链路虚拟化:网络作为链路层

5.6 数据中心网络

5.6.1 负载均衡

在数据中心内部,外部请求首先被定向到一个负载均衡器(load balancer)。负载均衡器的任务是向主机分发请求,以主机当前的负载作为函数来在主机之间均衡负载。

5.6.2 等级体系结构

5.6.3 数据中心网络的发展趋势

5.7 回顾:Web页面请求的历程

5.7.1 准备:DHCP、UDP、IP和以太网

5.7.2 仍在准备:DNS和ARP

5.7.3 仍在准备:域内路由选择到DNS服务器

5.7.4 Web客户-服务端交互:TCP和HTTP

5.8 小结

链路层的基本服务是将网络层的数据报从一个结点(主机、交换机、路由器,WiFi 接人点)移动到一个相邻的结点。在通过链路向相邻结点传输之前,所有链路层协议都是通过将网络层数据报封装在链路层帧中来操作的。然而,除了这个共同的成帧功能之外,我们知道在不同的链路层协议提供截然不同的链路接人、交付和传输服务。造成这些差异的部分原因是链路层协议必须工作在很多种链路类型上。一个简单的点对点链路具有单个发送方和接收方,并通过单一“线路”通信。一个多路访问链路在许多发送方和接收方之间共享;因此,对多路访问信道的链路层协议有一个协调链路接人的协议(它的多路访问协议)。在 MPIS 的情况下,连接两个相邻结点(例如,在 IP 意义上的两台相邻的IP路由器,它们是到某个目的地的下一跳 IP 路由器)的“链路”,其本身可能实际上就是一个网络。从某种意义来说,将一个网络视为一条“链路”的想法没有什 么可奇怪的。例如,连接家庭调制解调器/计算机到远端调制解调器/路由器的一条电话链路,实际上是一条穿过精密而复杂的电话网络的路径。

在链路层通信所依据的原理中,有差错检测和纠正技术、多路访问协议、链路层寻址、虚拟化(VLAN)以及打展的交换局城网和数据中心网络的构造方法。

今天对 链路层的许多关注在于这些交换网络。在差错检测/纠正场景中,为了对帧通过链路传输时可能发生的比特翻转进行检测并在某些情况下进行纠正,我们研究了在帧的首部增加附加比特的方法。我们讨论了简单的奇偶校验和检验和方案,以及更健壮的循环冗余检测。然后我们转向

多路访问协议主题,协调访问广播信道的 3 大类方法:信道划分方法(TDM、FDM)、随机接人方法(ALOHA 协议和 CSMA 协议)和轮流方法(轮询和令牌传递)。我们学习了电缆接人网,发现它使用了多种这些多路访问方法。我们看到让多个结点共享单个广播信道的结果,是需要在链路层提供结点地址。我们知道物理地址和网络层地址是非常不同的,而且在因特网场景中,一个专门的协议(ARP,即地址解析协议)用于在这两种寻址形式之间进行转换,并且详细学习了极为成功的以太网协议。然后我们研究了共享一个广播信道的结点是怎样形成一个局城网的,以及多个局城网怎样能够互联形成一个更大的局城网,即互联这些本地结点完全不需要网络层路由选择的干预。我们也知道了多个虚报局城网是怎样能够产生一个单一的物理局城网体系结构的。

通过关注当 MPLS 网络互联 IP 路由器时是如何提供链路层服务的和展望今天用于大型数据中心的网络设计,我们结束了链路层的学习。通过识别在获取一个简单的 Web 网页时所需要的许多协议,我们完成了本章(实际上是前 5 章)。在学习了链路层后,我们沿协议栈向下的旅程现在结束了!当然,物理层位于数据链路层之下,但是物理层的细节也许最好留给另外一门课程(例如,在通信理论面不是计算机网络课程中)去学习。然而我们在本章和第 1 章(在 1.2 节中讨论了物理媒体)中已经接触了物理层的几个方面。当我们在下一章中学习无线链路特性时,将再次考虑物理层。

说点什么

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
提醒