
Anteriormente, já estudamos novas tecnologias de armazenamento de informações. Além da importância do armazenamento de dados, você ainda deve poder transferi-los. O desenvolvimento da tecnologia permitiu a criação de muitos métodos de transferência de informações. E, ao que parece, já existe tudo que você precisa, você pode simplesmente melhorá-lo. No entanto, os cientistas não seriam verdadeiros cientistas se não procurassem inventar algo novo. Então, nós temos a tecnologia VLC (comunicação de luz visível) - transmissão de dados por luz visível. Este método tem vantagens impressionantes e desvantagens decepcionantes. Cientistas da Universidade de Ciência e Tecnologia da China conseguiram melhorar o sistema VLC graças ao novo protocolo TCP que eles desenvolveram. Como o novo sistema funciona, quais são seus prós e contras e também tem futuro? Vamos tentar encontrar respostas para essas e outras perguntas. Vamos lá
Resumidamente: o que é o VLC?
O VLC (Visible Light Communicatio) é uma tecnologia de transmissão de luz visível que faz parte do OWC (Optical Wireless Communications). Parece impressionante, futurista e até de alguma forma irrealista. Todas as casas têm lâmpadas que iluminam os quartos. Esta tecnologia permite o uso dessa luz como canais de transmissão de dados. Para isso, é utilizada uma certa faixa de luz visível - de 400 a 800 THz. Dependendo do tipo de lâmpada, a velocidade de transferência de dados também muda: uma lâmpada fluorescente - 10 kbit / se um LED - até 500 Mbit / s. Para receber dados, o dispositivo deve ter um fotodiodo que capte sinais ópticos. Em alguns casos, uma câmera de smartphone pode ser suficiente para isso.
VLC é uma tecnologia muito promissora. Sua aplicação mais óbvia é a vida cotidiana. Os dispositivos com esta tecnologia podem estar em residências particulares, apartamentos, locais públicos, etc. No entanto, existem certas desvantagens que atrasam o processo de popularização da tecnologia VLC. Há uma tarefa difícil - forçar o sistema VLC a fornecer um bom uplink (Uplink). Por que isso é difícil? Em primeiro lugar, os dispositivos móveis são limitados em termos de consumo de energia e não podem ser equipados com fontes de luz que consomem muita energia. Em segundo lugar, para a operação do sistema VLC, é necessário um feixe direcionado "claramente". Consequentemente, os dispositivos móveis que movemos e giramos o tempo todo não podem usar totalmente a tecnologia VLC.
Uma representação gráfica aproximada do sistema VLC na vida cotidianaObviamente, nos últimos anos, vários grupos de pesquisa propuseram o uso de transceptores de radiofrequência, infravermelho e refletivo para resolver o problema de ligação ascendente do VLC no nível físico. No entanto, devido ao modelo assimétrico usado na construção dos sistemas VLC usando as abordagens acima, surgem novos problemas, desta vez com a compatibilidade dos protocolos de nível superior.
Para eliminar todas essas deficiências e problemas, os pesquisadores tiveram que criar um sistema VLC / Wi-Fi híbrido: downlink VLC (downlink) e uplink Wi-Fi. Isso permitiu o uso do protocolo TCP padrão. Tudo funciona como esperado, mas ainda há um problema - conveniência e simplicidade, ou melhor, a ausência deles. Esse sistema híbrido requer equipamento adicional, roteamento complexo, sem mencionar a reprogramação especial de soquetes. Tudo isso, é claro, repelirá um usuário que queira usar um sistema eficaz, mas fácil de usar.
DetcOs pesquisadores decidiram procurar soluções para todos os problemas nos protocolos da camada de transporte. Segundo os cientistas, o uso do protocolo TCP padrão é ineficiente em um sistema VLC híbrido. Eles sugerem o uso do DETCP (TCP compartilhado desacoplado), que compartilha a transmissão TCP bidirecional. Ou seja, um fluxo TCP pode usar duas conexões simultaneamente: a conexão principal como um downlink e a conexão adicional como um uplink. Assim, o DETCP permitirá que o usuário use o VLC com alguma outra linha de comunicação para formar um sistema bidirecional híbrido, sem levar em consideração sua assimetria. E programação adicional de soquetes e roteamento difícil afundarão no esquecimento.
Hoje, a maioria dos terminais possui várias interfaces. Para resolver o problema de multicast, a Força-Tarefa de Engenharia da Internet (IETF / Internet Engineering Council) propôs uma modificação do protocolo TCP chamado
MPTCP - multipath TCP (multipath TCP). Ele permite que uma única conexão transmita pacotes em vários caminhos simultaneamente. Pesquisadores da tecnologia VLC decidiram aplicar essa modificação ao seu protocolo. O resultado foi o
protocolo MP-DETCP .
Conceitos básicos do protocolo DETCPO protocolo da camada de transporte mais comum é precisamente o TCP, porque permite a transmissão de dados estável e confiável. No entanto, existem limitações - todas as vantagens do TCP serão totalmente realizadas apenas se a conexão física possibilitar o uso total da transferência de dados bidirecional. No caso do VLC, o sistema pode fornecer apenas um downlink levando a uma interface de rede unidirecional. Portanto, o TCP não pode utilizar totalmente todos os recursos de transferência de dados.
O protocolo DETCP foi criado especificamente para resolver esse problema, ou seja, implementar a transferência de dados em um sistema híbrido que consiste em duas conexões independentes, sejam unidirecionais, bidirecionais ou mistas.
Segundo os pesquisadores, os objetivos mais importantes do protocolo DETCP são:
- separação das transmissões TCP bidirecionais em duas transmissões unidirecionais, realizadas em duas conexões físicas independentes e de acordo com as configurações do usuário;
- torne o protocolo aplicável sem precisar fazer alterações nos aplicativos existentes que usam o protocolo TCP padrão.
Arquitetura de conexãoO soquete é usado pelo protocolo TCP padrão para identificar um par de terminais para cada host. Assim, a conexão está vinculada a uma conexão física específica, indicada pelo soquete. No entanto, em um sistema unidirecional como o VLC, a estrutura de conexão TCP existente não pode fornecer transferência de dados em cada direção entre hosts, devido ao fato de que uma conexão unidirecional não pode formar uma troca / transmissão de dados de circuito.
Para resolver esse problema, o protocolo DETCP usa uma arquitetura de conexão diferente do TCP. Existem duas conexões físicas neste sistema que são responsáveis pelo TCP e são conjuntamente responsáveis pela transmissão.
Arquitetura DETCP (direita) e TCP (esquerda):- SIP (endereço IP de origem) - endereço IP de origem;
- OSIP (endereço IP de origem original) - endereço IP de origem principal;
- CSIP (endereço IP de origem complementar) - endereço IP de origem adicional;
- DIP (endereço IP de destino) - endereço IP de destino;
- ODIP (endereço IP de destino original) - endereço IP de destino principal;
- CDIP (endereço IP de destino complementar) - um endereço IP de destino adicional.
No nível da conexão, a transferência de dados ainda é bidirecional, mas no nível do canal existem duas transmissões separadas direcionadas em direções diferentes.
Identificação de conexãoNo protocolo TCP padrão, cada conexão é identificada por quatro tuplas (endereço de origem, porta de origem, endereço de destino e porta de destino). A essência desse mecanismo de controle é que a conexão TCP é criada em uma conexão. E como o DETCP é uma combinação de duas conexões, é necessária uma tupla tridimensional (endereço de origem primário, endereço de origem adicional, porta de origem, endereço de destino primário, endereço de destino adicional e porta de destino).
Para que o sistema correspondesse à segunda tarefa que os pesquisadores estabeleceram, a estrutura dos soquetes permaneceu inalterada. Portanto, foi necessário encontrar outra maneira de incluir um endereço adicional na pilha de protocolos. Portanto, foi decidido usar o arquivo de configuração do kernel. O usuário pode especificar endereços adicionais nele, que implementam uma tupla 6-dimensional com o par de soquetes padrão principal e endereços adicionais. Dessa forma, o DETCP garantiu compatibilidade com os protocolos da camada de aplicação.
Início da abertura e fechamento de uma conexãoOs processos para iniciar a abertura e o fechamento de uma conexão DETCP e TCP são muito semelhantes. O mecanismo de “aperto de mão” foi utilizado, pois é o mais eficaz. No entanto, duas alterações importantes foram introduzidas que distinguem o DETCP do TCP:
- Como o endereço secundário local é desconhecido para o host remoto antes da conexão ser estabelecida e, para cada host, são necessárias informações completas para realizar uma transferência dividida, um parâmetro TCP foi adicionado para informar o host remoto sobre os endereços adicionais durante o processo de iniciação da conexão.
- A característica de separação é exibida no estágio de início da abertura e no estágio de fechamento da conexão. A imagem abaixo mostra o processo de um handshake de três vias, coordenado por uma tupla 6-dimensional.
Aperto de mão tripartido, coordenado por uma tupla 6-dimensional, no estágio de início da abertura da conexãoTransferência de dadosPara garantir que o processo de separação esteja correto durante a transferência de dados, quando o próximo pacote estiver pronto para ser enviado, a direção da conexão atual deve ser alterada. Se essa direção for de um host remoto para um host local, o envio será feito por uma conexão adicional.
No processo de obtenção de dados, há um problema que precisa ser resolvido. Se o kernel usar o endereço recebido pela análise do cabeçalho IP diretamente nos pacotes de entrada desmultiplexadores, eles poderão estar vinculados à conexão DETCP incorreta.
Por exemplo, o servidor envia um pacote de dados ao cliente através do downlink, e o cliente envia a resposta através do uplink. Em tal situação, os endereços recebidos da resposta são endereços de uplink e, para o servidor, a conexão é conectada aos endereços de downlink. Essa incompatibilidade leva a erros de pacotes. Para evitar esses problemas, os pesquisadores adicionaram a opção TCP.
Operação do protocolo DETCPPrimeiro você precisa configurar a interface. O protocolo DETCP permite que o usuário atribua uma direção para uma interface específica (“Saída”, “Entrada”, “Bidirecional”) através do arquivo de configuração. Quando a interface associada ao soquete é configurada como uma interface unidirecional, o usuário precisa designar outra interface como uma interface adicional. A combinação das quatro interfaces determina todo o processo de conexão.
Diagrama de status do DETCP (usando uma conexão adicional à esquerda para enviar pacotes, à direita - a conexão principal para o envio de pacotes)No final do parágrafo anterior, falamos sobre o uso de uma opção TCP específica. Esta opção é CPT_ADDR, criada especificamente para garantir o processo correto de transferência de dados.
Cada pacote transmitido consiste em:
- SYN (cliente para servidor) - endereço IP adicional do cliente;
- SYN / ACK (servidor para cliente) - o endereço IP adicional do servidor.
O princípio da separação funciona em todas as etapas da transferência de dados (início da abertura de uma conexão, transferência de dados e início do fechamento de uma conexão).
Iniciação da abertura de uma conexão:- SYN (cliente para servidor) - a conexão principal;
- SYN / ACK (servidor para cliente) - conexão adicional;
- ACK (cliente para servidor) é a conexão principal.
Transferência de dados:- Pacotes do cliente para o servidor - a conexão principal;
- Pacotes do servidor para o cliente - conexão adicional.
Encerramento da conexão:- FIN (cliente para servidor) - a conexão principal;
- ACK (servidor para cliente) - conexão adicional;
- FIN (servidor para cliente) - conexão adicional;
- ACK (cliente para servidor) é a conexão principal.
Teste experimental e avaliação de resultados
O aparecimento da implementação do sistema híbridoPara os testes de protocolo DETCP e MP-DETCP, eles foram implementados no kernel do Linux. O sistema híbrido consistia em um VLC (como um downlink, 20 m) e uma conexão Ethernet (como um uplink, 100 m). A largura de banda de todos os canais conectados ao roteador e ao sistema VLC foi definida em 100 Mbps.
Topologia de rede DETCP: na parte superior, há um uplink adicional, na parte inferior, um downlink do VLC.
Topologia de rede MP-DETCP:- Compostos A e D - VLC de Downlink;
- Os compostos B e E são compostos adicionais;
- As conexões C e F são subfluxo Ethernet.
Teste de disponibilidadePrimeiro, era necessário verificar se o DETCP pode efetivamente usar a banda disponível em um ambiente de sistema híbrido. Para testar a estabilidade do DETCP contra um desempenho ruim de conexões adicionais, o uplink do cliente foi configurado para que alguns pacotes de dados fossem perdidos. Este é um tipo de teste de estresse.

O gráfico acima mostra o alto desempenho e a eficiência do DETCP em um sistema híbrido. A capacidade do canal foi usada em 95%, enquanto nenhuma perda de pacote foi detectada. Quando a porcentagem de perda de pacotes foi de 0,5 a 2,0, o grau de utilização do canal diminuiu para 92%. No entanto, o DETCP continuou estável e eficiente. Somente com um aumento na porcentagem de perda de pacotes para 5, o desempenho do DETCP começou a diminuir drasticamente.
A conclusão do teste é que o uso do DETCP é eficaz em sistemas híbridos, e conexões adicionais, embora afetem o quadro geral de desempenho, são muito insignificantes. Com a melhoria adicional do sistema, esses efeitos negativos podem ser reduzidos ao mínimo.
Fatores de desempenhoPara testar o sistema e o DETCP, é necessário, antes de tudo, determinar quais fatores afetarão seu desempenho. Usando esses fatores, você pode ver como a produtividade mudará.
Fator 1: perda de pacotesA interface foi configurada para que 0% a 4% dos pacotes de dados fossem perdidos aleatoriamente.

Como pode ser visto no gráfico acima, a taxa de transferência diminui linearmente com um aumento na porcentagem de pacotes perdidos. Também foi revelado que, com uma grande taxa de perda de pacotes, o grau de discrepância nas leituras de medições repetidas aumenta e a taxa média de transmissão se torna instável.
Fator # 2: atraso na transferência de dadosPara verificar o efeito desse fator, o atraso foi definido de 0 a 100 ms.

O gráfico acima mostra a relação entre largura de banda e atraso na transferência de dados. Quando o último é inferior a 20 ms, a largura de banda é estável e a largura de banda é totalmente utilizada. Se o atraso atingir 50 ms, a taxa de transferência média será significativamente reduzida. Com um atraso de 100 ms, a taxa de transferência cai em até 35% e a transmissão de pacotes se torna instável.
Fator 3: reordenação de pacotesO fator de verificação final é a reordenação de pacotes: alguns dos pacotes serão atrasados e outros, por assim dizer, em tempo hábil.

O diagrama acima mostra o relacionamento explícito entre largura de banda e reordenação de pacotes. Todos os testes mostraram uma redução significativa na taxa de transferência. No entanto, com um aumento no atraso, a diminuição não ocorreu linearmente. Portanto, com um atraso de 10 ms, e a porcentagem de pacotes reordenados é de 5%, a redução na taxa de transferência ocorre de forma gradual e insignificante. No entanto, em 10% ou 20%, os indicadores simplesmente entraram em colapso.
As taxas de taxa de transferência de 5% dos pacotes reordenados com atraso de 10 ms correspondem aproximadamente aos indicadores de 10% e atraso de 5 ms ou 20% e atraso de 2 ms.
Como conclusão, para uma operação estável e eficiente do sistema, ele precisa controlar o número de pacotes reordenados e o tempo de atraso.
Se o desempenho do downlink do VLC piorar em um sistema em que o uplink é apresentado como uma conexão bidirecional, como atacado ou Wi-Fi, vale a pena considerar a possibilidade de retornar ao uso do TCP unidirecional padrão em execução no uplink. Essa pode ser uma maneira eficaz de melhorar a confiabilidade do sistema quando o desempenho do VLC no downlink é bastante reduzido.
Comparação de desempenhoUma das principais tarefas do multithreading é aumentar a taxa de transferência. Este teste testa MP-DETCP e DETCP sob as mesmas condições de conexão. Os resultados são registrados quando a taxa de perda de dados varia de 0% a 4%.

O diagrama acima mostra que, embora o desempenho do VLC seja inferior ao DETCP, o MP-DETCP ainda mostra uma alta taxa de utilização da banda. Quando os dados são transmitidos sem perda de pacotes, é atingida uma taxa de 115 Mbps, o que confirma a capacidade do MP-DETCP de fornecer uma conexão eficiente e eficiente. À medida que a taxa de perda de pacotes aumenta, o rendimento do VLC é bastante reduzido. Neste momento, a mesma conexão Ethernet também está caindo um pouco. No entanto, a taxa de transferência geral permaneceu em um nível bastante alto. Isso significa que, se a conexão VLC estiver danificada e bloqueada, a transferência de dados será concluída em outra conexão.
Resultados dos PesquisadoresPara resolver o problema da transmissão de dados no sistema VLC, os pesquisadores propuseram o uso do protocolo DETCP para separar a transmissão bidirecional. Com base nisso, pode-se dizer que o uso do MP-DETCP melhorará o desempenho do sistema VLC híbrido.
Os protocolos DETCP e MP-DETCP foram aprovados nos testes de desempenho e confiabilidade, demonstrando a eficácia da separação de conexão.A implementação dos novos protocolos servirá de base para futuras pesquisas sobre tecnologias de rede. Incluindo pesquisas no campo da hibridação de vários compostos físicos para obter sistemas com alto grau de desempenho e rendimento.Você pode se familiarizar com os detalhes dos estudos com a ajuda do relatório neste linkEpílogoQualquer tecnologia requer "polimento" antes de poder ser considerada eficaz. No caso dos novos protocolos DETCP e MP-DETCP, o trabalho ainda é grande. No entanto, os resultados experimentais já podem ser chamados de impressionantes. O sistema VLC agora é extremamente popular entre os pesquisadores, mas não entre os usuários. Essa ordem das coisas pode mudar nos próximos anos. E então uma lâmpada queimada significará não apenas a falta de iluminação, mas também a Internet.Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um
desconto de 30% para os usuários da Habr em um análogo exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).
Dell R730xd 2 vezes mais barato? Somente nós temos
2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre
Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?