🗊 Презентация Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com

Категория: Новости
Нажмите для полного просмотра!
Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №1 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №2 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №3 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №4 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №5 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №6 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №7 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №8 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №9 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №10 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №11 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №12 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №13 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №14 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №15 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №16 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №17 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №18 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №19 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №20 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №21 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №22 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №23 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №24 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №25 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №26 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №27 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №28 Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com, слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com. Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com
Описание слайда:
Сетевая подсистема Windows глазами разработчика. Алексей Пахунов alexeypa@microsoft.com

Слайд 2


Обо мне. Senior SDE в команде eXtreme Computing Group (XCG), Microsoft Research. Специализация: низкоуровневое и системное программирование;...
Описание слайда:
Обо мне. Senior SDE в команде eXtreme Computing Group (XCG), Microsoft Research. Специализация: низкоуровневое и системное программирование; разработка драйверов и компонентов ядра Windows. 3 года в команде Windows Kernel: Wow64 и поддержка AVX. Мой блог:

Слайд 3


Содержание. Архитектура стека TCP/IP. Путь данных вверх и вниз. Настройки и аппаратное ускорение. Фильтры и мониторинг трафика.
Описание слайда:
Содержание. Архитектура стека TCP/IP. Путь данных вверх и вниз. Настройки и аппаратное ускорение. Фильтры и мониторинг трафика.

Слайд 4


Архитектура стека TCP/IP.
Описание слайда:
Архитектура стека TCP/IP.

Слайд 5


Архитектура стека TCP/IP.
Описание слайда:
Архитектура стека TCP/IP.

Слайд 6


Стек драйверов в NDIS 6.0. Отдельный стек над каждым сетевым адаптером. Многопортовые сетевые адаптеры могут запросить отдельный стек для каждого...
Описание слайда:
Стек драйверов в NDIS 6.0. Отдельный стек над каждым сетевым адаптером. Многопортовые сетевые адаптеры могут запросить отдельный стек для каждого порта. Сетевой адаптер может привязывается к нескольким протоколам. Фильтры устанавливаются отдельно над каждым сетевым адаптером.

Слайд 7


Промежуточные драйверы. Промежуточный драйвер объединяет два стека в один. Верхний стек видит виртуальный сетевой адаптер. Нижний стек привязывается...
Описание слайда:
Промежуточные драйверы. Промежуточный драйвер объединяет два стека в один. Верхний стек видит виртуальный сетевой адаптер. Нижний стек привязывается к промежуточному драйверу как к протоколу.

Слайд 8


Программные интерфейсы. Winsock (send/recv, WSASend/WSARecv). Winsock Kernel (WskSend/WskReceive). IP Helper. RPC (RpcXxx). WNet (WNetXxx). WinInet...
Описание слайда:
Программные интерфейсы. Winsock (send/recv, WSASend/WSARecv). Winsock Kernel (WskSend/WskReceive). IP Helper. RPC (RpcXxx). WNet (WNetXxx). WinInet (InternetXxx). WinHTTP (WinHttpXxx). HTTP Server API (HttpXXX).

Слайд 9


Путь данных вверх и вниз.
Описание слайда:
Путь данных вверх и вниз.

Слайд 10


Обработка принятых пакетов (IP). Сетевой адаптер проверяет целостность пакета и генерирует прерывание. Драйвер адаптера передает его выше по стеку....
Описание слайда:
Обработка принятых пакетов (IP). Сетевой адаптер проверяет целостность пакета и генерирует прерывание. Драйвер адаптера передает его выше по стеку. IP проверяет целостность IP заголовка, восстанавливает пакет из фрагментов, перенаправляет пакет согласно таблице маршрутизации. TCP/UDP проверяет целостность данных пакета, запрашивает повторную передачу и копирует данные в буфер приложения или драйвера: recv(connection, buffer, length, 0);

Слайд 11


Передача данных (TCP). Приложение указывает на данные для передачи: send(connection, buffer, length, 0); TCP формирует заголовки пакета (или...
Описание слайда:
Передача данных (TCP). Приложение указывает на данные для передачи: send(connection, buffer, length, 0); TCP формирует заголовки пакета (или нескольких пакетов). IP формирует свои заголовки и разбивает пакеты на фрагменты, если необходимо. Драйвер адаптера ставит пакеты в очередь, настраивает DMA и запускает передачу пакетов. Сетевой адаптер генерирует прерывание по окончанию передачи. Драйвер адаптера возвращает буферы их владельцу.

Слайд 12


Как пакеты хранятся в памяти? Каждый пакет описывается списком буферов (NET_BUFFER). Буфер может располагаться в несмежных физических страницах....
Описание слайда:
Как пакеты хранятся в памяти? Каждый пакет описывается списком буферов (NET_BUFFER). Буфер может располагаться в несмежных физических страницах. Между уровнями передаются указатели. Данные пакета копируются только один раз.

Слайд 13


Прямой доступ в память (DMA). Сетевой адаптер поддерживает очереди буферов. Несколько очередей для приёма и передачи. Драйвер отвечает за выделение...
Описание слайда:
Прямой доступ в память (DMA). Сетевой адаптер поддерживает очереди буферов. Несколько очередей для приёма и передачи. Драйвер отвечает за выделение памяти, вставляет буферы в очередь и удаляет их оттуда. Сетевой адаптер сохраняет принятые данные в подготовленные драйвером буфера. Дескрипторы указывают сетевому адаптеру как нужно «склеивать» пакеты из нескольких буферов.

Слайд 14


Прерывания в Windows. Уровни прерываний (IRQL): PASSIVE_LEVEL – обычный код; используются приоритеты потоков. DISPATCH_LEVEL – планировщик потоков и...
Описание слайда:
Прерывания в Windows. Уровни прерываний (IRQL): PASSIVE_LEVEL – обычный код; используются приоритеты потоков. DISPATCH_LEVEL – планировщик потоков и подкачка страниц приостановлены. DIRQLs – прерывания от менее приоритетных устройств заблокированы. Прерывание обрабатывается в два этапа: Обработчик прерывания должен выполнить минимум работы максимально быстро. Отложенный обработчик (DPC) выполняет оставшуюся работу. IRQL нельзя произвольно понижать. Каждое из ядер может находится на своем уровне прерываний.

Слайд 15


Прерывания в NDIS. Основные прерывания: пакет принят и передан. Обработка принятых пакетов проходит на DISPATCH_LEVEL. Любой драйвер в стеке имеет...
Описание слайда:
Прерывания в NDIS. Основные прерывания: пакет принят и передан. Обработка принятых пакетов проходит на DISPATCH_LEVEL. Любой драйвер в стеке имеет право передать обработку в рабочий поток (PASSIVE_LEVEL). Исходящие пакеты формируются на PASSIVE_LEVEL. Любой драйвер в стеке имеет право повысить IRQL до DISPATCH_LEVEL.

Слайд 16


Уведомление приложений. Все операции ввода-вывода асинхронны. Синхронные send() и recv() эмулируются. Уведомление об окончании операции доставляется...
Описание слайда:
Уведомление приложений. Все операции ввода-вывода асинхронны. Синхронные send() и recv() эмулируются. Уведомление об окончании операции доставляется одним из стандартных способов: APC, установка события, IO completion port, threadpool, опрос OVERLAPPED. Драйверы, работающие через Winsock Kernel, используют IRP (I/O Request Packet).

Слайд 17


Настройки и аппаратное ускорение.
Описание слайда:
Настройки и аппаратное ускорение.

Слайд 18


Аппаратное ускорение. MAC и VLAN фильтры на сетевом адаптере. Регулирование частоты прерываний (Interrupt Moderation). Выгрузка вычислений на сетевой...
Описание слайда:
Аппаратное ускорение. MAC и VLAN фильтры на сетевом адаптере. Регулирование частоты прерываний (Interrupt Moderation). Выгрузка вычислений на сетевой адаптер: Вычисление и проверка контрольных сумм (Checksum Offloading). TCP сегментация (Large Send Offloading). TCP Chimney Offloading. Обработка принятых пакетов на нескольких процессорах (Receive-Side Scaling). Поддержка виртуализации.

Слайд 19


Настройка сетевого адаптера (1). Вкладка «Advanced». Описывается в .INF файле драйвера. NDIS определяет стандартные параметры. …но отображаемые...
Описание слайда:
Настройка сетевого адаптера (1). Вкладка «Advanced». Описывается в .INF файле драйвера. NDIS определяет стандартные параметры. …но отображаемые названия параметров все равно берутся из .INF файла.

Слайд 20


Настройка сетевого адаптера (2).
Описание слайда:
Настройка сетевого адаптера (2).

Слайд 21


Настройка TCP/IP. Доступные через реестр параметры TCP/IP описаны в TechNet и множестве других источников....
Описание слайда:
Настройка TCP/IP. Доступные через реестр параметры TCP/IP описаны в TechNet и множестве других источников. HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters: Адреса. Размер окна TCP. Маршрутизация. Лимиты. ...

Слайд 22


Фильтры и слежение за трафиком.
Описание слайда:
Фильтры и слежение за трафиком.

Слайд 23


NDIS фильтры. Делятся на следящие и модифицирующие фильтры. Перехватывают и пакеты, и управляющие OID запросы. Иными словами – полностью контролируют...
Описание слайда:
NDIS фильтры. Делятся на следящие и модифицирующие фильтры. Перехватывают и пакеты, и управляющие OID запросы. Иными словами – полностью контролируют нижнюю часть стека. Загружаются для всех адаптеров данного типа. Перехватываемые функции конфигурируются для отдельно для каждого адаптера.

Слайд 24


Расширение отладчика !ndiskd. Расширение !ndiskd: Входит в состав Windows Debugging Tools. Дружественно к неподготовленному пользователю. Показывает...
Описание слайда:
Расширение отладчика !ndiskd. Расширение !ndiskd: Входит в состав Windows Debugging Tools. Дружественно к неподготовленному пользователю. Показывает детальную информацию об адаптерах, фильтрах и протоколах. Требует подключения ядерного отладчика. Достаточно локального подключения.

Слайд 25


Это проще, чем кажеться... Приостановите BitLocker. “bcdedit /debug on”. После перезагрузки: “windbg.exe -kl”. Убедитесь в корректности “.sympath”....
Описание слайда:
Это проще, чем кажеться... Приостановите BitLocker. “bcdedit /debug on”. После перезагрузки: “windbg.exe -kl”. Убедитесь в корректности “.sympath”. “!ndiskd.help”.

Слайд 26


Архитектура WFP.
Описание слайда:
Архитектура WFP.

Слайд 27


Основные элементы WFP. Shims: Стек TCP/IP определяет несколько ключевых точек, где происходит фильтрация трафика. Filters: Ко входящему и исходящему...
Описание слайда:
Основные элементы WFP. Shims: Стек TCP/IP определяет несколько ключевых точек, где происходит фильтрация трафика. Filters: Ко входящему и исходящему трафику применяется набор правил, задающий действия, применяемые к данным. Layers: Фильтры групприрутся по уровням и подуровням. Каждый уровень определяет свой набор полей для фильтрации. Порядок применения фильтров однозначно определён. Callouts: Фильтр может принять решение о глубокой инспекции пакета.

Слайд 28


Архитектура IPsec.
Описание слайда:
Архитектура IPsec.

Слайд 29


Мониторинг WFP. Aудит: Конфигурация WFP. Отброшенные/пропущенные пакеты, соединения, операции с сокетами. Обмен ключами и отброшенные пакеты в IPsec....
Описание слайда:
Мониторинг WFP. Aудит: Конфигурация WFP. Отброшенные/пропущенные пакеты, соединения, операции с сокетами. Обмен ключами и отброшенные пакеты в IPsec. Конфигурация WFP доступна через Win32 API.



Похожие презентации
Mypresentation.ru
Загрузить презентацию