The peers communicate among them through the channels. When you define a channel, you decide who are going to be part of it. Then, the transactions that are executed against that channel are viewd by all the members of the channel.
Users call the Peers and do the transactions You don't do the transactions among Peers or between users. You call to a smartcontract (chaincode in Hyperledger) that you have installed in a channel