Introduction to networks, the OSI model, and network programming using sockets
Two or more computers can interact using networks. For example, computers connect to the internet using a hardware component called a network adapter or a network interface controller (NIC). The operating system installed on the computer provides drivers to work with the network adapter—that is, to support network communications. The computer must have a network adapter installed with an OS that supports the networking stack.
By stack, we mean the layers of modifications the data goes through when traveling from one computer to another. For example, opening a website on a browser renders data gathered through the network. That data is received as a sequence of zeros and ones and then transformed into a more intelligible form for the web browser. Layering is essential in networking. Network communication as we know it today consists of several layers conforming to the Open Systems Interconnection...