Computer Network Tutorial

Introduction of Computer Network Types of Computer Network Network Topology Computer Networking Architecture Transmission Modes (Data Flow) Basic Networking Devices Integrate Services Digital Network (ISDN)


OSI Model TCP/IP Model

Physical Layer

Digital Transmission Analog Transmission Transmission Media Switching

Data Link Layer

Error detection and Error correction Data Link Control Multiple Access Aloha

Network Layer

Network Layer - Logical Address Address Mapping Unicast Routing Protocol

Transport Layer

Process to Process Delivery User Datagram Protocol Transmission Control Protocol Stream Control Transmission Protocol Session Layer and Presentation Layer

Application Layer

Domain Name System Application Protocol E-mail Cryptography


Classes of Routing Protocols Classification of Routing Algorithms Controlled Access Protocols in Computer Networks Differences between IPv4 and IPv6 Fixed and Flooding Routing Algorithms Advantages and Disadvantages of Fibre Optics Cable APIPA Difference between Active and Passive FTP Fiber Optics and its Types Method of Joining and Fusion of Fiber Optic Cable Define Framing in Computer Network Disadvantages of Computer Network Mesh Topology Diagram in Computer Network Ring Topology in Computer Network Star Topology in Computer Networks 4G Mobile Communication Technology Advantages and Disadvantages of LAN Advantages and Disadvantages of MAN Advantages and Disadvantages of WAN Application Layer in OSI Model Cyclic Redundancy Check Example Data link layer in OSI model Difference between Transport and Network Layer Hamming Code Example Network Layer in OSI Model Session Layer in OSI Model Transport Layer in OSI Model Two Port Network in Computer Networks Uses of Computer Networks What is Computer Network What is Framing in a Computer Network Advantages and Disadvantages of Bus Topology Difference between Star Topology and Bus Topology Subnetting in Computer Network Subnetting Questions and Answers What is Bus Topology What is Network Topology and Types in Computer Networks Access Control in Networking Basic Characteristics of Computer Network Benefits of SOCKS5 Proxy in Computer Networks Computer Network viva Questions Difference between BOOTP and RARP Difference Between Network Topologies and Network Protocols Difference between NFC and RFID Difference Between Point-to-Point Link and star Topology Network Differences Between MSS and MTU Differences Between Trunk Port and Access Port Different Modes of Communication in Computer Networks MIME Protocol in Computer Networks Modes of Communication in Computer Networks Network Attack in Computer Network Port Address in Networking Simplest Protocol in Computer Network Sliding Window Protocol in Computer Network Stop And Wait Protocol in Computer Networks TCP 3-Way Handshake Process in Computer Networks What is a Proxy Server What is APPN What is ICMP Protocol What is Point-to-Point Protocol What is Port Address in Networking What is the HDLC Protocol What is VRRP Protocol Difference Between Analog and Digital Signals Difference Between Hub and Repeater Difference between Repeater and Switch Difference Between Transparent Bridge and Source Routing Bridge Source Routing Bridge in Computer Networks Transparent Bridge in Computer Networks Transport Protocol in Computer Networks Types of CSMA in Computer Networks What is Wired and Wireless Networking Network Security in Computer Network Disadvantages of Extranet Difference Between TELNET and FTP Define Protocol in Computer Networks Guided Transmission Media in Computer Network What is a Gateway in a Computer Network IGMP in Computer Networks LAN Protocols in Computer Networks MAN Meaning in Computer Modulation Techniques in Computer Networks Switching in DCN TCP/IP Applications What is IGMP? What is Modem in Networking What is Non-Persistent CSMA Difference between Cell Splitting and Cell Sectoring Forouzen Computer Network Open Loop and Closed Loop Congestion Control Types of Cluster Computing WAP-Wireless Access Point What are the elements of the Transport Protocol Difference between Gateway and Switch Flow Control in Data Link Layer Body Area Network Flooding in Computer Network Token Ring in Computer Networks VoIP in Computer Networks What is Infrared Transmission Congestion Control Techniques Forward Error Correction (FEC) Switching Techniques What is Telnet in Computer Network What are the Types of IPv4 Addresses IEEE 802.6 (DQDB) IEEE 802.15.4 Technology What is HDLC (High-level Data Link Control)? What is SMS Hubbing in Telecom? Circuit Switching in Computer Networks Communication Satellites in Computer Networks Features of HTTP Protocol IMAP4 (Internet Message Access Protocol) Internet Services How to Set up a Wireless Router Internetwork Routing in Computer Networks Distributed Computing System Features of GSM The 802.11 MAC Sublayer Protocol What is IEEE 802.3? What are Hubs and Switches in Computer Networks? What is Modem in a Computer Network? What is multicasting in Computer Networks? GSM -The Mobile Station What is Network Server? Slotted Aloha in Computer Network What is Ethernet in Computer Networks What is Arpanet? Radio Access Network (RAN) TCP 3-Way Handshake Process PING SWEEP (ICMP SWEEP) Print Server Private IP Address Security Services in Computer Networks Protocol Data Unit (PDU) CSMA with Collision Avoidance (CSMA/CA) What is Gateway in Computer Network? Advantages of Networking Data Link Layer Design Issues DHCP in Computer Networks Internet Security Association and Key Management Protocol (ISAKMP) What is Switch Hub? Telnet Full form in Networking Multimedia Systems Quality of Service in Computer Networks What is Carrier Sense Multiple Access (CSMA)? What is Circuit Switching What is Duplex Network? What is Web Protocol Network LAN Technologies Classes in Computer Network Low-Density Parity Check (LDPC) Wireless Internet Service Providers(Wisps) What is Handshaking?

Distributed Computing System

What is a Distributed System?

A distributed system is made up of many separate computers working together to provide the impression of a single, cohesive unit to the user.

In a distributed system, the computers talk to each other in order to achieve a shared goal. The computers in a distributed system might be located in several locations or a single physical location. A distributed system's primary advantage is its capacity to surpass a single computer system in terms of availability, dependability, and performance.

Through distributed computing and databases, several workstations share resources and processing power. Multiple nodes, communication networks, and distributed middleware that manage node-to-node communication are the essential elements of distributed systems.

Nodes are autonomous computer components that exchange messages with one another. Information is exchanged between nodes via a communication network. The software layer that sits between distributed applications and the underlying network infrastructure in distributed systems is known as distributed middleware. It facilitates efficient and dependable distributed computing by offering functions like resource management, coordination, and communication.

The architecture of distributed systems is designed to provide fault tolerance (the capacity to continue running in the event of node failures or network issues), scalability, and high availability by dividing the workload and data across several nodes.

How do distributed systems work?

A job has to be split up into smaller subtasks and dispersed among a number of network nodes or computers in order for distributed systems to operate. After that, these computers, or nodes, interact and work together to complete the assignment.

Distributed Computing System

An outline of the four phases that comprise the operation of distributed systems is given below:

Decentralized Components

Many components, or nodes dispersed over many physical or virtual locations, make up a distributed system. These components may talk to one another across a network in order to complete a single task.


The components of a distributed system may speak with each other using a range of tools and protocols, such as message queues, TCP/IP, and HTTP. The protocols provide communication between nodes via the exchange of data or messages.


In order for the components of a distributed system to work successfully together, they need to coordinate. To accomplish this coordination, a number of techniques may be used, including distributed transactions, consensus protocols, and distributed algorithms.

Fault Tolerance

 Fault tolerance should be considered while designing a distributed system. This suggests that it should be able to manage individual component or node failures without compromising the system's overall availability or performance. In order to provide fault tolerance, distributed systems use segmentation, redundancy, or replication techniques.

A distributed system is exemplified by an internet search engine, which consists of several nodes doing different tasks such as indexing material, crawling websites, and managing user requests. Together, these nodes provide consumers with efficient and timely search results.

Another example of a distributed system is the Blockchain, a decentralized ledger that publicly and securely records transactions. Because the ledger is held on many network nodes, each of which has a copy of the whole ledger, it is dispersed, enabling increased security, resilience to failures, and transparency.

Key Features of Distributed Systems

Numerous applications, such as social networking sites, cloud computing, and online shopping, leverage distributed systems. Distributed systems differ from other computer systems due to their unique features.

Concurrency is one such feature of distributed systems that allows many processes or threads to run concurrently. This feature increases system efficiency. However, it may also lead to issues like deadlocks.

In distributed systems, a deadlock is a state in which two or more processes are stalled and unable to go on as they wait for one another to relinquish a resource. The intrinsic difficulty of coordinating several processes running simultaneously across different nodes may lead to deadlocks in distributed systems.

Scalability is another essential feature of distributed systems. They should be able to expand horizontally by adding additional nodes in order to manage increasing workloads and support more users. Additionally essential to distributed systems is fault tolerance. They should be able to tolerate failures of individual nodes or components without compromising the functionality of the whole system. Heterogeneity, or the ability for nodes to have different hardware, software, and network configurations, is another characteristic of distributed systems. Collaboration and communication may be challenging because of the variety.

Another essential component of distributed systems is transparency. They should shield users from the complex inner workings of the underlying system while providing them with transparent access to network-wide resources and services. Security must also come first in distributed systems. They must be built with security in mind to prevent illegal access, data breaches, and other cyber dangers.

Consistency is another need that distributed systems need to meet. They need to maintain data consistency across several nodes in the face of simultaneous updates and failures. When it comes to distributed systems, performance matters; they must be capable of maintaining acceptable performance levels in spite of rising transmission costs and other distribution-related issues.

Types of Distributed Systems

There are many different kinds and designs of distributed systems; each was developed to meet certain requirements and challenges. A number of considerations, including fault tolerance, security, scalability, and application needs, influence the choice of architecture.

The client-server architecture is distributed system architecture. With this method, a client sends requests to a server, which processes them and responds. This architecture is often used in online applications, where the server hosts the web page, and the web browser acts as the client.

Peer-to-peer (P2P) systems represent an additional category of distributed systems. In this design, all peers, or nodes, are equal and have the ability to function as clients or servers. Peers may solicit resources from one another and provide them. BitTorrent and other file-sharing programs have used this design.

A third kind of distributed system is the distributed database system. In this design, a database is spread among several computers or nodes, and they collaborate to store and manage the data. This architecture is often used by large-scale systems that need high availability and scalability, such as social networking platforms and e-commerce websites.

Another distributed system is the distributed computing system, where several computers work together to solve difficult computational tasks. This design is often employed in scientific research when several computers are needed to analyze large data sets or simulate complex processes.

Distributed systems also include hybrid distributed systems, which combine many ideas or designs. A distributed system may utilize client-server architecture for web requests and a P2P design for file sharing.

Advantages and Disadvantages of Distributed Systems

Improved speed, fault tolerance, and scalability are just a few benefits of distributed systems. They do, however, have some drawbacks, such as the need for specialized skills, complexity, and coordination issues.

Comparing distributed systems to conventional centralized systems, there are a number of benefits. Scalability is a very advantageous feature. Distributed systems may easily add new nodes to handle expanding workloads and accommodate more users. Distributed systems can handle high availability and significant traffic without sacrificing performance because of their scalability.

Another advantage of distributed systems is fault tolerance. Because other nodes may take up a failing node's duties, the system can still function. Distributed systems, as opposed to centralized ones, are thus less susceptible to hardware or software failures. Distributed systems may also shorten processing times and increase throughput by allowing computation to be divided across several nodes.

Distributed systems can have some disadvantages, however. For example, since distributed systems consist of several nodes that may be dispersed geographically, it may be challenging to coordinate communication and guarantee that all nodes consistently comprehend the system. Issues with consistency and concurrency could arise from this.

Another disadvantage of distributed systems is their complexity. Because distributed systems are inherently more complicated than centrally controlled systems, they may sometimes be harder to maintain and have more security vulnerabilities. Certain skills and expertise may also be needed for the design and upkeep of distributed systems, which might increase their cost and complexity.

Future of Distributed Systems

Distributed systems have a bright future as long as technology keeps developing. Two cutting-edge technologies that will have a big impact on distributed systems in the future are cluster and grid computing.

Cluster computing is the process of combining many networked computers to function as a single unit. Apart from improved fault tolerance and processing power, the technology also offers higher scalability. With the continued decline in hardware costs, cluster computing is expected to become increasingly widely employed in high-performance computing applications.

Big data processing may take advantage of cluster computing. Cluster computing may be used to process and analyze data more effectively as it rises exponentially in volume.

Similarly, cluster computing may be used to speed up and increase the accuracy of procedures like data processing and model training in disciplines like artificial intelligence and machine learning, which need high processing power.

Geographically dispersed resources may function as a single system thanks to grid computing. Businesses may collaborate on complex projects that would be difficult or impossible to finish with traditional computer procedures by pooling resources and using this technology.

For example, grid computing can instantly mobilize resources from all around the globe to help with response operations in the case of a natural catastrophe. Grid computing allows Bitcoin miners to link their computer capabilities with those of other miners across the globe, increasing their chances of receiving rewards.

This offers a distributed network of computing power that may collaborate to solve mathematical problems more quickly and efficiently as compared to lone miners working on their own. As cloud computing advances, grid computing is expected to become more important for data processing, scientific research, and other large-scale computer applications.