There are three different protocols and ports involved when running a node:
HTTP control / API port (default tcp 14265)
TCP neighbor port (default tcp 15600)
UDP neighbor port (default udp 14600)
The neighbor ports are only used to transfer transactions between neighbors. That's why you are not getting anything back, the UDP port simply doesn't support the ...
No, different protocols will not work.
When receiving a packet from your neighbor, iri will validate if the source of the packet is in your neighbors list. As the port numbers differ, the packets will get rejected.
There is a really good introduction on iota.partners
I would use the standard ports. This makes it way easier for neighbors.
UDP_RECEIVER_PORT = 14600
TCP_RECEIVER_PORT = 15600
But yes, security is a important topic. Since you have to add the neighbors by hand, you can also add a firewall in front of these ports. So that only these neighbors can talk ...
Using a non-standard port would make it more difficult for a potential attacker to find full iota nodes. But it would take more than just finding those nodes in order to wage an attack on them. Nodes have to add each other in both directions before they will accept transactions from one another. Full nodes do not expose their API port by default, so full ...