The earliest form of interface/protocol was called an ‘IMP’, short for ‘Interface Message Processor’ – an early protocol that lacked the capabilities of the later ‘TCP/IP’ which is still currently in use. Both IMP and TCP/IP are software based interfaces which control and direct the flow of signal traffic to and from the attached machines. However each IMP still required a minicomputer (something like halfway between a personal computer and a mainframe) in order to control things.
TCP – or Transmission Control Protocol, provides a service at an intermediate level between an computer program and the Internet Protocol (IP). That is to say, when an program needs to send a large amount of data over the Internet using IP, instead of doing it via a lower level and more fragmented method via IP requests, the software can issue a single request via TCP and let this abstracted layer (which is what it is) handle the details.
IP works by exchanging pieces of information called packets. A packet is a sequence of octets and consists of a header followed by a body. The header describes the packet’s destination and, optionally, the routers to use for forwarding until it arrives at its destination. The body contains the data IP is transmitting.
IP, or Internet Protocol, not to be confused with ‘IP Number’ (thougth they are closely related), is the protocol (or software definition) that moves data packets (also referred to as a ‘datagram’, much like a telegram – except it’s composed of an arbitrary amount of data – but always contains a header, sender and address information and the payload) between gateways and/or collections of nodes. The discrimination and transport of data between addresses is done according to the IP number alone. The current version for the Internet protocol is v6, known as IPv6.
The addressing and routing are critical functions of the IP. The address portion fo the datagram (the header) requires the assistance of routers in order to discriminate between target destinations correctly. IP routing can also happen on a local area network – however the IP operates in this case according to MAC (Media Access Control) addresses or numbers for this, as opposed to IP numbers – since the IP number may be a dynamic or variable quality on a LAN. Addressing refers hosts or users are are given IP addresses and also how subn-etworks of IP addresses are organized. Whereas ‘routing’ is handled almost entirely by routers – these are the entities which use MAC addresses. The difference between addressing and routing corresponds to the difference between IP and TCP to a degree – since the latter is done with routers.
File Transfer Protocol (FTP) is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. It is often used to upload web pages and other documents from a private development machine to a public web-hosting server. FTP is built on a client-server architecture and uses separate control and data connections between the client and the server. FTP users may authenticate themselves using a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it.