计算机网络第三章 数据链路层.ppt
《计算机网络第三章 数据链路层.ppt》由会员分享,可在线阅读,更多相关《计算机网络第三章 数据链路层.ppt(179页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计计 算算 机机 网网 络络 主 讲:邓 辉计算机网络计算机网络第第 3 章章 数据链路层数据链路层3.1使用点对点信道的数据链路层3.2点对点协议PPP3.3使用广播信道的数据链路层3.4使用广播信道的以太网3.5扩展的以太网3.6高速以太网3.7其他类型的高速局域网接口计算机网络计算机网络数据链路层的简单模型数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动
2、计算机网络计算机网络局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动数据链路层的简单模型数据链路层的简单模型计算机网络计算机网络数据链路层的任务数据链路层的任务数据链路层的任务是把网络层的数据组合成帧,加上一定的校验,然后交物理层用某种信号表示二进制数据位送到目的计算机,并通过目的计算机的物理层和数据链路层送到网络层,也就是为网络层提供一条可靠的数据链路。计算机网络计算机网络
3、数据链路层的功能数据链路层的功能n数据链路层要解决向网络层提供透明的数据传送服务。n数据链路层要解决在两个网络实体之间提供数据链路连接的建立、维持和释放管理。n数据链路层要解决如何检测处理传输中出现的差错。计算机网络计算机网络数据链路层服务的区分规则数据链路层服务的区分规则n数据链路层的服务是通过有无连接、有无确认来区分的。无确认无连接有确认无连接有确认有连接计算机网络计算机网络确认和连接确认和连接n确认:接收方在收到数据帧后,必须给发送方发回一个确认。n面向连接:发送方和接收方在传输数据之前必须建立逻辑连接,传输结束后必须释放连接。计算机网络计算机网络无确认的面向无连接服务无确认的面向无连接
4、服务n无确认是指接收方在收到数据帧后,毋需发回一个确认。n无连接服务是指在数据传输前毋需建立逻辑链路。n物理线路的连接并非意味着提供有连接的服务。n无确认并非不可靠,其可靠性由上层负责。计算机网络计算机网络无确认的面向无连接服务举例无确认的面向无连接服务举例n局域网共享信道毋需建立连接信道较为理想,数据传输的误码率很低即使出错或丢失由上层负责恢复计算机网络计算机网络有确认的面向无连接服务有确认的面向无连接服务n使用前不建立连接,即不建立逻辑链路,但每帧传输必须得到确认。n这在信号传播延时较大、线路状态不一定很可靠的情况下是有效的。n例如:卫星通信如建立连接,则信道利用率低。数据传输的误码率相对
5、较高,确认是必要的计算机网络计算机网络有确认的面向连接服务有确认的面向连接服务n使用前先建立连接,即先建立数据链路,并且每帧的传输必须得到确认n有连接的服务必须在使用前先建立连接(即建立逻辑链路),然后使用,最后释放连接。n例如:电话计算机网络计算机网络n点对点信道。这种信道使用一对一的点对点通信方式。n广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。数据链路层使用的信道数据链路层使用的信道计算机网络计算机网络3.1 使用点对点信道的数据链路层使用点对点信道的数据链路层3.1.1 数据链路和帧数据链
6、路和帧 n链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。n数据链路(datalink)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。计算机网络计算机网络IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧(a)(b)发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧数据链路层
7、传送的是帧数据链路层数据链路层网络层物理层计算机网络计算机网络数据链路层像个数字管道数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。n早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧计算机网络计算机网络3.1.2 三个基本问题三个基本问题 1.封装成帧封装成帧n封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。n首部和尾部的一个重要作用就是进行帧定界。帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长开始发送
8、帧开始计算机网络计算机网络用控制字符进行帧定界的方法用控制字符进行帧定界的方法 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT其中SOH和EOT均为ASCII编码 Data 0000000100000100计算机网络计算机网络2.透明传输透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前00000001 0000010000000100计算机网络计算机网络解决透明传输问题解决透明传输问题n发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制ASCLL编码是1B)。n字节填
9、充(bytestuffing)或字符填充(characterstuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。n如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。计算机网络计算机网络SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符字节填充法解决透明传输问题字节填充法解决透明传输问题 SOH计算机网络计算机网络SOHESCEOTESCSOHESCESCESCEOTESC
10、ESCESCSOHEOTSOHESCESCEOTESC字节填充例字节填充例接收端发送端计算机网络计算机网络3.差错检测差错检测n在传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1。n在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BitErrorRate)。n误码率与信噪比有很大的关系。n为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。n在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。(模2运算)计算机网络计算机网络循环冗余检验循环冗余检验n在发送端,先把数据划分为组。假定每组k 个比特。n选定好长度为(n+1)位的除
11、数P。n用二进制的模2运算进行2n 乘M 的运算,这相当于在M 后面添加n 个0。n得到的(k+n)位的数除以除数P,得出商是Q 而余数是R,余数R 比除数P 少1位,即R 是n位。在M 的后面再添加供差错检测用的n位冗余码R一起发送。计算机网络计算机网络冗余码的计算举例冗余码的计算举例 n现在设M=101001,k=6;n设除数P=1101,n=3;n被除数是2nM=101001000;n模2运算的结果是:商Q=110101,余数R=001;n把余数R 作为冗余码添加在数据M 的后面发送出去。发送的数据是:2nM+R即:101001001,共(k+n)位。计算机网络计算机网络 110101
12、Q(商)P(除数)1101 101001000 2nM(被除数)1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001 R(余数),作为 FCS 冗余码的计算举例冗余码的计算举例计算机网络计算机网络接收端对收到的每一帧接收端对收到的每一帧进行进行 CRC 检验检验 n用接收到的数据除以发送端选定的除数。(1)若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。(2)若余数R0,则判定这个帧有差错,就丢弃。n只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的出错的概率就很小很小。n但这种检测方法并不能确定究
13、竟是哪一个或哪几个比特出现了差错。计算机网络计算机网络帧检验序列帧检验序列 FCSn在数据后面添加上的冗余码称为帧检验序列FCS(FrameCheckSequence)。n循环冗余检验CRC和帧检验序列FCS并不等同。CRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。FCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。计算机网络计算机网络多项式表示循环冗余检验多项式表示循环冗余检验n将要发送的二进制数序列看成是一个多项式。n位的数据序列对应n-1次多项式。P(x)=aP(x)=an-1n-1x xn-1n-1+a+an-2n-2x xn-2n-2+a+a1 1x+
14、ax+a0 0 除式称为生成多项式。如除数 P=1101,可用生成多项式表示为:P(x)=X P(x)=X3 3+X+X2 2+1+1计算机网络计算机网络常用的生成多项式常用的生成多项式nCRC-12CRC-12:G(x)=G(x)=x x1212+x+x1111+x+x3 3+x+x2 2+x+1+x+1nCRC-16CRC-16:G(x)=G(x)=x x1616+x+x1515+x+x2 2+1+1nCRC-CCITTCRC-CCITT:G(x)=G(x)=x x1616+x+x1212+x+x5 5+1+1nCRC-32CRC-32:G(x)=G(x)=x x3232+x+x2626+
15、x+x2323+x+x2222+x+x16 16 +x+x1212+x+x1111+x+x1010+x+x8 8+x+x7 7+x+x5 5+x+x4 4+x+x2 2+x+1+x+1计算机网络计算机网络应当注意应当注意 n仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。n“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。n也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。n要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。计算机网络计算机网络例
16、例3-1:n信息字段代码为1011001;生成多项式:P(x)=XP(x)=X4 4 +X+X3 3+1+1,如用CRC方法进行差错检验,求发送数据。n求得余数为:1010(即校验字段)n 发送方发送方:发送数据10110011010n 接收方接收方:使用相同的生成码进行校验:接收到的字段/生成码,如果能够除尽,则正确,否则出错。计算机网络计算机网络3.2 点对点协议点对点协议 PPP 3.2.1 PPP 协议的特点协议的特点 nPPP(Point-to-PointProtocol点对点协议)是为在同等单元之间传输数据包这样的简单链路设计的数据链路层协议。这种链路提供全双工操作,并按照顺序传递
17、数据包。n设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。计算机网络计算机网络用户到用户到 ISP 的链路的链路使用使用 PPP 协议协议 用户至因特网已向因特网管理机构申请到一批 IP 地址ISP接入网PPP 协议计算机网络计算机网络路由器路由器调制解调器调制解调器调制解调器调制解调器因特网服务提供者因特网服务提供者(ISP)用户家庭用户家庭拨号电话线拨号电话线 使用使用 TCP/IP 的的 PPP 连接连接使用使用 TCP/IP 的的 客户进程客户进程路由选择 进程至至因因特特网网PC 机机用户到用户到 ISP 的
18、链路的链路使用使用 PPP 协议协议计算机网络计算机网络PPP 协议应满足的需求协议应满足的需求 n简单这是首要的要求n封装成帧n透明性n多种网络层协议n多种类型链路n差错检测n检测连接状态n最大传送单元n网络层地址协商n数据压缩协商计算机网络计算机网络PPP 协议不需要的功能协议不需要的功能n纠错n流量控制n序号n多点线路n半双工或单工链路计算机网络计算机网络不提供使用序号和确认不提供使用序号和确认的可靠传输的可靠传输nPPP协议之所以不使用序号和确认机制是出于以下的考虑:在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。在因特网环境下,PPP的信息字段放入的数据是IP数据
19、报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。帧检验序列FCS字段可保证无差错接受。计算机网络计算机网络PPP 协议的组成协议的组成 n一个将IP数据报封装到串行链路的方法。PPP既支持异步链路,也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分。这个信息部分的长度受最大传送单元MTU的限制。n一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)。通信的双方可协商一些选项。n一套网络控制协议NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECn
20、et以及AppleTalk等。所有的PPP帧的长度都是整数个字节。计算机网络计算机网络n在物理层,可在一系列接口上配置PPP,这些接口包括:异步串行同步串行HSSIISDNPPP 协议的组成协议的组成计算机网络计算机网络nLCP是PPP中实际工作的部分。LCP位于物理层的上方,其职责是建立、配置和测试数据链路连接。nPPP提供LCP中的服务选项,主要用于协商和帧检查,以帮助管理员实现对指定点对点的控制。n一旦建立了链路,PPP还会进行LCP鉴别。PPP 协议的组成协议的组成计算机网络计算机网络nPPP允许多个网络层协议在同一通信链路上运行。n对于所使用的每个网络层协议,PPP都分别使用独立的N
21、CP。nNCP包含了功能字段,功能字段中包含的标准化代码用于指示PPP封装的网络层协议。值协议名称8021Internet协议控制协议8023OSI网络层控制协议8029Appletalk控制协议802bNovellIPX控制协议c021LCP链路控制协议c023PAP密码验证协议c223CHAP挑战握手验证协议PPP 协议的组成协议的组成计算机网络计算机网络PPP 协议的帧格式协议的帧格式IP 数据报1211字节12不超过 1500 字节先发送7EFF03FACFCSF7E协议信 息 部 分首部尾部PPP 帧计算机网络计算机网络n标志字段F=0 x7E(符号“0 x”表示后面的字符是用十六进
22、制表示。十六进制的7E的二进制表示是01111110)。n地址字段A只置为0 xFF。地址字段实际上并不起作用。n控制字段C通常置为0 x03。PPP 协议的帧格式协议的帧格式计算机网络计算机网络nPPP有一个2个字节的协议字段。协议字段不同,后面的信息字段类型就不同。0 x0021信息字段是IP数据报0 xC021信息字段是链路控制数据LCP0 x8021信息字段是网络控制数据NCP0 xC023信息字段是安全性认证PAP0 xC025信息字段是LQR0 xC223信息字段是安全性认证CHAPPPP 协议的帧格式协议的帧格式计算机网络计算机网络透明传输问题透明传输问题 n当PPP用在异步传输
23、时,就使用一种特殊的字节填充法。n当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充。计算机网络计算机网络字节填充字节填充 n将信息字段中出现的每一个0 x7E字节转变成为2字节序列(0 x7D,0 x5E)。n若信息字段中出现一个0 x7D的字节,则将其转变成为2字节序列(0 x7D,0 x5D)。n若信息字段中出现ASCII码的控制字符(即数值小于0 x20的字符),则在该字符前面要加入一个0 x7D字节,同时将该字符的编码加以改变。(第6个比特取反码后变成1,前面两种情况均变为0)计算机网络计算机网络例例3-2:一个PPP帧的数据部分是7D5EFE277D5D7D5D657D24
24、。试问真正的数据是什么(用十六进制表示)?答案:7EFE277D7D6504计算机网络计算机网络零比特填充零比特填充 nPPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。n在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,计算机网络计算机网络0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1
25、0 1 0信息字段中出现了和标志字段 F 完全一样的 8 比特组合发送端在 5 个连 1 之后填入 0 比特再发送出去在接收端把 5 个连 1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特填充零比特填充计算机网络计算机网络例例3-3:PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的数据是0001110111110111110110,求发送端发送的真实数据?计算机网络计算机网络 3.2.3 PPP 协议的工作状态协议的工作状态 设备之间无链路链路静止链路建立鉴别网络层协议
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络第三章 数据链路层 计算机网络 第三 数据链
限制150内