How Computer Networks Work
Introduction to protocols
Assembling the physical pieces of a computer network by itself is insufficient to make it function – connected devices also require a method of communication. These communication languages are called network protocols.
Purpose of Network Protocols
Without protocols, devices would lack the ability to understand the electronic signals they send to each other over network connections. Network protocols serve these basic functions:- address data to the correct recipient(s)
- physically transmit data from source to destination, with security protection if needed
- receive messages and send responses appropriately
Common Types of Network Protocols
No one protocol exists that supports all the features every kind of computer network needs. Many different kinds of network protocols have been invented over the years, each attempting to support certain kinds of network communication. Three basic characteristics that distinguish one type of protocol from another are:-
1. simplex vs. duplex. A simplex connection allows only
one device to transmit on a network. Conversely, duplex network
connections allow devices to both transmit and receive data across the
same physical link.
2. connection-oriented or connection-less. A connection-oriented network protocol exchanges (a process called a handshake) address information between two devices that allows them to carry on a conversation (called a session) with each other. Conversely, connection-less protocols deliver individual messages from one point to another without regard for any similar messages sent before or after (and without knowing whether messages are even successfully received).
3. layer. Network protocols normally work together in groups (called stacks because diagrams often depict protocols as boxes stacked on top of each other). Some protocols function at lower layers closely tied to how different types of wireless or network cabling physically works. Others work at higher layers linked to how network applications work, and some work at intermediate layers in between.
The Internet Protocol Family
The most common network protocols in public use belong to the Internet Protocol (IP) family. IP is itself the basic protocol that enables home and other local networks across the Internet to communicate with each other. IP works well for moving individual messages from one network to another but does not support the concept of a conversation (a connection over which a stream of messages can travel in one or both directions). The Transmission Control Protocol (TCP) protocol extends IP with this higher layer capability, and because point-to-point connections are so essential on the Internet, the two protocols are almost always paired together and known as TCP/IP.Both TCP and IP operate somewhere in the middle layers of a network protocol stack. Popular applications on the Internet have sometimes implemented their own protocols on top of TCP/IP. HyperText Transfer Protocol (HTTP) is used by Web browsers and servers worldwide. TCP/IP in turn runs on top of lower-level network technologies like Ethernet. Other popular network protocols in the IP family include ARP, ICMP and FTP.
How Network Protocols Work
The Internet and most other data networks work by organizing data into small pieces called packets. These packet switching networks require packets to be organized in specific ways according to the protocols the network supports. This approach works well with the technology of modern networks as these all handle data in the form of bits and bytes (digital ‘1’s and ‘0s’). Each network protocol defines rules for how its data packets must be organized (formatted). Because protocols like Internet Protocol often work together in layers, some data embedded inside a packet formatted for one protocol can be in the format of some other related protocol (a method called encapsulation).Protocols typically divide each packet into three parts – header, payload and footer. (Some protocols, like IP, do not utilize footers.) Packet headers and footers contain contextual information required to support the network, including addresses of the sending and receiving devices, while payloads contain the actual data to be transmitted. Headers or footers also often include some special data to help improve the reliability and or performance of network connections, such as counters that keep track of the order in which messages were sent, and checksums that help network applications detect data corruption or tampering.