56星座屋
当前位置: 首页 星座百科

计算机网络数据链路层习题(计算机软件水平考试网络工程师-第3章)

时间:2023-06-04 作者: 小编 阅读量: 1 栏目名: 星座百科

不同的数据链路层协议的帧首部和尾部包含的信息有明确的规定,帧的首部和尾部有帧开始符和帧结束符,称为帧定界符。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检验措施。例如误码率为10-10时,表示平均每传送1010个比特就会出现一个比特的差错。余数为0,则没有错误,反之则发生错误。为确保纠错和检错,码距必须大于或大于3。PPP协议只支持全双工链路,是面向字节的数据链路层协议。

第3章 数据链路层

数据链路层把网络层交下来的数据(IP数据报)添加首部和尾部封装成帧发送到链路上,接收端把接收到的帧的数据部分取出并上交给网络层。

图3.1 数据链路层传送的是帧

3.1 数据链路层的三个基本问题3.1.1 封装成帧

封装成帧就是在将网络层的IP数据报的前后分别添加首部和尾部,这样就构成了一个帧。不同的数据链路层协议的帧首部和尾部包含的信息有明确的规定,帧的首部和尾部有帧开始符和帧结束符,称为帧定界符。接收端收到物理层传过来的数字信号读取到帧开始字符一直到帧结束字符,就认为接收到了一个完整的帧。

在数据传输中出现差错时,帧定界符的作用更加明显。如果发送端在尚未发送完一个帧时突然出现故障,中断发送,接收端收到了只有帧开始符没有帧结束符的帧,就认为是一个不完整的帧,必须丢弃。

图3.2 帧首部和帧尾部封装成帧

为了提高数据链路层传输效率,应当使帧的数据部分尽可能大于首部和尾部的长度。每一种数据链路层协议都规定了所能够传送的帧的数据部分长度的上限,即最大传输单元MTU,以太网的MTU为1500个字节(MTU≤1500字节)。

3.1.2 透明传输

通常我们用ACSII字符代码表中的非打印控制字符SOH作为帧开始定界符EOT作为帧结束定界符。

当传输的帧的数据部分中出现了和帧结束定界符“EOT”一样的代码时,接收端会误认为这就是帧的结束符,会误认为已经接收到了一个完整的帧,而后面的部分就被丢弃了。

图3.3 帧的数据部分出现了EOT

如何判断帧中的“EOT”、“SOH”是数据部分还是帧定界符呢?字节填充法

(1)在数据部分出现“EOT”、“SOH”的前面插入转义字符“ESC”

(2)接收端收到后会去掉“ESC”,并认为“ESC”后面的字符为数据

(3)如果数据部分也出现了“ESC”,同样的在数据部分的“ESC”的前面也插入一个“ESC”,在接收端收到后会去掉“ESC”,并认为“ESC”后面的字符“ESC”为数据。

图3.4 字节填充法

发送端在发送帧之前在原始数据中必要位置插入转义字符,接收端收到后去掉转义字符,得到原始数据,中间插入转义字符是要让传输的原始数据原封不动地发送到接收端,这个过程称为“透明传输”。

3.1.3 差错检验

比特在传输过程中可能会产生差错:1可能会变成0,0可能会变成1。为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检验措施。

1. 循环冗余检验 CRC

有线线路上的错误率非常低,所以对于偶然的错误,利用错误检测和重传机制更为有效。数据链路层广泛使用循环冗余检验 CRC 的差错检错技术。

误码率(BER):接收到的错误码元数在总传送码元数中所占的比例。例如误码率为10-10时,表示平均每传送1010个比特就会出现一个比特的差错。

误码率=错误码元数/码元总数

要想让接收端能够判断帧在传输过程中是否出现差错,需要在传输的帧中包含用于检测错误的信息,这部分信息称为帧校验序列FCS

使用CRC编码,需要先商定一个生成多项式G(x),生成多项式的最高位和最低位必须是1。假设原始信息有m位,则对应多项式M(x)。生成校验码思想就是在原始信息位后追加若干校验位,使得追加的信息能被G(x)整除。接收方接收到带校验位的信息,然后用G(x)整除。余数为0,则没有错误,反之则发生错误。

(1)生成CRC校验码

使用帧的数据部分和数据链路层首部合起来的数据(M=101001)来计算n位帧校验序列FCS,放到帧的尾部,那么校验序列如何算出来呢?

图3.5 计算FCS

得到的余数就作为帧校验序列FCS,由于最高阶码为3,那么帧校验序列FCS应该为3位,得到的余数为1,不足3位,应在3的左边添加2个“0”得到001。

所以本题的CRC校验码就是001。

计算出的帧校验序列FCS=001和要发送的数据M=101001一起发送到接收端。 即:101001 001

图3.6 通过CRC计算得出的FCS

(2)CRC校验

接收端将收到的二进制数101001001去除以生成多项式对应的二进制字符串1101,如果余数为0,则断定该帧没有差错,就接收;如果余数不等于0,则断定该帧有差错(但无法确定是哪一位或哪几位出现了差错,同时也不能纠错),就丢弃。

2.海明码

海明研究了用冗余数据位来检测和纠正代码差错的理论和方法。按照海明的理论,可以在数据位代码上添加若干冗余位组成码字。码字之间的海明距离是一个码字要变成另一个码字时必须要改变的最小位数。

例如:10101和00110从第一位开始有3位不同,则海明距离为3。

10101和00110进行异或运算,并计算出异或运算结果中1的个数即为码距

结果10011中1的个数为3,所以它们的码距为3

海明码是一种多重奇偶检错系统,它具有检错和纠错的功能。为确保纠错和检错,码距必须大于或大于3。

对于m位的数据位增加k位的冗余位,则组成n=m k位的纠错码

对于2m个有效码字中的每一个,都有n个无效但可以纠错的码字。

m为信息位的个数,k为校验位的个数

3.2 点到点信道的数据链路

点到点信道是指一个链路上就一个发送端和一个接收端的信道,通常用在广域网链路。

图3.7 点到点链路

3.2.1 PPP协议的特点

PPP协议提供了一种在点到点链路上封装网络层协议信息的标准方法。现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。它的优点在于简单、具备用户验证能力、可以解决IP分配等。用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。

点到点信道通常用在广域网链路。PPP协议(面向字节)和HDLC协议(面向比特)是目前应用最常用的广域网中的链路层协议。通信线路质量较差的年代:HDLC(高级数据链路控制)。

PPP协议只支持全双工链路,是面向字节的数据链路层协议。

图3.8 点到点链路

PPP协议的特点:

(1)简单:PPP协议不负责可靠传输、纠错和流量控制,也不需要给帧编号,接收端收到帧后,就进行CRC检验,如果CRC检验正确,就收下该帧,反之,直接丢弃,其他什么也不做。

(2)封装成帧:PPP协议必须规定特殊的字符作为帧定界符(每种数据链路层协议都有特定的帧定界符),以便使接收端能从收到的比特流中准确地找出帧的开始和结束位置。

(3)透明性:PPP协议必须保证数据传输的透明性。如果数据中恰好出现了和帧定界符一样的比特组合时,就要采取有效的措施来解决这个问题。字节填充法。

(4)差错检测:PPP协议必须能够对接收端接收到的帧进行检测,并立即丢弃有差错的帧。若在数据链路层不进行差错检测,那么已出现差错的无用帧就还会在网络中继续转发,这样一来会浪费掉很多网络资源。

(5)支持多种网络层协议:PPP协议必须能够在同一条物理链路上同时支持多种网络协议(如IP和IPv6等)的运行,这就意味着IP数据包和IPv6数据包都可以封装在PPP帧中进行传输。

(6)多种链路类型:PPP必须能够在多种类型的链路上运行,例如串行(一次只发送一个比特)或并行(一次并行的发送多个比特),同步的或异步,低速的或高速的,电的或光的,交换的(动态的)或非交换的(静态的)点对点链路。

(7)检测连接状态:PPP协议必须具有一种机制能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态。当出现故障的链路隔了一段时间后又重新恢复正常工作时,就特别需要有这种及时检测功能。

(8)最大传送单元:PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。这样做是为了促进各实体之间的互操作性。如果高层协议发送的分组过长且超过MTU的数值,PPP就要丢弃这样的帧,并返回差错。需要强调的是,MTU是数据链路层的帧可以载荷的数据部分的最大程度,而不是帧的总长度。不超过1500字节

(9)网络层地址协商:PPP协议必须提供一种机制使通信的两个网络层(如两个IP层)的实体能够通过协商知道或配置彼此的网络层地址。使用ADSL调制解调器拨号访问Internet,ISP会给拨号的计算机分配一个公网地址,这就是PPP协议的功能。

(10)数据压缩协商:PPP协议必须提供一种方法来协商使用数据压缩算法,但PPP协议并不要求将数据压缩算法进行标准化。

3.2.2 PPP协议的组成

(1)高级数据链路控制协议

高级数据链路控制协议是将IP数据报封装到串行链路的方法。

(2)链路控制协议LCP

链路控制协议 LCP (Link Control Protocol)用来建立、配置和测试数据链路连接,通信的双方可协商一些选项。LCP主要负责建立和断开连接、设置最大接收单元(MRU,Maximum Receive Unit)、设置验证协议(PAP或CHAP)以及设置是否进行通信质量的监控。(身份验证、计费功能)

(3)网络控制协议NCP

网络控制协议 NCP (Network Control Protocol)中的每一个协议支持不同的网络层功能,如IP、IPv6等。负责IP地址设置以及是否进行TCP/IP首部压缩等设备(设备之间的这种交互也叫协商(Negotiation))。

图3.9 PPP协议的三个组成部分

通过PPP连接时,通常需要进行用户名密码的验证,并且对通信两端进行双方向的验证(通过ISP接入互联网时,一般对ISP端不验证)。其验证协议有两种,分别为PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol)。

PAP是PPP连接建立时,通过两次握手进行用户名和密码验证。其中密码以明文方式传输。因此一般用于安全要求并不很高的环境,否则会有窃听或盗用连接的危险。

CHAP则使用一次性密码OTP(One Time Password),可以有效防止窃听。此外,在建立连接后还可以进行定期的密码交换,用来检验对端是否中途被替换。

3.2.3 PPP 协议的工作状态

(1)当用户拨号接入 ISP 后,就建立了一条从用户个人电脑到ISP的物理连接。

(2)用户个人电脑向ISP发送一系列的链路控制协议LCP 分组(封装成多个 PPP 帧),以便建立LCP连接。

(3)这些分组及其响应选择了将要使用的一些 PPP 参数,接着还要进行网络层配置,网络控制协议NCP 给新接入的用户个人电脑分配一个临时的 IP 地址,使用户个人电脑成为互联网上的一个有IP地址的主机。

(4)通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

3.2.4 PPP协议帧格式

图3.10 PPP帧格式

标志字段F = 0x7E:帧开始定界符1个字节。

注:符号“0x”表示后面的字符是用十六进制表示。十六进制7E 的二进制表示是 01111110。

地址字段A=0xFF固定值,1个字节。(由于是点对点通信,地址字段实际上不起作用。)

控制字段 C =0x03固定值,1个字节。

协议字段:用来表示“信息部分”里是什么内容,2个字节

当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。

若为 0xC021, 则信息字段是 PPP 链路控制数据。

若为 0x8021,则表示这是网络控制数据。

FCS:帧校验序列,2个字节。

标志字段F = 0x7E:帧结束定界符1个字节。

PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

3.2.5 PPP帧填充方式

当信息字段中出现和帧开始定界符和帧结束定界符一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。

(1)异步传输使用字节填充

在异步传输的链路上,数据传输以字节为单位,PPP协议帧定界符定义为0x7E。

图3.11 PPP帧字节填充

发送方处理:

信息字段中出现的每一个7E(PPP帧定界符)字节转变成为 2 字节序列(7D,5E)。

信息字段中出现一个7D(转义字符)的字节, 则将其转变成为 2 字节序列(7D,5D)。

信息字段中出现 ASCII 码的控制字符(数值小于0x20的字符),则在该字符前面要加入一个7D 字节,同时将该字符的编码加上0x20。

接收方处理:

进行反变换即可恢复出原来的帧的数据部分。

例题:一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,问真正的数据部分是什么?

7D 5E——7E

7D 5D——7D

7D 5E FE 27 7D 5D 7D 5D 65 7D 5E

所以真正的数据部分应该是:7E FE 27 7D 7D 65 7E

(2)同步传输使用零比特填充

在同步传输的链路上,数据传输以帧为单位,PPP协议帧定界符定义为0x7E,写为二进制为0111 1110,可以看到中间有6个连续的1,只要想办法在数据部分不要出现6个连续的1,就肯定不会出现这样的定界符。

零比特填充法:

在发送端,只要发现有5个连续1,则立即填入一个0。这样就可以保证信息字段中不会出现有连续的6个1。

接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除,以还原成原来的信息比特流。

图3.12 PPP帧零比特填充

(未完待续)

    推荐阅读
  • 形成酸雨的主要气体是什么(形成酸雨的主要气体)

    以下内容大家不妨参考一二希望能帮到您!形成酸雨的主要气体是什么酸雨是指PH小于5.6的雨雪或其他形式的降水,形成的主要气体有二氧化硫、三氧化硫、硫化氢、二氧化氮。酸雨主要是人为的向大气中排放大量酸性物质所造成的。酸雨又分硝酸型酸雨和硫酸型酸雨。

  • 木棉花的花语是什么(木棉花的意义)

    接下来我们就一起去了解一下吧!珍惜眼前的幸福,珍惜身边的人给他们快乐与幸福。它的花期通常在3月或者4月份,在这一段时间盛开,而传说中四月的第十一天,是木棉花盛开的日子,所以4月11被定为木棉花的日子。

  • 炒凉皮不碎技巧(炒凉皮不碎有什么技巧)

    以下内容大家不妨参考一二希望能帮到您!炒凉皮不碎技巧炒凉皮不碎技巧:就是在做凉皮时不能炒太久,变软会失去筋度。胡萝卜切丝,蒜薹切段,葱切花,猪肉切丝,大蒜拍扁。成品凉皮一张张卷起切粗条,抖散备用。生抽,白糖,盐,鸡精,醋,胡椒粉调成汁备用。热锅倒适量食用油烧热加入大蒜,肉丝翻炒至金黄,加入胡萝卜丝和蒜薹炒熟,凉皮翻炒均匀后随即淋入调好的汁儿翻炒均匀。

  • 近几年灭绝的鱼(瞭望在长江源寻鱼)

    长江被誉为我国淡水渔业的摇篮、鱼类基因的宝库。据青海省渔业部门统计,长江流域青海段分布有土著鱼类21种。因此,严格意义上长江源的关键鱼类指的是裂腹鱼中的小头裸裂尻鱼。2019年,李伟带领团队参加长江源科考时,将小头裸裂尻鱼列为长江源鱼类研究的代表对象。2019年4月,科考小组五个人,两台车,开始了沿河寻觅之旅。“全球平均气温上升已是科学界的共识,位于青藏高原的长江源是全球气候变化的敏感区。”科考发现,江源地区

  • 鹧鸪在什么时候季节鸣叫(鹧鸪的孵化期有多长)

    鹧鸪在什么时候季节鸣叫鹧鸪一般会在繁殖季节鸣叫,繁殖期为3-6月,3-4月间开始求偶交配。求偶期间鸣叫更为频繁,常在山岩、树桩、灌木或乔木枝上鸣叫,尤以黎明和黄昏时更甚,往往是一鸟先鸣叫,其他雄鸟一起跟随,此起彼伏。鹧鸪的孵化期在21天左右,雏鸟出壳后不久即可跟随亲鸟活动。鹧鸪的繁殖期为每年的3-6月,3-4月间开始求偶交配,每窝产卵3-6枚,多时可达8枚,卵为椭圆形或梨形,颜色为淡皮黄色至黄褐色。

  • 秋天的诗词(这些都是关于秋天的诗句)

    迢迢新秋夕,亭亭月将圆《戊申岁六月中遇火》,今天小编就来说说关于秋天的诗词?《戊申岁六月中遇火》自古逢秋悲寂寥,我言秋日胜春朝。《秋词》是处红衰翠减,苒苒物华休。惟有长江水,无语东流。宋·柳永《八声甘州》落时西风时候,人共青山都瘦。《昭君怨》雨色秋来寒,风严清江爽。《酬裴侍御对雨感时见赠》秋声万户竹,寒色五陵松。唐·李颀《望秦川》秋色无远近,出门尽寒山。宋·苏轼《九日次韵王巩》

  • 广州有几种车牌(广州车牌你有吗)

    在广州的普通上班族,有房贷还想拥有一辆车,已经不容易了。但有车想让个广州牌,那更是难上加难,再加之限行,参与摇号,竞价的人是越来越多,那中标的机会更是渺茫了!截止日期是8日24时止。9月拟配置的中小客车增量指标共16313个,是这样分配的:1.以摇号方式向单位和个人配置节能车增量指标7285个,其中,单位指标100个,个人指标7185个。

  • qq注销账号有哪几个步骤(QQ将开注销帐号功能)

    1999年2月10日,一个名为OICQ、只有几百K的软件正式上线。当时,腾讯方面表示,这是QQ团队对帐号注销功能的灰度测试。网友截图出于安全考虑,也有网友表示支持有人说,QQ不推出注销服务有自己的考虑,这是为了防止用户QQ密码被他人知道后恶意注销,给用户带来无法挽回的损失。腾讯2018年第三季度财报显示,QQ智能终端月活跃账户同比增长6.9%至6.979亿。

  • 高跟鞋不合脚怎么办(穿高跟鞋不合脚怎么办)

    4、合理利用袜子,如果不喜欢垫各种鞋垫的朋友,可以穿一双船袜,再穿高跟鞋,那样既不影响穿着效果,也不影响美观,也是比较简单和实用的方法。

  • 年四旺名字打分104分 年四旺事迹

    文章目录:一、年四旺相关名字打分113二、年四旺相关名字评分115三、年四旺相关名字推荐四、年四旺相关名字大全五、其他人还看了一、年四旺相关名字打分113年灯石志明年橘纪红兵武尊道后书法孔多塞年贷款孙敬媛年立秋里蓝业珍冯景华年见朱诗词林于思冯桂年粤日林格孟昭毅年家薛邑马布鱼鲁初雪苏沫沫卜庆中年上年掌柜秦源达刘登龙严学锋国韵酒年线高成江裘梦年维泗红沙日年周王克斌王翔千毛淑红龙威信李万和年神范小慧王大