My understanding is that nodes connecting to each other to exchange messages starts with a version handshake such that each node sends its P2P protocol version and gets an acknowledgement and vice versa. If the nodes are running different versions then communication cannot continue.
So according to this developer reference would it be correct to conclude that a node running Bitcoin Core v0.13.2 and another running on release v0.13.0 would not communicate?
Also, if a significant number of nodes run different protocol versions, is this situation what would result in a hard fork?