第3章数据链路层怎样实现相邻结点之间的数据传输?3.1相邻结点的数据传输机制——数据链路层3.2怎样实现点对点的数据传输——点对点协议PPP3.3怎样实现多个相邻结点的数据共享——局域网3.4举例:怎样实现局域网——以太网技术3.5怎样实现更多结点的数据共享——扩展的局域网3.6局域网技术的发展——高速以太网3.7怎样更便捷的联网——无线局域网2333.1数据链路层的基本概念和功能链路(link)就是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。数据链路(datalink)则是另一个概念。这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要通信协议来控制这些数据的传输。把实现这些协议的硬件和软件加到链路上,就构成了数据链路。也有人将它们分别称为物理链路和逻辑链路。44(1)链路管理数据链路的建立、维持和释放就叫做链路管理。(2)帧同步(3)透明传输(4)差错控制(5)流量控制(flowcontrol)(6)寻址3.1.1数据链路层的主要功能53.1.2差错检测在传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BitErrorRate)。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。6循环冗余检验的原理在发送端,先把数据划分为组。假定每组k个比特。假设待传送的一组数据M=101001(现在k=6)。我们在M的后面再添加供差错检测用的n位冗余码一起发送。冗余码的计算方法:①用二进制的模2运算进行2n乘M的运算,这相当于在M后面添加n个0。②得到的(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q而余数是R,余数R比除数P少1位,即R是n位,也就是所求的冗余码。7冗余码的计算举例现在k=6,M=101001。设n=3,除数P=1101,被除数是2nM=101001000。模2运算的结果是:商Q=110101,余数R=001。把余数R作为冗余码添加在数据M的后面发送出去。发送的数据是:2nM+R即:101001001,共(k+n)位。8110101←Q(商)P(除数)→1101101001000←2nM(被除数)11011110110101110000111011010110000011001101001←R(余数),作为FCS9帧检验序列FCS在数据后面添加上的冗余码称为帧检验序列FCS(FrameCheckSequence)。循环冗余检验CRC和帧检验序列FCS并不等同。CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。10接收端对收到的每一帧进行CRC检验接收端对收到的每一帧进行CRC检验后,可能出现两种情况:(1)若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。(2)若余数R0,则判定这个帧有差错,就丢弃。这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。113.1.3数据链路层的可靠传输“可靠传输”就是要做到:数据链路层的发送端发送什么,在对应的接收端就收到什么。传输差错可分为两大类:比特差错帧丢失或帧重复12121.停止等待协议停止等待(stop-and-wait)协议是最简单但也是最基本的数据链路层协议。131314信道利用率停止等待协议的优点是简单,但缺点是信道利用率太低。TDRTTATD+RTT+TABttADDTTTURTT15152.连续ARQ协议连续ARQ协议的工作原理就是在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。由于减少了等待时间,整个通信的吞吐量就提高了。16161717要注意两点:(1)接收端只按序接收数据帧。(2)结点A在每发送完每一个数据帧时都要设置超时计时器。1818发送窗口的大小WT就代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。发送窗口是用来对发送端进行流量控制的。滑动窗口的概念1919发送窗口的规则归纳如下:(1)发送窗口内的帧是允许发送的帧,而不考虑有没有收到确认。发送窗口右侧所有的帧都是不允许发送的帧。(2)每发送完一个帧,允许发送的帧数就减1。但发送窗口的位置不变。(3)如果所允许发送的帧都发送完了,但还没有收到任何确认,那么就不能再发送任何帧了。(4)每收到对一个帧的确认,发送窗口就向前(即向右方)滑动一个帧的位置。20202121接收窗口的规则很简单,归纳如下:(1)只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。(2)每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时向发送端发送对该帧的确认。222223233.选择重传ARQ协议为进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是计时器超时的数据帧。这就是选择重传ARQ协议。它需要接收端具有相当容量的缓存空间。243.2点对点协议PPP3.2.1PPP协议的特点现在全世界使用得最多的数据链路层协议是点对点协议PPP(Point-to-PointProtocol)。用户使用拨号电话线接入因特网时,一般都是使用PPP协议。1)简单——这是首要的要求2)透明性3)多种网络层协议和链路类型4)检测连接状态5)最大传送单元6)网络层地址协商253.2.2PPP协议的组成PPP协议有三个组成部分一个将IP数据报封装到串行链路的方法。链路控制协议LCP(LinkControlProtocol)。网络控制协议NCP(NetworkControlProtocol)。26PPP协议的帧格式PPP有一个2个字节的协议字段当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制数据。若为0x8021,则表示这是网络控制数据。IP数据报1211字节12不超过1500字节PPP帧先发送7EFF03FACFCSF7E协议信息部分首部尾部27字符填充当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充。用在异步传输时,使用一种特殊的字符填充法。将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。28零比特填充PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除.2901001111101000101001001111110001010010011111010001010信息字段中出现了和标志字段F完全一样的8比特组合发送端在5个连1之后填入0比特再发送出去在接收端把5个连1之后的0比特删除会被误认为是标志字段F发送端填入0比特接收端删除填入的0比特零比特填充3030313.3局域网概述局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。局域网具有如下的一些主要优点:具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。便于系统的扩展和逐渐地演变。提高了系统的可靠性、可用性和残存性。32局域网的拓扑匹配电阻集线器干线耦合器总线网星形网树形网环形网33媒体共享技术静态划分信道频分复用时分复用波分复用码分复用动态媒体接入控制(多点接入)随机接入受控接入,如多点线路探询(polling),或轮询。343.4使用广播信道的以太网3.4.1以太网概述1.以太网的两个标准DIXEthernetV2。IEEE的802.3标准。DIXEthernetV2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”。严格说来,“以太网”应当是指符合DIXEthernetV2标准的局域网。35数据链路层的两个子层为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层:逻辑链路控制LLC(LogicalLinkControl)子层媒体接入控制MAC(MediumAccessControl)子层。与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种传输媒体对LLC子层来说都是透明的。局域网网络层物理层站点1网络层物理层逻辑链路控制LLCLLC媒体接入控制MACMAC数据链路层站点2362.适配器的作用网络接口板又称为通信适配器(adapter)或网络接口卡NIC(NetworkInterfaceCard),或“网卡”。适配器的重要功能:进行串行/并行转换。对数据进行缓存。把设备驱动程序安装到计算机的操作系统中。实现以太网协议。硬件地址至局域网适配器(网卡)串行通信CPU和存储器生成发送的数据处理收到的数据把帧发送到局域网从局域网接收帧计算机IP地址并行通信37最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。3.4.2CSMA/CD协议B向D发送数据CDAE匹配电阻(用来吸收总线上传播的信号)匹配电阻不接受不接受不接受接受B只有D接受B发送的数据38载波监听多点接入/碰撞检测CSMA/CDCSMA/CD表示CarrierSenseMultipleAccesswithCollisionDetection,即载波监听多点接入/碰撞检测。“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加),表明产生了碰撞。391kmABt碰撞t=2A检测到发生碰撞t=B发送数据B检测到发生碰撞t=t=0单程端到端传播时延记为传播时延对载波监听的影响401kmABt碰撞t=B检测到信道空闲发送数据t=/2发生碰撞t=2A检测到发生碰撞t=B发送数据B检测到发生碰撞t=ABABABt=0A检测到信道空闲发送数据ABt=0t=B检测到发生碰撞停止发送STOPt=2A检测到发生碰撞STOPAB单程端到端传播时延记为41重要特性使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。最先发送数据帧的站,在发送数据帧后至多经过时间2(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。以太网的端到端往返时延2称为争用期,或碰撞窗口。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。42截断二进制指数退避算法(truncatedbinaryexponentialtype)发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。确定基本退避时间,一般是取为争用期2。以太网取51.2s为争用期的长度。对