In the short term, we can manually and semi-automatically check
protocols. In the long term, we will be able to generate
protocols from specifications in specialist languages.
We can validate a protocol -
check that protocol is free from syntactic errors, and is
simply self consistent.
We can verify protocol - can check that the protocol does actually
provide the required functionality.

Free from deadlocks. States that it can't leave

Free from livelocks. States that conspire to lockout others.

Free from (useless) unreachable states.

Free from busy idle behavior.

May be able to analyze the performance of the protocol.

Can study event scheduling within protocol.

Can match event scheduling in network (other layers) to those in
the protocol.