计算机网络-第三章数据链路层.ppt
《计算机网络-第三章数据链路层.ppt》由会员分享,可在线阅读,更多相关《计算机网络-第三章数据链路层.ppt(145页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 链路层Data Link Layer四川师范大学计算机科学学院CollegeofComputerScienceSichuanNormalUniversity刘霞本章主要内容本章主要内容n3.1使用点对点信道的数据链路层n3.2点对点协议PPPn3.3使用广播信道的数据链路层n3.4使用广播信道的以太网n3.5扩展的以太网n3.6高速以太网n3.7其他类型的高速局域网或接口数据链路层数据链路层数据链路层使用的信道主要有以下两种类型:n点对点信道。这种信道使用一对一的点对点通信方式。n点对点通信每条物理线路介质仅仅连接一对对等实体,不涉及第三方,在某一个时间片内,点对点网络只有两个设备进行
2、通信,独享整个信道带宽,不存在冲突问题n广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。n广播通信只有一条供各个节点共享的通信信道,任意一个节点所发生的报文可被所有其他节点接收数据链路层的简化模型局域网广域网主机H1主机 H2路由器R1路由器 R2路由器 R3电话网局域网主机H1向H2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动数据链路层实现点到点的帧的无差错的传输局域网广域网主机
3、H1主机H2路由器R1路由器R2路由器 R3电话网局域网主机H1向H2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动数据链路层的简化模型(续)n链路(link)就是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。n数据链路(datalink)除了必须有一条物理线路外,还必须有一些必要通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。n现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。n一般的适配器都包括了数据链
4、路层和物理层这两层的功能。3.1 使用点对点信道的数据链路层使用点对点信道的数据链路层3.1.1 数据链路和帧数据链路和帧 IP数据报10100110帧取出数据链路层网络层链路结点A结点B物理层数据链路层结点A结点B帧(a)(b)发送帧接收链路IP数据报10100110帧装入数据链路层传送的是帧数据链路层像个数字管道数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。n早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。结点结点帧帧n数据链路层的主要功能归纳如下:(1)链路管理:数据链路的建立
5、、维持和释放就叫做链路管理(2)帧定界(帧同步):确定帧的界限(3)流量控制:发方的数据的速率必须使收方来得及接收(4)差错控制:收方可以检测出收到的帧有差错(5)将数据和控制信息区分开:区分处于同一帧中的数据和控制信息(6)透明传输:不管所传数据是什么样的比特组合,都应当能够在链路上传送。(7)寻址:保证每一帧都能送到正确的目的站。3.1.2 三个基本问题三个基本问题(1)封装成帧(2)透明传输(3)差错控制1.封装成帧封装成帧n封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。n首部和尾部的一个重要作用就是进行帧定界。帧结束帧首部IP数据报
6、帧的数据部分帧尾部MTU数据链路层的帧长开始发送帧开始用控制字符进行帧定界的方法举例用控制字符进行帧定界的方法举例 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT2.透明传输透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前解决透明传输问题解决透明传输问题n发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。n字节填充(bytestuffing)或字符填充(characterstuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。n如果
7、转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题用字节填充法解决透明传输的问题 SOH3.差错检测差错检测n在传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1。n在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(BitErrorRate)。n误码率与信噪比有很大的关系。n为了保证数据传输的可
8、靠性,在计算机网络传输数据时,必须采用各种差错检测措施。循环冗余检验的原理循环冗余检验的原理 n在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的检错技术。n在发送端,先把数据划分为组。假定每组k 个比特。n假设待传送的一组数据M=101001(现在k=6)。我们在M 的后面再添加供差错检测用的n位冗余码一起发送。冗余码的计算冗余码的计算 n用二进制的模2运算进行2n 乘M 的运算,这相当于在M 后面添加n 个0。n得到的(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是Q 而余数是R,余数R 比除数P 少1位,即R 是n位。冗余码的计算举例冗余码的计算举例 n现在 k=
9、6,M=101001。n设 n=3,除数P=1101,n被除数是2nM=101001000。n模2运算的结果是:商Q=110101,余数R=001。n把余数R 作为冗余码添加在数据M 的后面发送出去。发送的数据是:2nM+R即:101001001,共(k+n)位。110101Q(商)P(除数)11011010010002nM(被除数)11011110110101110000111011010110000011001101001R(余数),作为FCS 循环冗余检验的原理说明循环冗余检验的原理说明 n一种较方便的方法是用多项式来表示循环冗余校验过程,即使用多项式相应的系数表示上述二进制中的1和0,
10、例如,可以用多项式P(X)=X5+X4+X2+1来表示上面的除数P(110101),称为生成多项式,因此,在接收端进行的运算可写为:XnM(X)+R(X)P(X)n只要得出的余数R不为0,就表示检测到了差错。n但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。n一旦检测出差错,就丢弃这个出现差错的帧。检测出差错检测出差错 n只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。目前广泛使用的P(X)有以下几种:CRC-16=X16+X15+X2+1CRC-CCITT=X16+X12+X5+1CRC-32=X32+X26+X23+X22+X16+X12+
11、X11+X10+X8+X7+X5+X4+X2+1n例如:g(x)=x4+x3+x2+1,(7,3)码,信息码110产生的CRC码就是:10111101|110,00001110110100111011001余数是1001,所以CRC码是110,1001帧检验序列帧检验序列 FCS n在数据后面添加上的冗余码称为帧检验序列FCS(FrameCheckSequence)。n循环冗余检验CRC和帧检验序列FCS并不等同。nCRC是一种常用的检错方法,而FCS是添加在数据后面的冗余码。nFCS可以用CRC这种方法得出,但CRC并非用来获得FCS的唯一方法。接收端对收到的每一帧进行接收端对收到的每一帧进
12、行 CRC 检验检验 n(1)若得出的余数R=0,则判定这个帧没有差错,就接受(accept)。n(2)若余数R0,则判定这个帧有差错,就丢弃。n但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。n只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就很小很小。应当注意应当注意 n仅用循环冗余检验CRC差错检测技术只能做到无差错接受(accept)。n“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。n也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。n要
13、做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。3.2点对点协议点对点协议 PPP 1、HDLC 协议概述协议概述n1974年,IBM公司推出了面向比特的规程SDLC(SynchronousDataLinkControl)。n后来ISO把SDLC修改后称为HDLC(High-levelDataLinkControl),译为高级数据链路控制,作为国际标准ISO3309。nCCITT则将HDLC再修改后称为链路接入规程LAP(LinkAccessProcedure)。不久,HDLC的新版本又把LAP修改为LAPB,“B”表示平衡型(Balanced),所以LAPB叫做链路接入规
14、程(平衡型)。nHDLC适用于链路的两种基本配置:n非平衡配置由主站和次站组成,主站控制整个链路的工作,发出的帧叫命令,次站发出的帧叫响应。数据传输方式NRM:主站发了命令,次站才响应ARM:双方都可以发,但本次会话的建立、释放等由主站负责。n平衡配置链路两端都是复合站,同时具备主站和从站的功能,每个复合站都能发命令和响应。3.2 点对点协议点对点协议 PPP 3.2.1 PPP 协议的特点协议的特点 n现在全世界使用得最多的数据链路层协议是点对点协议PPP(Point-to-PointProtocol)。n用户使用拨号电话线接入因特网时,一般都是使用PPP协议。用户到用户到 ISP 的链路使
15、用的链路使用 PPP 协议协议 用户至因特网已向因特网管理机构申请到一批 IP 地址ISP接入网PPP协议用户拨号入网的示意图用户拨号入网的示意图 路由器调制解调器调制解调器因特网服务提供者(ISP)用户家庭拨号电话线使用TCP/IP的PPP连接使用TCP/IP的客户进程路由选择进程至因特网PC机1.PPP 协议应满足的需求协议应满足的需求 n简单这是首要的要求n封装成帧n透明性n多种网络层协议n多种类型链路n差错检测n检测连接状态n最大传送单元n网络层地址协商n数据压缩协商2.PPP 协议不需要的功能协议不需要的功能n纠错n流量控制n序号n多点线路n半双工或单工链路3.PPP 协议的组成协议
16、的组成 n1992年制订了PPP协议。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准RFC1661。nPPP协议有三个组成部分n一个将IP数据报封装到串行链路的方法。n链路控制协议LCP(LinkControlProtocol)。n网络控制协议NCP(NetworkControlProtocol)。3.2.2 PPP 协议的帧格式协议的帧格式n标志字段F=0 x7E(符号“0 x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是01111110)。n地址字段A只置为0 xFF。地址字段实际上并不起作用。n控制字段C通常置为0 x03。nPPP是面向字节的,
17、所有的PPP 帧的长度都是整数字节。PPP 协议的帧格式协议的帧格式nPPP有一个2个字节的协议字段。n当协议字段为0 x0021时,PPP帧的信息字段就是IP数据报。n若为0 xC021,则信息字段是PPP链路控制数据。n若为0 x8021,则表示这是网络控制数据。IP数据报1211字节12不超过1500字节PPP帧先发送7EFF03FACFCSF7E协议信息部分首部尾部透明传输问题透明传输问题 n当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC的做法一样)。n当PPP用在异步传输时,就使用一种特殊的字符填充法。字符填充字符填充 n将信息字段中出现的每一个0 x7E字节
18、转变成为2字节序列(0 x7D,0 x5E)。n若信息字段中出现一个0 x7D的字节,则将其转变成为2字节序列(0 x7D,0 x5D)。n若信息字段中出现ASCII码的控制字符(即数值小于0 x20的字符),则在该字符前面要加入一个0 x7D字节,同时将该字符的编码加以改变。零比特填充零比特填充 nPPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。n在发送端,只要发现有5个连续1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,01001111101000101
19、001001111110001010010011111010001010信息字段中出现了和标志字段F完全一样的8比特组合发送端在5个连1之后填入0比特再发送出去在接收端把5个连1之后的0比特删除会被误认为是标志字段F发送端填入0比特接收端删除填入的0比特零比特填充 不提供使用序号和确认不提供使用序号和确认的可靠传输的可靠传输 nPPP协议之所以不使用序号和确认机制是出于以下的考虑:n在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。n在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。n帧检验序列FCS字段可保证无差
20、错接受。3.2.3 PPP 协议的工作状态协议的工作状态 n当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。nPC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。n这些分组及其响应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机。n通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。设备之间无链路链路静止链路建立鉴别网络层协议链路打开链路终止物理链路LCP链路已鉴别的LCP链路已鉴别的LCP链路和NCP链路物理层连接建立LC
21、P配置协商鉴别成功或无需鉴别NCP配置协商链路故障或关闭请求LCP链路终止鉴别失败LCP配置协商失败3.3 使用广播信道的数据链路层使用广播信道的数据链路层3.3.1 局域网的数据链路层局域网的数据链路层 n局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。n局域网具有如下的一些主要优点:n具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。n便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。n提高了系统的可靠性、可用性和残存性。局域网的拓扑局域网的拓扑 匹配电阻集线器干线耦合器总线网星形网树形网 环形网媒体共享技术
22、媒体共享技术n静态划分信道n频分复用n时分复用n波分复用n码分复用n动态媒体接入控制(多点接入)n随机接入n受控接入,如多点线路探询(polling),或轮询。1、以太网的两个标准、以太网的两个标准 nDIXEthernetV2是世界上第一个局域网产品(以太网)的规约。nIEEE的802.3标准。nDIXEthernetV2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”。n严格说来,“以太网”应当是指符合DIXEthernetV2标准的局域网数据链路层的两个子层数据链路层的两个子层 n为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的
23、数据链路层拆成两个子层:n逻辑链路控制LLC(LogicalLinkControl)子层n媒体接入控制MAC(MediumAccessControl)子层。n与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的局域网对局域网对 LLC 子层子层是透明的是透明的 局域网网络层物理层站点1网络层物理层逻辑链路控制LLCLLC媒体接入控制MACMAC数据链路层站点2LLCLLC子层看不见子层看不见下面的局域网下面的局域网以后一般不考虑以后一般不考虑 LLC 子层子层 n由于TCP/IP体系经常使用的局域网是DIXEthernet
24、V2而不是802.3标准中的几种局域网,因此现在802委员会制定的逻辑链路控制子层LLC(即802.2标准)的作用已经不大了。n很多厂商生产的适配器上就仅装有MAC协议而没有LLC协议。2.适配器的作用适配器的作用 n网络接口板又称为通信适配器(adapter)或网络接口卡NIC(NetworkInterfaceCard),或“网卡”。n适配器的重要功能:n进行串行/并行转换。n对数据进行缓存。n在计算机的操作系统安装设备驱动程序。n实现以太网协议。计算机是怎样连接到局域网上的呢?计算机是怎样连接到局域网上的呢?计算机通过适配器计算机通过适配器和局域网进行通信和局域网进行通信 硬件地址至局域网
25、适配器(网卡)串行通信CPU和存储器生成发送的数据处理收到的数据把帧发送到局域网从局域网接收帧计算机IP地址并行通信n最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。3.3.2 CSMA/CD 协议协议 B向D发送数据CDAE匹配电阻(用来吸收总线上传播的信号)匹配电阻不接受不接受不接受接受B只有D接受B发送的数据以太网的广播方式发送以太网的广播方式发送 n总线上的每一个工作的计算机都能检测到B发送的数据信号。n由于只有计算机D的地址与数据帧首部写入的地址一致,因此只有D才接收这个数据帧。n其他所有的计算机(A,C和E)都检测到不是发送
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 第三 数据链
限制150内