Or are they synonyms?
An RPC (remote procedure call) is a form of IPC (interprocess communication) - the latter is a more general term, covering lots of mechanisms besides RPCs.
- Remote Procedure Call (calling methods remotely at a system)
- Interprocess Communication (method enabling processes in the same system to interact).
RPC - Remote Procedure Call - is a particular type of communication, but can be on a single machine, or across a network between machines. http://en.wikipedia.org/wiki/Remote_procedure_call
IPC - Inter-Process Communication - is a general term for communication between different processes (which are usually on a single machine). http://en.wikipedia.org/wiki/Inter-process_communication
Wikipedia is usually great for these purposes.
RPC:
Remote procedure call (RPC) is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction.
IPC:
Inter-process communication (IPC) is a set of techniques for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network.
So, RPC is just one kind of IPC.