What is the Internet?
The only function of the internet is to connect computers and hardware devices together so that they can communicate with each other (directly or indirectly).
A Brief History
1950s:In the 1950s, computers were huge, super-computers taking up whole rooms. These super-computers were less powerful than today’s smart phones and could not communicate with each other.
1960s:In the 1960s ARPA was tasked with trying to get computers to talk with each other. The project was owned by the U.S. Defense Department’s Advanced Research Projects Agency (ARPANET).
1962:Through the DARPA research program, J.C.R. Licklider (MIT) wrote a paper on a “Galactic Network” concept.
1969:A computer based in LA sent the message “LOGIN” to a computer located at Stanford University. Only the letters “LO” were received before the SRI system crashed.
1972:Network email was introduced by Ray Tomlinson (BBN).
1973:The term “internet” was used after the University College of London (UK) and the Royal Radar Establishment (Norway) connected to ARPANET. Global networking became a reality.
1976:Queen Elizabeth II sends her first email!
1982:TCP/IP becomes the standard protocol for the internet.
1983:Domain Name System (DNS) becomes the standard protocol for the internet.
1985:Symbolics.com becomes the first registered domain.
1989:Sir Tim Berners-Lee develops the HTML language.
1991:The “world wide web” is introduced to the public.
How to Connect to the Internet
Connections to the internet are achieved through a combination of switches and routers. Switches create local area networks (LANs). Routers transfer data outside of the local network by connecting multiple networks; this allows data to be moved around from one external computer to another.
In order to talk to the outside world, a router will connect to a modem which translates digital data from the computer into electrical signals to be transmitted over cable or telephone wires. An Internet Service Provider (ISP) will provide the cable or phone line.
Routing tables are stored on each router so that the router can determine where the packets need to be sent.
Client Server Relationship
Protocols are used to send and receive data/information. These are the standards to which developers adhere to.
The Network layer routes the data packages from the source to the destination. This layer does not care what kind of data is being transported or whether the data was actually delivered.
Once the route has been set, the Transport layer (TCP/IP) is responsible for transferring the data reliably. TCP contains a mechanism to ensure all packets are received and then puts them into the correct sequence. If packets are missing, the request is resent. The Transport layer does not care about the data being transported.
The Application layer is the layer nearest to the application. In the case of web browsing, Hypertext Transmission Protocol (HTTP) is used to communicate with a web server and fetch the requested web page. This layer is only concerned with the data being exchanged. It does not care about the route it is taking.
On the server, the Transmission Control Protocol (TCP) breaks up the data into smaller chunks, called packets. On the client, the TCP reassembles the packets and displays the requested data, such as a web page.
When broken into packets (smaller chunks of data), the packets can flow through the network simultaneously. Sending one large piece of data can create a traffic jam for other data to flow. Individual packets may be sent via different routes to the same destination. This allows the full data suite to arrive at its destination faster. If packets are lost on the way, TCP may request they are retransmitted. Every packet contains a header which enables the identification of all packets making up the data requested.
The Internet Protocol contains information as to where the request is coming from (source IP) and where the request needs to go to (destination IP).
How the Web Works
Web sites are identified by their domain names. Each domain name has a one to one mapping with an IP address which uniquely identifies each server. Domain names are words that enable users to find and remember web addresses.
From the client, the user will type in a Uniform Resource Locator (URL), such as…
A URL contains several components:
http:// – Protocol
xtrembritdesigns – Domain Name
.com – Sub-domain
walkforanimals – Full path to the resource
These days, it is OK just to type in the domain name, such as xtremebritDesigns.com. This is known as a “clean URL”.
Using HTTP, the request is sent to a Domain Name Server (DNS), which will map the domain name to the IP address. A DNS is a massive database containing IP addresses. Think of it as the address book of the internet, connecting domain names with IP addresses. Servers use IP addresses which uniquely identify each server. There is a hierarchy of DNS servers. A request will start at the top of the hierarchy and work its way down until the domain name is found. The local provider will tell the client which DNS to go to first.
Once the domain name is found, the IP address is identified and the DNS will send the request directly to the server hosting the web site (identified by the IP address).
Using TCP/IP, the web page is then broken down into packets and sent back to the client. See above for more details. The client’s IP address is included within the request. A status code will also be sent back to the client.
IPv4 vs. IPv6
IPv4 is a 32 bit IP address written in decimals as four numbers separated by periods.
1 byte = 8 bits … 8 x 4 = 32 bits
IPv6 is a 128 bit IP address written in hexadecimal and separated by colons.
1 byte = 16 bits … 16 x 8 = 128 bits