Marshalling is the packing of procedure parameters into a message packet while unmarshalling is the unpacking of this message. Client marshals the data when sending to the client and the server unmarshals it. The server then marshals that data to send it back to the client and then the client unmarshals the return value.