Александр Ватаманюк
Беспроводная сеть своими руками
Введение
C недавних пор человек и компьютер стали просто неразлучны. Это произошло, когда в один прекрасный день человек осознал, что компьютер чрезвычайно глубоко проник в его жизнь и отказаться от него практически невозможно.
Сначала компьютеры были каждый сам по себе, затем они объединились в локальную сеть, потом – в глобальную. Трудно представить себе, что будет дальше: компьютер, имплантированный в голову человека, телепатическая связь, виртуальные встречи…
Объединение отдельно стоящих компьютеров в группы позволило достичь невиданных высот как в технологическом плане, так и в сознании человека. Сеть предоставляет пользователям огромное количество разнообразнейших ресурсов, возможность общения и отдыха, серфинг в Интернете, бесплатные звонки в другие страны, участие в торгах на биржах, возможность неплохо зарабатывать и т. д. Чтобы все это получить, нужно начать с малого – создать сеть.
Существуют разные типы и способы построения компьютерных сетей. Наиболее «мощные» технические возможности предоставляет, конечно, проводная сеть. Однако все перспективнее становятся сети, построенные с помощью радиотехнологий, позволяющих приобрести максимальную мобильность и независимость. Пока технологии беспроводных сетей не такие «продвинутые», как технологии их проводных собратьев, но они только продолжают развиваться, и в них скрыт огромнейший потенциал.
В данной книге вы познакомитесь как с теоретическими, так и с практическими основами функционирования сетей. Используя полученные знания, вы сможете построить беспроводную сеть, пусть сначала и небольшую, но все равно это будет настоящая сеть, причем легко модифицируемая. Со временем ваша беспроводная сеть сможет превратиться в достаточно объемную ячейку с большими возможностями. Если взяться за это с умом, то вскоре вы сможете заработать на своей сети приличные деньги – можете не сомневаться!
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты [email protected] (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
На сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.
Глава 1
Сетевая модель и протоколы передачи данных
• Модель ISO/OSI.
• Понятие протокола.
• NetBIOS и NetBEUI.
• TCP, IP и UDP.
• IPX и SPX.
• SMTP, POP3 и IMAP.
• SLIP, РРР, HTTP и FTP.
Наш мир живет и функционирует, основываясь на многих законах и правилах. Конечно, все явления нельзя четко классифицировать или подогнать под общие правила, но, тем не менее, в основе всего сущего лежат законы физики, механики, экономики и, в конце концов, законы природы, которым подчиняются все процессы, происходящие на планете. Если бы ни они, Земля погрузилась бы в полный хаос.
Аналогично построен и компьютерный мир. Правда, к нему применимо скорее понятие стандарта, чем закона. Именно благодаря существованию определенных стандартов производители знают, какими параметрами должно обладать конкретное оборудование и какие функции выполнять, чтобы уметь работать в тех или иных условиях.
Подобные правила и стандарты существуют также в мире сетей, вне зависимости от того, какие они, – проводные или беспроводные. Основными стандартами здесь являются модель взаимодействий ISO/OSI и протоколы передачи данных.
1.1. Модель 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, свободен для передачи) о готовности к приему данных. Получив такое сообщение, компьютер-отправитель пересылает первую порцию данных и ждет подтверждения доставки пакета. После такого подтверждения передача данных продолжается. Если сообщение об успешной доставке не пришло, то компьютер-отправитель повторно передает необходимый пакет.
Такой метод передачи гарантирует доставку пакетов данных, однако в то же время заметно снижает скорость передачи. Именно поэтому беспроводные сети намного медленнее проводных и останутся таковыми надолго, если не навсегда. Чтобы хоть как-то повысить скорость передачи данных по таким сетям, специальный протокол канального уровня фрагментирует пересылаемые пакеты (разбивает их на более мелкие части), что увеличивает шанс их удачной передачи.