Indicate the main purpose of a computer network. Software and hardware components of a computer network Basic software and hardware components of a network

Even as a result of a fairly superficial examination of networking, it becomes clear that a computer network is a complex set of interconnected and coordinated software and hardware components. Studying the network as a whole presupposes knowledge of the operating principles of its individual elements:

    computers;

    communication equipment;

    operating systems;

    network applications.

The entire network hardware and software complex can be described by a multilayer model. At the heart of any network is a hardware layer of standardized computer platforms. Currently, computers of various classes are widely and successfully used in networks - from personal computers to mainframes and supercomputers. The set of computers on the network must correspond to the variety of tasks solved by the network.

The second layer is communications equipment. Although computers are central to data processing in networks, communications devices have recently begun to play an equally important role. Cabling systems, repeaters, bridges, switches, routers, and modular hubs have gone from being ancillary network components to becoming essential components, along with computers and system software, in both their impact on network performance and cost. Today, a communications device may be a complex, specialized multiprocessor that must be configured, optimized, and managed. Learning how communications equipment works requires familiarity with a large number of protocols used in both local and wide area networks.

The third layer that forms the network software platform is operating systems (OS). The efficiency of the entire network depends on which concepts for managing local and distributed resources form the basis of the network OS. When designing a network, it is important to consider how easily a given operating system can interact with other operating systems on the network, how secure and secure it is for data, the extent to which it can increase the number of users, whether it can be transferred to a different type of computer, and many other considerations.

The topmost layer of networking tools are various network applications, such as network databases, mail systems, data archiving tools, collaboration automation systems, etc. It is very important to understand the range of capabilities provided by applications for different application areas, as well as to know how compatible they are with other network applications and operating systems.

The simplest case of interaction between two computers

In the simplest case, the interaction of computers can be realized using the same means that are used to interact a computer with peripherals, for example, through the RS-232C serial interface. In contrast to the interaction of a computer with a peripheral device, when a program usually works only on one side - the computer side - in this case there is interaction between two programs running on each computer.

A program running on one computer cannot gain direct access to the resources of another computer - its disks, files, printer. She can only “ask” the program running on the computer to which these resources belong. These "requests" are expressed as messages transmitted over communication channels between computers. Messages can contain not only commands to perform certain actions, but also actual information data (for example, the contents of a file).

Let's consider the case when a user working with a text editor on personal computer A needs to read part of a file located on the disk of personal computer B (Fig. 4). Let's assume that we connected these computers via a communication cable through COM ports, which, as is known, implement the RS-232C interface (such a connection is often called a null modem). To be sure, let the computers run MS-DOS, although this is not of fundamental importance in this case.

Rice. 4. Interaction between two computers

The COM port driver together with the COM port controller work in approximately the same way as in the case of interaction between the control unit and the computer described above. However, in this case, the role of the PU control device is performed by the controller and driver of the COM port of another computer. Together they ensure the transfer of one byte of information over a cable between computers. (In “real” local networks, similar functions of transferring data to the communication line are performed by network adapters and their drivers.)

The driver of computer B periodically polls the reception completion sign, set by the controller when the data is transferred correctly, and when it appears, reads the received byte from the controller buffer into RAM, thereby making it available to programs on computer B. In some cases, the driver is called asynchronously, by interrupts from the controller.

Thus, the programs of computers A and B have the means to transmit one byte of information. But the task considered in our example is much more complicated, since it is necessary to transfer not one byte, but a certain part of a given file. All additional problems associated with this must be solved by higher-level programs than COM port drivers. For definiteness, we will call such programs of computers A and B application A and application B, respectively. So, application A must generate a request message for application B. The request must specify the file name, the type of operation (in this case, reading), the offset and the size of the file area containing the required data.

To transmit this message to computer B, application A contacts the COM port driver, telling it the address in RAM, where the driver finds the message and then transmits it byte by byte to application B. Application B, having received the request, executes it, that is, reads it the required area of ​​the file from the disk using local OS tools to the buffer area of ​​its RAM, and then, using the COM port driver, transmits the read data via a communication channel to computer A, where it reaches application A.

The described functions of application A could be performed by the text editor program itself, but it is not very rational to include these functions in every application - text editors, graphic editors, database management systems and other applications that need access to files. It is much more profitable to create a special software module that will perform the functions of generating request messages and receiving results for all computer applications. As mentioned earlier, such a service module is called a client. On the side of computer B, another module must operate - a server, constantly waiting for requests for remote access to files located on the disk of this computer. The server, having received a request from the network, accesses the local file and performs specified actions with it, possibly with the participation of the local OS.

The software client and server perform system functions for servicing requests from applications on computer A for remote access to files on computer B. In order for applications on computer B to be able to use files on computer A, the described scheme must be symmetrically supplemented with a client for computer B and a server for computer A.

The interaction diagram of the client and server with applications and the operating system is shown in Fig. 5. Despite the fact that we have considered a very simple hardware communication scheme for computers, the functions of programs that provide access to remote files are very similar to the functions of modules of a network operating system operating on a network with more complex hardware connections of computers.

Rice. 5. Interaction of software components when connecting two computers

A very convenient and useful feature of the client program is the ability to distinguish a request to a remote file from a request to a local file. If the client program can do this, then applications do not have to worry about which file they are working with (local or remote), the client program itself recognizes and redirects request to a remote machine. Hence the name often used for the client part of a network OS - redirector. Sometimes recognition functions are separated into a separate software module; in this case, not the entire client part is called a redirector, but only this module.

Purpose and brief description of the main components of computer networks.

Computer network called a set of interconnected and distributed computers over a certain territory.

computer network– a computing complex that includes a geographically distributed system of computers and their terminals combined into a single system.

According to the degree of geographical distribution, computer networks are divided into local, city, corporate, global, etc.

The computer network consists of three components:

Data transmission networks, including data transmission channels and switching facilities;

Computers connected by a data network;

Network software.

computer network- this is a complex complex interconnected software and hardware components:

computers(host computers, network computers, workstations, servers) located in network nodes;

network operating system and application software, managing computers;

communication equipment– equipment and data transmission channels with accompanying peripheral devices; interface cards and devices (network cards, modems); routers and switching devices.

Software and hardware components of a computer network

Computer network- a spatially distributed system of software and hardware components connected by computer communication lines.

Among the hardware Computers and communications equipment can be distinguished. Software components consist of operating systems and network applications.

Currently, computers of various types and classes with different characteristics are used on the network. This is the basis of any computer network. Computers and their characteristics determine the capabilities of a computer network. But recently, communication equipment (cable systems, repeaters, bridges, routers, etc.) has begun to play an equally important role. Some of these devices, given their complexity, cost and other characteristics, can be called computers that solve very specific tasks to ensure the operability of networks.



For efficient operation of networks, we use special network operating systems (network OS), which, unlike personal operating systems, are designed to solve special problems of managing the operation of a network of computers. Network operating systems are installed on specially dedicated computers.

Network Applications- These are application software systems that expand the capabilities of network operating systems. Among them are email programs, group work systems, network databases, etc.

As network operating systems evolve, some network application functions become regular operating system functions.

All devices connected to the network can be divided into three functional groups:

1) workstations;

2) network servers;

3) communication nodes.

1) Workstation A workstation is a personal computer connected to a network on which a network user performs his or her work. Each workstation processes its own local files and uses its own operating system. But at the same time, network resources are available to the user.

There are three types of workstations:

Workstation with local disk,

Diskless workstation,

Remote workstation.

On a workstation with a disk (hard or floppy), the operating system boots from that local disk. For a diskless station, the operating system is loaded from the file server disk. This capability is provided by a special chip installed on the network adapter of the diskless station.

A remote workstation is a station that connects to a local network via telecommunications channels (for example, using a telephone network).

2) Network server, a network server is a computer connected to a network and providing certain services to network users, such as storing public data, printing jobs, processing a request to a DBMS, remote processing of jobs, etc.

Based on the functions they perform, the following groups of servers can be distinguished.

File server, file server - a computer that stores data of network users and provides user access to this data. Typically, this computer has a large amount of disk space. The file server allows users to access shared data simultaneously.

The file server performs the following functions:

Data storage;

Data archiving;

Data transfer.

Database server - a computer that performs the functions of storing, processing and managing database files (DB).

The database server performs the following functions:

Storing databases, maintaining their integrity, completeness, and relevance;

Receiving and processing requests to databases, as well as sending processing results to the workstation;

Coordination of data changes made by different users;

Support for distributed databases, interaction with other database servers located in another location.

Application server, application server - a computer that is used to run user applications.

A communications server is a device or computer that provides LAN users with transparent access to its serial I/O ports.

Using a communications server, you can create a shared modem by connecting it to one of the server's ports. The user, having connected to the communication server, can work with such a modem in the same way as if the modem was connected directly to the workstation.

An access server is a dedicated computer that allows remote processing of tasks. Programs initiated from a remote workstation are executed on this server.

Commands entered by the user from the keyboard are received from the remote workstation, and the results of the task are returned.

Fax server, fax server - a device or computer that sends and receives fax messages to local network users.

Data backup server, backup server - a device or computer that solves the problem of creating, storing and restoring copies of data located on file servers and workstations. One of the network file servers can be used as such a server.

It should be noted that all of the listed types of servers can operate on one computer dedicated for these purposes.

3) The communication nodes of the network include the following devices:

Repeaters;

Switches (bridges);

Routers;

The length of the network and the distance between stations are primarily determined by the physical characteristics of the transmission medium (coaxial cable, twisted pair, etc.). When transmitting data in any environment, signal attenuation occurs, which leads to distance limitations. To overcome this limitation and expand the network, special devices are installed - repeaters, bridges and switches. The part of the network that does not include the expansion device is usually called a network segment.

Repeater, repeater - a device that amplifies or regenerates a signal received by it. The repeater, having received a packet from one segment, transmits it to all others. In this case, the repeater does not decouple the segments attached to it. At any given time, in all segments connected by the repeater, data exchange is supported only between two stations.

Switch, switch, bridge, bridge is a device that, like a repeater, allows you to combine several segments. Unlike a repeater, a bridge decouples the segments connected to it, that is, it simultaneously supports several data exchange processes for each pair of stations of different segments.

Router- a device that connects networks of the same or different types using the same data exchange protocol. The router analyzes the destination address and routes the data along the optimal route.

Gateway is a device that allows you to organize data exchange between different network objects using different data exchange protocols.

The main hardware components of the network are the following:

1. Subscriber systems: computers (workstations or clients and servers); printers; scanners, etc.

2. Network hardware: network adapters; concentrators (hubs); bridges; routers, etc.

3. Communication channels: cables; connectors; devices for transmitting and receiving data in wireless technologies.

The main software components of the network are the following:

1. Network operating systems, where the most famous of them are: MS Windows; LANtastic; NetWare; Unix; Linux, etc.

2. Network software(Network Services): network client; LAN card; protocol; remote access service.

LAN (Local Area Network) is a collection of computers, communication channels, network adapters running a network operating system and network software.

In a LAN, each PC is called a workstation, with the exception of one or more computers that are designed to serve as servers. Each workstation and server have network cards (adapters) that are connected to each other through physical channels. In addition to the local operating system, each workstation runs network software that allows the station to communicate with the file server.

The computers included in the LAN client-server architecture are divided into two types: workstations, or clients, intended for users, and servers, which, as a rule, are inaccessible to ordinary users and are designed to manage network resources.

Workstations

A workstation is a subscriber system specialized for solving certain tasks and using network resources. The workstation network software includes the following services:

Client for networks;

File and Printer Access Service;

Network protocols for this type of network;

Network card;

Remote access controller.

A workstation differs from a conventional stand-alone personal computer in the following ways:

Availability of a network card (network adapter) and a communication channel;

Additional messages appear on the screen while the OS is loading, informing you that the network operating system is loading;

Before you begin, you must provide your network software with a username and password. This is called the network logon procedure;

After connecting to the LAN, additional network disk drives appear;

it becomes possible to use network equipment that may be located far from the workplace.

Network adapters

To connect a PC to a network, you need an interface device called a network adapter, interface, module, or card. It is inserted into the motherboard socket. Network adapter cards are installed on each workstation and on the file server. The workstation sends a request through the network adapter to the file server and receives a response through the network adapter when the file server is ready.

Network adapters, together with network software, are able to recognize and handle errors that may occur due to electrical interference, collisions, or poor hardware performance.

Different types of network adapters differ not only in their methods of accessing the communication channel and protocols, but also in the following parameters:

Transmission speed;

Packet buffer size;

Tire type;

Bus performance;

Compatible with various microprocessors;

Using direct memory access (DMA);

Addressing I/O ports and interrupt requests;

connector design.

Even as a result of a fairly superficial examination of networking, it becomes clear that a computer network is a complex set of interconnected and coordinated software and hardware components. Studying the network as a whole presupposes knowledge of the operating principles of its individual elements:

Computers;

Communication equipment;

Operating systems;

Network applications.

The entire network hardware and software complex can be described by a multilayer model. At the heart of any network is a hardware layer of standardized computer platforms. Currently, computers of various classes are widely and successfully used in networks - from personal computers to mainframes and supercomputers. The set of computers on the network must correspond to the variety of tasks solved by the network.

The second layer is communications equipment. Although computers are central to data processing in networks, communications devices have recently begun to play an equally important role. Cabling systems, repeaters, bridges, switches, routers, and modular hubs have gone from being ancillary network components to becoming essential components, along with computers and system software, in both their impact on network performance and cost. Today, a communication device can

represent a complex specialized multiprocessor that needs to be controlled, optimized and administered. Learning how communications equipment works requires familiarity with a large number of protocols used in both local and wide area networks.

The third layer that forms the network software platform is operating systems (OS). The efficiency of the entire network depends on which concepts for managing local and distributed resources form the basis of the network OS. When designing a network, it is important to consider how easily a given operating system can interact with other operating systems on the network, how much it provides security and data protection, to what extent it allows you to increase the number of users, whether it can be transferred to a different type of computer, and many other considerations.

The topmost layer of network tools are various network applications such as network databases, mail systems, data archiving tools, collaboration automation systems, etc. It is very important to understand the range of capabilities provided by applications for various application areas, as well as to know how compatible they are with other network applications and operating systems.

1.1.4. What benefits does using networks give to an enterprise?

This question can be clarified as follows: in what cases is deployment on the subject of computer networks preferable to the use of stand-alone computers or multi-machine systems? What new opportunities appear in an enterprise with the advent of a computer network? And finally, is a network always needed in an enterprise?

Without going into detail, the ultimate goal of using computer networks in an enterprise is to increase the efficiency of its operation, which can be expressed, for example, in increasing the profit of the enterprise. Indeed, if, thanks to computerization, the production costs of an existing product were reduced, the development time for a new model was reduced, or the servicing of consumer orders was accelerated, this means that this enterprise really needed a network.

To answer in detail the question of why an enterprise needs a network, let’s start by considering the fundamental advantages of networks that arise from their belonging to distributed systems.

The conceptual advantage of distributed systems (and therefore networks) over centralized systems is their ability to perform parallel calculations . As a result, a system with multiple processing nodes can in principle achieve performance that exceeds the currently possible maximum performance of any single processor. Distributed systems potentially have best performance-cost ratio, than centralized systems.

Another obvious and important advantage of distributed systems is their higher fault tolerance. Fault tolerance refers to the ability of a system to perform its functions (maybe not to its full extent) in the event of failures of individual hardware elements and incomplete availability

data. The basis for increased fault tolerance of distributed systems is redundancy. Redundancy of processing nodes (processors in multiprocessor systems or computers in networks) allows, if one node fails, to reassign tasks assigned to it to other nodes. For this purpose, dynamic or static reconfiguration procedures may be provided in a distributed system. In computer networks, some sets of data can be duplicated on the external storage devices of several computers on the network, so that if one of them fails, the data remains available.

The use of geographically distributed computing systems is more consistent distributed nature of applied tasks in some subject areas, such as automation of technological processes, banking, etc. In all these cases, there are individual consumers of information dispersed over a certain territory - employees, organizations or technological installations. These consumers solve their problems quite autonomously, so it is more rational to provide them with their own computing tools, but at the same time, since the tasks they solve are closely interrelated, their computing tools should be combined into a single system. An adequate solution in such a situation is to use a computer network.

For the user, in addition to those mentioned above, distributed systems also provide such advantages as the ability to share data and devices, as well as the ability to flexibly distribute work throughout the system. This separation of expensive peripheral devices - such as high-capacity disk arrays, color printers, plotters, modems, optical disks - is in many cases the main reason for deploying a network in an enterprise. A user of a modern computer network works at his computer, often without realizing that he is using the data of another powerful computer located hundreds of kilometers away. He sends e-mail via a modem connected to a communications server shared by several departments in his business. The user has the illusion that these resources are connected directly to his computer, or “almost” connected, since their use requires minor additional steps compared to using truly native resources. This property is called transparency networks.

Recently, another incentive for deploying networks has become prevalent, one that is much more important in modern conditions than saving money by sharing expensive equipment or software among corporate employees. This motive was the desire to provide employees prompt access to extensive corporate information.|3 in the conditions of fierce competition in any market sector, the company that ultimately wins is the one whose employees can quickly and correctly answer any customer question - about the capabilities of their products, about the conditions for their use, about solving any possible problems, etc. In a large corporation, it is unlikely that even a good manager can know all the intricacies of each of the products produced by the company, especially since their range is now updated every quarter, if not month. Therefore, it is very important that the manager has the opportunity from his computer connected to the corporate network, say in Magadan, to transfer the client’s question to a server located in the central office of the enterprise in Novosibirsk, and promptly receive a high-quality answer that satisfies the client. In this case, the client will not turn to another company, but will continue to use the services of this manager in the future.

For such work to be possible, it is necessary not only to have fast and reliable connections in the corporate network, but also to have structured information on the enterprise servers, as well as the ability to effectively search for the necessary data. This aspect of network work has always been a bottleneck in organizing the delivery of information to employees - even with the existence of powerful DBMSs, the information they received was not the most “fresh” and not in the volume that was needed. Recently, there has been some progress in this area associated with the use of the hypertext information service WWW - the so-called technology intranet. This technology supports a fairly simple way of presenting text and graphic information in the form of hypertext pages, which allows you to quickly place the latest information on the corporation's WWW servers. In addition, it unifies the viewing of information using standard programs - Web browsers, which are easy to work with even for a non-specialist. Nowadays, many large corporations have already transferred huge piles of their documents to the pages of WWW servers, and employees of these companies, scattered around the world, use the information from these servers via the Internet or intranet. With easier and more complete access to information, employees make decisions faster, and the quality of those decisions tends to be higher.

Using the network leads to improving communications, that is, to improve the process of information exchange and interaction between employees of the enterprise, as well as its customers and suppliers. Networks reduce the need for businesses to use other forms of information transmission, such as telephone or regular mail. Often, the ability to organize e-mail is the main reason and economic justification for deploying a computer network in an enterprise. New ones are becoming more common;

technologies that make it possible to transmit not only computer data, but also voice and video information over network communication channels. A corporate network that integrates data and multimedia information can be used to organize audio and video conferences, in addition, it can be used to create your own internal telephone network.

Of course, computer networks also have their problems. These problems are mainly related to organizing effective interaction between individual parts of a distributed system.

Firstly, there are difficulties associated with software - operating systems and applications. Programming for distributed systems is fundamentally different from programming for centralized systems. Thus, a network operating system, in general performing all the functions of managing local computer resources, in addition solves numerous tasks of providing network services. The development of network applications is complicated by the need to organize the joint operation of their parts running on different machines. Ensuring software compatibility is a big concern.

Secondly, many problems are associated with transporting messages over communication channels between computers. The main tasks here are to ensure reliability (so that transmitted data is not lost or distorted) and performance (so that data exchange occurs with acceptable delays). In the structure of the total costs of a computer network, the costs of solving “transport issues” make up a significant part, while in centralized systems these problems are completely absent.

Thirdly, there are security issues that are much more difficult to resolve in a computer network than in a centralized system. In some cases, when security is especially important, it is better to avoid using the network altogether.

There are many more pros and cons of using networks, but the main proof of their effectiveness is the indisputable fact of their ubiquity. It is difficult to find any large enterprise that did not have at least a single-segment network of personal computers; More and more large networks with hundreds of workstations and dozens of servers are appearing; some large organizations and enterprises are acquiring private global networks that unite their branches located thousands of kilometers away. In each specific case, there were reasons for creating a network, but the general statement is also true: there is still something in these networks.

Computer networks are the result of the evolution of computer technology.

* A computer network is a collection of computers connected by communication lines. Communication lines are formed by cables, network adapters and other communication devices. All network equipment operates under the control of system and application software.

* The main purpose of the network is to provide network users with the potential to share the resources of all computers.

* A computer network is one of the types of distributed systems, the advantage of which is the ability to parallelize calculations, due to which increased performance and fault tolerance of the system can be achieved.

The most important stage in the development of networks is the emergence of standard network technologies such as Ethernet, which make it possible to quickly and efficiently connect computers of various types.

* The use of computer networks gives the enterprise the following opportunities:

Sharing expensive resources;

Improving communications;

Improving access to information;

Fast and high-quality decision making;

Freedom in the territorial placement of computers.

When creating computer networks, their developers had to solve many problems. In this section we will consider only the most important of them, and in the sequence in which they naturally arose in the process of development and improvement of network technologies.

The mechanisms for interaction of computers on a network borrow a lot from the scheme of interaction between a computer and peripheral devices, so let’s begin our consideration of the principles of network operation from this “pre-network” case.

1.2.1. Communication between a computer and peripheral devices

To exchange data between the computer and a peripheral device (PU), the computer has an external interface(Fig. 1.6), that is, a set of wires connecting a computer and a peripheral device, as well as a set of rules for exchanging information along these wires (sometimes instead of the term interface the term is used protocol - We’ll talk more about these important terms later). Examples of interfaces used in computers are parallel:

the Centronics interface, usually intended for connecting printers, and the RS-232C serial interface, through which a mouse, modem and many other devices are connected. The interface is implemented from the computer side, by a combination of hardware and software: a PU controller and a special program that controls this controller, which is often called driver the corresponding peripheral device.

On the CP side, the interface is most often implemented by a hardware control device, although software-controlled peripheral devices are also found.

The program executed by the processor can exchange data using input/output commands with any modules connected to the internal computer bus, including PU controllers.

Peripheral devices can receive from the computer both data, for example, bytes of information that needs to be printed on paper, and control commands, in response to which the control unit can perform special actions, for example, move the disk head to the desired track or push a sheet of paper out of the printer. A peripheral device uses the external interface of the computer not only to receive information, but also to transmit information to the computer, that is, data exchange via the external interface is usually bidirectional. For example, even a printer, which by its nature is an information output device, returns data about its state to the computer.

PU controllers receive commands and data from the processor into their internal buffer, which is often called a register or port, then perform the necessary transformations of this data and commands in accordance with the formats understandable PUs, and display them on the external interface. The distribution of responsibilities between the controller and the controller driver may vary, but usually the controller performs a set of simple commands to control the controller, and the driver uses these commands to cause the device to perform actions.

1.2. The main problems of building networks

more complex actions according to some algorithm. For example, a printer controller can support such basic commands as “Print character”, “Line feed”, “Carriage return”, etc. The printer driver, using these commands, organizes printing lines of characters, dividing a document into pages and other higher-level operations . For the same controller, I have to develop different drivers that will control this control unit differently - some are better, others are worse - depending on the experience and ability of the programmers who developed them.

Controller commands:

“Set the beginning of the sheet”, “Move the magnetic head”, “Report the device status”, etc.

Rice. 1.6. Communication between a computer and a peripheral device

Let's consider a scheme for transferring one byte of information from an application program to a peripheral device. The program that needs to exchange data with the control unit contacts the driver of this device, telling it as a parameter the address of the memory byte that needs to be transferred. The driver loads the value of this byte into the buffer of the PU controller, which begins to sequentially transmit bits into the communication line, representing each bit with a corresponding electrical signal. To make it clear to the PU control device that byte transmission is starting, before transmitting the first bit of information, the PU controller generates a start signal of a specific shape, and after transmitting the last information bit, a stop signal. These signals synchronize byte transfer.

In addition to information bits, the controller can transmit a parity bit to increase the reliability of the exchange. The control device, having detected the start bit on the corresponding line, performs preparatory actions and begins to receive information bits, forming a byte from them in its receiving buffer. If the transfer is accompanied by a parity bit, then the correctness of the transfer is checked: if the transfer is completed correctly, the sign of completion of information reception is set in the corresponding register of the control device.

Typically, the driver is responsible for the most complex protocol functions (for example, calculating the checksum of a sequence of transmitted bytes, analyzing the state of a peripheral device, checking the correct execution of a command). But even the most primitive controller driver must support at least two operations: “Take data from the controller into RAM” and “Transfer data from RAM to the controller.”

There are both very specialized interfaces, suitable for connecting a narrow class of devices (for example, high-resolution graphic monitors from Vista), and general-purpose interfaces, which are standard and allow you to connect various peripheral devices. An example of such an interface is the RS-232C interface, which is supported by many terminals, printers, plotters, mice, and many other devices.

1.2.2. The simplest case of interaction between two computers

In the simplest case, the interaction of computers can be realized using the same means that are used to interact a computer with peripherals, for example, through the RS-232C serial interface! In contrast to the interaction of a computer with a peripheral device, when a program usually works only on one side - on the computer side, in this case there is an interaction between two programs running on each computer.

A program running on one computer cannot gain direct access to the resources of another computer - its disks, files, printer. She can only “ask” the program running on the computer to which these resources belong. These “requests” are expressed in the form communications, transmitted over communication channels between computers. Messages can contain not only commands to perform certain actions, but also actual information data (for example, the contents of a file).

Let's consider the case when a user working with a text editor on personal computer A needs to read part of a file located on the disk of personal computer B (Fig. 1.7). Let's assume that we connected these computers via a communication cable through COM ports, which, as is known, implement the RS-232C interface (such a connection is often called a null modem). To be sure, let the computers run MS-DOS, although this is not of fundamental importance in this case.

1.2. The main problems of building networks

The COM port driver together with the COM port controller work in approximately the same way as in the case of interaction between the control unit and the computer described above. However, in this case, the role of the PU control device is performed by the controller and driver of the COM port of another computer. Together they ensure the transfer of one byte of information over a cable between computers. (In “real” local networks, similar functions of transferring data to the communication line are performed by network adapters and their drivers.)

The driver of computer B periodically polls the reception completion sign, set by the controller when the data is transferred correctly, and when it appears, reads the received byte from the controller buffer into RAM, thereby making it available to programs on computer B. In some cases, the driver is called asynchronously, by interrupts from the controller.


Rice. 1.7. Interaction between two computers

Thus, the programs of computers A and B have at their disposal the means to transmit one byte of information. But the task considered in our example is much more complicated, since it is necessary to transfer not one byte, but a certain part of a given file. All additional problems associated with this must be solved by higher-level programs than COM port drivers. For definiteness, we will call such programs of computers A and B application A and application B, respectively. So, application A must generate a request message for application B. The request must specify the file name, the type of operation (in this case, reading), the offset and the size of the file area containing the required data.

To transmit this message to computer B, application A contacts the COM port driver, telling it the address in RAM, where the driver finds the message and then transmits it byte by byte to application B. Application B, having received the request, executes it, that is, reads it the required area of ​​the disk file using local OS tools into the buffer area of ​​its RAM, and then, using the COM port driver, transmits the read data via a communication channel to computer A, where it reaches application A.

The described functions of application A could be performed by the text editor program itself, but it is not very rational to include these functions in every application - text editors, graphic editors, database management systems and other applications that need access to files (although there are a large number programs that actually independently solve all problems of inter-machine data exchange, for example Kermit - a file exchange program via COM ports, implemented for various OS , Norton Commander 3.0 with its Link feature. It is much more profitable to create a special software module that will perform the functions of generating request messages and receiving results for all computer applications. As mentioned earlier, such a service module is called a client. On the side of computer B, another module must operate - a server, constantly waiting for requests for remote access to files located on floppy disks of this computer. The server, having received a request from the network, accesses the local file and performs specified actions with it, possibly with the participation of the local OS.

The software client and server perform system functions to serve requests from applications on computer A for remote access to files on computer B. So that applications on computer B can use computer files

And, the described scheme needs to be symmetrically supplemented with a client for the computer V

server for computer A.


The interaction diagram of the client and server with applications and the operating system is shown in Fig. 1.8. Despite the fact that we have considered a very simple hardware communication scheme for computers, the functions of programs that provide access to remote files are very similar to the functions of modules of a network operating system operating on a network with more complex hardware connections of computers.

Rice. 1.8. Interaction of software components when connecting two computers

1.2. Main construction problems networks

A very convenient and useful feature of the client program is the ability to distinguish a request to a remote file from a request to a local file. If the client program can do this, then applications do not have to care about which file they are working with (local or remote), the client program itself recognizes and redirects request to a remote machine. Hence the name often used for the client part of a network OS, -redirector. Sometimes recognition functions are separated into a separate software module; in this case, not the entire client part is called a redirector, but only this module.

1.2.3. Problems of physical data transmission over communication lines

Even when considering the simplest network, consisting of just two machines, one can see many of the problems inherent in any computer network, including problems associated with the physical transmission of signals over communication lines, without which any type of communication is impossible.

In computing, binary code is used to represent data. Inside a computer, data ones and zeros correspond to discrete electrical signals. The representation of data in the form of electrical or optical signals is called coding. There are different ways to encode the binary digits 1 and 0, for example, the potential method, in which a 1 corresponds to one voltage level and a zero to another, or a pulse method, where pulses of different or the same polarity are used to represent the digits.

Similar approaches can be used to encode data and transfer it between two computers over communication lines. However, these communication lines differ in their electrical characteristics from those that exist inside the computer. The main difference between external communication lines and internal ones is that they are much longer, and also that they pass outside the shielded enclosure through spaces that are often exposed to strong electromagnetic interference. All this leads to significantly greater distortion of rectangular pulses (for example, “rolling over” of the fronts) than inside the computer. Therefore, to reliably recognize pulses at the receiving end of a communication line when transmitting data inside and outside the computer, it is not always possible to use the same speeds and coding methods. For example, the slow rise of the pulse edge due to the high capacitive load of the line requires the transmission of pulses at a lower speed (so that the leading and trailing edges of adjacent pulses do not overlap and the pulse has time to grow to the required level).

In computer networks, both potential and pulse coding of discrete data are used, as well as a specific method of presenting data-YVD, which is never used inside a computer - modulation(Fig. 1.9). During modulation, discrete information is represented by a sinusoidal signal of the frequency that is well transmitted by the existing communication line.

Potential or pulse coding is used on high quality channels, and modulation based on sine waves is preferable when the channel introduces severe distortion into the transmitted signals. Usually



Modulation is used in wide area networks to transmit data over analog telephone lines, which were designed to carry voice in analog form and are therefore not well suited for direct transmission of pulses.

Rice. 1.9. Examples of discrete information representation

The method of signal transmission is also affected by the number of wires in the communication lines between computers. To reduce the cost of communication lines in networks, they usually strive to reduce the number of wires and because of this they do not use parallel transmission of all the bits of one byte or even several bytes, as is done inside a computer, but sequential, bit-by-bit transmission, requiring only one pair of wires.

Another problem that needs to be solved when transmitting signals is the problem of mutual synchronization transmitter of one computer from the receivers of another. When organizing the interaction of modules inside a computer, this problem is solved very simply, since in this case all modules are synchronized;

from a common clock generator. The problem of synchronization when communicating between computers can be solved in different ways, both by exchanging special clock pulses over a separate line, and by periodic synchronization with predetermined codes or pulses of a characteristic shape that differs from the shape of data pulses.

Despite the measures taken - the choice of the appropriate data exchange rate, communication lines with certain characteristics, the method of synchronizing the receiver and transmitter - there is a possibility of distortion of some bits of the transmitted data. To increase the reliability of data transfer between computers, a standard technique is often used - counting checksum and transmitting it along communication lines after each byte or after a certain block of bytes. Often included in the data exchange protocol as a mandatory element! a receipt signal that confirms the correctness of data reception and is sent from the recipient to the sender.

The task of reliable exchange of binary signals represented by corresponding electromagnetic signals in computer networks is solved by a certain class of equipment. On local networks this is network adapters, a in global networks - data transmission equipment, which includes, for example, devices that perform modulation and demodulation of discrete signals - modems. This equipment encodes and decodes each information bit, synchronizes the transmission of electromagnetic signals over communication lines, verifies the correctness of transmission using a checksum, and can perform several other operations. Network adapters are usually designed to work with a certain transmission medium - coaxial cable, twisted pair, optical fiber, etc. Each type of transmission medium has certain electrical characteristics that affect the way the medium is used, and determines the speed of signal transmission, the method of encoding them, and some other parameters.

1.2.4. Problems of combining several computers

So far we have considered a degenerate network consisting of only two machines. When more computers are connected to a network, a whole new set of problems arises.

Topology of physical connections

First of all, you need to choose a way to organize physical connections, that is topology. The topology of a computer network is understood as the configuration of a graph, the vertices of which correspond to network computers (sometimes other equipment, such as hubs), and the edges correspond to physical connections between them. Computers connected to a network are often called stations or network nodes.

Note that the configuration physical connections determined by the electrical connections between computers and may differ from the configuration logical connections between network nodes. Logical connections are data transmission routes between network nodes and are formed by appropriately configuring communication equipment.

The choice of electrical connection topology significantly affects many network characteristics. For example, the presence of redundant links increases network reliability and makes it possible to balance the load on individual links. The ease of connecting new nodes, inherent in some topologies, makes the network easily expandable. Economic considerations often lead to the selection of topologies characterized by the minimum total length of communication lines.

Let's look at some of the most common topologies.

Fully connected The topology (Fig. 1.10, a) corresponds to a network in which each computer on the network is connected to all the others. Despite its logical simplicity, this option turns out to be cumbersome and ineffective. Indeed, each computer on the network must have a large number of communication ports, sufficient to communicate with each of the other computers on the network. A separate electrical communication line must be allocated for each pair of computers. Fully connected topologies are rarely used, since they do not satisfy any of the above requirements. More often, this type of topology is used in multi-machine systems or global networks with a small number of computers.

All other options are based on partially connected topologies, when data exchange between two computers may require intermediate data transfer through other network nodes.

Cellular topology (mesh) is obtained from a fully connected one by removing some possible connections (Fig. 1.10, b). In a network with a mesh topology, only those computers between which intensive data exchange occurs are directly connected, and for data exchange between computers that are not directly connected, transit transmissions through intermediate nodes are used. The mesh topology allows the connection of a large number of computers and is typically characteristic of global networks.

The combination of the components discussed above into a network can be done in various ways and means. Based on the composition of their components, methods of their connection, scope of use and other characteristics, networks can be divided into classes in such a way that the belonging of the described network to a particular class can sufficiently fully characterize the properties and quality parameters of the network.

However, this kind of classification of networks is rather arbitrary. The most widespread today is the division of computer networks based on territorial location. Based on this feature, networks are divided into three main classes: ·

LAN - local area networks; ·
MAN - Metropolitan Area Networks. ·
WAN - global networks (Wide Area Networks);

A local area network (LAN) is a communications system that supports, within a building or some other limited area, one or more high-speed digital information transmission channels provided to connected devices for short-term exclusive use. The areas covered by the drug may vary significantly.
The length of communication lines for some networks can be no more than 1000 m, while other networks are able to serve an entire city. The serviced areas can be factories, ships, airplanes, as well as institutions, universities, and colleges. As a rule, coaxial cables are used as a transmission medium, although networks on twisted pair and optical fiber are becoming increasingly widespread, and recently the technology of wireless local networks has also been rapidly developing, which uses one of three types of radiation: broadband radio signals, low-power radiation ultrahigh frequencies (microwave radiation) and infrared rays.
The short distances between network nodes, the transmission medium used and the associated low probability of errors in the transmitted data make it possible to maintain high exchange rates - from 1 Mbit/s to 100 Mbit/s (at present there are already industrial designs of LANs with speeds of the order of 1 Gbit /With).

City networks, as a rule, cover a group of buildings and are implemented on fiber optic or broadband cables. According to their characteristics, they are intermediate between local and global networks. Recently, in connection with the laying of high-speed and reliable fiber optic cables in urban and intercity areas, and new promising network protocols, for example, ATM (Asynchronous Transfer Mode), which in the future can be used both in local and global networks.

Global networks, unlike local ones, as a rule, cover much larger territories and even most regions of the globe (an example is the Internet). Currently, analogue or digital wire channels, as well as satellite communication channels (usually for communication between continents), are used as transmission media in global networks. Limitations on transmission speed (up to 28.8 Kbit/s on analog channels and up to 64 Kbit/s on user sections of digital channels) and the relatively low reliability of analog channels, requiring the use of error detection and correction tools at the lower levels of protocols, significantly reduce the exchange rate data in global networks compared to local ones.
There are other classification features of computer networks. For example:

According to the scope of operation, networks can be divided into banking networks, networks of scientific institutions, university networks;

Based on the form of operation, commercial networks and free networks, corporate and public networks can be distinguished;

Based on the nature of the implemented functions, networks are divided into computational ones, designed to solve control problems based on computational processing of initial information; informational, intended to obtain reference data at the request of users; mixed, in which computing and information functions are implemented;

According to the control method, computer networks are divided into networks with decentralized, centralized and mixed control. In the first case, each computer that is part of the network includes a full set of software tools for coordinating network operations. Networks of this type are complex and quite expensive, since the operating systems of individual computers are developed with a focus on collective access to the common memory field of the network. In mixed networks, under centralized control, tasks that have the highest priority and, as a rule, are associated with processing large volumes of information, are solved;

According to software compatibility, networks can be homogeneous or homogeneous (consisting of software-compatible computers) and heterogeneous or heterogeneous (if the computers included in the network are software incompatible).

Even as a result of a fairly superficial examination of networking, it becomes clear that a computer network is a complex set of interconnected and coordinated software and hardware components. Studying the network as a whole presupposes knowledge of the operating principles of its individual elements:

    computers;

    communication equipment;

    operating systems;

    network applications.

The entire network hardware and software complex can be described by a multilayer model. At the heart of any network is a hardware layer of standardized computer platforms. Currently, computers of various classes are widely and successfully used in networks - from personal computers to mainframes and supercomputers. The set of computers on the network must correspond to the variety of tasks solved by the network.

The second layer is communications equipment. Although computers are central to data processing in networks, communications devices have recently begun to play an equally important role. Cabling systems, repeaters, bridges, switches, routers, and modular hubs have gone from being ancillary network components to becoming essential components, along with computers and system software, in both their impact on network performance and cost. Today, a communications device may be a complex, specialized multiprocessor that must be configured, optimized, and managed. Learning how communications equipment works requires familiarity with a large number of protocols used in both local and wide area networks.

The third layer that forms the network software platform is operating systems (OS). The efficiency of the entire network depends on which concepts for managing local and distributed resources form the basis of the network OS. When designing a network, it is important to consider how easily a given operating system can interact with other operating systems on the network, how secure and secure it is for data, the extent to which it can increase the number of users, whether it can be transferred to a different type of computer, and many other considerations.

The topmost layer of networking tools are various network applications, such as network databases, mail systems, data archiving tools, collaboration automation systems, etc. It is very important to understand the range of capabilities provided by applications for different application areas, as well as to know how compatible they are with other network applications and operating systems.

The simplest case of interaction between two computers

In the simplest case, the interaction of computers can be realized using the same means that are used to interact a computer with peripherals, for example, through the RS-232C serial interface. In contrast to the interaction of a computer with a peripheral device, when a program usually works only on one side - the computer side - in this case there is interaction between two programs running on each computer.

A program running on one computer cannot gain direct access to the resources of another computer - its disks, files, printer. She can only “ask” the program running on the computer to which these resources belong. These "requests" are expressed as messages transmitted over communication channels between computers. Messages can contain not only commands to perform certain actions, but also actual information data (for example, the contents of a file).

Let's consider the case when a user working with a text editor on personal computer A needs to read part of a file located on the disk of personal computer B (Fig. 4). Let's assume that we connected these computers via a communication cable through COM ports, which, as is known, implement the RS-232C interface (such a connection is often called a null modem). To be sure, let the computers run MS-DOS, although this is not of fundamental importance in this case.

Rice. 4. Interaction between two computers

The COM port driver together with the COM port controller work in approximately the same way as in the case of interaction between the control unit and the computer described above. However, in this case, the role of the PU control device is performed by the controller and driver of the COM port of another computer. Together they ensure the transfer of one byte of information over a cable between computers. (In “real” local networks, similar functions of transferring data to the communication line are performed by network adapters and their drivers.)

The driver of computer B periodically polls the reception completion sign, set by the controller when the data is transferred correctly, and when it appears, reads the received byte from the controller buffer into RAM, thereby making it available to programs on computer B. In some cases, the driver is called asynchronously, by interrupts from the controller.

Thus, the programs of computers A and B have the means to transmit one byte of information. But the task considered in our example is much more complicated, since it is necessary to transfer not one byte, but a certain part of a given file. All additional problems associated with this must be solved by higher-level programs than COM port drivers. For definiteness, we will call such programs of computers A and B application A and application B, respectively. So, application A must generate a request message for application B. The request must specify the file name, the type of operation (in this case, reading), the offset and the size of the file area containing the required data.

To transmit this message to computer B, application A contacts the COM port driver, telling it the address in RAM, where the driver finds the message and then transmits it byte by byte to application B. Application B, having received the request, executes it, that is, reads it the required area of ​​the file from the disk using local OS tools to the buffer area of ​​its RAM, and then, using the COM port driver, transmits the read data via a communication channel to computer A, where it reaches application A.

The described functions of application A could be performed by the text editor program itself, but it is not very rational to include these functions in every application - text editors, graphic editors, database management systems and other applications that need access to files. It is much more profitable to create a special software module that will perform the functions of generating request messages and receiving results for all computer applications. As mentioned earlier, such a service module is called a client. On the side of computer B, another module must operate - a server, constantly waiting for requests for remote access to files located on the disk of this computer. The server, having received a request from the network, accesses the local file and performs specified actions with it, possibly with the participation of the local OS.

The software client and server perform system functions for servicing requests from applications on computer A for remote access to files on computer B. In order for applications on computer B to be able to use files on computer A, the described scheme must be symmetrically supplemented with a client for computer B and a server for computer A.

The interaction diagram of the client and server with applications and the operating system is shown in Fig. 5. Despite the fact that we have considered a very simple hardware communication scheme for computers, the functions of programs that provide access to remote files are very similar to the functions of modules of a network operating system operating on a network with more complex hardware connections of computers.

Rice. 5. Interaction of software components when connecting two computers

A very convenient and useful feature of the client program is the ability to distinguish a request to a remote file from a request to a local file. If the client program can do this, then applications do not have to worry about which file they are working with (local or remote), the client program itself recognizes and redirects request to a remote machine. Hence the name often used for the client part of a network OS - redirector. Sometimes recognition functions are separated into a separate software module; in this case, not the entire client part is called a redirector, but only this module.