The network is always considered to be the "outside", and the CPU etc. to be the "inside".
"Bytes In" is the amount of data received through that interface (i.e to your host from the network).
"Bytes Out" is the amount of data sent through that interface (from your host to the network).
Which of those you consider to be "upload" and which to be "download" depends on your view of your system - i.e. whether it is "up" or "down" from what that interface is connected to. If it's a home PC, you probably equate "In" with "download"; for a fileserver, "In" is usually called "upload".
You may also see "In" as "Rx" (i.e. Received) and "Out" as "Tx" (Transmitted), as in the output of ifconfig
:
eth1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.x.x netmask 255.255.255.0 broadcast 192.168.x.255 inet6 fe80::xxxx:xxxx:xxxx prefixlen 64 scopeid 0x20<link> ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet) RX packets 1813934 bytes 68509518 (65.3 MiB) RX errors 1032120 dropped 0 overruns 0 frame 81778 TX packets 1473055 bytes 1797493199 (1.6 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 699501 device interrupt 18
or
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:172.20.x.x Bcast:172.20.x.255 Mask:255.255.255.0 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:36387424 errors:0 dropped:0 overruns:0 frame:0 TX packets:15636657 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6378638797 (6.3 GB) TX bytes:14222465675 (14.2 GB) Interrupt:20 Memory:e0380000-e03a0000
(two different implementations of ifconfig
; identifying details x'ed out)
Some tools (e.g. xosview
) may show an aggregate of all network interfaces, i.e. total sent and received on all network interfaces. Then, the upstream/downstream terminology is unhelpful if some of the networks are "up" and some are "down".