Well, guess what? Yeeeeaaaaahhhh... Still haven't completed it. Yes, I know, I did say that I had almost finished... But I have set myself a deadline - I must finish my Copter game by the 31st March 2013.
In technology lessons, we've moved on to networks, IP addresses and protocols. Last lesson, we looked at IP addresses, the TCP/IP protocol and domain name servers. We wrote a few paragraphs explaining what those things are. OK, so "few" is a rather subjective word, and, as you've probably already guessed, I interpreted it to mean "at least 3 pages". So.... Here's a very entertaining and informative mini-essay on domain name servers, IP addresses and the TCP/IP protocol...
Domain Name Server, IP Addressing and the TCP/IP Protocol
Note to Self:
This is not directly related to DNS and IP addressing, but REMEMBER:
2n+2n-1+2n-2+2n-3+…+1=2n+1-1
E.g. Convert the binary
number 1111111111 (10 1s) to decimal:
There are ten 1s, so 1111111111 is 210-1 = 1023 in
decimal.
What is an IP
address?
IP addresses are like telephone numbers or house addresses for
computers. Each machine on a network has an IP address that uniquely identifies
it, as no two computers have the same IP address. Nowadays, computers on most
networks, and all computers on the internet use the TCP/IP protocol as the
standard for how to communicate on the network. There are two standards for IP addresses: IPv4 and the newer
standard, IPv6.
IPv4:
IPv4 is the IP address standard that most people are familiar with.
If you asked a random person on the street what something like “216.27.61.137”
was, they would probably say “IP”. All computers with an IP address (or many IP
addresses) have an IPv4 address. Each IPv4 address is made up of four decimal
numbers separated by dots, such as the example given, each of which is the
base-10 representation for an eight-digit binary number. 4 x 8 = 32, so each
IPv4 address has 32 binary bits. As each bit can take one of two values, 0 and
1, there are altogether 232 = just under 4.3 x 109, or
4.3 billion unique IPv4 addresses. Of course, the internet is currently growing
at a staggering rate, so although 4.3 billion IP addresses may seem like a lot,
it really isn’t. In fact, pretty soon the number of available unique IPv4
addresses will run out, considering that at the moment, [stats here!!]. In
order to provide machines with a wider range of IP address options and postpone
the day all IP addresses are taken and a global technological apocalypse
occurs, some nerds invented IPv6, which offers much more addresses.
IPv6:
IPv6 uses even more binary bits – 128 of ‘em, in fact. An IPv6 address consists of eight groups of hexadecimal (base-16) numbers separated by colons, such as 2001:cdba:0000:0000:0000:0000:3257:9652. If there is a group of numbers that consists solely of four 0s, that group can be omitted and replaced with a colon, “:”. If there is more than one of them, you can remove them all and replace them with a single colon. Therefore, the IPv6 example can be written like this to save space: “2001:cdba::3257:9652”.
An IP address can be either dynamic or static. A static address is
one that you configure yourself by editing your computer's network settings.
This type of address is rare, and it can create network issues if you use it
without a good understanding of TCP/IP. Dynamic addresses are more common and
are assigned by the Dynamic Host Configuration Protocol (DHCP), a service
running on the network.
To find out your computer's IP address, open up command prompt,
type “ipconfig”, and hit ENTER. The originally blank, black, ominous command
prompt screen will now be littered with colourfully white text that gives you
loads of information about your IP address.
Here is my computer's IP address:
...What's YOUR computer's IP address??!! (God, that sounded
cheesy...)
Say your computer is connected to a server. If you're really bored
and want to play around with command prompt try typing “ping [IP address of
server]” (no, seriously, “ping”) and hitting ENTER. Four packets of data
(see next section) will be sent to the server and in reply, the server will
send four packets of data back to your computer. Pretty cool, huh?
Websites also 'have' at least one IP address; technically, the IP
address belongs to the server, which is why some websites like google.com
'have' several (Google has loads of servers).
TCP/IP protocol:
TCP/IP stands for Transmission Control Protocol / Internet
Protocol.
A protocol is like a computer language. Protocols are used by
computers to communicate with each other.
Now, many people get confused by what TCP/IP means. It is, in fact,
a whole group of protocols, including the TCP, IP, HTTP and DNS protocols.
Let's use an analogy to understand how TCP/IP works better.
Dave wants to send a letter to his brother Squeak, who lives a long
way away on the moon. OK, so, what does he do once he's written the letter?
1.
He puts it in an envelope
2.
He writes his brother's address on the envelope
(25 Cheese Lane, Crater #605, Moony, Eclipseshire)
3.
He then puts it in the nearby postbox
4.
As his brother lives on a different
planet/satellite/space thing, Intergalactic Mail provides a “Make Sure He Got
It” service. They will send Dave a letter to confirm that his brother has
received his letter when the letter reaches its destination.
Now, back to the 21st century. Let's say you're on the
computer, and you're about to go onto the BBC website (yay, BBC!)
1.
The data to request the BBC website is split
into smaller chunks, which are then transformed into what's called packets (this
process is known as “packaging”; it's a bit like putting the letter in the
envelope)
2.
The BBC website (or rather, the BBC server) has
an IP Address, which is “put on” the packet (writing the address on the
envelope)
3.
The packets travel through the Local Area
Network, or LAN (think of the LAN as a motorway on Earth). This is the network
that connects servers and computers in your home with one another.
Unfortunately, like on a real motorway, accidents do happen; in fact, they
happen all the time. Packets get destroyed. They explode. Spiral into oblivion.
Get lost. Forever. **Sniff**
4.
The packets that survive the journey through the
LAN reach the router, which sends them on their way through wires and other
“roads” that connect routers on the World Wide Web (The intergalactic highway
that connects Earth with the moon). The packets reach the BBC's server, where
they're unpacked and the data they're carrying is read.
5.
The server then “fills” the packets with the
data that the original data requested (the letter to confirm that Dave has
received the letter), in this case data to load the BBC website, and sends them
on their way back to your computer.
And that, ladies and gentleman, is how TCP/IP works! Simple really.
Here is the link to a YouTube video about TCP/IP that is incredibly
useful and easy to understand – check it out: http://www.youtube.com/watch?v=HOaIqQAeaik
Domain Name Server:
The Domain Name System (not server), or DNS, is one of those hypercool (a French word :)) protocols in the TCP/IP suite. Its job is to translate plain old URLs into phenomenally awesome IP addresses (resolve a
domain name to an IP address).
You see, we humans find it easier to remember names and words than a bunch of seemingly random numbers. The IP address of clubpenguin.com (aaahh, childhood memories....) is 204.75.167.126, and you can directly type
“http://204.75.167.1261” in the address bar, but “clubpenguin.com” is much
easier to remember.
So, you've just typed “http://clubpenguin.com”in the
address bar and the Club Penguin website just loaded. But what went on behind
the scenes in those milliseconds that it took your browser to load the site?
Well, straight after you hit ENTER, your computer contacted a Domain Name Server, or DNS server (aaahh! Why's there a double 's'?), which looked up the domain name “clubpenguin.com” in a virtual 'phone book' , or database, of IP addresses. If the domain name is not in its cache, it contacts another DNS server. Google has a DNS server, as does Norton ConnectSafe, DNS Advantage, Securly... (Source: http://pcsupport.about.com/od/tipstricks/a/free-public-dns-servers.htm)