Network programming started in the early 1980s. I can still remember the excitement that I experienced when I first started to build programs that talked to and controlled other machines. When I wrote data to a socket and it appeared on a completely different machine, I felt that that was the epitome of programming bliss. At the outset, everything seemed to work. I could write to a socket on a PC and the data would appear on a Unix platform. Much of the success of sockets in the early days is due to the model that was applied to networking.
The official model of networking lists seven layers:
Application
Presentation
Session
Transport
Network
Data Link
Physical
In practicality, however, this model has been reduced to four layers:
TCP (Transmission Control Protocol) has become the defacto protocol for transferring information throughout the world. Although the original RFC for this protocol was written in the early 1980s (see RFC 793 at http://www.rfc-editor.org/rfc/rfc793.txt), this protocol has stood the test of time for 20 years. In developing the .NET Networking classes, Microsoft built strong support for this standard.
As a close rival to TCP and the only choice in certain applications, User Datagram Protocol (UDP) has also stood the test of time. The original specification (see RFC 768 at http://www.rfc-editor.org/rfc/rfc768.txt) was first published in the early 1980s. UDP has been adopted by a wide range of applications.
IP (Internet Protocol) is a separate protocol used primarily for routing. Although it is not wrong to use TCP/IP, strictly speaking, you are only dealing with TCP (see RFC 791 at http://www.rfc-editor.org/rfc/rfc791.txt).
3.129.247.196