1、第1页,共50页。第第4章章 点到点信道的数据链路层点到点信道的数据链路层4.1 数据链路层的基本概念数据链路层的基本概念4.2 三个基本问题三个基本问题4.3 点对点协议点对点协议PPP4.4 数据链路层的设备与组件数据链路层的设备与组件第2页,共50页。4.1 数据链路层的基本概念数据链路层的基本概念4.1.1 数据链路层的简单模型数据链路层的简单模型4.1.2 链路和数据链路链路和数据链路第3页,共50页。4.1.1 数据链路层的简单模型数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络
2、层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动第4页,共50页。4.1.1 数据链路层的简单模型数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动第5页,共50页。4.1.1 数据链路层的简单模型数据链路层的简单模型网络层网络层网络层网络层数据链数据链路层路层数据链数据链
3、路层路层物理层物理层物理层物理层结点结点A结点结点BIP数据报数据报IP数据报数据报帧帧帧帧1011110111装入装入取出取出第6页,共50页。第7页,共50页。4.1.2 链路和数据链路链路和数据链路链路链路 (link)(link)就是从一个结点到就是从一个结点到相邻结点相邻结点的一段物理线的一段物理线路,而中间没有任何其他的交换结点。路,而中间没有任何其他的交换结点。一条链路只是一条通信路径的一个组成部分。把实现通信协议的硬件和软件加到链路上,就构成了把实现通信协议的硬件和软件加到链路上,就构成了数据数据链路(逻辑链路)链路(逻辑链路)。现在最常用的方法是使用适配器(即网卡)来实现这些
4、协议的硬件和软件。从数据发送结点到接收结点所经过的传输途径。第8页,共50页。点到点点到点(point to point)(point to point)网络网络环境中的两个节点环境中的两个节点 由同一物理线路连接的共享介由同一物理线路连接的共享介质环境中的节点质环境中的节点 位于不同物理线路上,但由第一位于不同物理线路上,但由第一层网络设备(中继器或集线器)层网络设备(中继器或集线器)互连的节点互连的节点第9页,共50页。4.2 三个基本问题三个基本问题4.2.1 帧定界帧定界4.2.2 透明传输透明传输4.2.3 差错检测差错检测第10页,共50页。4.2.1 帧定界帧定界IP数据报数据报
5、帧的数据部分帧的数据部分帧首部帧首部帧尾部帧尾部MTU帧开始帧开始帧结束帧结束数据链路层的帧长数据链路层的帧长从这里开始发送从这里开始发送帧定界帧定界(帧同步帧同步)就是确定帧的界限。就是确定帧的界限。第11页,共50页。帧定界帧定界利用控制字符进行定界利用控制字符进行定界封装在帧中的数据部分封装在帧中的数据部分SOH帧开始符帧开始符帧结束符帧结束符帧帧帧帧EOTSOH:Start Of HeaderEOT:End Of Transmission第12页,共50页。为什么要进行帧定界为什么要进行帧定界异步传送方式:一次只传送一个字符,而不是一次就收到一个异步传送方式:一次只传送一个字符,而不是
6、一次就收到一个完整的帧。完整的帧。同步传送方式:发送方是连续地发送数据帧,在接收方如何判同步传送方式:发送方是连续地发送数据帧,在接收方如何判断一个帧的开始和结束的位置。断一个帧的开始和结束的位置。发送帧时出现故障,如何判断是否应该接收当前帧。发送帧时出现故障,如何判断是否应该接收当前帧。封装在帧中的数据部分封装在帧中的数据部分SOHEOT帧开始标志帧开始标志帧结束标志帧结束标志帧帧第13页,共50页。4.2.2 透明传输透明传输透明传输透明传输就是指无论在数据帧中出现什么样就是指无论在数据帧中出现什么样的数据都能够正确地传输过去。的数据都能够正确地传输过去。第14页,共50页。字节插入法字节
7、插入法每当在数据中出现字符每当在数据中出现字符“SOH”SOH”或或“EOT”EOT”时就将其时就将其转换为另一个字符,而这个字符是不会被错误解释转换为另一个字符,而这个字符是不会被错误解释为控制字符的。为控制字符的。数据中出现的控制字符数据中出现的控制字符经字节插入后发送时的字符经字节插入后发送时的字符SOHSOHESC xESC xEOTEOTESC yESC yESCESCESC zESC z“ESC”叫做转叫做转义符义符 第15页,共50页。字节插入法解决透明传输问题字节插入法解决透明传输问题SOHSOHSOHSOHESCSOHEOTESCESCzESCyESCzESCx原始数据EOT
8、EOTEOTEOT经过字节插入后发送的数据字节插入字节插入字节插入字节插入发送在前帧开始符帧结束符第16页,共50页。零比特填充法零比特填充法1101111110101100111111001111110帧开始标志帧开始标志帧结束标志帧结束标志数据部分数据部分会误认为是帧的结束会误认为是帧的结束第17页,共50页。零比特的填充与删除零比特的填充与删除 数据中某一段比特组合恰好数据中某一段比特组合恰好出现和标志字段一样的情况出现和标志字段一样的情况0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0会被误认为是标志字段会被误认为是标志字段发送端在发送端在 5 个连个连 1 之后之后
9、填入填入 0 比特再发送出去比特再发送出去填入填入 0 比特比特0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0在接收端将在接收端将 5 个连个连 1 之后之后的的 0 比特删除,恢复原样比特删除,恢复原样在此位置删除填入的在此位置删除填入的 0 比特比特0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0第18页,共50页。4.2.3 差错检测差错检测差错差错在接收端收到的数据和发送端发送的数在接收端收到的数据和发送端发送的数据不一致的现象。据不一致的现象。误码率误码率传输错误的比特占所传输的比特总数的比率:传输错误的比特占所传输的比特总数的比率:PE
10、=NE/N误码率和数据传输速率一起构成了数据通信指标。误码率和数据传输速率一起构成了数据通信指标。第19页,共50页。4.2.3 差错检测差错检测差错控制差错控制是指能够自动检测出比特流在通信信道传输过程是指能够自动检测出比特流在通信信道传输过程中产生的错误或者发现错误并进行纠正的方法。中产生的错误或者发现错误并进行纠正的方法。可采用可采用纠错码纠错码或或检错码检错码两种方案。两种方案。第20页,共50页。CRC检错技术检错技术在数据链路层传送的帧中,广泛使用了在数据链路层传送的帧中,广泛使用了循环冗余检验循环冗余检验 CRC 的检错技的检错技术。术。CRC检错技术思想检错技术思想假设待传送的
11、数据为假设待传送的数据为 M(共(共k位)位),在数据,在数据M的后面添加供的后面添加供检错用的检错用的n位冗余码一起发送(一共发送位冗余码一起发送(一共发送k+n位)。位)。接收方把收到的帧除以同样的数接收方把收到的帧除以同样的数P,得出余数,得出余数R,若,若R=0,则传输过,则传输过程中没有差错;否则,传输过程中出现误码。程中没有差错;否则,传输过程中出现误码。第21页,共50页。CRC检错技术举例检错技术举例假设待传送的数据假设待传送的数据 M=101001(共(共k bit),收发双方事),收发双方事先 协 商 的 除 数先 协 商 的 除 数 P=1101(或 称:生 成 多 项
12、式 为(或 称:生 成 多 项 式 为G(x)=x3+x2+1)。用二进制的模用二进制的模 2 运算进行运算进行 2n 乘乘 M 的运算,这相当于在的运算,这相当于在 M 后面添加后面添加 n 个个0(n为生成多项式的次数)。为生成多项式的次数)。将将k+n位的数以模位的数以模2除法去除以数除法去除以数P,得出余数,得出余数R。第22页,共50页。冗余码的计算举例说明冗余码的计算举例说明M=101001,P=1101,n=3,模模 2除法 运算的结运算的结果是:商果是:商 Q=110101,余数余数 R=001将余数将余数 R 作为冗余码添加在数据作为冗余码添加在数据 M 的后面发送出去,的后
13、面发送出去,即发送的数据是即发送的数据是101001001第23页,共50页。检测出差错检测出差错 接收方对收到的数据除以接收方对收到的数据除以P,只要得出的余数,只要得出的余数R不为不为 0,就表示检测到了就表示检测到了差错差错。但这种检测方法并不能确定究竟是哪一个或哪几个比特但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。出现了差错。一旦检测出差错,就一旦检测出差错,就丢弃丢弃这个出现差错的帧。这个出现差错的帧。只要经过严格的挑选,并使用位数足够多的除数只要经过严格的挑选,并使用位数足够多的除数 P,那么,那么出现检测不到的差错的概率就很小很小。出现检测不到的差错的概率就很小很
14、小。CRC是一种检错技术是一种检错技术第24页,共50页。帧检验序列帧检验序列 FCS 在数据后面添加上的冗余码称为在数据后面添加上的冗余码称为帧检验序帧检验序列列 FCS(Frame Check Sequence)。循环冗余检验循环冗余检验 CRC 和帧检验序列和帧检验序列 FCS并不并不等同。等同。CRC 是一种常用的是一种常用的检错方法检错方法,而,而 FCS 是添加是添加在数据后面的在数据后面的冗余码冗余码。FCS 可以用可以用 CRC 这种方法得出,但这种方法得出,但 CRC 并并非用来获得非用来获得 FCS 的唯一方法。的唯一方法。第25页,共50页。CRC检错技术检错技术CRC差
15、错检测技术只能做到差错检测技术只能做到无差错接受无差错接受,并不能认为,并不能认为能是链路层的传输可靠。能是链路层的传输可靠。可靠传输应当是无差错、无丢失、无重复且按序接收。可靠传输应当是无差错、无丢失、无重复且按序接收。链路层做到无差错传输,而由传输层协议链路层做到无差错传输,而由传输层协议TCP来进行可靠传来进行可靠传送可以使整个通信效率大大提高。送可以使整个通信效率大大提高。第26页,共50页。4.3 点对点协议点对点协议PPP4.3.1 PPP协议的特点协议的特点4.3.2 PPP协议的帧格式协议的帧格式4.3.3 PPP协议的工作状态协议的工作状态第27页,共50页。4.3.1 PP
16、P协议的特点协议的特点现在全世界使用得最多的数据链路层协议是现在全世界使用得最多的数据链路层协议是点对点点对点协议协议 PPP(Point-to-Point Protocol)。用户接入因特网时,一般都是使用用户接入因特网时,一般都是使用 PPP 协议。协议。第28页,共50页。用户拨号入网的示意图用户拨号入网的示意图 路由器调制解调器调制解调器调制解调器调制解调器因特网服务提供者(ISP)用户家庭拨号电话线拨号电话线 使用使用 PPP协议的协议的 TCP/IP连接连接使用使用 TCP/IP 的的 客户进程客户进程路由选择路由选择 进程进程至至因因特特网网PC 机机第29页,共50页。1 1、
17、PPPPPP协议应满足的需求协议应满足的需求(1)简单)简单(2)封装成帧)封装成帧(3)透明性)透明性 (4)支持多种网络层协议)支持多种网络层协议(5)支持多种类型链路)支持多种类型链路第30页,共50页。1 1、PPPPPP协议应满足的需求协议应满足的需求(6)差错检测差错检测(error detection)(7)连接的活跃度连接的活跃度(8)最大传送单元最大传送单元(9)网络层地址协商网络层地址协商(10)数据压缩协商数据压缩协商 但一般不必纠错但一般不必纠错第31页,共50页。2 2、PPPPPP协议不需要的功能协议不需要的功能(1)纠错)纠错(error correction)(
18、2)流量控制)流量控制(3)序号)序号(4)多点线路)多点线路(5)半双工或单工链路)半双工或单工链路PPP协议是不可靠传输协议是不可靠传输协议协议第32页,共50页。3 3、PPPPPP协议的组成协议的组成PPP协议有三个组成部分协议有三个组成部分 一个将一个将 IP 数据报封装到串行链路的方法。数据报封装到串行链路的方法。一个用来建立、配置、一个用来建立、配置、测试数据链路连接的链路测试数据链路连接的链路控制协议控制协议 LCP(Link Control Protocol)。一套网络控制协议一套网络控制协议NCP(Network Control Protocol)。第33页,共50页。4.
19、3.2 PPP协议的帧格式协议的帧格式PPP 有一个 2 个字节的协议字段。当协议字段为 0 x0021 时,PPP 帧的信息字段就是IP 数据报。若为 0 xC021,则信息字段是 PPP 链路控制数据。若为 0 x8021,则表示这是网络控制数据。IP 数据报1211字节12不超过 1500 字节PPP 帧先发送7EFF03FACFCSF7E协议信 息 部 分首部尾部标志字段标志字段 F 为为 0 x7E(即二进制即二进制的的 01111110)地址字段地址字段 A 置为置为 0 xFF,实际,实际上并不起作用上并不起作用控制字段控制字段 C 通常置为通常置为 0 x03采用采用CRC的帧
20、校验序列的帧校验序列标志字段标志字段 F 为为 0 x7E(即二进(即二进制的制的 01111110)第34页,共50页。字节填充字节填充当当PPP用在用在异步异步传输时,就使用一种特殊的传输时,就使用一种特殊的字符填字符填充法充法。将信息字段中出现的每一个将信息字段中出现的每一个0 x7E字节转变成为字节转变成为 2 字节序列字节序列(0 x7D,0 x5E)。若信息字段中出现一个若信息字段中出现一个0 x7D的字节的字节,则将其转变则将其转变成为成为 2 字节序列字节序列(0 x7D,0 x5D)。若信息字段中出现若信息字段中出现 ASCII 码的控制字符(即数码的控制字符(即数值小于值小
21、于0 x20的字符),则在该字符前面要加入的字符),则在该字符前面要加入一个一个 0 x7D字节,同时将该字符的编码加以改变。字节,同时将该字符的编码加以改变。第35页,共50页。零比特填充零比特填充当当PPP用在用在同步同步传输时,就使用传输时,就使用零比特填零比特填充充法进行填充。法进行填充。第36页,共50页。4.3.3 PPP协议的工作状态协议的工作状态当用户拨号接入当用户拨号接入ISP时,路由器的调制解调器对拨号做时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。出确认,并建立一条物理连接。PC机向路由器发送一系列的机向路由器发送一系列的LCP分组。分组。进行网络层配置,进行
22、网络层配置,NCP给新接入的给新接入的PC机分配一个临时的机分配一个临时的IP地址,使地址,使PC机成为因特网上的一个主机。机成为因特网上的一个主机。通信完毕时,通信完毕时,NCP释放网络层连接,收回原来分配出释放网络层连接,收回原来分配出去的去的IP地址。接着,地址。接着,LCP释放数据链路层连接。最后释放释放数据链路层连接。最后释放的是物理层的连接。的是物理层的连接。第37页,共50页。4.3.4 PPP协议的工作状态协议的工作状态建立建立失败失败失败失败NCP 配置配置鉴别成功鉴别成功通信通信结束结束载波载波停止停止检测到检测到 载波载波双方协商双方协商一些选项一些选项鉴别鉴别网络网络打
23、开打开终止终止静止静止第38页,共50页。4.4 数据链路层的设备与组件数据链路层的设备与组件第39页,共50页。第40页,共50页。用于台式用于台式PC机机的以太网网卡的以太网网卡 用于笔记本电脑的用于笔记本电脑的网卡网卡 用于台式用于台式PC机无线局机无线局域网网卡域网网卡 第41页,共50页。第42页,共50页。第43页,共50页。第44页,共50页。站的MAC地址网桥的端口00-90-27-99-11-cc100-90-27-99-15-05100-90-27-99-32-4d200-90-27-99-66-b22网桥的交换表(站的MAC地址/网桥端口映射表)端口2端口1网桥00-90
24、-27-99-11-cc00-90-27-99-15-0500-90-27-99-66-b200-90-27-99-32-4d第45页,共50页。第46页,共50页。LAN1LAN2LAN3LAN4A001CD201B56LAN1/PORT120017D201B96LAN2/PORT279E17D2019B6LAN4/PORT12第47页,共50页。第48页,共50页。第49页,共50页。想一想想一想要发送的数据比特序列为要发送的数据比特序列为1011001,CRC校验生成校验生成多项式为多项式为G(x)=x4+x3+1,试计算试计算CRC校验码。校验码。若接收方收到的二进制比特序列为若接收方收到的二进制比特序列为10110011010,接收方采用的生成多项式为接收方采用的生成多项式为G(x)=x4+x3+1,则该二,则该二进制比特序列在传输中是否出现了差错,若没有差错,进制比特序列在传输中是否出现了差错,若没有差错,发送数据的比特序列和发送数据的比特序列和CRC校验码的比特序列分别为校验码的比特序列分别为什么?什么?第50页,共50页。