what's the difference between net.tcp and TCP protocol?
See the question and my original answer on StackOverflownet.tcp lives in the Service Model (WCF) namespace. It's represented by many classes, the most visible being NetTcpBinding Class. So, essentially net.tcp is a WCF binding ('A secure, reliable binding suitable for cross-machine communication.').
So, net.tcp can only be used in the WCF context, and is simply based on the TCP protocol. But you can't say net.tcp=TCP. net.tcp just uses TCP. Compared to other bindings, it's considered as performant, but not interoperable.
The story is the same for net.pipe, net.msmq, they are WCF bindings implemented over lower Windows technologies, respectively Named Pipes and MSMQ.
Here is a list of system provided WCF bindings: System-Provided Bindings