by Terralthra
Wrong.
These pseudo-l33t people are called "script-kiddies." They're l00t. They're llamas. They have no true ski11z.
True l33tness comes not from the ability to crash someone's computer or hax0r someone's website. Those are just symptoms of true l33tness. True l33tness comes from knowing how the Net works.
To the end of educating some of the unl33t out there, I'm going to explain how the Internet works. Unfortunately for most of you, the Net is pretty complicated. You may find yourself wanting to go back to the halcyon days of script-kiddying. But if you read every one of my columns from now till I exhaust my knowledge, you will be able to consider yourself truly l33t.
Now, step one of how to be l33t is to start at the basics: how things on the Net get where they have to go.
Simple, right? You put in the name of the website, you go there and you read it, or download it, right?
Again, wrong.
There are a lot of steps involved in getting something from one place to another on a network, which is really what the Internet is. We'll start at the most basic level there is, a two person network.
On a two person network, there is no need for routing, or any other complicated stuff. Everything sent by one computer is going to the other one, and vice-versa. Only when we add in a third person on the same network do we get to complicated matters.
Ok, you've got three networked computers all sending data to each other and receiving data from each other. The problem is, how do you know which data is going where? The automatic response from a computer person is to give each machine a number, so they did. This is the basis for the IP scheme which currently dominates networked computers. If you are on the Net right now, you have a unique (probably) IP. (I say probably because it's possible to have IP duplication, I'll get to that in a second) Want to see your IP? Simple. If you are running Windows 9x, go to Start->Run and type "winipcfg." On NT, open up a command prompt and type "ipconfig." If you're on a linux comp, run "ifconfig" from the terminal, and if you are on a Mac, you will never be l33t. Stop reading.
Now, this will give you a 4 part number. For instance, mine right now is 12.98.80.243. Each part of this is called an octet and ranges from 1 to 255. Those of you with some binary knowledge will realize that that's 2 to the 8th power minus 1, thus the name. In other words, each number in the sequence is represented by a byte. Pretty nice, eh? Every computer on the Net can be referrd to with 4 bytes of information, for approximately 4,294,967,296 computers, give or take. Now, the IP scheme is simple: every bit of information sent out on the Net is sent out with the IP of the computer it's intended for. After it's sent, it becomes the receiving computers problem. It is the job of a computer on the Net to sort through all the packets it receives, sorting out those with its IP and processing them.
If you have three computers on a hub, every computer receives every datum sent out by every other computer on the network. Any data not intended for a computer is simply thrown away, while any that are intended for the computer are processed appropriately. In essence, every computer on a hub has a direct connection with every other computer on the hub.
Still with me?
We're only on 3-person networks with no routers or anything. But we're about to dive into routing, so if you're not with me, go back and re-read the first part till you get it.
Now we have a problem, and that's that with enough people on a hub, it gets saturated. One can only send so much data, and with any more than about 12 people doing standard network activities, any hub is going to run out of throughput. So, how do we get around this problem?
The answer is routing.
We've got, say, 20 people all wanting to be networked together. If we put them all on a single hub, the hub will be saturated, information will "collide" and data will be lost, resulting in slowdown, eventually arriving at a major bogdown for any network traffic. This is bad.
So, the makers of IP invented the router. Handy device. Here's how it works. We'll put 10 people each on two hubs, approaching saturation, but still just fine, right? And now, we'll put another computer there, on both hubs. This is our router.
The router's got a little table in it called (you guessed it) a routing table. It's basically a matrix, in this case 2 columns. One column is labeled "0" and one column is "1." It also has two network ports (coincidence? I think not...) labeled 1 and 2. 1 is hooked into one hub, 2 into the other. Now, it takes a second to fill up the table, but here's what it does. Everytime it receives data from a computer on the first hub (remember, all data in a hub-network is sent to every computer on the network), it writes the IP of that computer down in the routing table in column 1. Likewise the other hub and column 2. Then, whenever it gets data from hub #1 with a destination address in column 2, it simply passes that packet along to the other hub. Every packet gets where it needs to go (oops, packets. That's next column) and bandwidth is majorly saved.
Ok, I'm tired of writing about this stuff, but basically the Internet is a series of routers and hubs, all getting data to the place it needs to go. But how do we send this information? That's IP explained, next week we'll get to the other half of the acronym: TCP.
Oh, one more thing I forgot to cover earlier. Remember how I said some IPs weren't necessarily unique? There are some IPs that are reserved as "Internal Use Only." Any IP consisting of 10.0.0.x or 192.168.x.x is reserved, and non-routable to a degree...if a router gets information with a destination, it will not pass it along, and it will not store the IP in its table. If you are behind a firewall, masquerade box (more info in later columns), or other form of router, you might have an IP in this range, and there will be many IPs similar to yours in the world. Don't worry about it, the makers of TCP/IP have ya covered.