I by all means don't know everything about TCP/IP, but I can write some pretty decent socket code, so here's my slightly more serious attempt to explain this.

If you have a dial-up modem, the first step is to dial in. Your modem will convert all those noisy phone beeps and the likes into the proper bytes. If authenticated (i.e. your username and password is valid), your phone line acts as a wrapper through which TCP/IP packets are sent. This is usally done through a protocol called PPP.

If you have a cable or DSL "modem" (note that these are technically not modems, but every luser insists on calling them that these days), things are slightly different. The signals from your cable or DSL line are converted to ethernet signals, resulting in a LAN-type setup.

Now, when you want to connect to a server, you first must obtain the IP address of it. An IP address is a four-byte representation of a computer on the network. It looks something like (here's my current one): An IP address is somewhat analogous to a phone number. For information on how IP addresses are obtained (i.e. how your computer figures out the IP of, say, www.everything2.com), see the well-written node "How DNS Works".

Okay, so you have the IP address. Your computer will connect to some such server on a given port. A port is a number representing where on a given server to connect. This way a computer can run many servers at the same time, up to 65536 to be exact. Common ports and corresponding protocols include: 21 (ftp), 22 (ssh), 23 (telnet), 25 (smtp), 80 (http), 110 (pop-3)

So, your computer requests to connect to a specified IP address on a specified port. This request is routed through a massive, chaotic network of routers which we all take for granted, and which are all connected to each other through digital lines of some sort. If the connection is accepted, assuming we're not talking UDP here, data is routed as stated above, eventually to and from your computer and a server in basically, a stream of ones and zeroes through what we call TCP.

On top of that, there are wrappers for protocols. These include HTTP, which "magically" gives us the web, FTP, which gives us a fairly archaic way to transfer files, and SMTP/POP/IMAP, which "magically" gives us email. Oh, and there are countless others.

This explanation is by no means everything. I didn't get into specifics and I didn't even mention UDP. But there you have it, a basic summary of how the Internet works.