Networking has a reputation for being a complicated topic. Many people can work on their PCs all day long but throw their hands up in frustration when it comes to networking. This subject brings technical types to the point of calling their neighborhood geek to the house with the order “just make it work”. Many times, this frustration is born out of simply misunderstanding the basics of networking. So, in this section, I will explain the basics of networking in simple terms.
We know that networking allows computers to talk to one another. We know they are connected using cables in some cases or using radio waves in other cases. The rate of data flow in network cables is very fast. And it has been said that if you could see all the network traffic in the air around you, the air would be black. So, how do computers actually talk to each other? What allows a computer to know that a particular signal is meant for it and not another device?
The first thing to understand is the idea of the protocol. A protocol is a set of rules which are programmed into computers using software. These rules form the agreement by which two devices talk to one another. A protocol is similar to a language between two human beings. If you take a person from mainland China and a person from the United States and place them in a room, they will have an environment in which to communicate but most likely they will not know the other’s language. Therefore real communication cannot take place. However, if you could “program” into each person the rules of language, they would then be able to talk. A network protocol works very much the same way.
There are many different protocols out there for networks, just as human beings have many different languages. Some of the common protocols are:
- Internet Protocol (IP). This is the underlying protocol behind the Internet itself. It provides a system of addresses known as IP addresses. It is often used in conjunction with TCP.
- Transfer Control Protocol (TCP). Used most often with IP to form a common name of TCP/IP. TCP enables two devices to form a connection between themselves over an internet. The protocol contains features of error checking and retransmission in case of broken connections.
- Hypertext Transfer Protocol (HTTP). An extension of the IP protocol, this is the protocol used for making internet connections to web servers for retrieving HTML data.
- Post Office Protocol (POP3). Another extension of IP for the purpose of e-mail.
- File Transfer Protocol (FTP). An extension of IP for the purpose of file transfer over an internet.
- Simple Message Transfer Protocol (SMTP). A protocol used for sending email.
Each of these protocols (and others) works in conjunction over the internet to provide a traffic system on which data packets travel. A packet is a small block of information sent as a single unit over a network. Some simple computer-to-computer network connections used to transfer data as single, long streams of bytes. IT was basically a raw data feed between the computers. The problem was that this is not a dependable method to transfer data when you are talking about large amounts of data over longer distances. To get around that problem, protocols began breaking data into smaller chunks known as packets.
Each packet contains a “lump” of data along with addressing information such as where that packet is going. In fact, each data packet has three parts to it:
- Header. Marks the beginning of the packet and identifying information about the payload.
- Payload. The data itself which is being transferred.
- Trailer. Marks the end of the packet.
Packets are streamed across networks, one after the other, at incredibly fast speeds. The headers and trailers on the packets allow the network components to tell the different between them. The protocol uses provides the rules for the computers to interpret the data packets and act accordingly on them at the receiving end.
Every single device connected to the Internet has an IP address. An IP address is simply a unique numerical address assigned to a network device. Think of it like a street address for your computer. Each IP address is comprised of 4 numbers between 0 and 255, separated by periods. For example, 192.168.1.1 is a common IP address.
There are two kinds of IP address: public and private. A public IP address is an IP address which is viewable to the public. A private IP address is an IP address assigned to a network device within your network. For instance, a common home network setup will be several PCs connected to the internet via a router. The router provides a single public IP address for outside use. That IP address is YOUR IP address on the internet, and any device connected to the internet anywhere in the world could connect to your home network using that IP address. Inside your network, though, is a pool of private IP addresses that are used only inside your network. In most cases, the IP addresses assigned internally to your computers are the same as other home networks. IP addresses starting with 192.168, for instance, are very common inside home networks. However, that IP address would not be public otherwise half the internet would share the same IP address (which isn’t possible).
As said above, every device on the internet has a unique IP address. However, remembering IP addresses would be difficult indeed, so to make it easier IP addresses can be given a host name, also known as a domain name. For example, www.pcmech.com has a unique IP address, but chances are you did not access our site using our IP address. You typed www.pcmech.com into your browser. This translation is done by a domain name server (DNS). A DNS server stores a database of domain names and their associated IP addresses. Typing a domain name initiates a lookup on your ISPs DNS server, gets the IP address, and then connects you to that IP address.
Being that the amount of devices on the internet is so enormous, there is actually a coming shortage of unique IP addresses. The current IP system allows for 4 billion unique IP addresses worldwide, however with current internet growth rates it is estimated we will run out of IP addresses in the next decade. One solution to this is the proposed IP version 6 (IPv6) which will upgrades the worldwide IP system to 35 trillion possible addresses. This switch will occur, however in the short run ISPs have devised ways to get around the potential shortage. Two such technologies are Dynamic Host Configuration Protocol (DHCP) and Network Address Translation (NAT).
DHCP is a method of allowing an ISP to distribute reusable IP addresses, basically temporarily providing an IP address to a device on an as-needed basis. Your ISP has a certain block of IP addresses delegated to it. When you connect to the internet, your ISP assigns you a public IP address on a temporary basis. That IP address remains your public IP address either until you disconnect from the internet or until the address is “renewed” by the ISP. When you drop an IP address, it opens it up for another user on your same ISP to connect and use that IP address. DHCP is convenient for allowing ISPs to get a large number of users online using a limited range of IP addresses. Also, because the protocol is automatic, the end user (you) doesn’t need to worry about manually configuring IP addresses into your computer. All you need to do is log on and start browsing the web. All the work of IP address assignment is done automatically.
Network Address Translation (NAT) is used by routers in order to converge traffic from several private IP addresses into a single public IP address. Through the use of NAT, your router can allow several computers on your network to all access the internet at the same time even though, from the outside, your network appears as one computer.
When your router is online, it acts as a DHCP client for your ISP. The router will make a DHCP request from your ISP in order to get a public IP address. Internally, the same router will act as a DHCP server, assigning IP addresses automatically to the computers on your network. In Windows, you can override all of this and specifically assign IP addresses not only to your own machine but for the DNS server as well. However, in most cases, you can just have your router do the work for you and set Windows to “Obtain an IP address automatically”.
Client-Server and Peer-to-Peer Networks
These are the two main structures for a network. A client-server network means that one computer on the network acts as the server and then all the other computers act as clients (or terminals) for the server. All files are located on the server. Usually users log into the server with a username and password using a client computer. Sometimes the client are referred to as dumb terminals because, in some networks, the terminals have little hardware and no real capability on their own but act simply as terminals for the server. A peer-to-peer network connects all computers on the network together in a democratic fashion.
Peer to Peer networking
The primary difference is one of control. For a client-server network, the person who administrates the server controls the entire network. On a peer-to-peer network, each computer is independently controlled.
Client-server networks are used very often in internet settings or in large, business networks. It is not commonly used in smaller home networks, however. The internet is based on the concept of a web server “serving” a web page to a web browser. In this case, the end user uses a web browser to control the server. Hence, this is a client-server setup.
In LAN setups, peer-to-peer is the normal way to go. Any computer on a peer-to-peer network can act as both client or server. In fact, this is what allows simple file sharing or printer sharing on a home network. If you share a file from your computer with your network, your PC acts as server for that file. Any other network computer which accesses the file acts as the client. However, any PC on the network is capable of playing either role depending on what you set up.