课件制作人:谢希仁计算机网络(第6版)第3章数据链路层课件制作人:谢希仁第3章数据链路层3.1使用点对点信道的数据链路层3.1.1数据链路和帧3.1.2三个基本问题3.2点对点协议PPP3.2.1PPP协议的特点3.2.2PPP协议的帧格式3.2.3PPP协议的工作状态课件制作人:谢希仁第3章数据链路层(续)3.3使用广播信道的数据链路层3.3.1局域网的数据链路层3.3.2CSMA/CD协议3.4使用广播信道的以太网3.4.1使用集线器的星形拓扑3.4.2以太网的信道利用率3.4.3以太网的MAC层课件制作人:谢希仁第3章数据链路层(续)3.5扩展的以太网3.5.1在物理层扩展以太网3.5.2在数据链路层扩展以太网3.6高速以太网3.6.1100BASE-T以太网3.6.2吉比特以太网3.6.310吉比特和100吉比特以太网3.6.4使用以太网进行宽带接入课件制作人:谢希仁数据链路层数据链路层使用的信道主要有以下两种类型:点对点信道。这种信道使用一对一的点对点通信方式。广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发课件制作人:谢希仁数据链路层的简单模型局域网广域网主机H1主机H2路由器R1路由器R2路由器R3电话网局域网主机H1向H2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动课件制作人:谢希仁数据链路层的简单模型(续)局域网广域网主机H1主机H2路由器R1路由器R2路由器R3电话网局域网主机H1向H2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动课件制作人:谢希仁3.1使用点对点信道的数据链路层3.1.1数据链路和帧链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。IP数据报1010……0110帧取出数据链路层网络层链路结点A结点B物理层数据链路层结点A结点B帧(a)(b)发送帧接收链路IP数据报1010……0110帧装入数据链路层传送的是帧课件制作人:谢希仁数据链路层像个数字管道常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧课件制作人:谢希仁3.1.2三个基本问题(1)封装成帧(2)透明传输(3)差错控制课件制作人:谢希仁1.封装成帧封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。帧结束帧首部IP数据报帧的数据部分帧尾部MTU数据链路层的帧长开始发送帧开始课件制作人:谢希仁用控制字符进行帧定界的方法举例SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT课件制作人:谢希仁2.透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前课件制作人:谢希仁解决透明传输问题发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。字节填充(bytestuffing)或字符填充(characterstuffing)——接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。课件制作人:谢希仁SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题SOH课件制作人:谢希仁3.差错检测在传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1。在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BitErrorRate)。误码率与信噪比有很大的关系。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。课件制作人:谢希仁循环冗余检验的原理在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。在发送端,先把数据划分为组。假定每组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位。课件制作人:谢希仁冗余码的计算举例现在k=6,M=101001。设n=3,除数P=1101,被除数是2nM=101001000。模2运算的结果是:商Q=110101,余数R=001。把余数R作为冗余码添加在数据M的后面发送出去。发送的数据是:2nM+R即:101001001,共(k+n)位。课件制作人:谢希仁110101←Q(商)P(除数)→1101101001000←2nM(被除数)11011110110101110000111011010110000011001101001←R(余数),作为FCS循环冗余检验的原理说明课件制作人:谢希仁帧检验序列FCS在数据后面添加上的冗余码称为帧检验序列FCS(FrameCheckSequence)。循环冗余检验CRC和帧检验序列FCS并不等同。CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。课件制作人:谢希仁接收端对收到的每一帧进行CRC检验(1)若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。(2)若余数R0,则判定这个帧有差错,就丢弃。但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。课件制作人:谢希仁应当注意仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。课件制作人:谢希仁3.2点对点协议PPP3.2.1PPP协议的特点现在全世界使用得最多的数据链路层协议是点对点协议PPP(Point-to-PointProtocol)。用户使用拨号电话线接入因特网时,一般都是使用PPP协议。课件制作人:谢希仁用户到ISP的链路使用PPP协议用户至因特网已向因特网管理机构申请到一批IP地址ISP接入网PPP协议课件制作人:谢希仁1.PPP协议应满足的需求简单——这是首要的要求封装成帧透明性多种网络层协议多种类型链路差错检测检测连接状态最大传送单元网络层地址协商数据压缩协商课件制作人:谢希仁2.PPP协议不需要的功能纠错流量控制序号多点线路半双工或单工链路课件制作人:谢希仁3.PPP协议的组成1992年制订了PPP协议。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661]。PPP协议有三个组成部分一个将IP数据报封装到串行链路的方法。链路控制协议LCP(LinkControlProtocol)。网络控制协议NCP(NetworkControlProtocol)。课件制作人:谢希仁3.2.2PPP协议的帧格式标志字段F=0x7E(符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)。地址字段A只置为0xFF。地址字段实际上并不起作用。控制字段C通常置为0x03。PPP是面向字节的,所有的PPP帧的长度都是整数字节。课件制作人:谢希仁PPP协议的帧格式PPP有一个2个字节的协议字段。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制数据。若为0x8021,则表示这是网络控制数据。IP数据报1211字节12不超过1500字节PPP帧先发送7EFF03FACFCSF7E协议信息部分首部尾部课件制作人:谢希仁透明传输问题当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC的做法一样)。当PPP用在异步传输时,就使用一种特殊的字符填充法。课件制作人:谢希仁字符填充将信息字段中出现的每一个0x7E字节转变成为2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成为2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。课件制作人:谢希仁零比特填充PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,01001111101000101001001111110001010010011111010001010信息字段中出现了和标志字段F完全一样的8比特组合发送端在5个连1之后填入0比特再发送出去在接收端把5个连1之后的0比特删除会被误认为是标志字段F发送端填入0比特接收端删除填入的0比特零比特填充课件制作人:谢希仁不提供使用序号和确认的可靠传输PPP协议之所以不使用序号和确认机制是出于以下的考虑:在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列FCS字段可保证无差错接受。课件制作人:谢希仁3.2.3PPP协议的工作状态当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。设备之间无链路链路静止链路建立鉴别网络层协议链路打开链路终止物理链路LCP链路已鉴别的LCP链路已鉴别的LCP链路和NCP链路物理层连接建立LCP配置协商鉴别成功或无需鉴别NCP配置协商链路故障或关闭请求LCP链路终止鉴别失败LCP配置协商失败课件制作人:谢希仁3.3使用广播信道的数据链路层3.3.1局域网的数据链路层局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。局域网具有如下的一些主要优点:具有广播功能,从一个站点可很方便地访