当我将数据从一台机器传输到另一台机器时,根据ifconfig和ip -s链接,我看到RX字节和TX字节都增加了:
转移之前,在发送节点上:
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
用于发送数据的命令(在另一端监听套接字):
dd if=/dev/zero bs=400000 count=50 | netcat 14.4.12.5 20000
转移后,在发送节点上:
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
正如你所看到的,TX字节和RX字节都增加了相同的数量。 接收节点也是如此。
我的理解是TX发送,RX收到。 那么他们为什么会在单向转移中增加呢? 如果我指定UDP,那么它按预期工作 – 在发送节点上TX增加,在接收节点上RX增加。 但是这不能只是由于TCP中的控制消息,因为它不应该高达20MB? 我错过了什么? 这是在亚马逊EC2实例之间,我也看到这种行为之间的联网在一起的两个物理刀片。