Marshaling performs the necessary conversions in data formats between managed and unmanaged code.CLR allows managed code to interoperate with unmanaged code usining COM Marshaler(Component of CLR)
If fake copy of the server object that resides as really act as server. this marshall object is communicated to the server real server object and the client object. This process is known as marshelling
NET runtime automatically generates code to translate calls between managed code and unmanaged code. While transferring calls between these two codes .NET handles the data type conversion also. This technique of automatically binding with the server data type to the client data type is known as marshalling. Marshaling occurs between managed heap and unmanaged heap.