Monday, January 5, 2009

A Brief Introduction Into TCP/IP

Many people may not know what TCP/IP is nor what its effect is on the Internet. The fact is, without TCP/IP there would be no Internet. And it is because of the American military that the Internet exists.During the days of the cold war, the defense department was interested in developing a means of electronic communication which could survive an attack by being able to re-route itself around any failed section of the network.They began a research project designed to connect many different networks, and many different types of hardware from various vendors. Thus was the birth of the Internet (sorta). In reality, they were forced to connect different types of hardware from various vendors because the different branches of the military used different hardware. Some used IBM, while others used Unisys or DEC.

TCP (Transmission Control Protocol) and IP (Internet Protocol) were the protocols they developed. The first Internet was a success because it delivered a few basic services that everyone needed: file transfer, electronic mail, and remote login to name a few. A user could also use the "Internet" across a very large number of client and server systems.
As with other communications protocols, TCP/IP is composed of layers. Each layer has it's own responsibility:

IP is responsible for moving data from computer to computer. IP forwards each packet based on a four-byte destination address (the IP number). IP uses gateways to help move data from point "a" to point "b". Early gateways were responsible for finding routes for IP to follow.

TCP is responsible for ensuring correct delivery of data from computer to computer. Because data can be lost in the network, TCP adds support to detect errors or lost data and to trigger retransmission until the data is correctly and completely received.

How TCP/IP works

Computers are first connected to their Local Area Network (LAN). TCP/IP shares the LAN with other systems such as file servers, web servers and so on. The hardware connects via a network connection that has it's own hard coded unique address – called a MAC (Media Access Control) address. The client is either assigned an address, or requests one from a server. Once the client has an address they can communicate, via IP, to the other clients on the network. As mentioned above, IP is used to send the data, while TCP verifies that it is sent correctly.

When a client wishes to connect to another computer outside the LAN, they generally go through a computer called a Gateway (mentioned above). The gateway's job is to find and store routes to destinations. It does this through a series of broadcast messages sent to other gateways and servers nearest to it. They in turn could broadcast for a route. This procedure continues until a computer somewhere says "Oh yeah, I know how to get there." This information is then relayed to the first gateway that now has a route the client can use.
Reverse engineering

No comments: