Сеть TCP/IP в Windows Vista

Published on Февраль 19, 2009 by   ·   Комментариев нет

На стек TCP/IP в Windows было очень много жалоб в Windows Server 2003 и Windows XP, и поэтому в пакетах обновлений (service packs) для этих платформ были включены дополнительные выборочные возможности: в TCP появилось масштабирование окон (window scaling), определение нерабочих шлюзов (dead gateway detection) и другие тонкие насройки, которые были выполнены лучше и более надежно, по сравнение со стеком в Windows 2000. Но все же, стек в Windows Server 2003 по-прежнему остался тем же устаревшим стеком, который был спроектирован в начале 90-х годов для платформы Windows NT. Другими словами, это был стек, изначально спроектированный для поддержки только IPv4. И когда в середине 90-х Microsoft обнаружил возросшие потребности для их платформы для поддержки IPv6, а также IPv4, поддержка для IPv6 была реализована простым добавлением второго драйвера транспортного уровня Tcpip6.sys для существующего драйвера Tcpip.sys для IPv4. Результатом этого явился двойной стек («dual stack»), в котором транспорт для IPv4 и IPv6 поддерживался двумя различными драйверами, и для включения IPv6, администраторы должны были установить компонент протокола IPv6 на своих машинах с Windows XP и Windows Server 2003.

Подход двойного стека также имеет несколько недостатков. Например, его функциональность разделенного фильтра пакета для каждого протокола IP, приводит к тому, что сложно настраивать брандмауэр на машинах, на которых работают оба протокола. Также это усложняет жизнь разработчикам сетевых приложений, которые необходимы для поддержки как IPv4, так и IPv6. А это означает дублирование кода, и менее эффективный канал для выполнения стека.

Существуют другие проблемы и ограничения в работе TCP/IP на платформах Windows Server 2003 и Windows XP. Например, определение нерабочих шлюзов (dead gateway detection) было введено, как способ поддержания работоспособности, когда основной шлюз (gateway) или маршрутизатор (router) вышел из строя. У больших корпораций часто есть резервный маршрутизатор, который может работать в случае выхода из строя основного маршрутизатора, а определение нерабочих шлюзов позволяет использовать такие резервные шлюзы. Вы должны указать два шлюза на ваших компьютерах, вместо одного, добавив второй шлюз с помощью закладки IP Settings в окне Advanced TCP/IP Properties вашего сетевого соединения. Обычно ваш компьютер использует первый шлюз из списка, но когда компьютер определяет, что шлюз не отвечает на запросы, он автоматически переключается к следующему шлюзу из списка. Все это здорово, но если второй шлюз – это резервный маршрутизатор, который обычно дешевле и медленнее вашего основного маршрутизатора, и что происходит, когда через некоторое время ваш основной шлюз снова начинает работать? К несчастью, определение нерабочих шлюзов в Windows Server 2003 не имеет встроенного механизма отката, поэтому даже когда основной быстрый шлюз снова становится доступным, ваш компьютер продолжает использовать медленный резервный маршрутизатор в качестве шлюза по умолчанию. Вы должны либо вручную изменить шлюз по умолчанию на вашей машине, либо перезагрузить его, чтобы снова использовать ваш основной шлюз. Также, пока работает определение неработающих шлюзов в Windows Server 2003, оно может определять аварии только на локальном шлюзе по умолчанию – аварии на удаленных шлюзах нельзя определить с помощью этого механизма.

Другая проблема заключается в том, что компьютеры Windows в настоящее время выполняют слабую работу по изоляции трафикам между сетевыми интерфейсами. Это обычно очевидно в сценариях VPN, в которых машина подключена как к интернет, так и локальной корпоративной сети. Факт, что одна таблица маршрутов (routing table) используется для разделения трафика для каждой из этих сетей, означает, что, если у пользователя есть права локального администратора на машине, то они имеют возможность для изменения таблицы маршрутов таким образом, чтобы изменить безопасность в локальной сети в пользу Internet.

Наконец, еще одна проблема с TCP/IP на существующих платформах Windows заключается в плохой производительности на высоких полосах пропускания, которые имеют большое время задержки (задержка около 50 msec или выше). Это вызвано тем, что стек, настраивает TCP с помощью медленного старта (slow start) и устранения перегрузок (congestion avoidance) – два стандартных алгоритма TCP/IP, которые были спроектированы еще до того, как гигабайтный сети стали нормой. Комбинация высокой полосы пропускания и большого времени задержек необычно и сетях в современных офисах. Например, в сценарии DFS вы можете иметь сервер на месте концентратора, который может копировать большое количество данных, проходящих по высокоскоростной WAN через множество маршрутизаторов. Результатом является то, что WAN соединение перегружается, и копирование занимает больше времени, чем должно, иногда намного больше.

TCP/IP в Windows Vista

Для того, чтобы устранить эти проблемы, были внесены значительные изменения в стек TCP/IP в Windows Vista и выходящей версии Longhorn Server. Эти изменения характеризуются Microsoft, как «Next Generation TCP/IP Stack» (стек следующего поколения), который спроектирован для того, чтобы обеспечивать сетевые технологии Windows на несколько лет вперед. Давайте посмотрим, как решены проблемы, которые мы обсудили выше, в новых возможностях Vista TCP/IP.

Во-первых, для корпораций, которые планируют обновить свои сети до IPv6, Vista облегчает это —поддержка IPv6 установлена и подключена по умолчанию (хотя корпорации, не желающие использовать IPv6, смогут отключить его). Весь TCP/IP стек в Vista был полностью переписан, поэтому теперь это стек с двухуровневой архитектурой, а не двойной стек. Другими словами, у стека есть один драйвер транспортного уровня, а не два различных драйвера (Tcpip.sys и Tcpip6.sys), как в ранних версиях, один для IPv4 и одни для IPv6. Это изменение сделано для большей эффективности стека, который лучше обрабатывает пакеты, а также упрощает разработчикам написание приложений для поддержки в Vista протоколов IPv4 и IPv6. Побочным преимуществом в новой архитектуре стека стало то, что у Microsoft есть встроенные крюки в стеке, и таким образом разработчики могут писать приложения, которые могут выбирать, как будет обрабатываться пакет в стеке. Vista также полностью интегрировать возможность фильтрации пакетов (брандмауэр) для IPv4 и IPv6, что облегчает использование политик IPSec и правил брандмауэра, которые одновременно управляют двумя типами трафика. Есть также другие архитектурные изменения в стеке в Vista, включая Winsock Kernel (WSK), который призван заменить более старый уровень Transport Driver Interface (TDI), хотя по причине обратной совместимости TDI по-прежнему поддерживается в Vista. Но эти глубокие архитектурные изменения в основном касаются разработчиков сетевых приложений, а не администраторов сети.

Во-вторых, Vista решила проблему гарантирования изоляции трафика VPN, соединением сессий входа, таблиц маршрута и сетевых интерфейсов в логическую конструкцию под названием отдел выбора маршрута (routing compartment). Это подразделение означает, что, например, соединение от лэптопа к интернет, и к корпоративной сети с помощью VPN полностью изолированы одно от другого, что очень хорошо для безопасности корпоративной сети. Vista также предлагает улучшение для поддержки трафика unicast, направленное на локальный интерфейс на машине. В настоящее время, если у пакета в локальном сегменте сети есть адрес назначения, который соответствует IP адресу одного из сетевых интерфейсов вашей машины, все сетевые интерфейсы на вашей машине постараются обработать его. Очевидно, что это касается только multihomed машин с двумя или более сетевыми картами. Такой подход обеспечивает хорошую возможность подключения к машине, но приводит к дополнительной ненужно обработке, плюс делает ваш компьютер уязвимым для атак определенного типа. Однако, в Vista только сетевой интерфейс, адрес которого соответствует адресу назначения, забирает пакет из сети и обрабатывает его. Основной результат этих изменений заключается в повышенной безопасности сети в Vista, чем на предыдущих платформах Windows.

Vista также решила проблему отката в механизме определения нерабочих шлюзов (dead gateway detection) в предыдущих версиях. Vista использует похожий набор методов, которые IPv6 использует для определения недоступных соседей в сетях IPv4, что в основном включает мониторинг сессий TCP и обмен пакетами ARP. Результатом этого является то, что Vista более эффективна в обнаружении аварий на маршрутизаторах, чем предыдущие платформы. Когда она обнаруживает такую ситуацию, стек переключается на следующий шлюз по умолчанию из списка, но стек продолжает мониторинг предыдущего шлюза, и если тот возобновляет работу, то Vista переключается обратно на этот основной шлюз. Это позволяет обеспечить корпорациям оптимальную связь с удаленными дочерними офисами, гарантируя, что резервные шлюзы будут использоваться, только пока не работает основной шлюз.

Vista решает проблему низкой производительности в сетях с высокой пропускной способностью с помощью нового алгоритма, вместо алгоритмов, использовавшихся на других платформах. Этот новый подход называется Compound TCP (CTCP) и он может значительно повысить производительность в таких сценариях, как DFS копирование, описанное выше (конечно, в DFS на Windows Server 2003 R2 появились значительные улучшения, такие как Remote Differential Compression, которая помогает уменьшить такие проблемы, и я описал эти улучшения в моей предыдущей статье на эту тему).

Наконец, Vista поддерживаете некоторые недавние RFC, которые обеспечивают более высокую надежность и производительность в беспроводных сетях, которые быстро становятся технологией, которую выбирают компании, желающие снизить стоимость сети. Эти улучшения помогают в решении проблем, которые обычно возникают в обычных проводных сетях, например, такие как электромагнитная интерференция (electromagnetic interference), нестационарные клиенты, затухание сигнала с увеличением расстояния и т.д. Из-за этих помех в трафике TCP/IP теряются пакеты, что приводит к тайм-аутам и повторным передачам, что существенно снижает производительность. Vista меняет направление проблем такого типа и в результате, машины под управлением Vista обеспечивают лучшую производительность в беспроводных сетях, по сравнению с предыдущими платформами Windows.

Заключение

Посмотрев на проблемы и ограничения сети TCP/IP на существующих платформах Windows, мы рассмотрели улучшения в Vista в этой области, которые добавляют причин, по которым переход от XP к Vista может быть очень желаемым шагом для больших корпораций, для которых необходима оптимальная производительность в их WAN соединениях, улучшенная безопасность для удаленных клиентов VPN, и лучшая производительность для беспроводных сетей.

www.windowsnetworking.com


Смотрите также:

Tags: , , ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)




Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]