1. To interchange data between two process running on two computers there must be some addressing technique for communication correctly.
2. The communication may be unidirectional or in both direction alternately one after another or bidirectional
3. Error control is also important issue because physical communication channels are not perfect, rather error pron. Now both communicating parties must agree on which error detecting and correcting code to use. The receiver should also let the sender know which message is received correctly and which is not.
4. During transfer messages are often divided into pieces and all the pieces may not be transferred in proper order this loss of sequencing has to be taken care of by the protocol concern.
5. There must be provision to refrain at fast sender from swamping a slow receiver.
6. The layer concern may decide to use same connection for several unrelated conversations by multiplexing and de-multiplexing technique.
7. When there are many paths between sender and receiver, a decision must be taken which route is to take. The decision may be static or dynamic.