IP Addresses and networking
Posted 03rd Oktober, 2018
Every time you connect one computer to another - even your phone to your laptop - you create a network, enabling the computers to communicate.
The internet is a network of these networks. All the data online: on websites, in emails, in search engines: it is all stored on other computers. When you visit a website you are browsing physical data on another machine, with your web browser interpreting the stream of data received (code) and rendering it into a readable webpage.
To do this, your computer needs to connect to another computer over the internet and transmit data to and from it. An example request might look like:
Your Computer >Send me this webpage> Web Server
And in return the web server would send the page information as code, which your web browser would then interpret.
Your Computer <Webpage Data< Web Server
IP Addresses
Every individual computer has an IP address; this is the address which is used to communicate. They are in the numeric format 111.111.111.111
, Each quartet of that number can be between 0 and 256, for example 129.12.10.19
or 3.154.154.154
or 8.8.8.8
. (This last one belongs to Google.) When one computer talks to another, it uses this IP address. Your home network, your place of work, and every web server, has its own IP address.
You can find your own IP address by going to IP.me.uk.
In theory, any computer, or your phone, could be used as a web server. It would just need to be configured. Indeed, some IP addresses will take you to websites directly (see for example 1.1.1.1
, or 212.58.244.26
, which at the point of writing, diverts to a BBC error page). But most will show errors, as they either don’t run websites or they are private networks. For example, loading your own IP address in a web browser will probably just time out.
Virtual Hosting
IP addresses are finite in number, and when the system was designed no one envisaged that the web would grow as big as it has. It would therefore be inconceivable for every website to have its own unique IP address. Therefore, multiple websites (thousands or even millions) can share a single IP address on a server. When a web server receives a request for website content (see Communication Protocols below), it examines the request (the host header) to see which domain and url has been requested, and provides the relevant content.
Domain Names
If you want to visit a webpage or communicate with a friend on Facebook, you do not want to remember the IP address in order to visit the site. While that would work, it would be a nightmare. Instead, domain names are to IP addresses, what street addresses are to coordinates. They provide a memorable way to access computers around the world.
In this knowledge base you can find a detailed explanation of domain names and how their registration works and also a technical outline of how they point to IP addresses using DNS (Domain Name Service).
Communication Protocols
Computers speak to each other in protocols. Here we are concerned with application level protocols (see more at Wikipedia).
Website access happens over HTTP (Hypertext Transfer Protocol), file transfers happen over FTP (File Transfer Protocol). These standardise the format and language of communications between ‘user agents’ like browsers, software, mail clients - and web servers.
A HTTP response, for example, will return a status code
, which gives the user agent information about whether a web page is valid. We use this for our monitoring checks: if a 200
response is received then the request was responded to satisfactorily, whereas a 403
means that the user request was forbidden, and 404
means the page was not found. More information here.
Here are a few key protocols:
Protocol | Full Name | Description |
---|---|---|
HTTP | Hypertext Transfer Protocol | Used for transmitting website data |
FTP | File Transfer Protocol | |
FTPS | Secure File Transfer Protocol | |
SSH | Secure Shell Access | |
SSL/TLS | Secure Socket Layer | |
DNS | Domain Name Service |
Languages
Within the protocol response, content is also returned in a format that can be ‘read’: interpreted and rendered by the receiving computer.
For example, a webpage is built in HTML, and the browser needs to know where to start the font, what size to have it, where to put images, what colour the hyperlinks should be, and so on. The components of most websites include:
- HTML - The basic content on a webpage that sets texts, paragraphs, headers and so on
- CSS - Cascading Style Sheets, which define styling, fonts, colours
- IMAGES - Again in code
- JAVASCRIPT - Code which is run at the client-side (browser) to render the page. Often used for dynamic objects such as image carousels.
Sometimes if your website partially works, this is because one of the four components above is not working. Here are some reasons why a site might only be partially loading.
Read Next
- How domain name registrations and transfers work
- All about DNS and Nameservers
- Monitoring a website with fixed.net.