Network Protocols


Network protocols are rules, procedures, and formats that govern the communication of multiple devices over a network.

  • ensures timely, secure, and managed network communication
  • govern communication
  • Without protocols,
    • the computers in a network might try to transmit messages at the same time
    • or fail to provide needed assistance to other machines
  • Using protocols, vendors are able to build products for network applications that are compatible with products from other vendors

What is the role of protocols in communication over networks?

  • Govern communication between machines
  • standardization of network applications for compatibility

Methods of Process Communication

Interprocess communication allows the activities or processes on different computers within a network to coordinate actions and complete tasks.

Client/Server Model

Client-to-server: servers on one side of the network running authentication to facilitate millions of users logging in and permitting access to specific resources based on parameters such as username, password, and system identifiers.

  • Has 2 roles:
    • client making requests
    • server satisfying client requests
  • common across organizations

Example

Printer in an office working as a print server to all computers

Peer-to-Peer (P2P)

Peer-to-peer: all devices tend to support the same functions.

  • Access to resources is provided without the assistance of a server
  • Processers both request and provide service to each other
  • common in small offices and homes

Example

  • Text messaging
  • games with multiple machines

Other

The Gnutella protocol operates without any centralized server and allows for numerous software clients to be used for access, which makes it nearly impossible to shut down.

BitTorrent, used commonly for distributing large video files, employs a “swarm” model, whereby files are downloaded in simultaneous pieces from multiple host computers.

Distributed Systems

Distributed systems execute software as processes on more than one computer.

  • has several types

What are benefits of connected computers?

  • Expand and increase the communication and effectiveness of an org
  • Costs for hardware resources are decreased

Cluster Computing

Cluster computing uses many independent computers to provide computation or services comparable to those of a larger machine.

  • provides high availability as it is likely that at least one computer in the cluster will be able to answer a request even when others in the cluster are unavailable or broken down
  • can balance loads by automatically shifting requests among the cluster members

Grid Computing

Grid computing is a type of distributed system that is more loosely coupled than clusters but still works together as a system to complete large tasks.

  • typically includes specialized software to make it easier to distribute the workload and data among the machines in the grid

Cloud Computing

Cloud computing provides large pools of shared computers that can be allocated to clients as needed.

  • Pros:
    • reliability
    • scalability
  • Cons:
    • security
    • privacy