Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

32
Microsoft TechDays http://www.techdays.ru Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003 Бешков Андрей [email protected] http://beshkov.ru http://twitter.com/abeshkov

Transcript of Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Page 1: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Бешков Андрей[email protected]://beshkov.ruhttp://twitter.com/abeshkov

Page 2: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Задачи

Понять какие факторы органичивают скорость работы сетевых компонентов старого стека

Узнать какие новые технологии появились в сетевом стеке NetIO в Windows Vista и Windows Server 2008

Разобраться как в каждом конкретном случае новые компоненты сетевого стека NetIO помогают справиться с проблемными сетями

Готовимся использовать NetIO

Page 3: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Проблемы старого стека TCP/IPЭффективность работы текущей

реализации сетевого стека Windows XP/ Server 2003 ограничена следующими факторами:

Статическая конфигурация по умолчанию, выбранная в 90-х годах, чтобы приемлемо работать в большинстве сетевых сред

Сетевые протоколы разработаны более десяти лет назад

Page 4: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Проблемы старого стека TCP/IPНизкая производительность при:

Больших задержках передачи сигнала (доступ к ресурсам через весь континент)

Передачи данных по высокоскоростным оптическим подключениям (FTTH)

Использовании среды с большим количеством потерь (беспроводные сети)

Скорость работы сетевых компонентов ключевой фактор быстродействия большинства приложений

Page 5: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Анализируем причины снижения скорости работы сети

Page 6: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Потенциальные узкие места

Приложение Отправитель

Приложение Получатель

Сетевой стекОтправителя

Сетевой стек Получателя

Сеть

Page 7: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Ищем пределы производительности TCP

Проблема: Внезапные трудно диагностируемых случаи снижения скорости работы сети

Узкие места могут находиться в сети, сетевом стеке, отправляющем или получающем приложении

Page 8: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Ищем пределы производительности TCP/IP стека

Решение: Cтатистика работы сети с помощью Perfmon

Сбор в режиме реального времени

TCP AnalyzerГрафический инструмент отображения собранной статискиАвтоматический поиск причин снижения скорости работы сетевой подсистемы

Page 9: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Ищем причины снижения производительности

Perfmon и TCP Analyzer

Демонстрация

Page 10: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Способы повышения производительности сетевых операций

Page 11: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Архитектура сетевого стека

Win

dow

s Filte

ring

Pla

tform

IPv4

802.3

WSK

WSK Clients TDI Clients

NDIS

WLAN 1394 Loop-back

IPv4 Tunnel

IPv6 Tunnel

IPv6

RAWUDPTCP

Next-Generation TCP/IP Stack (tcpip.sys)

AFD

TDX

TDI

Winsock User Mode

Kernel Mode

Page 12: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Повышаем производительность получателя

Приложение Отправитель

Приложение Получатель

Сетевой стекОтправителя

Сетевой стек Получателя

Сеть

Page 13: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Ограничение Receive Window в Windows XP и Windows Server 2003

Наземные

сети

США

Межконтинентальные

оптоволоконные сети

Спутниковые каналы

Настройка по умолчанию для Windows XP/Server 2003

Page 14: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Автоматическая настройка Receive Window

Сценарий: Скорость передачи данных ограничена WAN или FTTH подключением (Verizon FiOS)

Для соединения через весь континент (RTT 100ms) по умолчанию TCP receive window ограничивает пропускную способность до 5 MbpsНа межконтинентальных и спутниковых линиях связи скорость снижается еще сильнее

Решение: Windows Vista/Window Server 2008 автоматически подстраивает TCP Receive Window для каждого соединения

Масштабирование Receive Window (RFC 1323) по умолчанию установлено с множителем 8

Результат: Приложения начинают эффективнее использовать предоставленые каналы

Копирование файлов по протоколу SMB между США и Австралией ускорилось в 10 разРезервное копирование между Bay area и центром обработки данных в Tukwila ускорилось в 40 раз

Page 15: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

TTCP Robocopy

FTP Sharepoint

0

5

10

15

20

25

30

Win Server 2003 -> Win XPWin Server 2008 -> Win XPWin Server 2003 -> Win Vista

•В сценарии sharepoint на Win 2003 Server и клиент Vista, необходимо изменить ключ реестра в Win 2003 server

• Установите "MaxBytesPerSend" в ветви HKLM\System\CurrentControlSet\Services\HTTP\Parameters в значение 0xFFFFF

Скорост

ь

(Mbps)

Скорость работы приложений при взаимодействии разных версий Windows по каналу Редмонд - Сидней

Page 16: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Microsoft.com и автонастройка Receive Window

Реплицирование данных между Redmond и Bay Area

Выделенные Сетевые подключения 1Gbps

Конфигурация по умолчаниюWindows Server 2003 SP1:

Сетевые адаптеры 100Mbps, обеспечивают пропускную способность 10Mbps

Windows Server 2008 на том же оборудовании:Сетевые адаптеры 100Mbps, обеспечивают пропускную способность 80MbpsПри смене адаптера на 1000Mbps, обеспечивают пропускную способность 400Mbps (из памяти в память через сеть)

Копирование файлов с жесткого диска на другой жесткий диск через сеть достигает 250Mbps в связи с ограниченным быстродействием дисков

Page 17: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Повышаем производительность отправителя

Приложение Отправитель

Приложение Получатель

Сетевой стекОтправителя

Сетевой стек Получателя

Сеть

Page 18: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Ограничения протокола: Работаем с высокоскоростными каналами

Сценарий: Репликация данных между географически распределенными ЦОД по гигабитным каналам

TCP протоколы старой версии сильно снижают скорость отправки после потери пакетов и очень медленно восстанавливают прежнуюю скорость

После потери 1 пакета из 83000 на канале 1Gbps/100ms прежняя скорость восстанавливается приблизительно через 1 час!

Решение: Compound TCP использует информацию о потерях и задержках для ускоренного восстановления скорости передачи данных

Результат: Скорость репликации данных повышается

Время репликации Microsoft.com уменьшилось в 2 раза

Page 19: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Передача через программу CTCP

• Передача данных между ЦОД Bay Area, CA и Tukwila, WA • Compound-TCP (зеленая) и New Reno TCP (голубая)

1 12 23 34 45 56 67 78 89 1001111221331441551661771880

200

400

600

800

1000

1200

1400

New Reno Compound TCP

Время [сек]

Пр

оп

уск

ная с

посо

бн

ост

ь

[Mb

ps]

Page 20: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Повышаем производительность отправителя

Приложение Отправитель

Приложение Получатель

Сетевой стекОтправителя

Сетевой стек Получателя

Сеть

Page 21: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Сколько данных приложение должно отправить?Сценарий : У нас есть собственное приложение

для репликации SQL данныхПриложение отправляет данные недостаточно быстро. Сеть простаивает.

Решение: Интерфейс IdealSendBacklogSize позволяет приложению запрашивать у сетевого стека идеальный размер порции данных для отправкиПодстроить свои буферы для полного потребления доступной пропускной способности

Результат: Ускорение передачи данныхПередача SQL данных по каналу с задержкой в 100ms ускорилась в 100 раз

Page 22: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

IdealSendBacklogSize

<1ms 10ms 100ms 0

50

100

150

200

250

300

350

400

Скорость работы SQL

- ISB

+ ISB

Задержка

Пр

оп

ускн

ая с

пособ

ность

[Mb

ps]

Увеличение скорости ~ 2x при малых задержках~ 8x при средних задержках~ 100x при больших задержках

Page 23: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

IdealSendBacklogSize

Приложениям доступны две новых функции: idealsendbacklognotify, idealsendbacklogquery

Сетевой стек может определить идеальный размер отправляемых данных опираясь на сведения о пропускной способности канала и задержках

Приложение может менять частоту и размер отправляемых порций данных, чтобы эффективнее использовать имеющиеся каналы

Page 24: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Уменьшаем влияние случайных потерь данных в сетевой среде

Приложение Отправитель

Приложение Получатель

Сетевой стекОтправителя

Сетевой стек Получателя

Сеть

Page 25: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Ограничения протокола: Защищаемся от случайных потерь передаваемых данных

Сценарий: Беспроводные сети - GPRS, UMTS, WLANПотери пакетов интерпретируются TCP, как перегруженость каналаМеханизмы восстановление слоя Link самостоятельно повторяют посылку потеряных пакетов. Это обостряют проблему т.к TCP повторно попытается передать те же самые потеряные пакетыЧастые и сильные изменения RTT обычно приводят к фатальной потере TCP соединения

Решение:Следить за избыточными повторными посылками пакетов используя механизмы Forward Retransmission Timeout Recovery (FRTO) и Delayed Selective Acknowledgement (DSACK)

Избегаем передачи всей цепочки потеряных пакетов, отправляя только первый из последовательности. В зависимости от ответа другой стороны передаем цепочку или нет. Тем самым снижая количество отправляемых данных

Результат: Эффективность использования беспроводных каналов повысилась

В случае использования беспроводной связи пропускная способность повысилась на 10-30%

Page 26: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Готовимся использовать стек NetIO

Page 27: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Какие перемены ждут вас после перехода на Windows Vista\ Server 2008?

СетьКартина трафика изменится

Появятся короткие пики высокой активности

Необходима приоритезация трафика и гарантированный уровень сервиса (QoS) для своевременной доставки трафика реального времени

Вероятно повысится утилизация всех ресурсов сети т.к приложения будут передавать больше данных

Page 28: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Какие перемены ждут вас после перехода на Windows Vista\ Server 2008?

ИнфраструктураМогут возникнуть проблемы с устаревшими proxy/WAN акселераторами, маршрутизаторами, коммутаторами, NAS не поддерживающими Window ScalingПора начинать разрабатывать планы перехода на IPv6

ПриложенияПриложения должны содержать код для интеллектуальной работы с сетью (IdealSendBacklogSize)

Page 29: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Основные выводыWindows Vista и Windows Server 2008 включают в себя новые компоненты предназначенные для повышения эфективности работы с сетью в следующих случаях:

Сети с большой потерей пакетов (беспроводные соединения)

Высокоростные сети (соединения между центрами обработки данных)

Соединения с большими задержками и потерями (каналы филиальных офисов)

Сервисы создающие высокую нагрузку на CPU (файловый сервис)

Page 30: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

Дополнительные ресурсы

Сайтыwww.microsoft.com/technet/network/tcpip/default.mspxhttp://technet.microsoft.com/en-us/windowsvista/aa905087.aspxwww.microsoft.com/ipv6

Блогиhttp://blogs.msdn.com/windows_networking/default.aspxhttp://blogs.msdn.com/wndp/default.aspxhttp://blogs.technet.com/abeshkov/ http://blogs.technet.com/ashapo/

Статьиhttp://www.microsoft.com/technet/technetmag/issues/2006/11/VistaNetworking/default.aspxhttp://www.microsoft.com/technet/community/columns/cableguy/cg0905.mspxhttp://www.microsoft.com/technet/community/columns/cableguy/cg1005.mspxhttp://www.microsoft.com/technet/community/columns/cableguy/cg1105.mspx

Page 31: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003

Microsoft TechDayshttp://www.techdays.ru

© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 32: Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003