C недавних пор человек и компьютер стали просто неразлучны. Это произошло, когда в один прекрасный день человек осознал, что компьютер чрезвычайно глубоко проник в его жизнь и отказаться от него практически невозможно.
Сначала компьютеры были каждый сам по себе, затем они объединились в локальную сеть, потом – в глобальную. Трудно представить себе, что будет дальше: компьютер, имплантированный в голову человека, телепатическая связь, виртуальные встречи…
Объединение отдельно стоящих компьютеров в группы позволило достичь невиданных высот как в технологическом плане, так и в сознании человека. Сеть предоставляет пользователям огромное количество разнообразнейших ресурсов, возможность общения и отдыха, серфинг в Интернете, бесплатные звонки в другие страны, участие в торгах на биржах, возможность неплохо зарабатывать и т. д. Чтобы все это получить, нужно начать с малого – создать сеть.
Существуют разные типы и способы построения компьютерных сетей. Наиболее «мощные» технические возможности предоставляет, конечно, проводная сеть. Однако все перспективнее становятся сети, построенные с помощью радиотехнологий, позволяющих приобрести максимальную мобильность и независимость. Пока технологии беспроводных сетей не такие «продвинутые», как технологии их проводных собратьев, но они только продолжают развиваться, и в них скрыт огромнейший потенциал.
В данной книге вы познакомитесь как с теоретическими, так и с практическими основами функционирования сетей. Используя полученные знания, вы сможете построить беспроводную сеть, пусть сначала и небольшую, но все равно это будет настоящая сеть, причем легко модифицируемая. Со временем ваша беспроводная сеть сможет превратиться в достаточно объемную ячейку с большими возможностями. Если взяться за это с умом, то вскоре вы сможете заработать на своей сети приличные деньги – можете не сомневаться!
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты gurski@minsk.piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.
• Модель ISO/OSI.
• Понятие протокола.
• NetBIOS и NetBEUI.
• TCP, IP и UDP.
• IPX и SPX.
• SMTP, POP3 и IMAP.
• SLIP, РРР, HTTP и FTP.
Наш мир живет и функционирует, основываясь на многих законах и правилах. Конечно, все явления нельзя четко классифицировать или подогнать под общие правила, но, тем не менее, в основе всего сущего лежат законы физики, механики, экономики и, в конце концов, законы природы, которым подчиняются все процессы, происходящие на планете. Если бы ни они, Земля погрузилась бы в полный хаос.
Аналогично построен и компьютерный мир. Правда, к нему применимо скорее понятие стандарта, чем закона. Именно благодаря существованию определенных стандартов производители знают, какими параметрами должно обладать конкретное оборудование и какие функции выполнять, чтобы уметь работать в тех или иных условиях.
Подобные правила и стандарты существуют также в мире сетей, вне зависимости от того, какие они, – проводные или беспроводные. Основными стандартами здесь являются модель взаимодействий ISO/OSI и протоколы передачи данных.
Пожалуй, ключевым понятием в стандартизации сетей и всего, что к ним относится, является модель взаимодействия открытых систем (Open System Interconnection, OSI), разработанная международной организацией по стандартам (International Standards Organization, ISO). На практике применяется название модель ISO/OSI.
Описываемая модель состоит из семи уровней. Каждый уровень отвечает за определенный круг задач, выполняя их с помощью специальных алгоритмов – стандартов. Основная задача – достичь глобальной цели, поэтому уровни модели связаны между собой. Таким образом, выполнив свою часть задачи, каждый уровень передает готовые данные следующему уровню. В результате прохождения такой цепочки данные полностью обрабатываются, и их можно использовать.
В зависимости от назначения уровни получили следующие названия: физический, канальный, сетевой, транспортный, сеансовый, уровень представления данных и прикладной (рис. 1.1).
Основные отличия между проводными (Ethernet 802.3) и беспроводными (IEEE 802.11) сетями кроются только в двух нижних уровнях – физическом и канальном. Остальные уровни работают абсолютно одинаково, без каких-либо отличий.
Физический уровень – первый, самый низкий, уровень. Фактически он представляет собой аппаратную часть сети и описывает способ передачи данных, используя для этого любой имеющийся «под руками» канал – проводной или беспроводной. В зависимости от выбранного канала передачи данных используют соответствующее сетевое оборудование. Параметры передачи данных следует настраивать с учетом особенностей канала: полос пропускания, защиты от помех, уровня сигнала, кодирования, скорости передачи данных в физической среде и т. п.
Рис. 1.1. Уровни модели ISO/OSI.
Фактически всю описанную работу выполняет сетевое оборудование: сетевая карта, мост, маршрутизатор и т. д.
Физический уровень – один из уровней, который отличает беспроводные сети от проводных. Как вы уже, несомненно, поняли, основное отличие между ними заключается в канале передачи данных. Для проводных сетей это радиоволны определенной частоты или инфракрасное излучение, для беспроводных – любая физическая линия, например коаксиал, витая пара или оптоволокно.
Главная задача канального уровня – удостовериться, что канал готов к передаче данных и ничто не станет угрожать надежности этой операции и целостности передаваемых пакетов. В идеале протоколы канального уровня и сетевое оборудование должны проверить, свободен ли канал для передачи данных, не имеется ли коллизий передачи и т. п.
Такую проверку необходимо выполнять каждый раз, так как локальная сеть чаще всего состоит более, чем из двух компьютеров (хотя даже в таком случае канал может быть занят). Обнаружив, что канал свободен, элементы этого уровня делят данные, которые необходимо передать другому компьютеру, на более мелкие части – кадры. Затем каждый кадр снабжается контрольной сумой и отсылается. Приняв этот кадр, получатель проверяет контрольные суммы и, если они совпадают, принимает его и посылает отправителю подтверждение о доставке. В противном случае получатель игнорирует кадр и фиксирует ошибку, после чего кадр передается заново. Так, кадр за кадром, передается необходимая информация.
На канальном уровне, как и на физическом, также существуют различия между проводными и беспроводными сетями. Это связано со спецификой сетевого оборудования. Так, доступное на данный момент беспроводное оборудование работает только в полудуплексном режиме: в один момент времени данные могут только приниматься или только передаваться. Этот недостаток резко уменьшает эффективность обнаружения коллизий в сети и, соответственно, понижает скорость передачи данных.
Поскольку модель ISO/OSI жестко регламентирует действия каждого уровня, то разработчикам пришлось немного модернизировать протоколы канального уровня для работы в беспроводных сетях. В частности, для беспроводной передачи данных используются протоколы CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance, многостанционный доступ к среде передачи с контролем несущей и избежанием коллизий) или DCF (Distributed Coordination Function, распространяемая координирующая функция).
Протокол CSMA/CA предназначен для обнаружения конфликтов при передаче данных. Он использует явное подтверждение доставки данных, сообщающее о том, что передаваемый пакет доставлен и не поврежден.
Данный метод работает следующим образом. Когда один компьютер собирается передать информацию другому, он посылает всем компьютерам сети короткое сообщение – RTS (Ready To Send, готов к передаче), содержащее информацию о получателе и времени, необходимом для передачи данных. Получив такой пакет, все компьютеры прекращают на указанный промежуток времени передачу собственных данных. Компьютер, для которого предназначен пакет, отсылает отправителю сообщение CTS (Clear To Send, свободен для передачи) о готовности к приему данных. Получив такое сообщение, компьютер-отправитель пересылает первую порцию данных и ждет подтверждения доставки пакета. После такого подтверждения передача данных продолжается. Если сообщение об успешной доставке не пришло, то компьютер-отправитель повторно передает необходимый пакет.
Такой метод передачи гарантирует доставку пакетов данных, однако в то же время заметно снижает скорость передачи. Именно поэтому беспроводные сети намного медленнее проводных и останутся таковыми надолго, если не навсегда. Чтобы хоть как-то повысить скорость передачи данных по таким сетям, специальный протокол канального уровня фрагментирует пересылаемые пакеты (разбивает их на более мелкие части), что увеличивает шанс их удачной передачи.
Как и канальный уровень, сетевой отвечает за передачу данных между компьютерами. Для этого он использует сформированные данные и параметры двух предыдущих уровней – физического и канального. Главное отличие сетевого уровня от канального заключается в том, что он умеет передавать данные между сетями с разной топологией – комбинированными. Так, очень часто беспроводные и проводные сети используются в паре. Чаще всего это происходит, если по определенным причинам создать единую проводную сеть физически невозможно.
На сетевом уровне, как и на канальном, данные делятся на пакеты, что позволяет достичь качества и определенной скорости их передачи. Однако, в отличие от канального, сетевой уровень выбирает для передачи данных конкретный маршрут. Процесс выбора оптимального маршрута передачи данных называется маршрутизацией.
Как правило, информацию о выборе маршрута предоставляют специальные устройства, установленные в сети, – маршрутизаторы. Специальные таблицы маршрутизаторов содержат информацию о скорости передачи данных между отдельными отрезками сети, трафике, среднем времени передачи и т. д. Основываясь на этой информации, протоколы сетевого уровня могут выбрать оптимальный путь прохождения данных.
Пожалуй, транспортный уровень можно отнести к более высоким. Это означает, что данным уровнем управляет программа, а не аппаратные средства.
Транспортный уровень отвечает за надежность передачи данных. Существует несколько способов передачи, которые отличаются друг от друга степенью защищенности и возможностью исправления ошибок. Естественно, это сказывается на времени и скорости передачи информации между конкретными точками.
Способ передачи данных выбирается автоматически, с помощью анализа информации маршрутизаторов сети. Если анализ показывает, что конфликты в сети минимальны, то используется самый простой (а значит, самый быстрый) способ. В противном случае выбирается способ передачи высокой степени надежности с возможностью исправления поврежденных пакетов (этот способ передачи, конечно, более медленный). Какой бы способ ни был выбран, в любом случае информация будет доставлена в целостном виде.
Сеансовый уровень предназначен для контроля передачи пакетов между компьютерами. В процессе синхронизации принятых и отправленных пакетов протоколы сеансового уровня отслеживают недостающие данные и передают их заново. За счет работы только с недостающими пакетами достигается повышение скорости передачи данных.
На уровне представления данные приводятся к единому стандарту, что позволяет достичь договоренности при их приеме и передаче. Именно на этом уровне данные могут шифроваться, что повышает безопасность их передачи по сети. Кроме того, часто на уровне представления происходит компрессия информации, благодаря чему повышается скорость передачи данных.
Уровень представления реализуется программно, что позволяет использовать для шифрования данных новейшие достижения.
Прикладной уровень – самый верхний уровень модели ISO/OSI. Его задача – организация взаимодействия с прикладными программами. За это отвечает множество прикладных протоколов, с помощью которых операционная система и программы получают доступ к разнообразным ресурсам сети.