精华内容
下载资源
问答
  • 计算机网络数据链路层题库

    万次阅读 多人点赞 2018-07-31 17:21:57
    1. 以下哪点不是链路层需要解决的问题 A、介质访问控制 B、安全性 C、差错控制 D、流量控制 2 下列属于数据链路层基本功能的有 A、流量控制 B、介质访问控制 C、成帧 D、差错控制 解析: 3 在数据链...

    目录

    网络课课后题

    王道与其他

    综合应用题


    网络课课后题

    1. 以下哪点不是链路层需要解决的问题

    A、介质访问控制

    B、安全性

    C、差错控制

    D、流量控制

    下列属于数据链路层基本功能的有

    A、流量控制

    B、介质访问控制

    C、成帧

    D、差错控制

    解析:

    3  在数据链路层上处理发送方和接收方的收发帧同步问题的是

    A、差错控制

    B、流量控制

    C、成帧

    D、介质访问控制

    解析:

    4 在滑动窗口机制中,发送窗口的大小可以不等于接收窗口的大小。(T)

    解析:

    5  在累计确认技术中,接收方收到一个帧后发回一个确认,该确认帧包括了接收方:想要的下一个帧号

    解析:

    累计确认机制的目的是:

    A、提高安全性

    B、保证信息正确

    C、提高响应速度

    D、节省带宽

    解析:

    带宽:在规定时间内从一端流到另一端的信息量,即数据传输率。bps,Kbps,Mbps,Gbps,Tbps

    为什么不能用一个数据帧把网络层的数据一次发完,可能的原因有

    A、传输的数据若出错,重传所带来的代价更大

    B、接收缓冲区的大小受到限制

    C、一个节点不能占用信道时间过长

    D、传输的数据愈长,出错的可能性愈大

    采用停-等流量控制机制,当传播时延大于发送时间时,与传播时延小于发送时间的情况相比线路的利用率更 

    解析:

    9 距离越长,帧越短,传输效率越低;距离越短,链路利用率越高(T)

    10  一个信道的链路层采用停-等协议传输数据,传播延迟是30ms,数据帧长度为2500B,确认帧长度不计。若该信道利用率为25%,则其数据传输速率为  1Mb/s

    解析:

    设发送时间 = x

    25% = 1/4 = A/(2*30ms + A),得A=20ms

    数据传输速率 = 2500B / 20ms = 20000b / 20ms = 1000b/ms = 1000 000b/s = 1Mb/s


    11 回退-N中的累积确认否定确认都具有累计肯定的作用。 (T)

    12 选择重传中的确认和否定确认都是对某一帧的确认。(F)

    解析:确认帧中含有确认号。

    13 对比回退-N和选择重传,回退-N的优点是:

    A、对缓存的要求小

    B、节省带宽

    C、处理到达逻辑简单

    D、节省时间

    解析:

    回退-N:一旦某个帧有错,丢弃该帧和它之后收到的所有者帧。

    选择重传:实现复杂,接收方要有存放N个帧的缓冲区。

    14 数据链路层采用回退-N帧协议,发送方已经发送了编号为0-7的帧。当计时器超时时,若发送方只收到0,2,4号帧的确认,则发送方需要重发的帧数是   3

    15 数据链路层采用回退-N帧协议传输数据,数据帧序列号为4比特,当发生数据帧超时,需要重传的最大数据帧数是   15

    16 数据链路层采用选择重传ARQ传输数据,数据帧序列号为3比特,当发生数据帧超时,需要重传的最大数据帧数是   4

    17  PPP协议数据帧结构中哪些字段的值已经被固定了?

    A、Address(固定为11111111)

    B、Payload

    C、Control(固定为00000011)

    D、Protocol

    18  PPP协议支持动态协商IP地址。(T)

    19  CATV HFC头端和光纤结点之间用光纤干线,从光纤结点到用户大多采用 同轴电缆;在有线电视系统中,同轴电缆上的信号传播是 单向 

    20 CSMA/CD机制可以使用基于共享介质的无线局域网(F)

    解析:

    带冲突检测的载波侦听协议。

    介质忙,一直监听知道空闲马上传输。

    传输期间检测到冲突,马上停。

    21 IEEE802.11协议为提高信道利用率,采用什么协议

    A、ALOHA

    B、CSMA/CA

    C、时隙ALOHA

    D、CSMA/CD

    解析:冲突避免,随机后退算法

    22  如图所示,在AP模式下的局域网,A与D能否直接通信?   不能

    解析:所有通信都要经过AP进行

    23  802.11标准针对共享介质的无线局域网规定了建立管理无线链路、管理移动节点能耗、以及实现无线数据传输所需要的一系列规则。标准的主要内容包括:

    A、CSMA/CA协议

    B、多信道漫游

     C、RTS/CTS机制

    D、将包分成小帧

    24  802.11提供了无连接的不可靠(无连接的可靠)数据传输服务。(F)

    25  下面关于RTS/CTS的说法错误的是 

    A、CTS为发送方预留带宽,同时只通告非隐藏节点(通告所有节点,包括隐藏的)

     B、接收方用CTS回应发送请求

    C、RTS和CTS长度很短,冲突的概率减少

    D、发送方用RTS发送请求

    26  纯ALOHA的基本思想是

    A、发生冲突随机重发

    B、以时间槽分隔信道

    C、发送前先侦听信道

    D、按需访问信道

    解析:

    纯ALOHA:不侦听信道,按需访问信道,发生冲突随机重发

    分槽ALOHA:不侦听信道,访问信道只能在时间槽开始时进行,发生冲突随机重发

    27  下列协议中,不会发生碰撞的是

    A、ALOHA

    B、CSMA

    C、TDM

    D、CSMA/CD

    22  网络节点侦听载波是否存在(即有无传输)并随之采取相应的行动,并在传输过程中检测是否发生冲突,这种描述的是    CSMA/CD   协议。

    23  当网络负载特别重时,CSMA协议比TDMA协议的利用率高。(F)

    24  以太网如果发生介质访问冲突,按照二进制指数后退算法决定下一次重发的时间,使用二进制后退算法的理由是

    A、这种算法与网络的规模大小无关

    B、这种算法考虑了网络负载对冲突的影响

    C、这种算法简单

    D、这种算法执行速度快

    解析:IEEE802.3的后退算法:二进制指数后退算法,截断二进制指数后退算法

    25  截断二进制指数后退算法中,如果发生了12次碰撞,那么站点会在0到多少之间选择一个随机数?      1023

    26  802.3帧没有序号、确认号、控制、帧类别字段(T)

    27  802.3协议中前导码(Preamble)的作用是

    A、校验帧传输是否有错误

    B、接收器用来建立比特同步

    C、标识一个有效帧的开始

     D、无效信号,仅只是在发送数据帧时附加在帧前面,形成帧头

    28  802.3支持单播、广播通信方式,但支持组播通信方式。(F)

    29  为了区分有效帧和碎片垃圾,802.3协议规定有效帧必须至少有  64   字节长。

    30 802.3提供了无连接的不可靠数据传输服务。(T)

    31  在802.3协议提供的原语中,仅用于接收方的是

    A、MA_UNITDATA_STATUS.indication

     B、MA_UNITDATA.request

    C、MA_UNITDATA.indication

    32  具有10个10Mbit/s端口的交换机的总带宽可以达到  100Mbit/s

    33  以太网交换机是按照()进行转发的

    A、IP地址

    B、MAC地址

    C、协议类型

    D、端口号

    34 在网桥要处理的帧中,MAC控制帧由MAC实体处理,不上交给任何高层。(T)

    35  下列属于网桥的特性的有

    A、工作在数据链路层的存储-转发设备

    B、将来自一个接口的比特简单广播到所有的其他端口

    C、需要时向下传到物理层转发到不同的网络

    D、工作在物理层的电子信号放大低级设备

    36 在数据链路层中,接收方通过传输介质上是否有信号来判断是否有新的数据到达。(F)

    解析:

    37、数据链路层为网络层的“存储-转发”提供支持  (T)

    解析:

    38、当用户在公共区域通过有线/无线局域网使用网络服务时,通常情况下,客户机通过什么来访问因特网?
     A、 点-点链路
     B、 共享信道

    39、本课程中的ATM是指:
     A、 异步传输模式(Asynchronous Transfer Mode异步传输模式)
     B、 交错式图灵机
     C、 同步传输模式

    40、滑动窗口机制中,发送方每发出一帧,发送窗口上限前移一个位置;每收到一个确认,发送窗口的下限前移一个位置(F)

                                                                              (下限)                                                               (上限)


    41、对于全双工操作来说,接收方有数据要发,还要回复确认帧,可以采用哪种技术?
     A、 累积确认
     B、 普通确认
     C、 稍待确认


    42、ARQ技术使得数据帧长度变长了,因此总体上降低了带宽利用率。(F)

    解析:ARQ-Automatic Repeat reQuest自动重发检错



    43、CRC编码可以实现100%检错。(F)



    44、给定某个至多出现3位错的传输信道,如果要具备检出3个错码,同时能纠正一个错码的能力。试问编码所用的码集汉明距离应该为: 5

       e = 3    t = 1        d >= 3 + 1 + 1 = 5

    45、PPP协议用什么特殊的字节模式来标识PPP帧的开始和结束?

     A、01111110

     B、01111111

     C、01111100

     D、01111101

    11、PPP协议不具有差错检验的能力。(F)

    46、按需分配信道容量的异步控制方式中,集中式的优点

     A、不存在单点故障,系统稳定性高

     B、可提供优先权等其他功能

     C、没有额外延迟,传输效率高

     D、每个节点的逻辑相对简单

    47、在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1 Gbps,电缆中的信号传播速度是200 000 km/s。若最小数据帧长度为8000比特,则最远的两个站点之间的距离最多为

     A、3200m

     B、800m

     C、1600m

     D、400m

    解析:发送时延 = 往返的传播时延。

    48、在截断二进制指数后退算法中,如果发生了12次碰撞,那么站点会在0到多少之间选择一个随机数?

     A、1024

     B、4096

     C、4095

     D、1023

    49、对于共享介质的无线传输来说,没有侦听到载波不等于信道为空,侦听到载波不能说明信道为忙。(T)

    50、RTS控制帧具有较高的优先级,不需要和普通数据帧竞争信道。(F)

    解析:RTS帧无优先级,CTS帧具有优先级

    51、下面哪种设备不可以隔离冲突域

     A、中继器(集线器也不能分割冲突域)

    B、网桥

     C、交换机

    52、某以太网拓扑及交换机当前转发表如下图所示,主机A向主机C发送1个数据帧,主机C收到该帧后,向主机A发送一个确认帧,交换机对这两个帧的转发端口分别是?

     A、{2,3}和{1}

     B、{3}和{1}

    解析:

    A想C发送数据时,交换机转发表中没有C这项,所以向A除外的所有接口广播帧,即2,3端口会转发该帧。同时转发表会加入(目的地址A,端口1)。当C向A发送确认帧时,转发表已经有A这项,所以交换机只向1端口转发。

    王道与其他

    19、下列不属于数据链路层功能的是:

    A 帧定界功能        B 电路管理功能            C 差错控制功能        D流量控制功能

    解析:

    帧定界功能:将二进制比特流组织成帧。

    差错控制:控制帧在物理信道上的传输,处理传输差错,提供数据链路的建立,维护和释放。

    流量控制:控制帧的传输速率,使接收方有足够的缓存来接收每一个帧。

    电路(链路Link):从一个结点到相邻结点的一段物理线路,中间无任何交换结点。

    数据链路(Data Link):一条虚拟的线路,由通信协议和各种软件构成。数据链路连接具有检测,确认和重传功能。

    "电路接通了":表示链路两端的结点交换机已经开机,物理连接已经能能够传送比特流了,但是数据传输并不可靠。在物理电路接通的基础上,再建立数据链路连接,此时不可靠的物理链路变成了可靠的数据链路。

    20、数据链路层协议的功能不包括

    A 定义数据格式(组帧)   

    B 提供结点之间的可靠传输  

    解析:数据链路层在物理层提供的不可靠的物理连接上实现结点到结点的可靠性传输。

    C 控制对物理传输介质的访问  

    解析:控制对物理传输介质的访问由数据链路层的介质访问控制子层MAC完成

    D为终端结点隐藏物理传输的细节

    解析:数据链路层不考虑物理层如何实现比特传输。

    21、为了避免传输过程中帧的丢失,数据链路层采用的方法是:

    A 帧编号机制   

    解析:对每个发送的帧进行编号,保证接收方不会接收到重复帧

    B 循环冗余校验码  (差错控制)

    C 汉明码  (差错控制)

    D 计时器超时重发

    解析:发送方对每一个数据帧设计一个定时器,超时,发送方重发帧

    22、数据链路层为网络层提供的服务不包括

    A 无确认的无连接服务 

    B 有确认的无连接服务 

    C无确认的面向连接服务 

    D有确认的面向连接服务

    解析:连接是建立在确认机制的基础上,因此数据链路层没有无确认的面向连接服务。

    23、

    解析:实时中通信数据的迟到比数据损坏更加不好。

    24、流量控制实际上是对()的控制

    A  发送方的数据流量

    B  接收方的数据流量

    C  发送,接收方的数据流量

    D 链路上任意两结点的数据流量

    解析:

    25、下列哪个不是链路层的标准

    A ICMP(网络层)

    B HDLC

    C PPP(基于SLIP发展起来的)

    D SLIP

    26、

    解析:

    27、

    解析:

    数据的传输差错一般由噪声引起。

    热噪声:信道固有的,引起的差错是随机差错,可通过提高信噪比来降低其对数据传输的影响。

    冲击噪声:由外界电磁干扰引起,引起的差错是突发差错,无法通过提高信噪比来避免。

    28、下列有关数据链路层差错控制的叙述中,错误的是:

    A  数据链路层只能提供差错检测,而不提供差错纠正

    解析:链路层的差错控制有两种基本策略:检错编码和纠错编码。常见的纠错码有汉明码,它可以纠正一位差错

    B 奇偶校验码只能检测出错误而无法对其进行修正,也无法检测出双错。

    解析:

    C CRC校验码可以检测出所有的单比特错误

    解析:

    D 汉明码可以纠正一位差错

    29

    解析:通过增加冗余位来使得码字中“1”的个数保持为奇数或偶数。

    30

    解析:奇校验。传输数据中1的个数为偶数则可检测出错误,为奇数则检测不出错误。

    31

    解析:

    32

    解析:2(r) >= 10 + r +1

    33关于循环冗余校验的说法错误的是:

    A. 带r个校验位的多项式编码可以检测到所有长度小于或等于r的突发性错误

    B. 通信双方可以无需商定就直接使用多项式编码

    解析:

    C. CRC校验可以使用硬件来完成

    D. 有一些特殊的多项式,因为有很好的特性,而成为了国际标准

    34

    解析:后续补

    35

    解析:后续补

    36从滑动窗口的观点看,当发送窗口为1,接收窗口也为1时,相当于ARQ的:

    A. 回退N帧ARQ   B. 选择重传ARQ    C. 停止-等待     D. 连续ARQ

    解析:

    滑动窗口机制:

    37在简单的停止等待协议中,当帧丢失时,发送端会永远等待下去,解决这种死锁现象的办法是:

    A. 差错校验     B. 帧序号     C. NAK机制      D. 超时机制

    38

    解析:设数据帧长度为L

    (L / 4) / (L / 4 + 2 * 30) = 80%,解得L = 960bit

    39、2009年计算机联考真题

    解析:

    40

    解析:后退N帧(GBN)协议的接受方采用累积确认的方式,发送方需重传4,5,6,7号帧

    41数据链路层采用了后退N帧的(GBN)协议,若发送窗口的大小是32,则至少需要()位序列号才能保证协议不出错。

            A. 4                             B. 5                           C. 6                           D. 7

    解析:

    N = 32 ,    2(n) = 32 + 1 =33 ,   n取6

    422012年计算机联考真题(做错过)

    解析:

    43若采用后退N帧的ARQ协议进行流量控制,帧编号字段为7位,则发送窗口的最大长度为:

    A. 7                   B. 8                     C. 127                        D. 128

    解析:

    N = 2(7) - 1 = 128 - 1 = 127

    44、2011年计算机联考真题

    A. 1             B. 2                     C. 3                         D. 4

    解析:

    45采用了选择重传协议的数据链路层协议,若采用了5位的帧序列号,则可以选用的最大接收窗口是:

    A. 15             B. 16              C. 31                   D. 32

    解析:

    N = 2(5 - 1)= 2(4) = 16

    46

    解析:

    对于回退N帧协议,发送窗口的大小可以等于窗口总数 - 1,因为其接收窗口大小为1,所有的帧保证按序接收,至多有n-1帧已发送但未确认。

    47

    解析:

    48、2014计算机联考真题 

    解析:传输速率 < 信道带宽

    采用后退N帧协议,发送窗口为1000,至多有1000帧已发送但未确认

    即收到第一个数据的确认之前,最多能发送1000个数据帧,即1000 * 1000B = 1MB

    从发送第一个数据帧到接收到它的确认帧的往返时延:50 + 50 =100ms

    100ms内最多传输1MB,此时最大传输速率为1MB / 0.1s = 10MB / s =80Mbps 

    信道带宽为100Mbps

    答案为min{80Mbps,100Mbps}

    49、2015计算机联考真题 

    解析:

    50

    解析:

    51下列介质访问控制方法中,可能发生冲突的是:
    A.CDMA(code码分多路复用)           B.CSMA                 C.TDMA                        D.FDMA

    解析:

    52、(Peking的PPT没有涉及)

    解析:

    53

    解析:

    54

    解析:

    I-坚持型CSMA:监听到信道忙时,仍然继续监听下去,知道信道空闲为止

    非坚持型CSMA:监听到信道忙则放弃监听,等待一个随机时间后再重新监听,空闲则马上发送数据

    p-坚持型:监听到信道忙时,等待下一个时隙再监听;若信道空闲,以概率p发送数据,以概率1-p推迟到下一个时隙

    55

    解析:

    56

    解析:

    57、2009计算机联考真题 

    在采用CSMA/DA协议的网络中,传输介质是一根完整的电缆,传输速率为1Gb/s,电缆中的信号传播速度是200000km/s。若最小数据帧长度减少800比特,则最远的两个站点之间的距离至少需要()

    A. 增加160m             B. 增加80m              C.减少160m                          D. 减少80m

    解析:最小数据帧长度减少800比特 = 最远两个端点之间往返的时间内发送出的比特数减少800。

    若数据传输速率不变,则需要缩短最远两个端点之间的距离。

    假设减少的最小距离为s:

    减少的发送时延 = 减少的往返时间

    800 / 1Gbs = s / 200000kms * 2,解得s = 80m

    58、

    解析:

    来回路程 = 10000 * 2 = 2000

    1秒=1000毫秒(ms) 1秒=1000000 微秒(μs) 1秒=1000000000 纳秒(ns)

    往返时延 = 2000 / 200 * 10(6) = 10(-4) s

    最小帧长 = 往返时延内发送的比特数 = 10Mb/s * 10(-4) s = 10 * 10(6) * 10(-4) = 1000bit

    59、2016年计算机联考真题

    解析:Hub为100Base-T集线器,则线路的传输速率为100Mb/s。以太网规定最短帧长为64B = 512b。

    设距离为x

    200m/us = 200 * 10(6) m/s

    100Mb/s = 100 * 10(6)b/s

    争用期 = 往返传播时延 = 2( x / 200m/us + 1.535us )

    最小帧长 = 争用期∗数据传输速率 =2 (x / 200m/us + 1.535us ) * 100Mb/s = 512b,解得x = 205m

    60、

    解析:

    61、

    解析:冲突发生的次数越多,帧重传时再次发生冲突的概率越低。

    62、

    解析:

    63、2011年计算机联考真题 

    对正确接收到的数据帧进行确认的MAC协议是:

    A. CSMA                 B. CDMA                C. CSMA/CD                D. CSMA/CA

    解析:

    802.3协议 - CSMA/CD

    802.11协议 - CSMA/CA

    64、

    解析:

    65、

    解析:最短数据帧长 / 数据传输速率 = 2 * ( 两站点间的最大距离 / 传播速度 )

    C项:上层协议使用TCP的概率增加与是否提高最短帧长度没有关系。

    D项:冲突域不变,减少线路中的中继器数量,此时冲突信号可以更快地到达发送站点。因此需要减少最短帧长度。

    66、多路复用器的主要功能是:

    A. 执行模/数转换

    B. 执行串行/并行转换

    C. 减少主机的通信处理负荷

    D. 结合来自两条或更多条线路的传输

    解析:多路复用器的主要功能是结合来自两条或更多条线路的传输,充分利用信道

    67、

    解析:令牌网络的拓扑结构为环状,存在一个令牌不停地在环中流动。只有获得了令牌的主机才能发送数据。因此不存在冲突。

    68、2015年计算机联考真题

    69、

    解析:802.3 - CSMA/CD - 有线网路                      802.11 - CSMA/CA - 无线网络

    70、2012年计算机联考真题

    解析:

    局域网信道质量好,以太网致力于使通信更加简便:

    1 采用无连接的工作方式(无连接)

    2 不对发送的数据帧进行编号,不要求对方发回确认(不可靠)

    71、

    解析:

    以太网提供无连接无确认的不可靠服务。

    局域网工作在OSI的物理层和数据链路层。

    广域网工作在OSI的物理层,数据链路层和网络层。

    72、

    解析:

    10:数据率,单位为Mb/s。

    BASE:介质上的信号为基带信号。即基带传输,采用曼彻斯特编码。

    后面的2或者5:每段电缆的最长长度为200m或500m

    T:双绞线

    F:光纤

    73、若使用5类UTP来设计一个覆盖范围为200m的10BASE-T以太网,需要采用的设备是:

    A. 放大器(加强带宽信号,用于传输模拟信号)

    B. 中继器(加强基带信号,用于传输数字信号)

    解析:UTP所能支持的最大长度为100m,要覆盖200m,需要延长UTP所支持的长度。

    74、

    解析:

    75、每块以太网卡都有自己的时钟,为了在相互通信时知道什么时候一位结束,下一位开始,它们采用了:曼彻斯特机制

    解析:

    76、

    解析:

    77、

    解析:

    78、

    解析:

    1. 目的MAC地址等于本机MAC地址的帧是不会被发送到网络上去的。

    2. 其他设备的用户给其中的一个设备发送帧,具有相同静态MAC地址的另一个设备也会受到该帧

    79、

    解析:

    80、

    解析:

    81、

    解析:

    82、

    解析:最短数据帧长 / 数据传输速率 = 2 * ( 两站点间的最大距离 / 传播速度 )

    83、

    解析:

    这里的数据帧从笔记本电脑发送到AP,属于To AP类型

    地址1 - 物理接受者 - AP

    地址2 - 物理发送者 - H主机

    地址3 - 逻辑发送接收者 - R

    84、

    解析:Ethernet - 以太网

    85、

    解析:吉比特以太网的物理层有两个标准:IEEE 802.3z和IEEE 802.3ab,前者采用光纤通道,后者采用4对UTP5类线。

    86、

    解析:

    87、

    解析:

    88、

    解析:

    89、

    解析:

    90、广域网所使用的传输方式是:存储转发式

    91、

    解析:

    92、

    解析:

    93、

    解析:

    94、

     解析:

    95、

    解析:HDLC High-level Data Link Control 高级数据链路控制(PKU的PPT不涉及)

    96、

    解析:https://blog.csdn.net/wydyd110/article/details/82623436

    97、

    98、

    99、

    100、

    解析:

    101、

    解析:

    物理层设备(集线器)不能分割碰撞域。

    数据链路层设备(交换机,网桥)可以分割碰撞域,但不能分割广播域。

    网络层设备(路由器)可以分割碰撞域,也可以分割广播域。

    102、

    103、

    解析:

    104、2009年计算机联考真题

    解析:

    105、

    解析:

    106、

    解析:

    107、

    解析:

    108、

    解析:

    109、

    解析:

    24 / 2 = 12对端口

    110、2013年计算机联考真题

    解析:

    111、

    解析:

    112、

    解析:

    交换机的每个端口都有一个冲突域。

    数据链路层的连接设备不能隔离广播域。

    LLC是逻辑链路控制,在MAC层上。用于向网路提供一个借口以隐藏各种802网络之间的差异,交换机按MAC地址转发。

    113、2014计算机联考真题

    解析:

    114、2016年计算机联考真题

    解析:

    115、2015年计算机联考真题

    解析:

    综合应用题

    展开全文
  • 串口传输链路层协议的妙用

    千次阅读 2021-03-20 21:59:52
    在调试项目时发现, 发现仅仅串口传输, 就会遇到多种问题, 层出不穷,故整理如下 1.1 串口中断问题 单字节中断, DMA 空闲中断, 发送不连续.处理不及时 1.2 丢包, 断包, 粘包问题 1.3 驱动与应用耦合太大, 无法愉快的...

    1 背景

    在调试项目时发现, 发现仅仅串口传输, 就会遇到多种问题, 层出不穷,故整理如下
    1.1 串口中断问题 单字节中断, DMA 空闲中断, 发送不连续.处理不及时
    1.2 丢包, 断包, 粘包问题
    1.3 驱动与应用耦合太大, 无法愉快的移植
    1.4 十六进制与ASCII 码 , 部分开发者傻傻分不清.

    初步想法和方案

    为了协调上位机与下位机的通信, 想到使用空闲DMA 中断, 可以做到多字节后, 再触发中断, 节省cpu 资源, 然后再和上位机那边规定了通信协议 , 帧头+数据+校验的方式, 就极有可能遇到, 一个数据包分为两段甚至更多段发送, 还要考虑重发机制.

    这时候可以写上由帧头+定长, 来实现帧处理的逻辑, 处理不好, 可能会遇到长包漏处理的现象, 这些逻辑性的代码, 实际开发中, 可能会到各种问题, 定好协议后, 调试也会浪费很长很长的时间.

    为此, 我试图找一个统一的解决办法. 要么找一个开源方案, 要么自己实现一个

    开源方案

    网上找到的资料很多, 有很多长篇大论的纯理论上的知识, 过于冗长, 并不适用, 类似于tcp 的包头一样.
    后来终于找到一款简约不简单的, 适合于单片机的链路层协议 , 看完之后, 感慨良多, 比我自己写的协议代码优秀太多了, 那天功力又精进了很多.

    链接如下 https://github.com/aeo123/upacker

    体验

    初步体验是按照黑盒逻辑来使用的, 全程没有看源代码,
    有以下优点

    • 1 不用担心断包, 粘包问题, 错包也能自行过滤
    • 2 注册发送, 和帧接收完成回调, 和一个处理循环, 很是方便实用. 初期调试很愉快
    • 3 不用去做数据缓冲区, 不用考虑哪里是帧头, 长度, 校验, 等等, 拿来用都有了

    以下是部分问题

    后来总是时不时的出现不触发帧完成的问题, 排查了半天后发现, 是由于程序使用中, 帧头校验(2bit)过短导致的, 获取了一个错误的帧长度, 没接收满之前, 不会触发帧完成回调, 让我们测试时以为线没接好, 浪费了数个小时.

    优化

    根据上述的问题, 我在原来四个字节的载波基础上, 增加了两个字节, 分别对头校验, 和数据段校验进行了扩充更改, 这样可以尽可能避免受到错误长度的帧长度,触发不了帧完成了, 数据段校验也由原来的和校验更改为modbus16 rtu - CRC 校验, 更改后的文档上还有部分bug , 还被 同事嘲笑了一番, 所以就不放链接了, 有心的小伙伴可以在github 找到, 文档慎看, 等我有空再更新完整版的介绍文档. 在这里建议自行修改aeo123的源码即可. 改动大约在100个字符以内.

    总结

    此通信协议不局限于串口, 只是单片机使用最多的是串口. 网络tcp , mqtt 等拿来就用, 也是非常方便的,
    使用更改后的协议, 非常好用, 就再也没有遇到各种糟心的通信问题了, 有更多的时间水群聊天摸鱼打游戏看电影看小说写文章逛论坛了

    展开全文
  • 链路层协议:邮政传输使用的工具(汽车?飞机?) 有两个家庭,一个位于美国东海岸,一个位于美国西海岸,每家有12个孩子,东海岸家庭的孩子们是西海岸孩子们的堂兄弟姐妹。这两个家庭的孩子们喜欢彼此通信,每个人...

    举例分析

    家庭:主机
    进程:孩子们
    信件:应用层报文
    传输层协议:Bill和Ann
    网络层协议:邮政服务
    链路层协议:邮政传输使用的工具(汽车?飞机?)

    有两个家庭,一个位于美国东海岸,一个位于美国西海岸,每家有12个孩子,东海岸家庭的孩子们是西海岸孩子们的堂兄弟姐妹。这两个家庭的孩子们喜欢彼此通信,每个人每星期要互相写一封信,每封信都用单独的信封通过传统的邮政服务传送,因此,每个家庭每星期要向另一家发送144封信。每一个家庭有个孩子负责收发邮件,西海岸家庭的是Ann,东海岸家庭是Bill。每星期Ann去她的所有兄弟姐妹那里收集信件,并将这些信件交到每天到家门口来的邮政服务的邮车里。当信件达到西海岸家庭时,Ann也负责将信件分发到她的兄弟姐妹手上。在东海岸家庭中的Bill也负责类似的工作。

    分析:
    孩子们写好了信件。就类比于进程(程序)产生了报文数据。写好了信件后,孩子们只需要等这Ann或Bill来收集信件。也就是说传输层会获取到应用层的报文信息。那么这个报文信息会怎么样呢?Ann或Bill会将信件交给邮政服务。这个邮政服务就相当于网络层,网络层的作用就是将报文进行传输。而传输的过程中,会遇到很多个中转站,网络层的底层作用就是如何选择下个中转站和整个路线。而链路层,就是信件在每个中转站的过程中使用的是哪种传输工具!

    图解分析

    在这里插入图片描述
    应用层:
    Message

    传输层:
    Message+源端口+目的端口

    网络层:
    Message+源端口+目的端口+源IP地址+目的IP地址

    数据链路层:
    Message+源端口+目的端口+源IP地址+目的IP地址+源MAC地址+目的MAC地址
    1、确定了分组协议(以太网协议)
    2、一组电信号构成一个数据包(一帧),每帧分为head和data两个部分。
    在这里插入图片描述
    3、head中包含了各种信息(发送者,接收者等)
    4、mac地址:
    所有数据包要发送必须经过网卡(从一个网卡到另一个网卡),而网卡会有一个地址,即mac地址。每块网卡的mac地址在出厂之前是唯一的(通过某些软件是可以修改的)
    5、广播:
    一块网卡是怎么知道另一块网卡的mac地址的呢?这里使用到了arp协议。
    以太网数据包必须知道接收方的mac地址,数据包才能发送
    在这里插入图片描述

    物理层:
    1、负责传输0和1这样的物理信号

    展开全文
  • 物理层、链路层网络层、传输层、会话层、表示层、应用层 TCP/IP协议:支持这个协议的设备就可以联网,与其他设备进行通信 是一个协议族,包括UDP,ARP等 把OSI模型中应用、表示、会话视为一层即应用层 链路层传输...
  • 1、链路层报文链路层的数据格式有一个共同特点,都包括目标MAC地址和源MAC地址。下面这个图主要说明了我们最常用的Ethernet帧(以太帧)的报文格式: 目标MAC地址/源MAC地址:00:00:00:00:00:00—FF:FF:FF:FF:FF:FF ...
  • 用发邮件举例子: ...3、网络层(IP): 邮箱+ 源端口+ 目的端口 + 源IP地址 + 目的IP地址 (传输路径设定) 4、数据链路: 邮箱 + 源端口 + 目的端口 + 源IP地址 +目的IP地址 + 源MAC地址 + 目的 MAC...
  • 计算机网络——链路层

    千次阅读 2016-05-04 15:15:52
    数据链路层:概述与服务链路层主要使用的信道包括: 广播信道 : 这种信道采用一对多的广播通信方式,因此过程比较复杂.广播信道上主机众多,我们必须使用专用的共享信道协议来协调这些主机的数据发送 点对点信道 : 这种...
  • 计算机网络链路层

    2019-05-03 19:28:21
    数据链路层的协议单元 —— 帧。 所谓链路就是一个节点到相邻结点的一段物理链路, 中间没有任何节点,如下图所示(该图出自《计算机网络第七版》,谢希仁老师编著,下同)。 数据链路:协议 + 链路 ,通信协议...
  • 传送门,讲的很清楚
  • 链路层 两种截然不同类型的链路层信道。第一种类型是广播信道,这种信道用于连接有线局域网、卫星网和混合光纤同轴电缆( Hybrid Fiber Coaxialcable,HFC)接入网中的多台主机。因为许多主机与相同的广播信道连接,需要...
  • 计算机网络-链路层概述,你该知道的概念

    千次阅读 多人点赞 2020-06-06 13:08:23
    整理自计算机网络自顶向下,主要讲是链路层的基本概念,主要服务,实现方式
  • 数据链路层的数据传输

    千次阅读 2016-12-22 12:02:40
    数据链路层的数据传输 在数据链路层,数据是以帧的形式传输的。帧由帧首部、数据部分、帧尾部这三个部分组成。帧的数据部分是从网络层传送到数据链路层的IP数据报,为了提高帧的传输效率,应当使数据部分的长度尽...
  • 计算机网络总结:第五章 链路层

    千次阅读 2019-09-22 09:35:43
    第五章 链路层:链路、接入网和局域网 5.1 链路层概述 一些术语 –结点:运行链路层协议的任何...成帧(framing):在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧(数据字段+首部字段...
  • 链路层

    2018-01-16 11:20:49
    链路层链路层中,有两种截然不同类型的链路层信道。 1. 由广播信道组成,常用在局域网(Local Area Network, LAN)、无线LAN、卫星网和混合光纤电缆接入网中。 2. 点对点通信链路,例如两台路由器之间的通信链路...
  • 网络层、链路层理解

    千次阅读 2020-02-13 15:46:20
    1.网络层和链路层关系 2.网络层 路由器 其实计算机本身就有路由器的功能,路由器可以理解成专用的特化简化型计算机,因此数据包的第一次转发发生在计算机本身。这也是为什么在不用路由器,纯交换机组局域网的时候,...
  • 四:链路层: 4.1、链路层原理: 4.1.1、链路层在干什么: 在报文接收方向上,网卡驱动把接收到的数据按照其对应的链路层协议(如以太网)组装成报文,然后把它上交给链路层,接口是netif_receive_skb,至此网卡...
  • 计算机网络的数据链路层网络

    千次阅读 2019-05-05 21:36:00
    数据链路 ...数据链路:把实现控制数据传输的通信协议的硬件和软件都加到链路上构成的(也称逻辑链路) 2、 数据链路协议的基本传输单元——帧 3、 数据链路协议解决的三个基本问题:封装成帧,透明...
  • 计算机网络自顶向下--链路层 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2....通过特定链路时,传输结点将数据报封装在链路层帧中,将该帧传入链路 举例:游客想...
  • 在物理所提供服务的基础上向网络层提供服务。即:将原始的,有差错的物理线路改进成逻辑上无差错的数据链路。 基本服务 无确认的无连接服务、有确认的无连接服务、有确认的有连接服务 功能 链路管理:负责数据...
  • 计算机网络-物理层和链路层

    千次阅读 2019-04-19 20:52:56
    router1如果链路层协议变成PPP,这样链路层协议不同则不通(网络层没问题)。 所以当把两者都修改为同一链路层协议,则可以ping通。 广域网之间一般用PPP协议 局域网技术(以太网使用的CSMA/CD协议) ...
  • 将物理层和链路层放在一起讲,是因为物理层和链路层关系非常紧密,尤其...802.3协议是基于链路层CSMA/CD协议提出的,是适用于局域网(以太网)内数据传输的物理层协议,CSMA/CD协议会在链路层有详细的介绍。802.3不是一
  • 数据链路层的主要功能

    万次阅读 多人点赞 2019-05-28 11:03:46
    在数据链路层将网络层协议封装成帧时,会在首部和尾部分别添加SOH以及EOT这两个特殊字符,接收方是根据这两个字符来确定帧首和帧尾的,如果上层协议发送过来的数据(即链路层的数据部分)包含EOT,那么接收方在解析这...
  • 《计算机网络-自顶向下方法》读书笔记-链路层链路层概述链路层主要使用的信道包括: 点对点信道 : 这种信道使用一对一的点对点通信方式 广播信道 : 这种信道采用一对多的广播通信方式,因此过程比较复杂.广播信道上...
  • 链路层的这个特性称作MTU,即最大传输单元。不同类型的大多数网络都有一个上限。 如果IP层有一个数据报要传,并且数据的长度比链路层的MTU大,那么IP层就需要进行分片,把数据报分为若干片,使每一片都小于MTU。 点...
  • 将运行链路层协议的任何设备均称为结点。...:在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成。其中网络层数据报就插在数
  • 链路层信道详解

    千次阅读 2021-04-08 09:07:04
    文章目录一、链路层概述链路层提供的服务链路层在何处实现二、差错检验和纠正技术奇偶校验检验和方法循环冗余检测三、多路访问协议信道划分协议时分多路复用(TDM):频分多路复用...网络作为链路层六、数据中心网络
  • 如有错误, 欢迎指出~ ...第六章 链路层和局域网 课后复习题 第六章: 链路层和局域网 6.1~6.2节 R1. 考虑在6.1.1节中的运输类比. 如果一个乘客类比为一个数据报, 什么类比于链路层帧? 书中的原文是: 一...
  • 利用WinPcap实现网络数据链路层帧捕获,显示分析帧和上层包结构。 程序运行屏幕输出要点: 首先屏幕显示当前配置的网络适配器,并要求选择捕获适配器编号 按照捕获帧的层次关系显示以下信息: 数据链路层(MAC子层)...
  • 一、实验目的: 通过本实验,进一步熟悉PacketTracer的使用,学习路由器与交换机的基本配置,加深对网络层与链路层协议的理解。二、实验内容:4.1 路由器交换机的基本配置打开下面的实验文件,按提示完成实验。——...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 102,226
精华内容 40,890
关键字:

网络传输链路层