第五章 链路层
链路层信道可以分为:1广播信道--用于连接优先局域网、卫星网和混合光纤同轴电缆接入网中的多种主机。2点对点通信线路
5.1 链路层概述
结点:运行链路层协议的任何设备,包括主机、路由器、交换机和WiFi接入点。链路:沿着通信路径连接相邻结点的通信信道。 世界上最长的链路:旅行者一号 在通过特定的链路时,传输结点将数据报封装在链路层帧中,并将该帧传输到链路中。
5.1.1 链路层提供的服务:成帧;链路接入(媒体访问控制MAC)协议规定了帧在链路上传输的规则;可靠交付(通过确认和重传,通常用于易于产生高差错率的链路,如无线链路);差错检验和纠正。
5.1.2 链路层在何处实现
链路层的主体部分是在网络适配器中实现的,网络适配器有时也称网络接口卡NIC。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现的许多链路层服务(成帧、链路接入、差错检测等)的专用芯片,许多功能由硬件实现。
发送端:控制器取得了由协议栈较高层生成并存储在主机内存中的数据报,在链路层帧中封装该数据报,然后遵循链路接入协议将该帧传进通信链路中。接收端:控制器接受整个帧,抽取出网络层数据报。如果链路层执行差错检测,则需要发送控制器在该帧的首部设置差错检测比特,由接收控制器执行差错检测。
5.2 差错检测和纠正技术
比特级差错检测和纠正即从一个结点发送到另一个物理上连接的邻近点的链路层帧中的比特损伤进行检测和纠正,它们通常是链路层提供的两种服务。
在发送结点,为了保护比特免受差错,使用差错检验和纠正比特(EDC)来增强数据D,接收方接收D’, EDC’可能与原始不同。差错检测和纠正技术使接收方有时但并非总是检测出已经出现的比特差错。即使采用差错检测比特,也还是有可能有未检出比特差错。
在传输数据中检测差错的3种技术:奇偶校验(用来描述差错检测和纠正背后隐含的基本思想),检验和方法(通常用于运输层),循环冗余检测(通常用在适配器中的链路层)
5.2.1 奇偶校验 单个奇偶校验位:初始信息加一个校验比特 ----检错能力差,未检出差错概率为50%
二维奇偶校验:可以检测奇数位差错和部分偶数位差错,可以纠正同一行/列的奇数位差错。
前向纠错FEC:接收方检测和纠正差错的能力。FEC可以减少所需的发送方重发的次数;允许在接收方立即纠正差错;避免了往返时延(收到NAK并重发的时间)
5.2.2 检验和方法 因特网检验和:将数据的字节作为16比特整数对待并求和,和的反码形成了携带在报文段首部的因特网检验和。 接收方通过对接收的数据(包括检验和)的和取反码,并且检测其结果是否全为1比特来检测检验和,如果有0就能指示出差错。 检验和方法需要相对小的分组开销,如tcp和udp中检验和为16比特,但差错保护相比链路层用的CRC较弱。
Q:为什么运输层使用检验和而链路层使用CRC? A:运输层通常是在主机中作为用户操作系统的一部分用软件实现的,采用简单而快速如检验和这样的差错检测方案是重要的;另一方面,链路层的差错检测在适配器中用专用的硬件实现,能够快速执行更复杂的CRC操作。
5.2.3 循环冗余检测CRC CRC编码也称为多项式编码。CRC编码操作:考虑d比特数据D,发送方和接收方先协商一个r+1比特模式,称为生成多项式,表示为G。要求G的最高有效位的比特为1.
关键思想如图. 对于给定的数据段D,发送方要选择r个附加比特R附加到D上,使得到d+r比特模式用模2算数恰好能被G整除。用CRC进行差错检测的过程:接收方用G去除接收到的d+r比特,如果余数非0,接收方知道出现差错,否则认为数据被正确接收。
5.3 多路访问链路和协议sdf
点对点链路:由链路一端的单个发送方和链路另一端的单个接收方组成。为点对点链路设计的链路层协议有点对点协议PPP,高级数据链路控制HDLC
广播链路:能够让多个发送和接收结点都连接到相同的、单一的、共享的广播信道上。当任何一个节点传输一个帧时,信道广播该帧,每个其他结点都收到一个副本。
多路访问问题:如何协调多个发送和接收结点对一个共享广播信道的访问。
多路访问协议:结点通过这些协议来规范它们在共享的广播信道上的传输行为。
多路访问协议分为3种类型:信道划分协议、随机接入协议、轮流协议
多路访问协议理想特性:1 当仅有一个节点有数据发送时,该结点具有R bps吞吐量;2 M个结点...R/M bps(一段适当时间间隔的平均速率);3 协议是分散的,不会因某主节点故障而使整个系统崩溃;4 协议简单,实现不昂贵。
5.3.1 信道划分协议
划分广播信道带宽:时分多路复用TDM,频分多路复用FDM。TDM将时间分为时间帧,并进一步划分每个时间帧为时隙,然后把每个时隙分配给N个结点中的一个。TDM两个主要缺陷:结点被限制于R/N bps的平均速率;结点必须总是等待它在传输序列中的轮次。FDM将将R bps信道划分为不同的频段 优:避免碰撞,在N个结点间公平划分带宽;缺:一个节点只有R/M带宽。码分多址CDMA:为每个结点分类不同编码,每个节点用它唯一的编码来对它发送的数据编码,则不同的结点能够同时传输。
5.3.2 随机接入协议 ALOHA CSMA
一个传输结点总是以信道的全部速率发送,有碰撞时,涉及碰撞的每个结点反复重发分组知道无碰撞通过。但是当一个结点经过一个碰撞后不会立刻重发,而是在重发该帧之前等待一个随机时延。
1. 时隙ALOHA:假设所有帧由L比特组成,时间被划分为L/R时隙,结点只在时隙起点开始传输帧,结点同步,每个结点都知道时隙何时开始,如果一个时隙中有碰撞则所有结点在时隙结束前检测到该碰撞。 如果有碰撞,该节点以概率p在后续每个时隙重传。优点:有唯一活跃结点时可以以R连续传输;高度分散,每个结点检测碰撞并独立决定何时重传。(但 需要在结点中对时隙同步) 缺点:有多个活跃结点时部分时隙因碰撞而浪费,另一部分空闲。刚好有一个结点传输的时隙成为一个成功时隙。时隙多路访问协议的效率:当有大量的活跃结点且每个总有大量帧要发送,长期运行中成功时隙的份额。
最大效率推导:N个结点每个时隙以概率p传输一帧 任意一个结点成功传输概率:Np(1-p)^(N-1)
求导得p=1/N时概率最大,N趋近正无穷时:代入,p趋近于1/e=0.37
2. ALOHA 非时隙,完全分散
一个给定的结点成功传输一次的概率p(1-p)^2(N-1),最大效率仅为1/2e
3. 载波侦听多路访问CSMA
在时隙和纯ALOHA中,一个结点传输的决定独立于连接到这个广播信道上的其他结点的活动。不管信道当前状况。
两个规则:说话前先听--载波侦听;如果与他人同时说话,停止说话,等待随机时间--碰撞检测
即使有侦听还是会发生碰撞:广播信道的端到端信道传播时延
4. 具有碰撞检测的载波侦听多路访问 CSMD/CD
过程:适配器封装一个链路层帧放入帧适配器缓存-->侦听到信道空闲开始传输,信道忙等到侦听到没有信号能量再传输-->传输过程中监视来自其他使用该广播信道的适配器的信号能量的存在-->如果检测到则终止传输-->终止后等待一个随机时间量返回2.
时间间隔应满足:碰撞结点数较少时间较短,反之较长。——用于以太网及DOCSIS中的二进制指数后退算法,当帧经过n次碰撞,结点随机从0,1,2,3...2^n-1中选K值,对于以太网一个结点等待的实际时间量是K*512比特时间,n能取的最大值在10内。
5. CSMA/CD效率
定义:当有大量活跃结点且每个结点有大量帧要发送时,帧在信道中无碰撞地传输的那部分时间在长期运行时间中占的份额。
5.3.3 轮流协议
1 轮询协议:指定一个主节点,主节点以循环方式轮询每个结点。告诉每个结点能传输的帧的最多数量。优点:消除了困扰随机接入协议的碰撞和空时隙,效率高;缺点:协议引入了轮询时延,即通知一个结点可以传输的时间;如果主节点故障,整个信道不可操作。
2 令牌传递协议:一个称为令牌的小特殊帧在结点之间以某种固定的次序进行交换。一个结点收到令牌后如果要传输帧则传输最大数量然后传给下个结点,不用则立即传给下个节点。优点:令牌传递是分散的,效率高;缺点:一结点故障导致信道崩溃;如果一个结点忘记释放令牌,必须调用恢复步骤使令牌返回循环。一般在全光网络中用。
DOCSIS:用于电缆因特网接入的链路层协议
5.4 交换局域网
5.4.1 链路层寻址和ARP 链路层交换机并不具有与它们的接口相关联的链路层地址,因为链路层交换机的任务是在主机与路由器之间承载数据报;交换机透明执行该任务,主机或路由器不必明确地将帧寻址到其间的交换机。
链路层地址=MAC地址=LAN地址=物理地址 共6字节。适配器的MAC地址具有扁平结构,不论到哪里都不变;IP地址具有层次结构,主机移动时IP地址改变。 广播地址为ff... MAC地址作用:用于局域网内标识一个帧从哪个接口发出,到达哪个物理相连的其他接口。
地址解析协议ARP:在IP地址和MAC地址之间进行转换。在发送主机中的ARP模块将取在相同局域网上的任何IP地址作为输入,然后返回相应的MAC地址。 与DNS类似,但ARP只为在同一个子网上的主机和路由器接口解析IP地址。每台主机或路由器在内存中有ARP表,包含IP地址到MAC地址的映射关系、TTL。 ARP即插即用:一个ARP表是自动建立的,不需要系统管理员来配置。
5.4.2以太网 发展:同轴电缆总线--集线器(物理层设备,作用于比特而不是帧)--交换机
以太网帧:|前同步码8|目的地址6|源地址|类型2|数据46-1500|CRC4| 以太网技术向网络层提供无连接服务、不可靠服务。 今天广泛使用的以太网是基于交换机的星形拓扑,采用存储转发分组交换。
5.4.3 链路层交换机 交换机的任务是接收入链路层帧并将它们转发到出链路。交换机及自身对子网中的主机和路由器时透明的。过滤是决定一个帧应该转发到某个接口还是应当将其丢弃的交换机功能。转发是决定一个帧应该被导向哪个接口,并把该帧移动到那些接口的交换机功能。交换机的过滤和转发借助于交换机表完成(MAC地址|通往该MAC的交换机接口|表项放置的时间)。 自学习:1交换机表初始为空 2 对每个接口收到的每个帧在表中存源MAC、到达的接口、当前时间,以这种方式记录了发送结点所在的局域网网段 3 老化期没收到该地址来的帧就删掉。 交换机是即插即用设备;双工,能同时发送和接收。链路层交换机的性质:消除碰撞、异质的链路(交换机将链路彼此隔离,因此局域网中不同链路能以不同速率、在不同媒体上运行)、管理(能检测异常适配器并内部断开) 交换机毒化:向交换机发送大量的具有不同伪造源MAC地址的分组,因而用伪造表项填满的交换机表,没有为合法主机留下空间,这使该交换机广播大多数帧,这些帧能够由嗅探器俘获到。
交换机VS路由器:两者都是存储转发分组交换机,都有转发表;路由器用IP地址转发分组,交换机用MAC;交换机是第二层交换机,路由器第三层。
5.4.4 虚拟局域网VLAN 普通交换机等级结构的缺点:缺乏流量隔离,交换机的无效使用,管理用户。----通过支持虚拟局域网的交换机来处理,它允许经一个单一的物理局域网基础设施定义多个VLAN。VLAN干线连接:每台交换机上的一个特殊端口被配置为干线端口,以互联这两台VLAN交换机,该干线端口属于所有VLAN,发送到任何VLAN的帧经过干线链路转发到其他交换机,加入4字节VLAN标签以区分(2B标签协议标识符+2B标签控制信息字段(VLAN标识符)+3bit优先权字段)。
5.5链路虚拟化:网络作为链路层
多协议标签交换MPLS 目标:对于基于固定长度标签和虚电路的技术,在不放弃基于目的地IP数据报转发的基础设施前提下,当可能时通过选择性的标识数据报并允许路由器基于固定长度的标签而非IP转发数据报来增强其功能。
5.6 数据中心网络
数据中心的主机被称为刀片,每个机架顶有一台机架顶部交换机。数据中心网络包括一或多台边界路由器,将之与公共因特网互联。负载均衡器:向主机分发请求,以主机当前的负载作为函数来在主机之间均衡负载。 数据中心通常应用路由器和交换机等级结构。 数据中心网络发展趋势-部署能克服传统等级设计缺陷的新型互联体系结构和网络协议 方法1采用全连接拓扑来替代交换机和路由器等级结构 2 采用基于船运集装箱的模块化数据中心。