New DETCP protocol for hybrid VLC system



Earlier, we have already studied new information storage technologies. In addition to the importance of saving data, you must also be able to transfer them. The development of technology has made it possible to create many methods of information transfer. And, it would seem, already have everything you need, you can just improve. However, scientists would not be true scientists if they did not seek to invent something new. And so we got the technology VLC (visible light communication) - data transmission in visible light. This method has both impressive advantages and disappointing disadvantages. Scientists from the University of Science and Technology of China managed to improve the VLC system thanks to the new TCP protocol developed by them. How does the new system work, what are its pros and cons, and does it have a future? We will try to find answers to these and other questions. Go.

In short: what is VLC?



VLC (Visible Light Communicatio) is a visible light transmission technology that is part of OWC (Optical wireless communications). It sounds impressive, futuristic, and even somehow unreal. All homes have lamps that illuminate the rooms. This technology allows you to use this light as data transmission channels. For this purpose, a certain range of visible light is used - from 400 to 800 THz. Depending on the type of lamp, the data transfer rate also changes: the fluorescent lamp - 10 kbps, and the LED - up to 500 Mbps. In order to receive data, the device must have a photodiode that captures optical signals. In some cases, it may be enough for a smartphone camera.

VLC is a very promising technology. Its most obvious use is daily life. Devices with this technology can be in private homes, apartments, public places, etc. However, there are certain disadvantages that slow down the process of popularization of VLC technology. There is a difficult task - to “force” the VLC system to provide a good uplink (Uplink). Why is it difficult? First, mobile devices are limited in terms of power consumption and cannot be equipped with energy-intensive light sources. Secondly, for the operation of the VLC system a “clearly” directed beam is necessary. Accordingly, mobile devices that we move and rotate all the time cannot fully use VLC technology.


Approximate graphical representation of the VLC system in everyday life

Of course, in recent years, various research groups have proposed using radio frequency, infrared and reflexive transceivers to solve the problem of uplink VLC at the physical level. However, due to the asymmetric model, which is used in the construction of VLC systems using the above approaches, new problems arise, this time with the compatibility of upper-level protocols.

To eliminate all these shortcomings and problems, the researchers had to create a hybrid VLC / Wi-Fi system: a downlink (downlink) VLC and an uplink Wi-Fi (uplink). This allowed the use of standard TCP. Everything works as it should, but still there is a problem - convenience and simplicity, or rather their absence. Such a hybrid system requires additional equipment, complex routing, not to mention the special reprogramming of sockets. All this, naturally, will repel a user who wants to use an effective, but easy-to-use system.

DETCP

The researchers decided to search for solutions to all problems in the transport layer protocols. According to scientists, using the standard TCP protocol is inefficient in a hybrid VLC system. They suggest using DETCP (decoupled shared TCP), which divides TCP bidirectional transmission. That is, one TCP stream can use two connections at the same time: the main connection as a downlink and an additional connection - upstream. Thus, DETCP will allow the user to use VLC with some other communication line to form a hybrid bidirectional system without regard to their asymmetry. And additional programming of sockets and complex routing will sink into oblivion.

Today, most terminals have several interfaces. The Internet Engineering Task Force (IETF / Internet Engineering Council) proposed a modification for the TCP protocol called MPTCP - multipath TCP (multipath TCP) to solve the multiple addressing problem. It allows one connection to transmit packets in several ways at the same time. Researchers of VLC technology decided to apply this modification to their protocol. The result was the MP-DETCP protocol .

Basics of the DETCP Protocol Idea

The most common transport layer protocol is TCP, since it allows stable and reliable data transfer. However, there are limitations - all the advantages of TCP will be fully implemented only if the physical connection allows full use of bi-directional data transfer. In the case of VLC, the system can only provide a downlink, leading to a unidirectional network interface. Thus, TCP cannot fully utilize all data transfer capabilities.

The DETCP protocol was created specifically to solve this problem, that is, to implement data transfer on a hybrid system consisting of two independent connections, be they unidirectional, bidirectional or mixed connections.

According to the researchers, the most important goals of the DETCP protocol are:


Connection architecture

The socket is used by the standard TCP protocol to identify a pair of endpoints for each host. Thus, the connection is bound to a specific physical connection, indicated by a socket. However, in a unidirectional system such as VLC, the existing structure of a TCP connection cannot provide data transfer in each direction between hosts due to the fact that the unidirectional connection cannot form the exchange / transmission circuit data.

To solve this problem, DETCP protocol uses a different connection architecture than TCP. This system has two physical connections that are responsible for TCP, and are jointly responsible for the transmission.


DETCP architecture (right) and TCP (left):



At the connection level, data transmission is still bidirectional, but at the channel level there are two separate transmissions directed in different directions.

Connection identification

In the standard TCP protocol, each connection is identified by a 4-dimensional tuple (source address, source port, destination address, and destination port). The essence of this control mechanism is that a TCP connection is created on a single connection. Since DETCP is a combination of two connections, a 6-dimensional tuple is needed (primary source address, additional source address, source port, primary destination address, additional destination address, and destination port).

So that the system corresponds to the second task, which the researchers set for themselves, the structure of the sockets remained unchanged. Therefore, it was necessary to find another way to include the additional address in the protocol stack. Therefore, it was decided to use the kernel configuration file. The user could specify additional addresses in it, which implemented a 6-dimensional tuple with the main standard pair of sockets and additional addresses. In this way, DETCP guaranteed compatibility with application layer protocols.

Initiating the opening and closing of the connection

The initiation and opening processes of the DETCP and TCP connections are very similar. The “handshake” mechanism was used because it is the most effective. However, two important changes were introduced that distinguish DETCP from TCP:



A tripartite handshake coordinated by a 6-dimensional tuple at the initiation stage of opening the connection

Data transfer

In order to ensure that the separation process is correct during data transfer, when the next packet is ready to be sent, the current connection direction should be changed. If this direction is from a remote host to a local host, the sending will be via an additional connection.

In the process of obtaining data, there is a problem that requires solving. If the kernel uses an address, retrieved by parsing from an IP header, directly on demultiplexing incoming packets, they may be tied to the wrong DETCP connection.

For example, the server sends a packet of data to the client through a downlink, and the client sends a response via an uplink. In such a situation, the addresses received from the response are the addresses of the uplink, and for the server the connection is associated with the addresses of the downlink. This mismatch leads to errors in packet transmission. In order to avoid such problems, the researchers added the TCP option.

DETCP protocol operation

You must first configure the interface. DETCP allows the user to assign a direction for a specific interface (“Out,” “In,” “Two-Way”) through the configuration file. When the interface associated with a socket is installed as a unidirectional interface, the user needs to assign another interface as an additional interface. The combination of all four interfaces defines the entire connection process.


DETCP status diagram (on the left, the use of an additional connection to send packets, on the right - the main connection to send packets)

At the end of the previous paragraph it is said about using a certain TCP option. This option is CPT_ADDR, created specifically to ensure the correct data transfer process.

Each transmitted packet consists of:



The principle of separation works at all stages of data transfer (initiation of connection opening, data transfer and initiation of connection closure).


Initiation of connection opening:


Data transfer:



Connection closure:



Experimental testing and evaluation of results


Appearance implementation of a hybrid system

To test the protocols DETCP and MP-DETCP, they were embedded in the Linux kernel. The hybrid system consisted of VLC (as downlink, 20 m) and an Ethernet connection (as uplink, 100 m). The throughput of all channels connected to the router and VLC system was set at 100 Mbps.


DETCP network topology: at the top - additional uplink, below - downlink VLC.


MP-DETCP network topology:


Availability test

To begin with, it was necessary to check whether DETCP can effectively use the available band in the hybrid system environment. To test the resilience of DETCP to poor performance of additional connections, the uplink of the client was configured so that some data packets were lost. This is a kind of stress test.



The graph presented above demonstrates the high performance and efficiency of DETCP in a hybrid system. Channel capacity was used at 95%, with no packet loss detected. When the percentage of packet loss was from 0.5 to 2.0, the channel utilization rate decreased to 92%. However, the work of DETCP continued to be stable and efficient. Only with an increase in the percentage of packet loss to 5, DETCP performance began to decline significantly.

The conclusion of the test is that the use of DETCP is effective in hybrid systems, and the additional compounds, although affecting the overall picture of performance, are extremely insignificant. With further improvement of the system, these negative effects can be reduced to a minimum.

Performance Factors

To check the system and DETCP it is necessary, first of all, to determine which factors will affect their performance. Using these factors, you can see how the performance will change.

Factor # 1: packet loss

The interface was configured to randomly lose from 0% to 4% of data packets.



As can be seen from the graph above, throughput decreases linearly with an increase in the percentage of lost packets. It was also found that with a large packet loss rate, the degree of divergence of readings increases, and the average transmission rate becomes unstable.

Factor # 2: data transfer delay

To check the impact of this factor, the delay was set from 0 to 100 ms.



The graph above shows the relationship between bandwidth and latency. When the latter is less than 20 ms, the bandwidth is stable and the band is fully used. If the delay reaches 50 ms, the average throughput is significantly reduced. With a delay of 100 ms, the throughput drops by as much as 35%, and packet transmission becomes unstable.

Factor # 3: Packet Reordering

The final verification factor is packet reordering: some packets will be sent with a delay, and some, so to speak, in a timely manner.



The diagram above demonstrates the explicit relationship between bandwidth and packet reordering. All tests showed a significant reduction in throughput. However, with increasing latency, the decrease was not linear. So with a delay of 10 ms, and the percentage of reordered packets is 5%, the bandwidth decreases gradually and slightly. However, at 10% or 20%, the indicators simply collapsed.

The throughput rates at 5% reordered packets with a 10 ms delay approximately correspond to those at 10% and a delay of 5 ms or 20% and a delay of 2 ms.

As a conclusion, for a stable and efficient system operation, it needs to control both the number of reordered packets and the delay time.

If the downlink performance of VLC deteriorates in a system where the uplink is represented as a bidirectional connection, either wholesale or Wi-Fi, you should consider returning to the use of standard unidirectional TCP running on uplink. This can be an effective way to improve system reliability when VLC downlink performance is severely reduced.

Performance comparison

One of the main tasks of multithreading is to increase bandwidth. In this test, the MP-DETCP and DETCP values ​​are checked under the same connection conditions. Results are recorded when the data loss coefficient changes from 0% to 4%.



The diagram above demonstrates that although VLC performance is inferior to DETCP, MP-DETCP still shows a high band utilization rate. When data is transmitted without packet loss, a rate of 115 Mbps is achieved, which confirms the ability of MP-DETCP to provide an efficient and productive connection. With an increase in the packet loss rate, the VLC bandwidth is greatly reduced. At this time, the same rate of an Ethernet connection also drops slightly. However, the overall throughput remained at a fairly high level. This means that if the VLC connection is corrupted and blocked, data transfer will be completed via another connection.

The findings of researchers

To solve the problem of data transmission in the VLC system, the researchers suggested using the DETCP protocol to separate bidirectional transmissions. Based on this, it can be said that using MP-DETCP will improve the performance of the hybrid VLC system. The DETCP and MP-DETCP protocols have very successfully passed tests for performance and reliability, demonstrating the effectiveness of the separation of compounds.

The implementation of the new protocols will serve as the basis for further research on network technologies. Including research in the field of hybridization of various physical compounds to obtain systems with a high degree of performance and throughput.

You can familiarize yourself with the research details using the report on this link.

Epilogue

Any technology requires "polishing" before it can be called effective. In the case of the new DETCP and MP-DETCP protocols, there is still a lot of work. However, the results of the experiments can already be called impressive. The VLC system is now extremely popular among researchers, but not among users. This order of things may change in the coming years. And then a light bulb will not only mean a lack of lighting, but also the Internet.

Thank you for staying with us. Do you like our articles? Want to see more interesting materials? Support us by placing an order or recommending to friends, 30% discount for Habr users on a unique analogue of the entry-level servers that we invented for you: The whole truth about VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps from $ 20 or how to share the server? (Options are available with RAID1 and RAID10, up to 24 cores and up to 40GB DDR4).

Dell R730xd 2 times cheaper? Only we have 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV from $ 249 in the Netherlands and the USA! Read about How to build an infrastructure building. class c using servers Dell R730xd E5-2650 v4 worth 9000 euros for a penny?

Source: https://habr.com/ru/post/411907/


All Articles