Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.




Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Previous Next Table of Contents

4. Общая информация о сетевых средствах Линукса.

4.1 Краткая история разработки сетевой подсистемы Линукса.

Разработка совершенно новой реализации стека tcp/ip, сравнимого по возможностям и производительности с существующими реализациями была нелегкой задачей. Отказ от переноса существующей реализации был сделан в тот момент, когда существовала некоторая неясность, не станут ли существующие реализации отягощены ограничениями авторских прав в связи с судебным делом, начатым U.S.L. Кроме того, существовал значительный энтузиазм сделать все по-своему и лучше, чем делалось ранее.

Первым добровольцем, возглавившим разработку сетевой подсистемы был Росс Биро (Ross Biro <biro@yggdrasil.com>). Росс написал простую и неполную, но уже пригодную к использованию систему, дополненную драйвером для сетевой карты ethernet WD-8003. Этого было достаточно, чтобы многие могли экспериментировать и тестировать новую систему, а некоторые даже смогли с ее помощью подключить свои машины к интернету. Давление, которое сообщество разработчиков Линукса, оказывало на разработчиков сетевой подсистемы было весьма большим и в определенный момент вынудило Росса отказаться от руководства проектом. Но его усилия по начальной организации проекта и взятая ответственность за создание чего-либо работоспособного в сложных условиях стали катализатором для всех дальнейших работ и заложили основы современного успеха.

Орест Збровски (Orest Zborowski <obz@Kodak.COM>) написал первый вариант интерфейса BSD sockets. Это был значительный шаг вперед, так как это позволило переносить многие существовавшие сетевые приложения без серьезных модификаций.

Примерно в это-же время Лоуренс Калхейн (Laurence Culhane <loz@holmes.demon.co.uk>) разработал первый драйвер поддержки протокола SLIP. Это позволило многим, не имеющим доступа к локальным ethernet-сетям, экспериментировать с новым программным обеспечением. И снова, некоторым удалось с помощью этого драйвера подключить свои машины к интернету. Это дало многим ощущение возможностей, которые будет иметь Линукс с полной сетевой поддержкой и увеличило число людей, экспериментирующих с сетевой подсистемой.

Еще одним из активных разработчиков был Фред ван Кемпен (Fred van Kempen <waltje@uwalt.nl.mugnet.org>). После краткого периода неопределенности, последовавшего за уходом Росса, Фред принял на себя руководство проектом, без особой конкуренции. У Фреда были свои планы развития сетевой подсистемы Линукса, и он направил основную работу именно в этих направлениях. Под его руководством были написаны программы, названные NET-2 (в отличие от NET -- программ, написанных Россом), которые многие смогли продуктивно использовать. Кроме того, Фред внес много предложений по новым разработкам, таким как динамический интерфейс устройства, поддержка протокола Amateur Radio AX.25 и модульная структура сетевой подсистемы. NET-2 использовался большим количеством людей, которое постоянно увеличивалось по мере того, как распространялась информация о работоспособности этой системы. В тот момент новая реализация все еще выпускалась как набор исправлений к обычному ядру и не включалось в основное выпускаемое ядро. NET-FAQ и NET-2-HOWTO описывали достаточно сложную процедуру, которая требовалась, чтобы заставить сетевую подсистему работать. Фред уделял основное внимание новым разработкам, что отнимало основную часть времени. В то же время пользователям требовалась надежная система, которая устроила бы по крайней мере 80% пользователей. Так же, как и в случае с Россом, пользователи стали оказывать на разработчиков давление.

Алан Кокс (Alan Cox <iialan@www.uk.linux.org>) предложил решить возникшие проблемы следующим образом. Он предложил взять на себя отладку кода NET-2 до состояния стабильной и надежной работы, которая бы устроила большинство пользователей. При этом давление на Фреда уменьшилось бы и позволило бы ему продолжить свою работу. Алан взялся за работу и через некоторое время выпустил первую версию сетевой подсистемы NET-2D (от NET-2-Debugged). Она устойчиво работала на большинстве машин, и удовлетворяла большинство пользователей. У Алана были свои взгляды на то, как должен развиваться проект и это привело к большому количеству дискуссий о том, как развивать NET-2. В результате сложилось два подхода среди разработчиков сетевой подсистемы -- первый -- "сперва работоспособность, затем доводка" и второй -- "доводка в процессе разработки". Линус Торвальдс (Linus Torvalds) выступил в качестве арбитра и поддержал Алана, включив его код в стандартное выпускаемое ядро. Фред оказался в сложной ситуации. Все его дальнейшие разработки лишались большого количества тестеров, а это означало замедление прогресса. Фред работал еще некоторое время, а затем Алан стал новым лидером команды разработчиков сетевой подсистемы.

Дональд Беккер (Donald Becker <becker@cesdis.gsfc.nasa.gov>) занялся программированием нижнего уровня сетевой подсистемы и написал огромное количество драйверов ethernet-карт. Почти все драйвера, включенные в текущие версии ядра написаны Дональдом. В написании драйверов участвовали и другие, но работа Дональда была столь продуктивной, что заслуживает особого упоминания.

Алан продолжал улучшать NET-2D, параллельно занимаясь проблемами, не указанными явно в списке первоочередных. К тому моменту, когда версии основного ядра 1.3.* достигли состояния зрелости, сетевая подсистема переросла в версию 3 -- NET-3, на базе которой основана текущая реализация сетевой поддержки в Линуксе. Алан работал над многими частями сетевой подсистемы и с помощью многих других развивал ее по многим направлениям. Алан разработал динамические сетевые устройства и первые реализации протоколов AX.25 и IPX. Параллельно Алан продолжал дорабатывать остальной код и продолжает заниматься этим и сейчас.

Поддержка PPP была написана Майклом Коллахэном (Michael Callahan <callahan@maths.ox.ac.uk>) и Элом Лонгйиаром (Al Longyear <longyear@netcom.com>). Это также имело огромное значение, так как значительно увеличило число пользователей Линукса.

Джонатан Нейлор (Jonathon Naylor <jsn@cs.nott.ac.uk>) значительно улучшил поддержку AX.25, добавив поддержку протоколов NetRom и Rose. Поддержка AX.25/NetRom/Rose имела очень большое значение, поскольку ни одна операционная система кроме Линукса не имела встроенной поддержки этих протоколов.

Конечно, многие сотни людей участвовали в разработке сетевой подсистемы Линукса. Многие из них будут упоминаться в специальных разделах, многие обеспечили написание модулей и драйверов, высказывали пожелания, присылали сообщения об ошибках и оказывали моральную поддержку. Все они сыграли свою роль в разработке. Сетевая подсистема Линукса -- отличный пример результата, достигнутого "анархической" разработкой, о она продолжает развиваться по многим направлениям и сейчас.

4.2 Источники информации о сетевой подсистеме Линукса.

Информацию о работе с сетью в Линуксе Вы можете почерпнуть из множества источников.

Алан Кокс, нынешний ведущий разработчик сетевой подсистемы Линукса сопровождает web-страницу, на которой содержатся все последние новости, касающиеся сетевой поддержки в Линуксе. Эта страничка находится по адресу www.uk.linux.org.

Другой полезный источник -- книга Олафа Кирха (Olaf Kirch) "Network Administrator Guide" ("Руководство сетевого администратора"). Она является частью Проекта по Документации Линукса ( Linux Documentation Project) и вы можете прочесть ее (на английском языке) HTML-версию по адресу Network Administrators Guide HTML version либо получить ее в других форматах по ftp с сайта sunsite.unc.edu sunsite.unc.edu LDP ftp archive. Книга Олафа -- весьма полное руководство по настройке сетевой поддержки под Линуксом.

Существует news-группа в иерархии news-групп, посвященных Линуксу, в которой обсуждаются вопросы, посвященные сетевой подсистеме -- comp.os.linux.networking

Кроме того существует лист рассылки, подписавшись на который Вы можете задать вопросы, относящиеся к сети под Линуксом. Для того, чтобы подписаться, отправьте письмо:

To: majordomo@vger.rutgers.edu

Subject: <любой>



В теле письма напишите:



subscribe linux-net

В различных IRC-сетях часто есть каналы #linux в которых Вы можете получит ответы на многие вопросы.

Сообщая о какой либо проблеме, старайтесь включить как можно больше подробностей, имеющих к ней отношение. В частности, обязательно сообщайте номера версий используемых программ, ядра, номера версий таких программ как pppd или dip, и суть возникшей проблемы. Обращайте особое внимание на все получаемые сообщения об ошибках и точно упомяните все вводимые Вами команды.

4.3 Источники информации о сетях, не связанные непосредственно с Линуксом

Для получения базовой информации о работе tcp/ip сетей советуем Вам обратиться к следующим документам:

tcp/ip introduction

этот документ можно получить как в текстовом виде, так и в виде pstscript.

tcp/ip administration

этот документ можно получить как в текстовом виде, так и в виде postscript.

За более подробной информацией Вы можете обратиться к книге

Douglas E. Comer Internetworking with TCP/IP, Volume 1: principles, protocols and architecture, ISBN 0-13-227836-7 Prentice Hall publications, Third Edition, 1995.

Если Вы хотите писать сетевое программное обеспечение в Unix-подобных средах, очень рекомендуем Вам прочесть книгу

W. Richard Stevens Unix Network Programming ISBN 0-13-949876-1, Prentice Hall publications, 1990.

Ожидается к выходу второе издание этой книги, в новом издании она разбита на три тома, подробности на Web-сайте фирмы Prentice-Hall.

Кроме того, можете обратиться к news-группе comp.protocols.tcp-ip.

Важным источником информации и протоколах семейства tcp-ip и интернете являются документы RFC. RFC расшифровывается как "Request For Comment" (Запрос для Обсуждения). RFC -- способ описания стандартов Интернет. Набор документов RFC можно получить из многих мест, по протоколу ftp или через WWW. Многие сайты обеспечивают доступ к RFC с возможностью поиска по ключевым словам. Один из таких сайтов находится по адресу: Nextor RFC database.


Previous Next Table of Contents


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют