[2001] What is a network?
When software or hardware wants to exchange data it can do it through data cariers like harddrives, but another way is through one or more digital links between them. These links can be physical like a twisted-pair cable or wireless like WiFi. All the software and hardware connected to each other is called a network. The software and hardware between the links are called nodes. In order to get data from one node to another node it will need to know how to communicate between each other. This is layed out in a so called protocol. There are many different protocols. All the nodes will have there own address so the data can be addressed to a specific node. Also here there are many different types of addressess. And last there are many ways to connect all the nodes in a network together. The way they are connected is called a topology. And as you might have guessed there are many different types of topologies.
There a many ways how nodes can be connected. All with its own advantages and disadvantages. The simplest one is a point to point topology. This is where a node is directly connected to another node. But this forms a limited network. Other common topology types are: Bus, Star, Ring and Mesh. And you can combine any of the topologies to combine a hybrid topology.
Protocols describe how systems start a connection, how to close one and also what commands are available. These commands have correct and error responses. Many protocols are publicly available but there are also a lot of proprietary ones. But all of them detail how nodes can communicate with each other. In the seventies the OSI model was created because there was a strong need to make networking easier. It was made difficult because there were many proprietary protocols that all were doing things differently. The Open Systems Interconnection (OSI) model describes 7 layers. Each layer forms its own abstraction and has clear input and output formats defined. This makes it possible to replace a protocol on a layer because it still has to supply data to the next layer in a specific format. This way the protocol in a layer higher does not need to know which protocol provided the data. One of the protocols you might have heard of is the HTTP protocol. Its a protocol for serving webpages and it works on the highest level of the OSI model. And another well known protocoal is the Internet Protocol (IP) and it works on layer 3 of the OSI model. The model is not perfect because not every protocol fits in just one layer but it does help with reasoning about networking.
In order to start the excange of data we need to know the addresses of a node. Most likely a node has more then one type of address but this all depends on the protocols used. A common set of protocols are Ethernet and IP. The Ethernet protocol defines how to exchange data packets between nodes. It uses socalled MAC addresses which stands for Media Access Control. It's a 48bits number that is unique for each Ethernet device. If the IP protocol is used together with Ethernet it sits one abstraction layer above the Ethernet protocol. It uses socalled Internet Protocol addresses. The version of IP addresses that is used most widely is version 4 also known as IPv4. And it uses a 32bits as an address. To know which IP address belong to what MAC address the system can use the ARP protocol, which stands for Address Resolution Protocol. An example of an human readable IPv4 adress is 8.8.8.8 and an example of an human readable MAC address is 37:26:AE:77:28:51.
The field of networking is realy big, so there is a lot more to discuss and I will come back to them in seperate posts.
Attribution
The first computers were connected through modems. The first modem in use, the Bell 101 Dataset modem [1], was invented by AT&T Corporation.
The concept of packet switching have been independently developed by Paul Baran [2] and Donald Davies [3].
Ethernet was invented by Robert Metcalfe [4], David Boggs [5], Chuck Thacker [6], and Butler Lampson [7].
The TCP/IP protocol was invented by Vint Cerf [8], and Bob Kahn [9].
Further reading
Wikipedia has a nice article on computer networks [10].
References
[1] The wikipedia article on the Bell 101 Dataset modem
[2] The wikipedia article on Paul Baran
[3] The wikipedia article on Donald Davies
[4] The wikipedia article on Robert Metcalfe
[5] The wikipedia article on David Boggs
[6] The wikipedia article on Chuck Thacker
[7] The wikipedia article on Butler Lampson
[8] The wikipedia article on Vint Cerf