Диссертация Кочарян С.Г — копия (1195360), страница 2
Текст из файла (страница 2)
Подробнее можно посмотреть в хелпе к WDK(DDK).Тамможнополучитьполнуюинформациюоколлбэках.Драйверы протоколов могут передоверять минипорт-драйверу (при условии,что минипорт-драйвер это умеет – либо сам, либо адаптер умеет это делать нааппаратном уровне) некоторые свои функции (например, разграничитьконтрольную сумму или цифровую подпись IP-пакета или принять решение,как фрагментировать большой ТСP-пакет). Это значительно повышаетпроизводитель сети.NDIS состоит из обязательной части – самого себя (файл NDIS.SYS), итеоретически неограниченного количества пользовательских драйверов,которые этот самый NDIS.SYS оборачивает.
При этом обязан выполнитьнекоторые действия, чтобы подсистема NDIS вообще посчитала его местным,и смогла интегрировать в свой «стек». Необходимые условия для этого:драйвер должен сам себя зарегистрировать. Это означает то, чтодрайвер при загрузке указывает ядру, что он есть на самом деле и какого онтипа;драйвер должен предоставлять минимальный набор интерфейсныхфункций, которые он предоставляет NDIS'у. Собственно, за эти функцииNDIS и будет тягать этот самый драйвер;так же драйвер должен, в зависимости от своего типа, реализоватьфункции управления собой, которые так же тягаются во время выполнения.Отличие от предыдущего пункта в том, что эти функции для каждого типадрайвера уникальные.Назначение драйвера (обычное назначение, т.е. для чего этот драйвериспользуется) устанавливается на этапе установки в его .INF файле.Версии NDIS, поддерживающие различными версиями Windows, указаныв таблице 1.1.9Таблица 1.1 – Таблица версий NDIS и, поддерживающих их, версии ОСВерсия NDISИмяфайлаMS-DOS2.0ndis.sysWindows 3.113.0ndis.386Windows NT 3.53.0Windows 953.1ndis.vxdWindows 95 OSR24.0ndis.vxdWindows NT 4.04.0ndis.sysWindows 984.1ndis.vxdWindows NT 4.0 SP34.1ndis.sysWindows Me5.0Windows 20005.0ndis.sysWindows XP5.1ndis.sysWindows Server 20035.1ndis.sysWindows Server 2003 SP15.1ndis.sysWindows CE 4.2 (Pocket PC 2003)5.1ndis.dllWindows CE 4.21 (Pocket PC 2003 SE)5.1ndis.dllWindows CE 5.2 (Windows Mobile 6)5.1ndis.dllWindows Server 2003 SP25.2ndis.sysWindows Vista6.0ndis.sysWindows Server 20086.1ndis.sysWindows 76.20ndis.sysWindows 86.30ndis.sysОперационная система101.4 DDKDDK (Driver Development Kit) – набор из средств разработки, утилит,библиотек,заголовочныхфайлов,программногокодапримеровидокументации, который позволяет программистам создавать драйверы дляустройств по определённой технологии или для определённой платформы(программной или программно-аппаратной).
Название произошло от болееобщего термина SDK (англ. Software Development Kit), которым обозначаюткомплекты для разработки программ вообще, не только драйверов.SDK (software development kit) – комплект средств разработки, которыйпозволяетспециалистампопрограммномуобеспечениюсоздаватьприложения для определённого пакета программ, программного обеспечениябазовых средств разработки, аппаратной платформы, компьютерной системы,игровых консолей, операционных систем и прочих платформ.Программист,какправило,получаетSDKнепосредственноотразработчика целевой технологии или системы.
Часто SDK распространяетсячерез Интернет. Многие SDK распространяются бесплатно для того, чтобыпобудить разработчиков использовать данную технологию или платформу.Поставщики SDK иногда подменяют слово «software» в словосочетании«softwaredevelopmentkit»наболееточноеслово.Например, Microsoft и Apple предоставляют Driver Development Kit (DDK) дляразработки драйверов устройств, PalmSource называет свой инструментарийдля разработки PalmOS Development Kit (PDK), а Oracle – Java DevelopmentKit (JDK).Создание драйвера возможно и без использования DDK, однако DDKсодержит средства, упрощающие разработку драйвера (например, готовыепримеры и шаблоны кода), обеспечивающие совместимость драйверас операционной системой (символические определения констант, определенияинтерфейсных функций ОС, определения, зависящие от типа и версии ОС), атакже установку и тестирование драйвера.11В экосистеме, связанной с операционной системой Windows, терминустарел, и заменён термином WDK – Windows Driver Kit.
Продукт доступендля бесплатной загрузки через сайт Microsoft Connect и содержит в себесредства построения программ как режима ядра, так и пользовательскогорежима.1.5 Сетевая модель OSIСетевая модель OSI – базовая сетевая модель стека сетевых протоколов.Эталонная модель OSI, иногда называемая стеком OSI представляет собойсемиуровневуюсетевуюиерархию,разработаннуюМеждународнойорганизацией по стандартам (International Standardization Organization – ISO).На рисунке 1.2 отображена эталонная модель OSI.Рисунок 1.2 – Сетевая модель OSIВ литературе часто принято начинать описание уровней модели OSI сседьмого уровня, называемого прикладным, на котором пользовательскиеприложения обращаются к сети.
Модель OSI заканчивается первым уровнем –12физическим,накоторомопределеныстандарты,предъявляемыенезависимыми производителями к средам передачи данных:тип передающей среды (медный кабель, оптоволокно, радиоэфиртип модуляции сигнала;сигнальные уровни логических дискретных состояний (нуля ии др.);единицы).Любой протокол модели OSI должен взаимодействовать либо спротоколами своего уровня, либо с протоколами на единицу выше и/или нижесвоего уровня. Взаимодействия с протоколами своего уровня называютсягоризонтальными, а с уровнями на единицу выше или ниже — вертикальными.Любой протокол модели OSI может выполнять только функции своего уровняи не может выполнять функций другого уровня, что не выполняется впротоколах альтернативных моделей.Каждому уровню с некоторой долей условности соответствует свойоперанд – логически неделимый элемент данных, которым на отдельномуровне можно оперировать в рамках модели и используемых протоколов: нафизическом уровне мельчайшая единица – бит, на канальном уровнеинформация объединена в кадры, на сетевом – в пакеты (датаграммы), натранспортном–всегменты.Любойфрагментданных,логическиобъединённых для передачи – кадр, пакет, датаграмма – считаетсясообщением.
Именно сообщения в общем виде являются операндамисеансового, представительского и прикладного уровней.К базовым сетевым технологиям относятся физический и канальныйуровни.Уровень 1, физический.Физический уровень получает пакеты данных от вышележащегоканального уровня и преобразует их в оптические или электрические сигналы,соответствующие 0 и 1 бинарного потока.
Эти сигналы посылаются через13среду передачи на приемный узел. Механические и электрические/оптическиесвойства среды передачи определяются на физическом уровне и включают:тип кабелей и разъемов;разводку контактов в разъемах;схему кодирования сигналов для значений 0 и 1.К числу наиболее распространенных спецификаций физического уровняотносятся:EIA-RS-232-C, CCITT V.24/V.28 - механические/электрическиехарактеристики несбалансированного последовательного интерфейса;EIA-RS-422/449, CCITT V.10 - механические, электрические иоптическиехарактеристикисбалансированногопоследовательногоинтерфейса;IEEE 802.3 – Ethernet;IEEE 802.5 – Token ring.Уровень 2, канальный.Канальный уровень обеспечивает создание, передачу и прием кадровданных.
Этот уровень обслуживает запросы сетевого уровня и используетсервис физического уровня для приема и передачи пакетов. СпецификацииIEEE 802.x делят канальный уровень на два подуровня: управлениелогическим каналом (LLC) и управление доступом к среде (MAC). LLCобеспечивает обслуживание сетевого уровня, а подуровень MAC регулируетдоступ к разделяемой физической среде.Наиболее часто используемые на уровне два протоколы включают:HDLC для последовательных соединений;IEEE 802.2 LLC (тип I и тип II) обеспечивают MAC для сред 802.x;Ethernet;Token ring;FDDI;X.25;14Frame relay;Уровень 3, сетевой.Сетевой уровень отвечает за деление пользователей на группы.
На этомуровне происходит маршрутизация пакетов на основе преобразования MACадресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачнуюпередачу пакетов на транспортный уровень.Наиболее часто на сетевом уровне используются протоколы:IP - протокол Internet;IPX - протокол межсетевого обмена;X.25 (частично этот протокол реализован на уровне 2);CLNP - сетевой протокол без организации соединений;Уровень 4, транспортный.Транспортный уровень делит потоки информации на достаточно малыефрагменты (пакеты) для передачи их на сетевой уровень.Наиболее распространенные протоколы транспортного уровня включают:TCP – протокол управления передачей;NCP – Netware Core Protocol;SPX – упорядоченный обмен пакетами;TP4 – протокол передачи класса 4;Уровень 5, сеансовый.Сеансовый уровень отвечает за организацию сеансов обмена даннымимежду оконечными машинами.
Протоколы сеансового уровня обычноявляются составной частью функций трех верхних уровней модели.Уровень 6, уровень представления.Уровень представления отвечает за возможность диалога междуприложенияминаразныхмашинах.Этотуровеньобеспечиваетпреобразование данных (кодирование, компрессия и т.п.) прикладного уровняв поток информации для транспортного уровня. Протоколы уровняпредставления обычно являются составной частью функций трех верхнихуровней модели.15Уровень 7, прикладной.Прикладной уровень отвечает за доступ приложений в сеть. Задачамиэтого уровня является перенос файлов, обмен почтовыми сообщениями иуправление сетью.К числу наиболее распространенных протоколов верхних уровнейотносятся:FTP – протокол переноса файлов;TFTP – упрощенный протокол переноса файлов;X.400 – электронная почта;Telnet;SMTP – простой протокол почтового обмена;CMIP – общий протокол управления информацией;SNMP – простой протокол управления сетью;NFS – сетевая файловая система;FTAM – метод доступа для переноса файлов;162 Принципы работы межсетевого экрана2.1 Брандмауэр с фильтрацией пакетовБрандмауэр с фильтрацией пакетов организован как механизм, реализующий набор разрешающих и запрещающих правил для входящих и исходящих пакетов.
Этот набор правил определяет какие пакеты могут проходить через конкретный сетевой интерфейс.Брандмауэр с фильтрацией пакетов может производить с приходящимипакетами три действия:- пересылать пакет в узел назначения;- удалять пакет без уведомления посылающей пакет стороны;- возвращать передающему компьютеру сообщение об ошибке.В большинстве случаях выполнение этих простых действий достаточнодля организации эффективной защиты.Брандмауэр устанавливается для того, чтобы контролировать данные,которыми компьютеры обмениваются с Интернетом. В результате работыфильтрующего брандмауэра отбрасываются недопустимые обращения к узламвнутренней сети и запрещается передача из внутренней сети в Интернет дляпакетов, определенных правилами фильтрации.Дляполучениягибкойсистемыфильтрациипакетов,правиласоставляются для каждого сетевого интерфейса.
В них учитываются IP-адресаотправителя и получателя, номера портов UDP и TCP, флаги TCP-соединенийи ICMP- сообщений. Причем правила для исходящих и входящих пакетовразличаются.Это значит, что при настройке фильтрующего брандмауэра правила дляконкретного сетевого интерфейса представляются как отдельные правила длявходящей и исходящей информации, поскольку входящие и исходящиепакеты обрабатываются брандмауэром независимо друг от друга.