.NET provides remoting infrastructure which allows method invocation on a remote machine. Communication between any two machines takes place through this layer. The .NET services accessed in this layer consists of registration of services and creation of proxies.