VLC混合系统的新DETCP协议



之前,我们已经研究了新的信息存储技术。 除了数据存储的重要性外,您还必须能够传输它们。 技术的发展已允许创建许多信息传输方法。 而且,似乎已经有了您需要的一切,您可以简单地对其进行改进。 但是,如果科学家们不尝试发明新事物,他们将不是真正的科学家。 因此,我们有了VLC技术(可见光通信)-通过可见光进行数据传输。 这种方法既有令人印象深刻的优点,也有令人失望的缺点。 中国科学技术大学的科学家借助他们开发的新TCP协议设法改进了VLC系统。 新系统如何工作,其优缺点是什么,还有未来吗? 我们将尝试找到这些和其他问题的答案。 走吧

简要地说:什么是VLC?



VLC(可见光通信)是一种可见光传输技术,是OWC(光学无线通信)的一部分。 这听起来令人印象深刻,充满未来感,甚至有些不切实际。 所有房屋都有照亮房间的灯。 该技术允许将该光用作数据传输通道。 为此,使用一定范围的可见光-从400到800 THz。 根据灯的类型,数据传输速度也会改变:荧光灯-10 kbit / s,LED-最高500 Mbit / s。 为了接收数据,该设备必须具有一个能拾取光信号的光电二极管。 在某些情况下,智能手机相机可能已足够。

VLC是一项非常有前途的技术。 它最明显的应用是日常生活。 使用该技术的设备可以在私人住宅,公寓,公共场所等中。 但是,存在某些缺点,减慢了VLC技术的普及过程。 有一项艰巨的任务-“强制” VLC系统提供良好的上行链路(Uplink)。 为什么很难? 首先,移动设备的能耗受到限制,并且无法配备耗能大的光源。 其次,对于VLC系统的操作,需要“清晰”定向的光束。 因此,我们一直移动和旋转的移动设备无法完全使用VLC技术。


日常生活中VLC系统的大概图形表示

当然,近年来,各种研究小组已提出使用射频,红外和反射式收发器来解决物理层面的VLC上行链路问题。 但是,由于在使用上述方法的VLC系统的构造中使用了非对称模型,因此出现了新的问题,这次是与上层协议的兼容性。

为了消除所有这些缺点和问题,研究人员不得不创建一种混合VLC / Wi-Fi系统:VLC下行链路(下行链路)和Wi-Fi上行链路。 这允许使用标准TCP协议。 一切都按预期工作,但仍然存在问题-方便和简单,或者根本就没有。 这样的混合系统需要额外的设备,复杂的路由,更不用说特殊的套接字重新编程了。 当然,所有这些都会排斥想要使用有效但易于使用的系统的用户。

Detc

研究人员决定寻找传输层协议中所有问题的解决方案。 根据科学家的说法,在混合VLC系统中使用标准TCP协议效率不高。 他们建议使用DETCP(解耦共享TCP),它共享双向TCP传输。 也就是说,一个TCP流可以同时使用两个连接:主连接作为下行链路,附加连接作为上行链路。 因此,DETCP将允许用户将VLC与其他一些通信线路一起使用以形成混合双向系统,而无需考虑其不对称性。 套接字的附加编程和困难的布线将被遗忘。

如今,大多数终端都具有多个接口。 为了解决多播问题,Internet工程任务组(IETF / Internet工程委员会)提出了对TCP协议MPCP的修改-多路径TCP(multipath TCP)。 它允许单个连接同时在多个路径上传输数据包。 VLC技术的研究人员已决定将此修改应用于他们的协议。 结果就是MP-DETCP协议

DETCP协议概念基础

最常见的传输层协议就是TCP,因为它可以实现稳定可靠的数据传输。 但是,存在局限性-仅在物理连接允许完全使用双向数据传输的情况下,TCP的所有优点才能完全实现。 在VLC的情况下,系统只能提供通向单向网络接口的下行链路。 因此,TCP无法充分利用所有数据传输功能。

DETCP协议是专门为解决此问题而创建的,即在包含两个独立连接(无论是单向,双向还是混合)的混合系统上实现数据传输。

根据研究人员的说法,DETCP协议的最重要目标是:

  • 在两个独立的物理连接上并根据用户设置,将双向TCP传输分为两个单向传输;
  • 使该协议适用,而不必更改使用标准TCP协议的现有应用程序。

连接架构

标准TCP协议使用该套接字为每个主机标识一对端点。 因此,该连接被绑定到由插座指示的特定物​​理连接。 但是,在诸如VLC的单向系统中,由于单向连接无法形成电路数据的交换/传输,因此现有的TCP连接结构无法在主机之间的每个方向上提供数据传输。

为了解决此问题,DETCP协议使用与TCP不同的连接体系结构。 此系统中有两个物理连接负责TCP,并共同负责传输。


DETCP体系结构(右)和TCP(左):

  • SIP (源IP地址)-源IP地址;
  • OSIP (原始源IP地址)-主源IP地址;
  • CSIP (补充源IP地址)-附加源IP地址;
  • DIP (目标IP地址)-目标IP地址;
  • ODIP (原始目标IP地址)-主要目标IP地址;
  • CDIP (补充目标IP地址)-另一个目标IP地址。


在连接级别,数据传输仍然是双向的,但是在通道级别,有两个指向不同方向的单独传输。

连接识别

在标准TCP协议中,每个连接由一个4元组(源地址,源端口,目标地址和目标端口)标识。 此控制机制的实质是在一个连接上创建TCP连接。 并且由于DETCP是两个连接的组合,因此需要一个6维元组(主源地址,附加源地址,源端口,主目标地址,附加目标地址和目标端口)。

为了使系统与研究人员自己设定的第二个任务相对应,插座的结构保持不变。 因此,有必要找到另一种在协议栈上包括附加地址的方法。 因此,决定使用内核配置文件。 用户可以在其中指定其他地址,这实现了带有主要标准套接字对和附加地址的6维元组。 这样,DETCP确保了与应用程序层协议的兼容性。

开始打开和关闭连接

启动DETCP和TCP连接的打开和关闭的过程非常相似。 使用了“握手”机制,因为它是最有效的。 但是,引入了两个重要的更改来区分DETCP和TCP:

  • 由于在建立连接之前远程主机未知本地辅助地址,并且对于每个主机都需要完整的地址信息才能执行拆分传输,因此在连接启动过程中添加了TCP参数以将其他地址通知远程主机。
  • 在打开连接的阶段和关闭连接的阶段都显示分离特性。 下图显示了由6维元组协调的三向握手过程。


在开始打开连接的阶段,由6维元组协调的三向握手

资料传输

为了确保分离过程在数据传输过程中是正确的,当准备发送下一个数据包时,应更改当前的连接方向。 如果此方向是从远程主机到本地主机,则将通过其他连接进行发送。

在获取数据的过程中,存在需要解决的问题。 如果内核直接在解复用的传入数据包上使用从IP头解析得到的地址,则它们可能绑定到错误的DETCP连接。

例如,服务器通过下行链路将数据包发送到客户端,而客户端通过上行链路发送响应。 在这种情况下,从响应接收的地址是上行链路地址,对于服务器,连接连接到下行链路地址。 这种不匹配会导致数据包错误。 为了避免此类问题,研究人员添加了TCP选项。

DETCP协议操作

首先,您需要配置接口。 DETCP协议允许用户通过配置文件为特定接口(“ Out”,“ In”,“ Two-Way”)分配方向。 将与套接字关联的接口设置为单向接口时,用户需要将另一个接口指定为附加接口。 所有四个接口的组合决定了整个连接过程。


DETCP状态图(使用左侧的附加连接发送数据包,右侧-用于发送数据包的主要连接)

在上一段的结尾,我们讨论使用特定的TCP选项。 此选项是CPT_ADDR,专门用于确保正确的数据传输过程而创建。

每个传输的数据包包括:

  • SYN (客户端到服务器)-客户端的其他IP地址;
  • SYN / ACK (服务器到客户端)-服务器的附加IP地址。


分离原理适用于数据传输的所有阶段(打开连接的开始,数据传输和关闭连接的开始)。


开始建立连接:

  • SYN (客户端到服务器)-主连接;
  • SYN / ACK(服务器到客户端)-附加连接;
  • ACK (客户端到服务器)是主要连接。

数据传输:

  • 从客户端到服务器的数据包-主要连接;
  • 从服务器到客户端的数据包-附加连接。


连接关闭:

  • FIN (客户端到服务器)-主连接;
  • ACK (服务器到客户端)-附加连接;
  • FIN (服务器到客户端)-附加连接;
  • ACK (客户端到服务器)是主要连接。


实验测试和结果评估


实施混合动力系统的外观

对于DETCP和MP-DETCP协议测试,它们是在Linux内核中实现的。 混合系统由VLC(下行为20 m)和以太网连接(上行为100 m)组成。 连接到路由器和VLC系统的所有通道的带宽设置为100 Mbps。


DETCP网络拓扑:顶部是附加的上行链路,底部是VLC下行链路。


MP-DETCP网络拓扑:
  • 化合物AD-下行VLC;
  • 化合物BE是另外的化合物;
  • 连接CF是以太网子流。


可用性测试

首先,必须检查DETCP是否可以在混合系统环境中有效使用可用频段。 为了测试DETCP稳定性以防止其他连接的性能下降,对客户端上行链路进行了配置,以使某些数据包丢失。 这是一种压力测试。



上图显示了混合系统中DETCP的高性能和高效率。 信道容量使用率为95%,而未检测到数据包丢失。 当数据包丢失的百分比从0.5到2.0时,通道的利用率降低到92%。 但是,DETCP仍然保持稳定和高效。 只有将丢包率提高到5,DETCP性能才开始急剧下降。

该测试的结论是,在混合系统中使用DETCP是有效的,并且其他连接虽然会影响整体性能,但它们却微不足道。 随着系统的进一步改进,可以将这些负面影响降至最低。

绩效因素

要测试系统和DETCP,首先必须确定哪些因素会影响其性能。 使用这些因素,您可以看到生产率将如何变化。

因子1:丢包

配置接口后,将随机丢失0%至4%的数据包。



从上图可以看出,吞吐量随着丢包百分比的增加而线性下降。 还显示出,在大的分组丢失率的情况下,重复测量的读数的差异程度增加,并且平均传输速率变得不稳定。

因素2:数据传输延迟

为了检查此因素的影响,将延迟设置为0到100 ms。



上图显示了带宽与数据传输延迟之间的关系。 当后者小于20 ms时,带宽稳定并且带宽被充分利用。 如果延迟达到50毫秒,则平均吞吐量将大大降低。 延迟100毫秒,吞吐量下降多达35%,并且数据包传输变得不稳定。

因素3:数据包重新排序

最终的验证因素是数据包的重新排序:某些数据包将被延迟,而有些数据包则被及时地延迟。



上图显示了带宽与数据包重新排序之间的明确关系。 所有测试均显示吞吐量显着降低。 但是,随着延迟的增加,减少不是线性发生的。 因此,在10毫秒的延迟下,重新排序的数据包的百分比为5%,吞吐量的降低逐渐并没有明显地发生。 但是,指标仅以10%或20%崩溃了。

延迟为10 ms的重新排序数据包的5%时的吞吐量大约与10%的指示符,5 ms或20%的延迟以及2 ms的延迟相对应。

综上所述,为了使系统稳定高效地运行,需要控制重排数据包的数量和延迟时间。

如果在将上行链路表示为双向连接(例如批发或Wi-Fi)的系统中,VLC下行链路性能恶化,则值得考虑恢复使用在上行链路上运行的标准单向TCP的可能性。 当下行链路VLC性能大大降低时,这可能是提高系统可靠性的有效方法。

性能比较

多线程的主要任务之一是提高吞吐量。 此测试在相同的连接条件下测试MP-DETCP和DETCP。 当数据丢失率在0%到4%之间变化时,记录结果。



上图显示,尽管VLC性能不如DETCP,但MP-DETCP仍显示出较高的频带利用率。 在无丢包的情况下传输数据时,可以达到115 Mbps的速率,这证实了MP-DETCP提供高效连接的能力。随着丢包率的增加,VLC吞吐量将大大降低。这时,同一以太网连接也略有下降。但是,总体吞吐量保持在相当高的水平。这意味着,如果VLC连接损坏并被阻塞,则将在另一个连接上完成数据传输。

研究人员的发现

为了解决VLC系统中的数据传输问题,研究人员提出使用DETCP协议来分隔双向传输。基于此,可以说使用MP-DETCP将改善混合VLC系统的性能。 DETCP和MP-DETCP协议已成功通过性能和可靠性测试,证明了连接分离的有效性。

新协议的实施将作为进一步研究网络技术的基础。包括各种物理化合物杂交领域的研究,以获得具有高性能和高通量的系统。

您可以借助此链接上的报告来熟悉研究细节。

结束语

任何技术都需要“抛光”后才能被称为有效。对于新协议DETCP和MP-DETCP,工作仍然很多。但是,实验结果已经可以令人印象深刻。现在,VLC系统在研究人员中非常受欢迎,但在用户中并不流行。这种情况的顺序在未来几年可能会改变。然后,灯泡烧毁不仅意味着缺少照明,而且还意味着互联网。

感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们,为我们为您开发的入门级​​服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

戴尔R730xd便宜2倍?在荷兰和美国,我们有2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN411907/


All Articles