What are the major components of a bitcoin full node's bandwidth usage? A bitcoin full-node uses bandwidth to at least:


Receive each block
Send each block to other nodes


What other major components of bandwidth usage are there for a bitcoin full node in early 2018, and what proportion of the bandwidth usage does each take up?
Bandwidth usage is many times higher than that required to receive and then send 1 full block of data per block, and I'd like to understand why.
Receiving transactions from other nodes
Sending transactions to other nodes
Sending the entire blockchain to other nodes so that they can sync


Note that with compact blocks, block relay does not consume nearly as much bandwidth as it used to. Compact blocks allow blocks to be relayed with way less data. The bulk of a node's bandwidth is taken up by transaction relay.