> man operating_systems
Ядро Linux 2.6
Краткое описание новинок ядра 2.6
на Воскресенье, 18 Июль 2004, 21:11
добавил: Джозеф Праневич список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи > Unix
комментарии: 0
просмотров: 3751


Сети

Передовая сетевая инфраструктура всегда была главным козырем Линукса. Линукс - это ОС, уже поддерживающая большинство доминирующих в мире сетевых протоколов включая TCP/IP (v4 и v6), AppleTalk, IPX и другие (фактически из распространенны и не поддерживаемых на ум приходит лишь старый и сильно запутанный протокол NetBIOS/NetBEUI от Майкрософта).

Как и изменения во многих других подсистемах, большинство изменений в ядре 2.6. касающихся сетевого оборудования скрыты от глаз и не очевидны. Сюда относятся изменения, позволяющие воспользоваться преимуществами модели устройств и изменения во многих драйверах устройств. Например, теперь Линукс имеет выделенную подсистему MII (Media Independent Interface (интерфейс, не зависящий от среды передачи) или IEEE 802.3u), которая используется драйверами некоторых устройств. Эта подсистема исключает множество незначительно различных инстанций MII, которые поддерживались различными драйверами и различными способами, тем самым исключив дублирование кода и ненужную работу. К другим изменениям в основном относится усовершенствоваие ISDN и прочее.

Одним из главных нововведений стала поддержка Линуксом протокола IPSec. IPSec, или IP Security (безопасность IP), это пул протоколов для IPv4 ("" IP) и IPv6, обеспечивающих криптографическю безопасность на сетевом уровне. В связи с эти приложения могут не беспокоится об обеспечении безопасности. Он очень схож с SSL и другими туннелирующими протоколами обеспечения безопасности, но работает на более нижнем уровне. На сегодняшний день поддерживается шифрование в ядре включая разнообразные реализации SHA ("secure hash algorithm" - хэш-алгоритм безопасности), DES ("data encryption standard" - стандарт шифрования информации) и другие.

Касательно сетевых протоколов, была улучшена поддержка работы с сетевыми группами (multicast networking). Сетевые группы это сети, в которых один пакет может быть получен несколькими компьютерами (в традиционном сетевом взаимодействии точка-точка вы можете единовременно связаться лишь с одним компьютером). В основном эта возможность используется пейджинговыми системами (такими как Tibco) и ПО организации аудио/видео конференций. Теперь поддержка этих возможностей Линуксом 2.6. обеспечивается реализациями таких SSM (Source Specific Multicast - группа обуславливаемая источником) протоколов как MLDv2 (Multicast Listener Discovery - групповое открытие слушателя) и IGMPv3 (Internet Group Messaging Protocol - Internet-протокол групповой рассылки). Это стандартные протоколы, поддерживаемые оборудованием таких гигантов как Cisco).

В ядре 2.6. протокол LLC выделен в отдельный стек LLC. LLC, или Logical Link Control (управление логическими связями) (IEEE 802.2), это низкоуровневый протокол, используемый протоколами более высокого уровня, такими как Microsoft NetBeui, IPX и AppleTalk. Частью данного изменения стало то, что драйверы протоколов IPX, AppleTalk, и Token Ring были переписаны с учетом новой общей подсистемы. Кроме того, внешним образом обеспечена ее связь с работой стека NetBEUI, остается отметить, что вряд ли эта связь будет интегрирована в ядро.

Среди мелких изменений - IPv6 был подправлен и теперь способен работать в сетях Token Ring. Реализация NAT/masquerading была расширена для лучшей поддержки протоколов, требующих нескольких соединений (H.323, PPTP и прочее). На фронте маршрутизаторов поддержка Линуксом конфигурировани VLAN-ов теперь не является "экспериментальн".

Сетевые файловые системы.

Следствием качественной поддержки Линуксом сетевых протоколов является такая же качественная поддержка сетевых файловых систем. Монтирование (и иногда экспорт) сетевой ФС является одной из не многих высокоуровневыхопераций поддерживаемых ядром непосредственно(наиболее очевидно что "сетевые блочные " не претерпели существенных изменений в ядре 2.6. и они в основном используются в специализированых приложениях, в которых вы так или иначе работаете с ними как с подобием ФС). Все остальные сетевые операции вынесены в пользовательско пространство и не относятся к области разработчиков ядра.

В мире Линукса и ЮНИКС клонов наиболее распространена сетевая ФС метко названная Сетевая ФС (Network File System - NFS). NFS это сложный протокол расшаривания файлов (общего использования), имеющий глубокие корни в ЮНИКС (и особенно в прекрасной его реализации в Sun Solaris). Основным транспортным протоколом могут быть TCP и UDP, кроме этого необходимы несколько под-протоколов, каждый из которых выполняется поверх протокола RPC ("remote procedure call - удаленный вызов "). К ним относится выделенный протокол "монтирования" для аутентификации и блокировки файлов NLM-мом ("network lock manager - менеджер сетевых "). (Вообще реализация тесно связана с другими протоколами, основанными на RPC, включая NIS (network information service - сервис сетевой информации) для аутентификации. NIS обычно не используется в Линуксе из-за его "" ненадежности). Ситуация осложнена тем, что NFS не был всесторонне адаптирован к работе в качестве протокола Internet.

В Линуксе 2.6. эта ФС получила множество изменений и дополнений. Среди них экспериментальня поддержка нового и пока не распространенноо протокола NFSv4 в реализации как клиентской, так и серверной части (предыдущие версии Линукса включали поддержку версий v2 и v3 этого протокола). Новая версия поддерживает более сильную и безопасную аутентификацию (с шифрованием), более интеллектуальну блокировку, псевдо-ФС и прочее. Не все возможности NFSv4 реализованы в Линуксе на сегодня, но имеющаяся поддержка довольно стабильна и может быть использована в коммерческих приложениях. Кроме этого реализация серверной части NFS в Линуксе усовершенствоваа в отношении масштабирования (вплоть до 64-кратного увеличения одновременно обслуживаемых пользователей и очередей запросов), завершенности (посредством поддержки обслуживания с помощью TCP, в дополнение к UDP), устойчивости (отдельные драйверы ФС могут адаптировать путь к файлу в системах, которые их экспортируют), сопровождаемост (вместо системных вызовов, управление ФС новым `nfsd`). Среди менее очевидных изменений - разделение lockd и nfsd, поддержка нуль-копии (zero-copy) сети на поддерживаемых интерфейсах. Реализация клиентской части NFS была улучшена за счет протокола RPC, включающего инфраструктуру кэширования, управление соединением посредством UDP, и другие улучшения TCP. Была усовершенствоваа поддержка томов root-ФС (для бездисковых систем), теперь ядро поддерживает NFS поверх TCP.

Кроме улучшенной поддержки сетевых ФС в стиле ЮНИКС, Линукс 2.6. принес множество усовершенствоваий сетевых ФС Windows-стиля. В Windows серверах (также как и в OS/2 и других ОС) стандартным протоколом "расшаривания" ФС является SMB ("server message block - блочные сообщения "), и все последние версии Линукса прекрасно поддерживают клиентскую часть этого протокола. Однако Windows 2000 опирается на новую надстройку этого протокола называемую CIFS ("common internet filesystem" - разделяемая intenet-ФС) . Цель такого существенного обновления состояла в упрощении и совершенствовани некоторых аспектов протокола SMB, что привело к окончательной путанице (сам протокол не был четко определен и часто расширялся, что стало причиной несовместимостидаже между его реализациями в Windows 95/98/ME и WindowsNT/2000). CIFS призван добавить поддержку Unicode, улучшенную блокировку файлов, жесткие ссылки, устранить остатки зависимостей от NetBIOS и нескольких других возможностей для пользователей Windows. Так как пользователи Линукса не любят сидеть в темноте подолгу, в ядро 2.6. включена полностью переписанная поддержка монтирования ФС CIFS. Линукс 2.6. также поддерживает расширение протоколов SMB и CIFS именуемое SMB-UNIX, которое позволяет ему посредством SMB-серверов, поддерживающих эти расширения (например Samba), получать доступ к файлам не-Windows типа (такими как узлы и символические ссылки).

Хотя сегодня на это не обращают внимание, все же Линукс не забыл о пользователях Novell NetWare. Ядро 2.6. позволяет клиентам Линукса монтировать до 256 "" с одного тома NetWare, используя при этом встроенный драйвер ФС NCP ("NetWare Core Protocol - протокол ядра NetWare").

Линукс 2.6. включает улучшенную поддержку относительно новых доменов сетевых ФС, систем, в которых файлы хранящиеся на одном логическом томе, могут быть распределены между несколькими узлами. Кроме представленной в Линукс 2.4. ФС CODA, Линукс включил некоторую поддержку еще двух распределенных ФС: AFS и InterMezzo. AFS, Andrew ФС (названная так потому как изначально была разработана в CMU), в настоящем ограничен лишь операциями чтения. Вторая ФС, InterMezzo (тоже разработанная в CMU), также поддерживается начиная с ядра 2.6., но позволяет делать больше, например операция разрыва соединения (таким образом вы работаете с кэшированными файлами локально), поэтому эту ФС можно использовать в приложениях высокой доступности, когда вам необходим постоянный гарантированныйдоступ к хранилищу (или имитация при отключении). InterMezzo также пригоден для использования в приложениях, нуждающихся в синхронизации файлов между несколькими компьютерами, такими как ноутбуки, наладонники и ПК. Многие проекты обеспечивают поддержку этих типов ФС, позволяя Линуксу развивать их и дальше.



© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.