Or are they synonyms?
IPC is a set of method to communicate with two process which may be in same computer or different computer.it includes direct & indirect communication,synchronous & asynchronous communication and explicit buffering. But RPC is a method to call a procedure from sever to client and get back its result as message..
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.
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.