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