Wireless Home Networking Game Programming

Ethernet Networking







Networking Primer

I'm going to attempt to describe a few networking basics to at least help define the problem you are facing. Perhaps you could open a nice fresh beer and bear with me for a moment.

Networks are ways for computers to communicate with each other. Networks are to computers what the telephone system is to people.

For computers to communicate, they have to have three things, at least, nailed down big time:

  1. There has to be some path to carry messages between them.
    We're talking wires here, usually. If there's several computers at your end, then we're talking about your "LAN" or Local Area Network. Local, as in right in your own home or office. If you want to connect your computer to computers on another LAN somewhere else, then you have to connect your LAN to a WAN, or Wide Area Network, that can connect to the other LAN. The WAN can include satellites, fibre optics, and tin cans with strings between them. Most often, the WAN is the public internet, and the LANs at each end are connected to it using Modems or Routers. The WAN is what we pay the big bucks to UUNet and AT&T and Qwest for.
  2. They have to communicate in a compatible format.
    The fact that you can use your telephone to call up someone's fax machine does not let you send a fax from your phone, unless you know how to whistle in a very special way. Your voice and the fax machine use different formats to communicate. The format of choice for the Internet is TCP/IP. This may come as a shock, but Microsoft neither invented TCP/IP nor have they been able to replace it with something proprietary (yet). I hope you don't consider that a fatal flaw. TCP/IP was invented by some really bright guys with beards back in the '60s. It was designed to provide fail-safe communications even if the Ruskis dropped the bomb on New York City so Slim Pickens would have to ride one of our bombs down to Moscow. It is a really cool.
  3. They have to understand the same language.
    If someone called you up and started talking in Chinese, you would probably not be able to understand them, even though you are both using voice communication and you have a connection between you. (If you actually speak Chinese, substitute Italian in this example. If you also speak Italian, substitute Navajo. Gotcha.) Like people, computers need to understand the words that are transmitted between them. Generally, this means that the sending application on one machine has to be talking to a compatible receiving application on the other machine.

If my computer called up your computer over a TCP/IP connection and started trying to mount one of your disks using AppleShare, there's a 9 out of 10 chance your computer wouldn't get it. If your computer tried to call mine over TCP/IP and mount a disk using Microsoft networks, there's a 100% chance it wouldn't work. This helps us Apple users keep our systems safe in a world full of evil windoze machines. Both Appleshare and Windows networks can run over the TCP/IP connection at the same time. So can http, ftp, telnet, ping and a bunch of other stuff. For more on TCP/IP, see AboutIP.html.

On the other hand, if my computer called up your computer over a TCP/IP connection, opened a socket on port 80, and sent some plain text like "GET / HTTP/1.0\n" , there's a good chance a web server on your computer would answer back with the contents of something called index.html (or .htm, if you're extension-challenged).

If all three conditions are met, the computers will happily chat away, plotting against us, I suspect.

I'm sorry Dave, I can't do that.


The Essence of the Network

Simple computer network

The diagram above shows the basic network arrangement: a group of computers and a connection to the internet, all connected together with a hub.

The computers can be anything: Macs, Windoze, Linux, SunOS, Palm Pilots. It doesn't matter, provided they can all handle the wiring (the physical connection) and they can speak the same language and can run compatible applications.

While there are other alternatives, the most common implementation is that all the computers are connected together using an Ethernet hub. The hub exchanges Ethernet information among all the connected units. So each connected machine has an Ethernet port and a wire to the hub. There are other configurations. For example in older systems, the computers were often daisy-chained, with a coax cable running from the first to the second to the third. Sometimes a switch is used instead of a hub. A hub simply relays all the traffic coming in on any port to all the other ports: it's a party line. A switch relays the traffic coming on only to the port that is the intended recipient. This improves bandwidth, since each pair of machines has its own private connection, but switches are quite a bit more costly than hubs. Hubs are only around $50-60 and are often built in to other equipment.

The connection from each machine to the hub is usually over what's called "10baseT" (or 100baseT). This term describes a set of wires and connectors that are like ordinary telephone wiring, except that it needs 2 pairs instead of the single pair that a phone needs. Other possibilities for the wiring are coax cable, special interfaces like Intel's Home Network (runs over your actual telephone lines) and Apple's AirPort (wireless, very cool, and what I'm using to write this with!)

The language on the Ethernet for the internet is TCP/IP, so we'll assume each machine speaks that language. There are other, proprietary protocols like NETBUI, AppleTalk, NFS, IPX, etc. These can often be transported over TCP (i.e., encapsulated in a TCP/IP packet), or they go over the Ethernet in addition to TCP/IP. Hubs don't care; they just relay whatever they hear. Routers and the Internet care a great deal. They will generally only route TCP/IP traffic, so if you want your Windoze network to connect machines over the Internet, you have to be running TCP/IP. At least until Bill can take it over and turn it into a proprietary MS network.

The interface to the ISP and the public Internet can be anything from a shared modem to a full-time T1 (1.5 MBit/sec) connection or better. Whatever it is, it has to deal with the traffic from all the connected computers to the Internet. If there's only one machine to connect to the ISP, then a simple modem is used, usually connected to the PC's serial port or plugged into a card slot, or just built-in. If there are several machines, then you need some kind of software or hardware that can keep track of traffic destined for each of the machines on the network. Most commonly, this is a router, or a computer running router software.

Well that's it.

To make your network, all you have to do is establish a common electrical connection among the machines, make sure they are all speaking the same language, and have a way to connect your net to the Internet.

<< Back to Wireless, Home, and Ethernet Networking


Questions? Comments? Share your thoughts on the Discussion Forums...

Web zingtech.com
Unless otherwise noted, all contents are copyright 1997 through 2007 Zingtech Computer Solutions and Michael Matczynski (). All rights reserved. If you have any questions or comments regarding this site, contact the webmaster or consult the legal disclaimer.

Check out wineries at Catch Wine.com:
Alabama Wineries - Alaska Wineries - Arizona Wineries - Arkansas Wineries - California Wineries - Colorado Wineries - Connecticut Wineries - Delaware Wineries - Florida Wineries - Georgia Wineries - Hawaii Wineries - Idaho Wineries - Illinois Wineries - Indiana Wineries - Iowa Wineries - Kansas Wineries - Kentucky Wineries - Louisiana Wineries - Maine Wineries - Maryland Wineries - Massachusetts Wineries - Michigan Wineries - Minnesota Wineries - Mississippi Wineries - Missouri Wineries - Montana Wineries - Nebraska Wineries - Nevada Wineries - New Hampshire Wineries - New Jersey Wineries - New Mexico Wineries - New York Wineries - North Carolina Wineries - North Dakota Wineries - Ohio Wineries - Oklahoma Wineries - Oregon Wineries - Pennsylvania Wineries - Rhode Island Wineries - South Carolina Wineries - South Dakota Wineries - Tennessee Wineries - Texas Wineries - Utah Wineries - Vermont Wineries - Virginia Wineries - Washington Wineries - West Virginia Wineries - Wisconsin Wineries - Wyoming Wineries