精华内容
下载资源
问答
  • 数据链路层主要解决的三个问题 1.封装成帧 “帧“是数据链路数据的基本单位,数据链路层接收到网络的数据后会在这段数据的前后添加特定标记形成数据帧,接收端根据前后特定的标记来识别数据帧。 封装成帧的过程 ...

    数据链路层主要解决的三个问题

    1.封装成帧

    “帧“是数据链路层数据的基本单位,数据链路层接收到网络层的数据后会在这段数据的前后添加特定标记形成数据帧,接收端根据前后特定的标记来识别数据帧。

    封装成帧的过程
    在网络层会把一些IP数据报传输给数据链路层,数据链路层在接收到数据之后把它看作是数据帧的数据,接着在数据的前后添加标记,标识数据帧的头部和尾部。(从帧首部到帧尾部就是数据帧的长度)帧首部和帧尾部都是特定的控制字符,实际也是一些特定的比特流。
    比如帧首部SOH:00000001
    帧尾部EOT:00000100
    对于数据帧在物理层的表现形式为001…0101的比特流。

    2.透明传输

    如果帧数据里面存在比特流,通过透明传输来解决。

    “透明”在计算机领域是非常重要的一个术语。比如平时设计API时如果设计的足够良好的话,底层的API操作对于API的调用方是透明的;比如对于数据链路层来说,物理层所做的工作是透明的,物理层只需要提供一些API给数据链路层使用。“一种实际存在的事物却又看起来不存在一样”
    在数据链路层中即使控制字符在帧数据中,但是要当作不存在的去处理。

    数据链路层是如何即使控制字符在数据里还可以当作不存在处理?在这里插入图片描述
    假设数据报文里面有一个EOT的控制字符,在接收端很有可能会把位于数据里面的EOT字符看作是数据帧的尾部,从而识别到一个错误的帧。这是严重的问题,如果不在底层做一些操作与改变,即使数据帧进行了传送也是无法解决的。所以必须在数据链路层进行操作使接收端不认为数据报里的比特流是控制字符。

    对数据里的控制字符进行特殊的处理,在特殊控制字符前面加一个转义字符。如果数据报里面有控制字符就在前面增加ESC转义字符。接收端在接收到EOT字符的时候就会判断在它的前面是否有转义字符。如果有转义字,接收端就认为这是一个位于数据报里的EOT比特流,从而不当做数据帧的尾部处理。
    同理如果数据里面出现转义字符,只需要把转义字符重新转义一次,在前面再次增加ESC即可。和编程里的转义字符原理相同。

    3.差错监测

    物理层只管传输比特流,无法控制判断是否出错。如果物理层在传输比特流的时候受到干扰,如宇宙射线,闪电等。物理层无法察觉比特流的错误。因此数据链路层拥有差错检测的功能,它可以判断比特流是否有出错。

    展开全文
  • 数据链路层

    万次阅读 2018-07-07 18:30:16
    本篇目录***************************************数据链路的三个基本问题使用点对点信道的数据链路层使用广播信道的数据链路层以太网MAC的硬件地址***************************************一、数据链路的三...

    本篇目录

    ***************************************

    数据链路层的三个基本问题

    使用点对点信道的数据链路层

    使用广播信道的数据链路层

    以太网MAC层的硬件地址

    ***************************************

    一、数据链路层的三个基本问题

    封装成帧:帧是数据链路层的传送单位。一个帧的帧长等于帧的数据部分加上帧的首部和尾部的长度。首部和尾部的一个重要作用是帧定界(确定帧的界限)。每一种链路层协议都规定了所能传输的帧的数据部分的上限既最大传输单元MTU。(见下图,图片来自百度)


    对于帧定界做以补充:

    1)当数据是由ASCII组成的文本文件时,使用特殊的帧定界符。

    SOH(Start Of Header)放在帧的最前面,表示帧的开始。十六进制编码是01(二进制00000001)

    EOT(End Of Transmission)表示帧的结束。十六进制编码是04(二进制00000100)

    SOH和EOT只是控制字符的名称。

    2)当数据是非ASCII码的文本文件(字符都是从键盘上输入)时,如二进制代码计算机程序或图像等,当数据中有SOH或者EOT这种控制字符时,就会出现判断错误。

    做法:字节填充==》发送端的数据链路层在数据中出现了控制支付SOH或者EOT时,就在其前面加上转义字符“ESC”(十六进制为1B,二进制为00011011),如果数据中出现了转义字符,也在其前面加上一个转义字符。在接收端的数据链路层在把数据向网络层传送之前,删除这些转移字符。

    透明传输:表示无论什么样的比特组合的数据,都能按照原样没有差错的通过这个数据链路层。

    差错检验:实现无比特差错。传输错误的比特占传输比特总数的比特率称为误码率BER(Bit Error Rate)。数据链路层采用循环冗余检验CRC的检错技术。过程如下:


    二、使用点对点信道的数据链路层

    (1)、ppp协议:不需要纠错,不需要设置序号,不需要进行流量控制,不支持多点线路(既一个主站轮流和链路上的多个从站进行通信),只支持点对点的链路通信,只支持全双工链路。

    (2)、PPP协议的三个组成部分:

    ①一个将IP数据报封装到串行链路的方法。PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。

    ②一个用来建立、配置和测试数据链路连接的链路控制协议LCP。

    ③一套网络控制协议NCP。

    (3)、ppp帧的格式


    标志字段F:0x7E(01111110):表示一个帧的开始或者结束。标志字段就是PPP帧的定界符。

    地址字段A:0xFF(11111111)

    控制字段C:0x03(00000011)

    协议字段:为0x0021时,PPP协议帧就是IP数据报;为0xC021时,信息字段就是PPP链路控制协议LCP的数据;为0x8021时表示网络层的控制信息。

    FCS:使用CRC帧检验的冗余码。

    (4)、PPP协议的工作状态


    说明:

    a)、当用户拨号接入ISP时(通过调制解调器呼叫路由器时,通常是在屏幕上用鼠标点击连接按钮),路由器检测到调制解调器发出的载波信号,做出确认,并建立一条物理连接。

    b)、PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。

    c)、这些分组及其相应选择了将要使用的PPP参数,接着进行网络配置,NCP给新接入的PC机分配一个临时的IP地址,使PC称为互联网上的一个有IP地址的主机。

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

    (三)、使用广播信道的数据链路层

    CSDA/CD协议:(Carrier Sense Multiple Access with Collision Delection)载波监听、多点接入、碰撞检测。

    说明:

    载波监听:不管在发送前还是在发送中,每个站都必须不停的检测信道。如果检测到已经有其他站在发送,则自己就暂时不需发送数据,必须要等到信道边为空闲时才能发送数据。在发送中检测信道,时为了及时发现有没有其他站在发送和本站发送的碰撞。

    多点接入:总线型网,许多计算机以多点接入的方式连接在一根总线上。

    碰撞检测:边发送边监听,既适配器边发送数据边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。

    补充:

    a)以太网的端到端往返时间2τ称为争用期。具体的争用期时间是51.2μs,也可以直接使用比特作为争用期的单位。

    b)截断二进制指针退避算法:重传应推后的时间计算=r*2τ;

    (r是从集合[0,1,……,(2^k)-1]中随机取出的一个数;k=Min[重传次数,10])

    c)以太网规定一个最短帧长64字节,既512bit.如果要发送的数据非常少,那么必须加入一些填充字节,使得帧长不小于64字节。

    d)从总线网到星形网,以太网交换机已经不使用共享总线,因此就没有了碰撞问题,也就不使用CSMA/CD协议,也就没有了争用期,而是以全双工的方式工作。之所以还叫以太网是因为它的帧结构没有改变,仍然采用的是以太网的帧结构。

    四、以太网MAC层的硬件地址

    (1)、MAC层的硬件地址又称为物理地址或者MAC地址。实际上就是适配器地址或适配器标识符,与主机所在的地点无关。源地址和目的地址都是48位长。

    (2)、以太网的适配器有过滤功能,只接受单播帧、广播帧或多播帧。

    单播帧(一对一):既收到的帧的MAC地址和本机的硬件地址一样。

    广播帧(一对全体):发送给本局域网上所有站点的帧(全1地址)。

    多播帧(一对多):发送给本局域网上一部分站点的帧。

    (3)、MAC帧的格式


    说明:

    a)2字节类型:标志上一层使用的什么协议。

    b)数据字段:长度在46到1500字节之间(因为帧长度最短为64字节,随意数据部分最小为46字节)

    c)插入的8字节:由硬件生成。由两个字段构成,第一个字段是7个字节的前同步码(1和0交替出现)作用是使接收端的适配器在接收MAC帧时能迅速调整时钟频率,使它和发送端的时钟同步(实现位同步)。第二个字段是帧开始定界符,前六位作用和前同步码一样,最后连续的1告诉接收端适配器MAC帧马上要来了。

    d)FCS:帧检验序列,检验范围不包括前同步码和帧开始定界符。

    e)以太网传输数据时是以帧为单位传送的,在以太网上传送帧时,个帧之间还必须有一定的间隙,因此接收端只要找到帧结束定界符,也不需要使用字节插入来保证透明传输。


    展开全文
  • 数据链路层协议封装

    千次阅读 2020-12-17 22:25:45
    常用的两种数据链路帧: 以太网帧和PPP帧的区别: 最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的...

    常用的两种数据链路层帧:

    在这里插入图片描述

    以太网帧和PPP帧的区别:
    最大的区别,以太网是一个广播链路,一个广播域可能有多个设备,所以以太网帧有MAC地址,为了在整个以太网中确定一个唯一确定到底哪个设备进行接收,减少链路的带宽消耗和设备处理时产生的消耗。而ppp帧在一条链路上只有对端,我们不需要通过MAC地址来表示接受方到底是谁,所以来数据帧上没有MAC地址的。其中的address地址全为F,没有实际的意义。

    以太网帧字段的说明:

    无论是哪种以太网的封装的格式,其实大体上都是差不多的,但是还是有一定的区别,但是可以通过字段的不同值分别到底是哪种类型的以太帧,首先当一个以太网接口接收到以后,会从帧界定符以后开始读取源目MAC地址,因为MAC地址长度固定,48bit,连续96bit后就会读取到一个类型/长度字段,这个字段占8个bit,如果表示的值大于1536,表示的是以太网2的帧,其含义为上层是什么协议,如0x0800表示的是IPV4报文,0x86dd表示的是IPV6报文,常用表示的如下:
    在这里插入图片描述
    这里出现的MPLS,802.1Q字段为在传统以太网上添加的字段,添加的位置是在MAC地址之后,原来协议字段之前,添加的部分它们同样有一个类型字段,告诉设备现在读取的是MPLS标签或者VLAN的tag,当读取完成后继续读取的协议/长度字段才是原来报文中的字段。

    如果表示的是类型/长度字段表示类型就没有长度字段了怎么知道数据真的总长度呢?这个就只有看上层协议中所表示的长度了,例如IPv4报头中也有长度字段。

    如果协议/类型字段小于1500,则表示以太帧中内容的长度,但是这样又不知道了上层是什么协议,这就需要LLC子层来进行表示了(例如生成树的BPDU)。当读取完成后,最后有4个字节的FCS的校验位,防止接收到的数据帧出现了偏差。

    这里做一个记忆:
    在这里插入图片描述
    802.1Q和QinQ格式:
    在这里插入图片描述
    普通情况下一共四个字节,其中2字节的协议类型字段,表示这是一个tag,3bit的PRI,表示数据真的优先级0-7,7最优。CFI在令牌环网络中有效,以太网中无意义,占有1bit,最优是VLAN的标签,占12bits,范围为(0-4095)。QinQ帧就是两个802.1Q字段的叠加,一个为内网tag,一个为外网tag。

    MPLS标签字段:
    在这里插入图片描述
    mpls标签也是4字节,其中标签字段20bit,优先级3bit没有变化,S表示十分为最后一个标签,为1表示为最后一个,TTL字段的作用是进行标签转发防止环路,占8bit。

    PPP帧格式的说明:

    在这里插入图片描述
    PPP报文前后有一个字节固定的flag字段,表示一个数据帧的界定,然后有一个自己的全1分地址字段,控制字段占1自己,默认为0x03,没有什么特别的作用,然后就是一个2字节的协议为,表示information字段包含的是什么报文,information字段是PPP真的载荷数据,长度可变,里面的类容先暂时不进行分析。最后为2字节的差错校验位。

    总结:

    知道二层封装的协议之后,可以进行同一网段中相邻三层设备间的数据准确传输了。但是相邻链路接收到对方发来的信息后,如果自己就是对方发送的目标后,后下一步该怎么做呢,怎么进行不同网段的信息传输呢,就需要进一步了解封装在二层帧中的数据的内容了。

    一般封装在二层帧中的也就是三层的报文,这一层报文主要是为了进行不同网段的寻路,如ipv4,ipv6等,设备可以通过二层帧中的类型字段知道了上层的协议是什么,然后再按照对应上层协议的格式进行对格式的读取。

    参考资料:部分网络上资料

    展开全文
  • 数据链路层解决的三个问题

    千次阅读 2019-04-13 13:39:10
    帧包含:帧头、帧尾、物理地址、检验值 1、封装成帧 封装成帧就是在一段数据的前后分别添加首部和...发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是...

    1、封装成帧

    封装成帧就是在一段数据的前后分别添加首部、尾部和帧检验序列 ,然后就构成了一个帧。
    注:首部和尾部的一个重要作用就是帧定界。

    2、透明传输

    发送数据帧时,加上转义字符“ESC”,以及接收数据帧时,去掉转义字符,得到真实数据,这就叫做透明传输。

    • 发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是1B)。
    • 接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。

    注意:如果转义字符“ESC”也出现在数据当中,那么应当在转义字符前插入一个转义字符。
    在这里插入图片描述

    3、差错检测

    传输过程中可能会产生比特差错:1可能会变成0,0可能会变成1,为了检查传输是否正确,需要在原始数据后加上一个帧检验序列(FCS)。

    循环冗余检验(CRC)是常用的帧检验算法

    1)原始数据添加帧检验序列:

    假设传输数据为101001,我们在该序列后加几位零,变成101001000,再除以一个四位数(序列后加0个数+1),例如1101。除法最后的余数(001)作为帧检验序列(FCS),所以最后传输序列变成101001001

    注意:除法的余数为被除数和除数做不进位加法的结果。
    在这里插入图片描述

    2)接收端校验数据:

    用接收端收到的序列除以同一个除数1101,如果最后余数为0,则传输的数据正确,接收端接收;否则传输的数据出错,接收端会丢弃该数据。
    如果接收到101001001,我们做计算101001001/1101(同样用不进位加法),最后余数为零,所以传输数据正确。

    3)循环冗余检验的特点:
    • 这种检测方法并不能确定究竟是哪一个或哪几个比特出错。
    • 只要经过严格的挑选,并使用位数足够多的除数P,那么出现检测不到差错的概率就很小。
    展开全文
  • 史上最全的数据链路层基础知识详解

    千次阅读 多人点赞 2020-03-14 16:45:53
    数据链路层1.数据链路层的主要功能2.三个基本问题2.1封装成帧2.1.1基本概念2.1.2常用成帧方法2.2透明传输2.2.1解决透明传输问题2.2.2用字节/字符填充法解决透明传输问题2.2.3字节填充的标志字节法的特点.2.2.4字节...
  • 文章目录1 使用点对点信道的数据链路层1.1 数据链路和帧1.2 三个基本问题1. 封装成帧2 点对点协议 PPP3 使用广播信道的数据链路层4 扩展的以太网5 高速以太网 数据链路层使用的信道主要有以下两种类型: 点对点信道...
  • 数据链路层之透明传输

    千次阅读 2019-04-25 23:36:53
    发送端的数据链路层,在含有开始,结束和这字符本身的二 进制编码插入“ESC”字符,才发送给接收端的数据链路层, 然后接收端的数据链路层再把对方加的字符删掉,才发给自 己的网络 也就是说,“ESC”字符的加加...
  • 计算机网络之数据链路层原理

    千次阅读 2019-05-29 17:30:04
    以及数据链路层数据可能会遇到那些问题呢?搞清楚这些问题之前,先让我们看下面经典的数据链路层数据发送模型。 主机H1与主机H2进行网络通信,主机H1发送一个数据包给H2,这个数据包经历若干路由器最终到达主机H2。...
  • 1、数据链路层的设计问题 引言 数据链路层主要完成的功能包括:(1)向网络提供一个定义良好的接口(2)处理传输错误(3)调节数据流,确保慢速接收方不会被快速接收方淹没。 数据链路将从网络获取的...
  • 数据链路层简介

    千次阅读 2020-09-16 17:54:04
    数据链路层解决了什么问题2.1.封装成帧2.2.透明传输2.3.差错校验2.4.MAC寻址3.链路向网络提供的服务3.1.无确认的无连接服务3.2.有确认的无连接服务3.3.有确认的面向连接服务 1.为什么设置数据链路层 数据链路层...
  • 数据链路层在物理提供服务的基础上向网络提供服务,其最基本的服务是将源自网络来的数据可靠地传输到相邻节点的目标机网络。其主要作用是加强物理传输原始比特流的功能,将物理提供的可能出错的物理连接...
  • 数据链路层故障诊断与排除

    千次阅读 2018-10-13 16:34:08
    数据链路层概述 数据链路层利用网络提供的服务,与对等进行以信元为信息单位的通信,他们对其上一网络提供服务。 数据链路的功能为:在物理提供比特流传输服务的基础上,在通信的实体之间建立数据链路...
  • 本章介绍的数据链路层分为: 点对点信道的数据链路层 广播信道的数据链路层 (局域网) 主要内容: 1,数据链路的点对点信道和广播信道的特点,以及两种信道所使用的协议(PPP协议和CSMA/CD协议) 2,数据...
  • 计算机网络——数据链路层

    千次阅读 2018-01-26 16:45:21
    数据链路层使用的信道主要有以下两种类型: (1)点对点信道:这种信道使用一对一的点对点通信方式。 (2)广播信道:这种信道使用一对多的广播通信方式。 链路是一条无源的点到点的物理线路段,中间...
  • 点对点信道的数据链路层

    千次阅读 2018-12-16 13:02:52
    数据链路层协议有许多中)数据路层的三个基本问题 问题一:封装成帧 问题二:透明传输 问题三:差错检测(解决的一般来说是比特差错) CRC(Cyclic Redundancy Check)的差错检错技术简单例子 数据链路和帧  ...
  • 数据链路层协议的三个基本问题

    千次阅读 2019-04-07 13:15:41
    一.封装成帧 封装成帧就是在一段数据的前后分别添加首部和尾部,这样就构成...网络的IP数据报传送到数据链路层就称为帧的数据部分。在帧的数据部分的前面和后面分别添上首部和尾部,构成了一个完整的帧。首部和尾...
  • 数据链路层帧传输的三个基本问题

    千次阅读 2017-12-20 18:53:31
    封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。 用控制字符进行帧定界的方法举例 : SOH(Start Of Head):0x01 EOT(End Of Transmission):0x04 透明传输 : 解决...
  • 在交换机出现以前,搭建一个小型局域网的方法是通过 集线器 完成的。...然而,通过集线器来连接各个电脑就出现了三个问题: 这个包是发送给谁的?谁应该接收? 大家都在发送,会不会产生混乱?怎么避免混乱的情...
  • 文章目录1.网桥(1)基本概念(2)网桥信息处理方式(3)网桥的吞吐量举例(4)基本特点(5)优缺点(6)透明网桥(7)源路由网桥(选择最佳路由)2.局域网交换机(1)基本概念(2)原理(3)特点(4...网桥工作在...
  • 数据链路层详解

    万次阅读 2019-01-21 10:40:14
    网络数据链路层对比: 网络是进行地址管理和路由选择的,它是为数据报的转发找出一条来,而数据链路层解决的是两个结点直接的数据交换,数接近于物理的概念。 了解以太网: “以太网” 不是一种具体的...
  • 一、使用点对点信道的数据链路层 计算机网络体系结构 数据链路层是实现设备之间通信的非常重要的一 数据链路的作用 仅从数据链路层观察帧的流动 数据链路层使用的信道 1.1.1 数据链路和帧 链路(link)是一...
  • 计算机网络中的数据链路层详解

    千次阅读 2020-11-11 15:47:34
    文章目录数据链路层概述使用点对点信道的数据链路层数据链路和帧三个基本问题封装成帧透明传输差错控制点对点协议PPPPPP协议的特点PPP协议的帧格式使用广播信道的数据链路层局域网的数据链路层以太网适配器的作用...
  • 数据链路层—三个基本问题

    千次阅读 2015-11-24 17:47:02
    本文主要介绍数据链路传输数据需要注意的最基本的三个问题  当我们需要传输数据的时候,我们应该这考虑:首先,将数据封装成帧(帧是数据链路的基本单位),考虑去怎么封装,才能让接受端识别一个完整的帧,...
  • 1、数据链路层解决的问题 数据链路层在接受到物理的比特流进行成帧,数据链路层使用物理提供的服务在通信信道上发送和接收比特,它主要完成以下功能: (1)向网络提供一个定义良好的服务接口 (2)处理传输...
  • 数据链路层(帧)(一)

    千次阅读 2020-11-05 17:44:43
    三个基本问题二、点对点协议 PPP1.PPP 协议的特点2.PPP 协议的帧格式3.PPP 协议的工作状态三、使用广播信道的数据链路层1.局域网的数据链路层2.CSMA/CD 协议 一、使用点对点信道的数据链路层 数据链路层使用的信道...
  • OSI体系结构——数据链路层详解

    千次阅读 2020-03-28 16:44:05
    数据链路层在物理提供的服务的基础上向网络提供服务,数据链路是对物理传输原始比特流的功能的加强,将物理提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络表现为一无差错的线路。...
  • 计算机网络第三章答案 复习三 (数据链路层

    万次阅读 多人点赞 2018-12-17 23:30:56
    1. 数据链路 (即逻辑链路 )与链路 (即物理链路 )有何区别 ? “电路接通了 ”与”数据链路接通了 ”的区别何在 ? 答:数据链路与链路的区别在于数据链路除链路外,还必须有一些必要的规程来控制数据的传输,因此, ...
  • 第 3 章 数据链路层 使用点对点信道的数据链路层 数据链路和帧 数据链路层使用的信道主要有以下两种类型: 点对点信道。这种信道使用一对一的点对点通信方式。 广播信道。这种信道使用一对多的广播通信方式,因此...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 403,593
精华内容 161,437
关键字:

数据链路层出现的问题