Сигналы и протоколы

В своей основе процесс работы сети совершенно не связан с приро­дой передаваемой по ней информации. К тому моменту, когда сгене­рированные компьютером-отправителем данные попадают в кабель или другую сетевую среду, они низведены до уровня сигналов (signals)

— электрического тока, световых импульсов, инфракрасного излуче­ния или радиоволн. Из этих сигналов формируется код, который по­падает в сетевой интерфейс компьютера-получателя и преобразуется обратно в двоичные данные, понятные программному обеспечению (ПО) этого компьютера. Дальше с этими данными может происхо­дить что угодно. Конечно, в действительности этот процесс гораздо сложнее. Чтобы отправленное электронное письмо преобразовалось в последовательность электрических сигналов, пересекло всю страну и снова превратилось в текст, компьютерам приходится изрядно по­работать.

Иногда сеть состоит из одинаковых компьютеров, на которых одни и те же приложения работают под управлением одной и той же вер­сии одной и той же операционной системы (ОС), но с тем же успехом в сеть могут быть объединены разные компьютерные платформы с разным ПО. Может показаться, что одинаковые компьютеры легче объединить в сеть, и в какой-то степени так оно и есть. Но какие бы компьютеры и какие бы программы Вы ни использовали в сети, им понадобится общий язык, чтобы понимать друг друга. Такие общие языки называются протоколами (protocols), и компьютеры прибегают к ним даже для простейшего обмена данными. Людям для общения необходим общий язык, компьютерам для обмена информацией не­обходим один или несколько общих протоколов.

Сетевой протокол может быть как относительно простым, так и чрезвычайно сложным. Иногда протокол представляет собой просто код, например, уровень электрического напряжения, определяющий двоичное значение бита данных: 0 или 1. На этом же принципе осно­вана и азбука Морзе — каждой букве алфавита соответствует после­довательность точек и тире. Более сложные сетевые протоколы вы­полняют в сети различные служебные функции, например, такие:

* подтверждение приема пакета(packet acknowledgment) — передача получателем ответного сообщения, подтверждающего прием па­кета или пакетов (пакет — основная единица информации, пере­даваемой по ЛВС);

* сегментация(segmentation) — разбиение потока данных на сегмен­ты, достаточно маленькие для передачи по сети внутри пакетов;

* управление потоком(flow control) — генерация системой-получа­телем сообщения для системы-отправителя с указанием увеличить или уменьшить скорость передачи данных;

* обнаружение ошибок(error detection) — включение в пакет специ­альных кодов, которые позволяют системе-получателю отслежи­вать целостность содержимого пакета при передаче данных;

исправление ошибок(error correction) — генерация системой-полу­чателем сообщений с информацией о повреждении конкретных пакетов и необходимости передать их повторно;

сжатие данных(data compression) — механизм, позволяющий со­кратить объем данных, передаваемых по сети, за счет удаления избыточной информации;

кодирование данных(data encryption) — механизм, позволяющий зашифровать данные, передаваемые по сети, с помощью извест­ного системе-получателю ключа.

Чаще протоколы основаны на открытых стандартах, разработан­ных не отдельным предприятием или разработчиком, а независимы­ми комитетами. Открытость стандартов гарантирует, что их можно использовать в системах различных видов, не отягощаясь никакими обязательствами перед какой-то фирмой. Но существуют и протоко­лы, разработанные отдельными компаниями и никогда не становив­шиеся общим достоянием.

Важно помнить, что в процессе связи на каждом компьютере сети используется множество различных протоколов. Услуги, предостав­ляемые различными протоколами, разделяются на уровни, вместе составляющие эталонную модель взаимодействия открытых систем (Open Systems Interconnection, OSI), с которой Вы познакомитесь в занятии 2 этой главы. В книгах и статьях, посвященных компьютер­ным сетям, часто говорят о сетях Ethernet, но это не значит, что Ethernet — единственный протокол, работающий в такой сети. Прав­да, на одном из уровней модели OSI (канальном) он действительно трудится в одиночестве. На некоторых других уровнях могут одно­временно работать несколько протоколов.