精华内容
下载资源
问答
  • 数据链路定义了一个同步帧结构,包含基本帧和超帧(由256个基本帧组成),数据在L2中,通过CPRI固定帧结构形式进行相应成帧和解帧处理。 基带处理单元(BBU)和射频拉远单元(RRU)之间可以通过一条或多条CPR.....

    CPRI协议定义了两个协议层。两个协议层为物理层(L1)和数据链路层(L2)。在物理层中,将上层接入点的传输数据进行复/分接,并采用8B/10B编解码,通过光模块串行收发数据。数据链路层定义了一个同步的帧结构,包含基本帧和超帧(由256个基本帧组成),数据在L2层中,通过CPRI固定的帧结构形式进行相应的成帧和解帧处理。


    基带处理单元(BBU)和射频拉远单元(RRU)之间可以通过一条或多条CPRI数据链路来连接,每条CPRI数据链路支持614.4Mbps、1228.8M-bps和2457.6Mbps三种比特率高速串行传输。当前工业界,通过将四条并行CPRI数据链路进行相应串行化处理,可实现BBU与RRU之间通过光纤以近10Gbps(即4X2457.6 Mbps)速率超高速传输。

     

    转载于:https://www.cnblogs.com/mway/p/6938604.html

    展开全文
  • 转载自冠威博客 首先,我们知道,TCP/IP通常被认为一个四层协议系统,包括链路层,网络层,传输层,应用层.UDP属于运输层,下面我们由下至上...但这并不是指链路层的长度被限制在1500字节,其实这个MTU指的链路层的数据
    转载自冠威博客
    首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,传输层,应用层.UDP属于运输层,下面我们由下至上一步一步来看:

    以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的.这个1500字节被称为链路层的MTU(最大传输单元).但这并不是指链路层的长度被限制在1500字节,其实这个MTU指的是链路层的数据区.并不包括链路层的首部和尾部的18个字节.所以,事实上,这个1500字节就是网络层IP数据报的长度限制.因为IP数据报的首部为20字节,所以IP数据报的数据区长度最大为1480字节.而这个1480字节就是用来放TCP传来的TCP报文段或UDP传来的UDP数据报的.又因为UDP数据报的首部8字节,所以UDP数据报的数据区最大长度为1472字节.这个1472字节就是我们可以使用的字节数。:)
    当我们发送的UDP数据大于1472的时候会怎样呢?这也就是说IP数据报大于1500字节,大于 MTU.这个时候发送方IP层就需要分片(fragmentation).把数据报分成若干片,使每一片都小于MTU.而接收方IP层则需要进行数据报的重组.这样就会多做许多事情,而更严重的是,由于UDP的特性,当某一片数据传送中丢失时,接收方便无法重组数据报.将导致丢弃整个UDP数据报。

    因此,在普通的局域网环境下,我建议将UDP的数据控制在1472字节以下为好.

    进行Internet编程时则不同,因为Internet上的路由器可能会将MTU设为不同的值.如果我们假定MTU为1500来发送数据的,而途经的某个网络的MTU值小于1500字节,那么系统将会使用一系列的机制来调整MTU值,使数据报能够顺利到达目的地,这样就会做许多不必要的操作.鉴于 Internet上的标准MTU值为576字节,所以我建议在进行Internet的UDP编程时.最好将UDP的数据长度控件在548字节 (576-8-20)以内.

    理论上,IP数据报的最大长度是65535字节,这是由IP首部16比特总长度字段所限制的。去除20字节的IP首部和8个字节的UDP首部,UDP数据报中用户数据的最长长度为65507字节。但是,大多数实现所提供的长度比这个最大值小。

    我们将遇到两个限制因素。

    第一,应用程序可能会受到其程序接口的限制。socket API提供了一个可供应用程序调用的函数,以设置接收和发送缓存的长度。对于UDP socket,这个长度与应用程序可以读写的最大UDP数据报的长度直接相关。现在的大部分系统都默认提供了可读写大于8192字节的UDP数据报(使用这个默认值是因为8192是NFS读写用户数据数的默认值)。

    第二个限制来自于TCP/IP的内核实现。可能存在一些实现特性(或差错),使IP数据报长度小于65535字节。
    在SunOS 4.1.3下使用环回接口的最大IP数据报长度是32767字节。比它大的值都会发生差错。
    但是从BSD/386到SunOS 4.1.3的情况下,Sun所能接收到最大IP数据报长度为32786字节(即32758字节用户数据)。
    在Solaris 2.2下使用环回接口,最大可收发IP数据报长度为65535字节。
    从Solaris 2.2到AIX 3.2.2,发送的最大IP数据报长度可以是65535字节。很显然,这个限制与源端和目的端的实现有关。
    主机必须能够接收最短为576字节的IP数据报。在许多UDP应用程序的设计中,其应用程序数据被限制成512字节或更小,因此比这个限制值小。
    由于IP能够发送或接收特定长度的数据报并不意味着接收应用程序可以读取该长度的数据。因此,UDP编程接口允许应用程序指定每次返回的最大字节数。如果接收到的数据报长度大于应用程序所能处理的长度,那么会发生什么情况呢?不幸的是,该问题的答案取决于编程接口和实现。
    典型的Berkeley版socket API对数据报进行截断,并丢弃任何多余的数据。应用程序何时能够知道,则与版本有关(4.3BSD Reno及其后的版本可以通知应用程序数据报被截断)。
    SVR4 下的socket API(包括Solaris 2.x) 并不截断数据报。超出部分数据在后面的读取中返回。它也不通知应用程序从单个UDP数据报中多次进行读取操作。TLI API不丢弃数据。相反,它返回一个标志表明可以获得更多的数据,而应用程序后面的读操作将返回数据报的其余部分。在讨论TCP时,我们发现它为应用程序提供连续的字节流,而没有任何信息边界。TCP以应用程序读操作时所要求的长度来传送数据,因此,在这个接口下,不会发生数据丢失。

    ---------------------------------------------------------------转载分割线------------------------------------------------------

    经测试,局域网环境下,UDP包大小为1024*8,速度达到2M/s,丢包情况理想.

    外网环境下,UDP包大小为548,速度理想,丢包情况理想.

    -----------------------------------关于碎片-------------------------------------------
    计算机的碎片攻击

      1. 为什么存在IP碎片

      链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。以太网的MTU是1500,你可以用 netstat -i 命令查看这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。
      IP首部包含了分片和重组所需的信息:
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Identification |R|DF|MF| Fragment Offset |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |<-------------16-------------->|<--3-->|<---------13---------->|


    *   Identification:发送端发送的IP数据包标识字段都是一个唯一值,该值在分片时被复制到每个片中。
    *   R:保留未用。
    *   DF:Don‘t Fragment,“不分片”位,如果将这一比特置1 ,IP层将不对数据报进行分片。
    *   MF:More Fragment,“更多的片”,除了最后一片外,其他每个组成数据报的片都要把该比特置1。
    *   Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以8。  

    另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。每一IP分片都各自路由,到达目的主机后在IP层重组,请放心,首部中的数据能够正确完成分片的重组。你不禁要问,既然分片可以被重组,那么所谓的碎片攻击是如何产生的呢?

      2. IP碎片攻击

      -=-=-=-=-=-=-=-=-=-=-=

      IP首部有两个字节表示整个IP数据包的长度,所以IP数据包最长只能为0xFFFF,就是65535字节。如果有意发送总长度超过65535的IP碎片,一些老的系统内核在处理的时候就会出现问题,导致崩溃或者拒绝服务。另外,如果分片之间偏移量经过精心构造,一些系统就无法处理,导致死机。所以说,漏洞的起因是出在重组算法上。
    展开全文
  • PDU即为协议数据单元,长度为2~39Bytes。 Ble 分为广播态和连接态,所以PDU帧格式就会有两种: 广播态下PDU格式如下:  前2Bytes为头,既然广播态,广播中就会包含蓝牙地址信息,所以Payload中前6Bytes...

    1、BLE整个协议栈架构:

    2、首先看一下 LL层数据包的结构

    PDU即为协议数据单元,长度为2~39Bytes。

    Ble 分为广播态和连接态,所以PDU帧格式就会有两种:

    广播态下PDU格式如下:

        前2Bytes为头,既然是广播态,广播包中就会包含蓝牙地址信息,所以Payload中的前6Bytes为蓝牙地址信息。

    连接态下PDU格式如下:

    前2Bytes为头,Payload中没有蓝牙地址信息,MIC 4个Bytes,只有在加密链路中才会存在。

    LL层的Payload数据为其上层L2CAP层协议的帧结构。

    3. L2CAP协议层的数据帧结构如下:

    L2CAP层帧结构:2Bytes的Len + 2Bytes的Ch ID + Information payload,同样的道理 L2CAP 协议层Information payload

    也是其上层ATT协议层的数据帧结构。

    4、ATT协议层的数据帧结构如下:

    如上,ATT协议帧结构包含1Bytes的Opcode+2Bytes的handle+(ATT_MTU-3)Bytes的真正有效数据。

    Opcode用来指示write、notify或者indication的。即主机通过write将数据传给从机,从机通过notify或者indication的方式将数据传给主机。

    handle为具体哪个特征值的句柄。

    value为真正有效的数据。

    nordic的4.0协议栈中默认ATT_MTU只支持默认值即23。所以上层应用可发送的最大数据就是20Bytes了。

    问题:这个23是怎么来的呢?为什么LL层PDU最多支持39Bytes,到上层这里就是20Bytes了呢?

    计算方法:LL层PDU的39B - LL层PDU header 的2B - LL层Payload中广播态中6B的ble address - LL层Payload中连接态中加密下的 4B的MIC - L2CAP层2B的Length - L2CAP层2B的Channel ID - ATT层1B的Opcode - ATT层2B的Handle = 20B

    注意:这里的计算一切都是最简单的计算方法,比如同时减掉了LL层Payload中广播态中6B的ble address 和 LL层Payload中连接态中加密下的 4B的MIC。

    本文参考了 nRF52832 — 提高蓝牙BLE的数据传输速率  这篇文章。非常感谢这位大神。

    如有问题,随时沟通,QQ:993650814

    如果有帮助到你,是否考虑给我一点鼓励呢,我会写出更有质量的文章。多谢。

     

     

     

    展开全文
  • PDU即为协议数据单元,长度为2~39Bytes。 Ble 分为广播态和连接态,所以PDU帧格式就会有两种: 广播态下PDU格式如下: 前2Bytes为头,既然广播态,广播中就会包含蓝牙地址信息,所以Payload中前6Bytes为...

    1、BLE整个协议栈架构:

    2、首先看一下 LL层数据包的结构

    PDU即为协议数据单元,长度为2~39Bytes。

    Ble 分为广播态和连接态,所以PDU帧格式就会有两种:

    广播态下PDU格式如下:

        前2Bytes为头,既然是广播态,广播包中就会包含蓝牙地址信息,所以Payload中的前6Bytes为蓝牙地址信息。

    连接态下PDU格式如下:

    前2Bytes为头,Payload中没有蓝牙地址信息,MIC 4个Bytes,只有在加密链路中才会存在。

    LL层的Payload数据为其上层L2CAP层协议的帧结构。

    3. L2CAP协议层的数据帧结构如下:

    L2CAP层帧结构:2Bytes的Len + 2Bytes的Ch ID + Information payload,同样的道理 L2CAP 协议层Information payload

    也是其上层ATT协议层的数据帧结构。

    4、ATT协议层的数据帧结构如下:

    如上,ATT协议帧结构包含1Bytes的Opcode+2Bytes的handle+(ATT_MTU-3)Bytes的真正有效数据。

    Opcode用来指示write、notify或者indication的。即主机通过write将数据传给从机,从机通过notify或者indication的方式将数据传给主机。

    handle为具体哪个特征值的句柄。

    value为真正有效的数据。

    nordic的4.0协议栈中默认ATT_MTU只支持默认值即23。所以上层应用可发送的最大数据就是20Bytes了。

    问题:这个23是怎么来的呢?为什么LL层PDU最多支持39Bytes,到上层这里就是20Bytes了呢?

    计算方法:LL层PDU的39B - LL层PDU header 的2B - LL层Payload中广播态中6B的ble address - LL层Payload中连接态中加密下的 4B的MIC - L2CAP层2B的Length - L2CAP层2B的Channel ID - ATT层1B的Opcode - ATT层2B的Handle = 20B

    注意:这里的计算一切都是最简单的计算方法,比如同时减掉了LL层Payload中广播态中6B的ble address 和 LL层Payload中连接态中加密下的 4B的MIC。

    本文参考了 nRF52832 — 提高蓝牙BLE的数据传输速率  这篇文章。非常感谢这位大神。

    注:

    GATT_Indication:从机通知主机后,主机需要调用simpleprofile_writeattrcb,读取从机的数据。

    GATT_Notification:从机直接发送给主机。

    GATT_Indication和GATT_Notification的区别就在于主机是否回确认信息。

     

    展开全文
  • 讲解2点: 为什么 nordic的4.0协议栈中ble只能发送20字节的应用负载数据。 大量数据发送时如何提高发送速率... PDU即协议数据单元,即链路层的负载数据。应用层用户发送的数据就是在这里面,但是并不全用户数据。
  • TCP/IP / PDU 是什么

    2021-02-16 15:26:41
    PDU,英文全称:Protocol Data Unit,协议数据单元。 意义:对等层次传输基本单元。 协议 PDU (更高) 报文 传输 段(segment) 网络 (package) 数据链路 帧(frame) ...
  • TCP/IP协议-分层

    2018-10-24 11:09:48
    文章目录概念性术语1.报文(message)2.分组(packet)3.数据包(data packet)4.数据报(datagram)5....报文网络中交换与传输的数据单元,也网络传输单元。报文包含了将要发送完整数据信息,其长短不需...
  • UDP(User Datagram Protocol,用户数据报协议)传输层的另一种协议,它比TCP具有更快的传输速度,但是不可靠。 UDP发送的数据单元称为UDP数据报,当网络传输UDP数据报时,无法保证数据报一定到达目的地,也无法...
  • 什么是VLAN

    2013-10-23 09:59:12
    ISL一个在交换机之间、交换机与路由器之间及交换机与服务器之间传递多个VLAN信息及VLAN数据的协议,通过在交换机直接的端口配置ISL封装,即可跨越交换机进行整个网络的VLAN分配和配置。 编辑本段划分VLAN的基本...
  •  大量数据发送时如何提高发送速率1:为何上层应用负载每次最多20字节首先了解 4.0中链路层的包格式如下: PDU即协议数据单元,即链路层的负载数据。应用层用户发送的数据就是在这里面,但是并不全用户数据。Ble...
  • 网络在传输什么模型已经将网络划分出5个层次,每个层次上都有处在统一层次对等实体(端点),对等实体之间传送东西叫协议数据单元,该层次协议负责对等实体间协议数据单元的传输。协议数据单元都包含首部{...
  • TCP丢时会全部重传从丢那个开始以后的数据,KCP选择性重传,只重传真正 丢失数据包。 快速重传: 发送端发送了1,2,3,4,5几个,然后收到远端ACK: 1, 3, 4, 5,当收到ACK3时, KCP知道2被跳...
  • 以太网的MTU值1500 bytes,假设发送者的协议高层向IP发送了长度为3008 bytes的数据报文,则该报文在添加20 bytes的IP包头后IP的总长度 3028 bytes,因为3028 > 1500,所以该数据报文将被分片,分片过程...
  • 而所谓 数据帧,就是数据链路层的协议数据单元。 MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2...
  • 协议数据单元(PDU):数据在OSI参考模型中,每个层次的叫法。PDU实际上原始数据(用户数据)加上OSI模型对应层次的协议头部信息或者部控制信息。 PDU: 5-7:数据、信息 4:Segment(段)、Datagram...
  • 问题5-8:按照分层原理,下层不检查上层协议数据单元PDU首部。在ATM中,在传输汇聚子TC上面的是ATM。那么TC子是否也不检查ATM信元首部? 问题5-9:ATM使用的是面向连接分组交换技术(采用定长分组——...
  • 计算机网络体系结构: OSI/RM(开放系统互连基本参考模型):七,复杂且不实用。...应用交互的数据单元称为报文。   运输 任务负责向两台主机中进程之间通信提供通用数据传输服...
  • 第一章测试

    2020-12-14 16:15:37
    1.1500 字节用户消息(信息)通过一个链路发送,在网络和数据链路分别使用 IP 和以太网协议,每都有20 字节报头(其它忽略不计)。协议报头开销占总带宽比例多少?...协议数据单元(PDU)
  • ble

    千次阅读 2016-10-25 10:18:18
    讲解2点:  为什么 nordic的4.0协议栈中ble只能发送20字节的应用负载数据。... PDU即协议数据单元,即链路层的负载数据。应用层用户发送的数据就是在这里面,但是并不全用户数据。 Ble有分广播态和连接态。
  • Socket是什么? 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程...
  • 使得带宽利用率不高,一般情况下,NAS设备的数据传输带宽仅能达到9-15MB/s,另外,NAS在TCP/IP技术上,以文件为单元进行传输,TCP/IP在帧传输时,也限制了NAS速度,甚至威胁到数据唯一性和安全,速度、...
  • 3.4.1 协议层的介绍令牌在前面枚举时引出的,有点命令的意思,可以理解为命令的标识,就是告诉对方这次的行为。在USB协议中,我们经常会说令牌。那么什么是包呢?packet,指一次数据传输所组织的整体形式。...
  • 什么是MTUMTU(Maximum Transmission Unit),最大传输单元指一种通信协议的某一上面所能通过最大数据报大小(以字节为单位)。而在Android BLE开发中,则指每包数据能携带最大字节上限。为什么要设置...
  • TCP作为传输层协议并不不了解上层业务数据的具体含义,它会根据TCP缓冲区实际情况进行数据包划分,所以在业务上认为一个完整的包,可能会被TCP拆分成多个进行发送,也有可能把多个小的包封装成一个
  • 问题5-5:数据链路层的HDLC协议和运输层的TCP协议都使用滑动窗口技术。从这方面来进行比较,数据链路层协议和运输层协议的主要区别是什么? 问题5-6:TCP协议能够实现可靠的端到端传输。在数据链路层和网络层的传输...
  • 而同步操作由View自己请求Model的数据然后对视图进行更新。 需要特别注意的是MVC模式精髓在于第三点:Model更新通过观察者模式告知View,具体表现形式可以Pub/Sub或者触发Events。而网上...

空空如也

空空如也

1 2 3 4
收藏数 63
精华内容 25
关键字:

包是什么层的协议数据单元