Ethereum network is essentially a distributed replicated database where each node is a replica and a "master" one.
What happens when user submits a new transaction? It is submitted to some "pending transactions pool" which is synced with other nodes (since it's possible to see pending transaction on etherscan). Which protocol is used to sync this information?
Then transaction is included into a block and mined and it becomes a part of a blockchain and it's imported by a client. Which protocol is used by nodes to exchange most recent blocks?