Adding Ethernet ports (LAN) to increase the flow in the local network – Problems and Solutions

Two Ethernet ports (LAN) onboard é um recurso que existe em algumas placas-mães há mais de uma década. It started when people wanted to share the Internet via cable or ADSL with a second PC, but routers were still not as common. Over time routers became popular, mas a segunda LAN permanece sendo incluída em algumas placas. A ASUS ROG Crosshair VIII Hero Wi-Fi Motherboard, whose review eu fiz há alguns dias aqui no Skooter Blog, is one.

Muitas vezes o recurso acaba sendo sub-utilizado, pois as conexões de Internet no Brasil raramente passam de 1 Gbps, e uma única porta Gigabit Ethernet can handle. Mas quem movimenta grande quantidade de dados em rede local pode se beneficiar da segunda porta Ethernet.

Este é o meu caso, pois eu faço sincronização de dados e backup no NAS Synology Diskstation DS918+, who has also shown here in Skooter Blog, e que também tem duas portas Ethernet. Furthermore, tenho também um NAS Synology Diskstation DS214, also already shown here on the Skooter Blog, que também recebe alguns backup. Por fim, há ainda as cópias eventuais de dados de um equipamento para outro, também locais.

Apenas conectar as duas portas Ethernet da placa-mãe ou do NAS no switch Ethernet não adianta muita coisa, pois tipicamente cada uma ficará com um IP diferente e as transferências se concentrarão em apenas um deles, a menos que o IP seja definido explicitamente. Mas alguns switches suportam agregação de portas, de modo que duas ou mais portas são combinadas para funcionar como se fosse apenas uma, mas com vazão equivalente à soma da vazão de todas.

Esse tipo de recurso tem vários nomes como teaming, trunking, bonding, among others. Há também diferentes padrões usados para implementar este recurso, como o protocolo LACP (Link Aggregation Control Protocol) e várias soluções proprietárias.

My switch é um Tp-Link TL-SG1016DE, also already shown here on the Skooter Blog. Ele oferece agregação de links, mas apenas de forma estática, conforme definido no protocolo IEEE 802.3ad. É necessário escolher as portas que vão compor o tronco (trunk) e conectar então os dois cabos Ethernet que vem do mesmo dispositivo nas portas selecionadas. Give way, eu fiz um tronco para o DS918 + e outro para a ASUS ROG Crosshair VIII Hero:

TP-Link Easy Smart Configuration Utility.

TP-Link Easy Smart Configuration Utility.

TP-Link TL-SG1016DE Web Interface.

TP-Link TL-SG1016DE Web Interface.

The DS918 + usa o termo bond em vez of trunk. Ele também suporta modos diferentes de agregação. No meu caso eu usei o Balance XOR, que corresponde ao modo suportado pelo Tp-Link TL-SG1016DE:

Synology Diskstation DS918+ Bond 1.

Synology Diskstation DS918+ Bond 1.

Synology Diskstation DS918+ Link Aggregation Mode.

Synology Diskstation DS918+ Link Aggregation Mode.

No case of ASUS ROG Crosshair VIII Hero Wi-Fi Motherboard, the Windows 10 tem formas de fazer a agregação de links nativamente, através de comandos Powershell. Mas caso pelo menos uma das interfaces de rede seja da Intel, é mais fácil instalar os drivers e softwares da Intel e fazer a agregação pela interface gráfica do Intel PROSet Adapter Configuration Utility. Nele o recurso se chama Teaming, e basta selecionar as interfaces que farão parte do time, podendo definir qual será a primária, secundária, etc. Também é necessário selecionar o tipo de agregação, que no meu caso é o Static Link Aggregation:

Intel PROSet Adapter Configuration Utility - Teaming.

Intel PROSet Adapter Configuration Utility – Teaming.

It is worth noting that, apesar de uma das interfaces de rede da ASUS ROG Crosshair VIII Hero ser de 2,5 Gbps, the switch é apenas Gigabit Ethernet, limitando a vazão em 1 Gbps. Furthermore, vários métodos de agregação só funcionam com enlaces de vazão igual, de modo que a vazão agregada será o dobro da vazão do enlace mais estreito.

Como cada equipamento escolhe qual interface vai usar em cada conexão é algo que varia conforme a implementação. Em geral isto é feito com hashes baseados em endereços MAC (camada 2 – enlace), endereços IPs (camada 3 – network), ou mesmo em números de portas TCP/UDP (camada 4 – transport). Infelizmente não consegui encontrar informações de como a implementação é feita em cada um de meus equipamentos.

O que percebi é que se estou, for example, copiando um arquivo grande do meu NAS Synology Diskstation DS918+ for my PC, a vazão fica em torno de 111 MB/s (888 Mbps), típica do uso de uma única interface Gigabit Ethernet, ou seja uma única conexão TCP aparentemente não vai utilizar mais de uma interface. Mesmo duas transferências sendo feitas a partir do mesmo NAS ficam limitadas, de modo que possivelmente um de meus equipamentos está fazendo o hash apenas em nível 2 or 3 (MACs e IPs) sem considerar números de porta.

Copiando um arquivo do DS918+.

Copiando um arquivo do DS918+.

On the other hand, ao copiar ao mesmo tempo um arquivo do meu NAS Synology Diskstation DS918+ e outro do meu NAS Synology Diskstation DS214 a vazão total oscilou em torno de 169 MB/s (1352 Mbps) comprovando que ambas as interfaces estavam sendo usadas ao mesmo tempo.

Copiando arquivos de dois diferentes NAS ao mesmo tempo.

Copiando arquivos de dois diferentes NAS ao mesmo tempo.

Note that o DS214 tem apenas uma interface de rede, é um equipamento mais lento, e não está ligado diretamente no TL-SG1016DE. Na verdade há 5 saltos Gigabit Ethernet (em nível de enlace) para chegar nele (four switches on the way) a partir do meu PC. Mesmo copiando um arquivo dele isoladamente a transferência não chega a saturar uma conexão Gigabit Ethernet, oscilando apenas em torno de 70 MB/s (560 Mbps). Give way, é possível que com um segundo equipamento mais rápido fosse possível chegar mais próximo do limite de 2 Gbps das duas interfaces somadas.

Copiando um arquivo do DS214.

Copiando um arquivo do DS214.

Tentei então transferir três arquivos ao mesmo tempo, de três fontes diferentes, os dois dos NAS e mais um arquivo do HD Externo que está no MSI Cubes, also already shown here on the Skooter Blog. Note that o MSI Cubes também está há 4 saltos Gigabit Ethernet (em nível de enlace) from my PC, e todos os switches no caminho são compartilhados com o DS214, de modo que os dois somados não poderiam passar do limite dos limites de vazão da Gigabit Ethernet. De fate, os dois somavam por volta de 90 MB/s enquanto o DS918 + atingia outros 90 MB/s, totalizando por volta de 180 MB/s (1440 Mbps).

Copiando de três diferentes dispositivos ao mesmo tempo.

Copiando de três diferentes dispositivos ao mesmo tempo.

Percebi então que a esta altura o gargalo era o HDD do meu PC que estava recebendo os arquivos. Fiz o mesmo teste gravando os arquivos no SSD Sandisk Ultra m.2 NVMe 3D 1TB 2280, also already shown here on the Skooter Blog, and the flow jumped to the 204 MB/s (1632 Mbps).

Copiando de três diferentes dispositivos ao mesmo tempo para SSD.

Copiando de três diferentes dispositivos ao mesmo tempo para SSD.

Eu poderia ir além, fazer outros testes além de copiar arquivos, usando outros protocolos além do SMB, com dispositivos todos ligados no mesmo switch, mas acho que já deu para ter uma ideia dos ganhos de vazão. Nesses meus testes simples, os ganhos passaram de 80%, o que é bastante considerável.

É claro que no dia-a-dia eu dificilmente vou estar copiando três arquivos de três fontes diferentes, mas há situações comuns com potencial de ganho, como estar realizando tarefas de backups automáticos em ambos os NAS (com limite de 1 Gbps para um) e ainda baixando algo da Internet (com limite de 200 Mbps), for example.

Share this article with your friends if you liked 😉 . If you also want to shop in AliExpress, directly from Hong Kong, click here and good shopping.

0 0 vote
Article Rating

Permanent link to this article: https://www.skooterblog.com/2020/10/17/agregando-portas-ethernet-lan-para-aumentar-a-vazao-na-rede-local-problemas-e-solucoes/

Sign up
Notify about
guest
0 Comments
Inline Feedbacks
See all reviews
×
0
We would like to know what you think, Leave your commentx
()
x
Enable Notifications    Ok No thanks