Quando transfiro dados de uma máquina para outra, vejo um aumento nos bytes RX e nos bytes TX de acordo com os links ifconfig e ip -s:
antes da transferência, no nó de envio:
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP qlen 1000
link/ether 18:a9:05:44:c2:e4 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
**1553791138** 1916309 0 0 0 0
TX: bytes packets errors dropped carrier collsns
**1035423346** 1330442 0 0 0 0
Comando usado para enviar dados (com soquete de escuta na outra extremidade):
dd if=/dev/zero bs=400000 count=50 | netcat 14.4.12.5 20000
após a transferência, ao enviar o nó:
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP qlen 1000
link/ether 18:a9:05:44:c2:e4 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
**1574414164** 1921752 0 0 0 0
TX: bytes packets errors dropped carrier collsns
**1055706644** 1334263 0 0 0 0
Como você pode ver, os bytes TX e os bytes RX aumentaram na mesma quantidade. Esse também é o caso no nó receptor.
Meu entendimento é que o TX é enviado, o RX é recebido. Então, por que ambos aumentariam em uma transferência unidirecional? Se eu especificar o UDP, ele funcionará como esperado - o aumento de TX no nó de envio, o RX aumenta no nó de recebimento. Mas isso não pode ser apenas devido às mensagens de controle no TCP, já que isso não deveria chegar a 20MB? o que estou perdendo? Isso é entre instâncias amazon EC2 e também vejo esse comportamento entre dois blades físicos conectados em rede.
Tags networking ifconfig