计算机网络2014年9月国防科技学院第5章链路层和局域网第5章链路层和局域网计算机网络第5章链路层和局域网我们的目标:理解支撑数据链路层服务的原则:差错检测,纠正共享广播信道:多路访问链路层编址可靠数据传输,流量控制:前面已分析过各种链路层技术实例与实现第5章链路层和局域网第5章链路层和局域网5.1概述与服务5.2差错检测和纠错5.3多路访问协议5.4链路层编址5.5以太网5.6链路层交换机5.7PPP5.8链路虚拟化第5章链路层和局域网某些术语:主机和路由器是节点连接沿通信路径的相邻节点的路径是链路有线链路无线链路局域网第二层的分组叫帧,封装数据报“link”数据链路层具有经一条链路从一个节点传输数据到相邻节点的能力链路层:概述第5章链路层和局域网使用不同的链路协议经不同的链路传输数据报:如第一段链路是以太网,中间链路是帧中继,最后链路是802.11每个链路协议提供不同的服务可能或不能经链路提供可靠数据传输运输类比从普林斯顿到洛桑的旅行豪华轿车:普林斯顿到JFK飞机:JFK到日内瓦火车:日内瓦到洛桑旅行者=datagram运输各段=通信链路运输模式=链路层协议旅行代理人=选路算法链路层:相关内容第5章链路层和局域网成帧,链路访问:将数据报封装进帧,加上首部和尾部如果共享媒体,信道访问位于帧首部的“MAC”地址标识源、目的地不同于IP地址!相连节点间的可靠交付在比特差错低的链路很少使用(光纤,某些双绞线)无线链路:高差错率问题:为什么同时使用链路级和端到端可靠性?链路层服务第5章链路层和局域网流量控制:相邻发送和接收节点间的步调一致差错检测:差错由信号衰减、噪声所致接收方检测差错的存在信号发送方负责重传或丢弃帧纠错:接收方识别和纠正比特差错,而不采取重传半双工and全双工使用半双工,链路的两端节点能够传输,但不能同时链路层服务(续)第5章链路层和局域网在“适配器”(又称为NIC)中实现链路层以太网卡,PCMCIA卡,802.11卡发送侧:将数据报封装在帧中增加差错检测比特,可靠数据传输,流量控制,等接收侧查找差错,可靠数据传输,流量控制,等提取数据报,传递到接收节点适配器是半自治的链路和物理层发送节点帧接收节点数据报帧适配器适配器链路层协议网络适配器实现链路层通信第5章链路层和局域网5.1概述与服务5.2差错检测和纠错5.3多路访问协议5.4链路层编址5.5以太网5.6链路层交换机5.7PPP5.8链路虚拟化第5章链路层和局域网EDC=冗余数据D=信息数据•差错检测不是100%可靠•较大的EDC字段产生更好的检测和纠正差错检测基本原理发送方:信息数据+冗余数据接收方:检查信息数据和冗余数据的关系,发现差错第5章链路层和局域网单比特奇偶校验:检测单个比特差错二维比特奇偶校验:检测和纠正单个比特差错00奇偶比特奇偶差错奇偶差错可纠正的单比特差错无差错奇偶校验专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。第5章链路层和局域网发送方:将段内容作为16比特整数序列来处理检查和:段内容相加(补码和)发送方将检查和的值放入UDP检查和字段接收方:计算接收到段的检查和检查是否计算的检查和等于检查和字段的值:NO–检测到差错YES–没有检测到差错.尽管如此,还可能有错。详情见后….互联网检查和计算步骤:求和,回卷,求反第5章链路层和局域网循环冗余校验码CRC是计算机网络和数据通信中使用最为广泛的检错码之一。检错能力强(硬件)实现简单广泛用于实践中(ATM,HDLC)循环冗余码校验比特模式数学公式被发送的数据比特第5章链路层和局域网CRC原理将待发送的位串D看成系数为0或1的多项式收发双方约定一个生成多项式G(x)发送方用位串D及G(x)进行某种运算得到校验和R,并在帧的末尾加上校验和,使带校验和的帧的多项式(D+R)能被G(x)整除接收方收到后,用G(x)除多项式,若有余数则传输有错。CRC-16:x16+x15+x2+1CRC-8:x8+x2+x+1例:D=101110000D(x)=1x8+0x7+1x6+1x5+1x4+0x3+0x2+0x+0x0=x8+x6+x5+x4第5章链路层和局域网希望:D.2rXORR=nG等价为:D.2r=nGXORR等价为:如果我们用G除以D.2r,余数为RR=余数[]D.2rGCRC例子多项式除法:模2除法(具体使用模2减法,即模2加法)第5章链路层和局域网5.1概述与服务5.2差错检测和纠错5.3多路访问协议5.4链路层编址5.5以太网5.6链路层交换机5.7PPP5.8链路虚拟化第5章链路层和局域网两类“链路”:点对点用于拨号接入的PPP在以太网交换机和主机之间的点对点链路广播(共享线路或媒体)传统的以太网向上游的HFC802.11无线LAN多路访问链路和协议第5章链路层和局域网单一共享广播信道节点的两个或更多的并行传输:干扰碰撞如果节点同时接收到两个或更多信号多路访问协议决定节点怎样共享信道的分布式算法,如决定何时节点能够传输有关信道共享的通信必须使用信道本身!不用带外信道来协调多路访问协议第5章链路层和局域网速率Rbps的广播信道1.当一个节点要传输,它能够以速率R发送2.当M节点要传输,每个能以平均速率R/M发送3.全分散:无特殊节点来协调传输无同步时钟、时隙4.简单理想的多路访问协议第5章链路层和局域网三大类:信道划分将信道划分为较小的“段”(时隙,频率,编码)为节点分配一部分专用随机访问不划分信道,允许碰撞从“碰撞”恢复轮流协议节点轮流,但有更多信息要发送的能够轮流的较长时间MAC协议:分类第5章链路层和局域网TDMA:时分多路访问”循环“访问信道每个站点在每个循环中获得固定长度时隙(长度=分组传输时间)不使用的时隙空闲例子:6个站点的LAN,时隙1、3、4有分组,时隙2、5、6空闲TDM(TimeDivisionMultiplexing):channeldividedintoNtimeslots,oneperuser;inefficientwithlowdutycycleusersandatlightload.FDM(FrequencyDivisionMultiplexing):frequencysubdivided.信道划分MAC协议:TDMA第5章链路层和局域网FDMA:频分多路访问信道频谱划分为频带每个站点分配固定的频带频带中未使用的传输时间空闲例子:6个站点的LAN,频带1、3、4有分组,频带2、5、6空闲TDM(TimeDivisionMultiplexing):channeldividedintoNtimeslots,oneperuser;inefficientwithlowdutycycleusersandatlightload.FDM(FrequencyDivisionMultiplexing):frequencysubdivided.frequencybands信道划分MAC协议:FDMA第5章链路层和局域网当站点有分组要发送以信道全部速率R传输节点间无优先权协调两个或更多传输节点➜“碰撞”,随即访问MAC协议定义了:如何检测碰撞如何从碰撞中恢复(例如,经延迟的重新传输)随即访问MAC协议的例子:时隙ALOHAALOHACSMA,CSMA/CD,CSMA/CA随机访问协议第5章链路层和局域网假定所有帧有相同长度时间划分为等长时隙,能够传输1个帧节点仅在时隙开始时开始传输帧节点是同步的操作当节点获得新帧,将在下一个时隙中传输无碰撞,节点能够在下一个时隙中发送新帧如果碰撞,节点在每个后继时隙中以概率p重传帧时隙ALOHA第5章链路层和局域网优点单个活跃节点能够连续地以信道的全速传输高速分散:仅节点中的时隙需要同步简单缺点碰撞,浪费时隙空闲时隙节点可能能够以小于传输分组的时间检测到碰撞时钟同步时隙ALOHA第5章链路层和局域网假定N个有许多帧要发送节点,每个时隙以概率p发送节点1在一个时隙中成功发送的概率=p(1-p)N-1任何节点成功发送的概率=Np(1-p)N-1对N节点为使效率最大化,求p*使得Np(1-p)N-1最大化对许多节点,当N趋近无穷大,取Np*(1-p*)N-1极限,得到1/e=0.37效率是当有许多节点,且每个都有许多帧要发送时,成功时隙与总时隙的长期比值最多:信道用于有用传输的时间是37%!时隙Aloha效率第5章链路层和局域网非时隙Aloha:更简单,无同步要求当帧首个到达立即传输碰撞的概率增加:在t0发送与在[t0-1,t0+1]发送的其他帧碰撞将于i帧起始部分重叠将于i帧结束部分重叠纯(非时隙)ALOHA纯ALOHA的效率仅为时隙ALOHA效率的一半第5章链路层和局域网CSMA:在传输前侦听:如果侦听到信道空闲:传输整个帧如果侦听到信道忙,推迟传输人类类比:不要打断他人说话!CSMA(载波侦听多路访问)第5章链路层和局域网碰撞还是会出现:传播时延意味着两个节点也许不能听到其他节点传输碰撞:整个分组传输时间被浪费节点的空间设置注意:距离与传播时延在决定碰撞概率的作用空间CSMA碰撞第5章链路层和局域网CSMA/CD:载波侦听,如同在CSMA在短时间内检测到碰撞碰撞的传输流产,减少信道浪费碰撞检测:在有线的LAN中容易:测量信号强度,比较传输的和接收的信号在无线LAN中困难:无线节点为了节省能源,Frame发送完毕后就会关闭而没有载波人类类比:礼貌的交谈者CSMA/CD第5章链路层和局域网a=τ/T0,a越小,网络性能越好空间CSMA/CD碰撞检测第5章链路层和局域网信道划分MAC协议:在高负载时高效、公平地共享信道低负载时低效:信道访问中延时,当1个活跃节点时,甚至仅有分配了1/N带宽!随机访问MAC协议低负载是有效:单个节点能够全面利用信道高负载:碰撞开销“轮流”协议兼有这方面的优点!“轮流”MAC协议第5章链路层和局域网轮询协议:主节点“邀请”从节点依次传输关注问题:轮询开销轮询延迟单点故障(主节点)令牌协议:控制令牌从一个节点顺序地传递到下一个.令牌报文关注问题:令牌开销时延单点故障(令牌)“轮流”MAC协议第5章链路层和局域网对共享媒体你需要做些什么?信道划分,通过时间、频率或编码时分,频分随机划分(动态的),ALOHA,S-ALOHA,CSMA,CSMA/CD载波侦听:在某些技术(有线)中容易,在另一些(无线)中困难CSMA/CD用在以太网中CSMA/CA用在802.11中轮流从中心站点轮询,令牌传递MAC协议小结第5章链路层和局域网数据链路层前面讲过:服务,差错检测/纠正,多路访问下面:LAN技术编址以太网集线器,交换机PPPLAN技术第5章链路层和局域网5.1概述与服务5.2差错检测和纠错5.3多路访问协议5.4链路层编址5.5以太网5.6链路层交换机5.7PPP5.8链路虚拟化第5章链路层和局域网两台机器A和B,它们IP地址分别是IA、IB,物理地址分别是PA和PB高层程序仅希望与IP地址交往,而实际通信必须使用物理地址IP4IAPAHA4HA3HA2HA5PBIP5ABIP2R1R2以太网2以太网1FDDI网IP层上的互联网IP数据报MAC帧IBIP3MAC帧MAC帧问题:A如何从B的IP地址得到它的物理地址PB?地址转换问题第5章链路层和局域网32-bitIP地址:网络层地址用于使数据报到达目的IP子网MAC(或LAN或物理或以太网)地址:用于使数据报从一个接口到达另一个物理连接的接口(同一个网络内)48bitMAC地址(对多数LAN)烧在了适配器ROM中MAC地址