Передача информации между компьютерами существует, наверное, с самого момента возникновения вычислительной техники. Она позволяет организовать совместную работу отдельных компьютеров, решать одну задачу с помощью нескольких компьютеров, специализировать каждый из компьютеров на выполнении какой-то одной функции, совместно использовать ресурсы и решать множество других проблем. Способов и средств обмена информацией за последнее время предложено множество:
от простейшего переноса файлов с помощью дискеты до всемирной компьютерной сети Internet, способной связать все компьютеры мира. Какое же место во всей этой иерархии отводится локальным сетям?
Чаще всего термин «локальные сети» (LAN, Local Area Network) понимают буквально, то есть под локальными понимаются такие сети, которые имеют небольшие, локальные размеры, соединяют близко расположенные компьютеры. Однако достаточно посмотреть на характеристики некоторых локальных сетей, чтобы понять, что такое определение не слишком точно. Например, некоторые локальные сети легко обеспечивает связь на расстоянии нескольких километров или даже десятков километров. Это уже размеры не комнаты, не здания, не близко расположенных зданий, а, может быть, целого города. С другой стороны, по глобальной сети (WAN, Wide Area Network или GAN, Global Area Network) вполне могут связываться компьютеры, находящиеся на соседних столах в одной комнате, но ее почему-то никто не называет локальной сетью. Близко расположенные компьютеры могут также связываться с помощью кабеля, соединяющего разъемы внешних интерфейсов (RS232-C, Centronics) или даже без кабеля по инфракрасному каналу. Но такая связь также не называется локальной сетью.
Неверно и определение локальной сети как малой сети, которая связывает небольшое количество компьютеров. Действительно, в реальности наиболее часто локальная сеть связывает от двух до нескольких десятков компьютеров. Но предельные возможности некоторых локальных сетей гораздо выше: максимальное число абонентов может достигать тысячи. Называть такую сеть малой, наверное, неправильно.
Некоторые авторы определяют локальную сеть как «систему для непосредственного соединения многих компьютеров». При этом подразумевается, что информация передается от компьютера к компьютеру без посредников и по единой среде передачи. Однако говорить о единой среде передачи в современной локальной сети не приходится. Например, в пределах одной сети могут использоваться как электрические кабели различных типов, так и оптоволоконные кабели. Определение передачи «без посредников» также не слишком четко, ведь в современных локальных сетях используются самые разнообразные концентраторы, коммутаторы, маршрутизаторы, мосты, которые порой производят довольно сложную обработку передаваемой информации. Не совсем понятно, считать их посредниками или нет.
Наверное, наиболее точно было бы определить как локальную такую сеть, которая позволяет пользователям не замечать связи. Компьютеры, связанные локальной сетью, объединяются, по сути, в один виртуальный компьютер, ресурсы которого могут быть доступны всем пользователям, причем этот доступ не менее удобен, чем к ресурсам, входящим непосредственно в каждый отдельный компьютер. Под удобством в первую очередь понимается в данном случае высокая реальная скорость доступа, при которой обмен информацией между приложениями осуществляется незаметно для пользователя. При таком определении ни медленные глобальные сети, ни медленная связь через последовательный или параллельный порты не подпадают под понятие локальной сети.
Из такого определения сразу же следует, что скорость передачи по локальной сети должна обязательно расти по мере роста быстродействия наиболее распространенных компьютеров. Именно это мы и наблюдаем:
если еще сравнительно недавно вполне приемлемой считалась скорость обмена в 1-10 Мбит/с, то сейчас среднескоростной считается сеть, работающая на скорости 100 Мбит/с и активно разрабатываются средства для скорости 1000 Мбит/е и даже больше. При меньших скоростях передачи связь станет узким местом, будет чрезмерно замедлять работу объединенного сетью виртуального компьютера.
Таким образом, главное отличие локальной сети от любой другой - высокая скорость обмена. Но это не единственное отличие, не менее важны и другие факторы.
Например, принципиально необходим низкий уровень ошибок передачи. Ведь даже очень быстро переданная, но искаженная ошибками информация бессмысленна - ее придется передавать еще раз. Поэтому локальные сети обязательно используют специально прокладываемые качественные линии связи.
Принципиальное значение имеет и такая характеристика сети, как возможность работы с большими нагрузками, то есть с большой интенсивностью обмена (или, как еще говорят, с большим графиком). Если механизм управления обменом, используемый в сети, не слишком эффективен, то компьютеры могут чрезмерно долго ждать своей очереди на передачу, и даже если передача будет производиться затем на высочайшей скорости и полностью безошибочно, то для пользователя сети это все равно обернется неприемлемой задержкой доступа ко всем сетевым ресурсам.
Любой механизм управления обменом может гарантированно работать только тогда, когда заранее известно, сколько компьютеров (абонентов, узлов) может быть подключено к сети. При включении непредусмотрено большого числа абонентов забуксует вследствие перегрузки любой механизм. Наконец, сетью в истинном смысле этого слова можно назвать только такую систему передачи данных, которая позволяет объединять хотя бы до нескольких десятков компьютеров, но никак не два, как в случае связи через стандартные порты.
Таким образом, можно сформулировать следующие отличительные признаки локальной сети:
• высокая скорость передачи, большая пропускная способность;
• низкий уровень ошибок передачи (или, что то же самое, высококачественные каналы связи). Допустимая вероятность ошибок передачи данных должна быть порядка 10-7 ~ 10-8;
• эффективный, быстродействующий механизм управления обменом;
• ограниченное, точно определенное число компьютеров, подключаемых к сети.
При таком определении понятно, что глобальные сети отличаются от локальных тем, что рассчитаны на неограниченное число абонентов и используют, как правило, не слишком качественные каналы связи и сравнительно низкую скорость передачи, а механизм управления обменом в них в принципе не может быть гарантированно быстрым. В глобальных сетях гораздо важнее не качество связи, а сам факт ее существования.
Нередко выделяют еще один класс компьютерных сетей - городские сети (MAN, Metropolitan Area Network), которые обычно бывают ближе к глобальным сетям, хотя иногда имеют некоторые черты локальных сетей -например, высококачественные каналы связи и сравнительно высокие скорости передачи. В принципе городская сеть может быть действительно локальной, со всеми ее преимуществами.
Правда, сейчас уже нельзя провести четкую и однозначную границу между локальными и глобальными сетями. Большинство локальных сетей имеет выход в глобальную сеть, но характер передаваемой информации, принципы организации обмена, режимы доступа к ресурсам внутри локальной сети, как правило, сильно отличаются от тех, что приняты в глобальной сети. И хотя все компьютеры локальной сети в данном случае включены также и в глобальную сеть, специфики локальной сети это не отменяет. Возможность выхода в глобальную сеть остается всего лишь одним из ресурсов, разделяемых пользователями локальной сети.
По локальной сети может передаваться самая разная цифровая информация: данные, изображения, телефонные разговоры, электронные письма и т.д. Кстати, именно задача передачи изображений, особенно полноцветных динамических изображений, предъявляет самые высокие требования к быстродействию сети. Чаще всего локальные сети используются для разделения (то есть совместного использования) таких ресурсов, как дисковое пространство, принтеры и выход в глобальную сеть, но это всего лишь незначительная часть тех возможностей, которые предоставляют средства локальных сетей. Например, они позволяют осуществлять обмен информацией между компьютерами разных типов. Абонентами (узлами) сети могут быть не только компьютеры, но и другие устройства, например принтеры, плоттеры, сканеры. Локальные сети дают возможность организовать систему параллельных вычислений на всех компьютерах сети, что позволяет многократно ускорить решение сложных математических задач. С их помощью можно также управлять работой сложной технологической системы или исследовательской установки с нескольких компьютеров одновременно.
Однако локальные сети имеют и некоторые недостатки, о которых всегда следует помнить. Помимо дополнительных материальных затрат на покупку оборудования и сетевого программного обеспечения, на прокладку соединительных кабелей и обучение персонала, необходимо также иметь специалиста, который будет заниматься контролем за работой сети, модернизацией сети, управлением доступом к ресурсам, устранением возможных неисправностей - то есть администратора сети. Сети ограничивают возможности перемещения компьютеров, так как при этом может понадобиться перекладка соединительных кабелей. Кроме того, сети представляют собой прекрасную среду для распространения компьютерных вирусов, поэтому вопросам защиты придется уделять гораздо больше внимания, чем в случае автономного использования компьютеров. Так что ничто не дается даром.
Здесь же упомянем о таких важнейших понятиях теории сетей, как сервер и клиент.
Сервером называется абонент (узел) сети, который предоставляет свои ресурсы другим абонентам, но сам не использует ресурсы других абонентов, то есть служит только сети. Серверов в сети может быть несколько, и совсем не обязательно сервер - это самый мощный компьютер. Выделенный сервер - это сервер, занимающийся только сетевыми задачами. Не выделенный сервер может заниматься помимо обслуживания сети и другими задачами. Специфический тип сервера - это сетевой принтер.
Клиентом называется абонент сети, который только использует сетевые ресурсы, но сам свои ресурсы в сеть не отдает, то есть сеть его обслуживает. Компьютер-клиент также часто называют рабочей станцией. 8 принципе каждый компьютер может быть одновременно как клиентом, так и сервером.
Под сервером и клиентом часто понимают также не сами компьютеры, а работающие на них программные приложения. В этом случае то приложение, которое только отдает ресурс в сеть, является сервером, а то приложение, которое только пользуется сетевыми ресурсами, является клиентом.