Communication complexity is an asymptotic measure of the number of messages sent in the network during the span of the algorithm. For example, if I have a complete network (i.e., a complete graph), and my algorithm sends to all my neighbours, then the algorithm terminates on each processor, the number of messages sent is n(n-1) which is in O(n^2).
Another example, say the network is a set of processors that form a chain. Say the algorithm has a way of determining one end of the chain, then sends a message to its neighbour until it reaches the other end of the chain. Since each neighbour except the last vertex in the chain sends one message and there are n processors in the chain, the number of messages is n-1 which is in O(n).
Count up all the messages sent in the algorithm by all the processors, or find a good bound on this number, then determine its asymptotics.
This should help understand communication complexity. Its main purpose is to see how many messages are sent during the span of the algorithm. Since sending between processors can be a time-consuming task, it's a good idea to keep the communication complexity as small as you can. Basically, it's no different than doing time-complexity analysis (you could even consider a worst-case instance, and do worst-case analysis), the only difference is you're counting up all the messages sent in the network, not just one processor (though it is valid to analyze how many messages a single processor sends too depending on the type of network).
Note: If you are trying to prove bounds on how long messages take to get from one end in the network (due to its topology) one can apply similar techniques as above by counting things such as the diameter or observing properties of said interconnection network.
Network complexity is the number of nodes and alternative paths that exist within a computer network, as well as the variety of communication media, communications equipment, protocols, and hardware and software platforms found in the network.