Some thumb rules for basic computer networking operation

Lists out some basic attributes of computer networking including similarity to postal networks, packet switching, next-hop routing, layering and types of services.

  • Computer Networks operation principle is similar in many aspects to that of postal networks, in that both use next hop routing and not end-to-end routing. Also there is no concept of end-to-end circuit reservation in both these networks. 
  • Each communicating computer need to have at least one IP address to uniquely idenltify it in the network
  • Data is split into smaller units called packets and transferred using packet switching. A packet header encapsulation enables each packet to be independently routed through the underlying computer network. 
  • At every hop, next hop routing is used to identify a suitable neighbor, that is closer to the destination computer, to pass on the packet in its journey from the source computer to the destination computer.
  • Each telecommunication link that is part of the data exchange is not reserved for specific packets and is usually shared between packets belonging to different sessions.
  •  Data Link layer and physical layer are together used to carry a packet to the next hop (neighboring computer)?
  • Actual data communication between next hop neighboring computers happens at the physical layer through transmission of appropirate electrical/electromagnetic/optical signals
  • Computer networks primarily provide two types of services to the application. They are i) a reliable byte stream oriented service and ii) an unreliable best effort message oriented service.
  • Layering in computer networks helps in maintaining modularity and simplicity to the whole operation. Hybrid layering model is the one that is practically used.

Main types of services offered by computer networks to applications

Describes the two primary types of service offered by computer networks, namely reliable byte stream oriented service and an unreliable best effort message oriented service.

Computer networks primarily offer two types of services to the applications. They are

i) a reliable connection oriented service byte stream service –

  • In this type of service, the network offers a reliable byte streamed logical pipe between the sending and the receiving computers (similar to a registered post service offered by the postal department).
  • By reliability, it means that every byte/bit sent via. the logical pipe from the sender is guaranteed to be received a) in-order as it was sent b) without a single bit/byte loss and c) without corruption of a single bit/byte even though the data travels over an underlying unreliable and erroneous media.
  • By byte-oriented, it means that the basic unit of transfer is a byte.
  • TCP (transmission control protocol) is the primary reliable protocol provided by computer networks for applications.

ii) an unreliable message oriented best effort service

  • In this type of service, the network offers an unreliable best effort message oriented logical pipe (similar to the ordinary post service) between the source and the receiving computers.
  • By best effort, it means that the network would try its best to deliver data between the end points, but it cannot provide a guaranteed assurance that every bit/byte sent by a sender is received intact at the receiver.
  • By unreliable, it means that if data packets are lost due to the erroneous nature of the underlying transmission channels (wired/wireless telecommunication links), then the network would not make any effort to detect such losses and take appropriate corrective action.
  • By message-oriented, it means that the basic unit of transfer is a sequence of variable length bytes termed as a message
  • UDP (User Datagram protocol) is the primary unreliable best effort service protocol provided by computer networks for applications.

There are other variations of these two primary types like a message oriented reliable service (e.g. Streamed Control Transport Protocol (SCTP)), but this discussion confines to the two primary types.

The table given below lists out the differences between the two types of service described above:

Comparison of two primary types of services offered by computer networks
Comparison of two primary types of services offered by computer networks

Some of the points given in the above table are explained below:

  • Flow control is the ability of the sender to dynamically control the sending rate/speed based on the receiver’s buffering/processing capability, so as to prevent loss of data at the receiver.
  • Congestion control is the ability of the sender to control the sending rate/speed based on the underlying network’s bandwidth/processing capability (which may vary instantaneously), so as to prevent loss of data inside the network.
  • Real time applications are those applications that cannot tolerate variable delays during transmission between the sending and the receiving computers. Examples are audio, video conferencing, voice transmissions etc.
  • Non-Real time applications are those applications that are not affected by variable delays during transmission between the sending and the receiving computers. Examples are file transfer, email etc.