Todos los procesos pueden enviar o recibir. También llamada bidireccional para el caso de dos procesos.
Asimétrica
Un proceso puede enviar, los demás procesos solo reciben. También llamada unidireccional. Suele usarse para hospedar servidores en Internet.
Síncrona
Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio.
Asíncrona
Quién envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.
Fuente: http://es.wikipedia.org