Ну, на самом деле, не совсем понятно... А если я хочу какое-то приложение вручную приоритезировать? Если для меня трафик одного из приложений более важен...
Вообще, я добился чего хотел. У меня была задача метить пакеты eyeBeam (это sip клиент) на 3-м уровне. Ну то есть DSCP (он же DiffServ). Моя задача облегчалась тем, что сам eyeBeam умеет это делать. Но когда я слушал снифером все пакеты от него были с нулевым приоритетом. Я погуглил
Нашел вот чего:
Цитата:
Служба QoS в ОС Windows XP и Windows Server 2003
Операционные системы Windows XP и Windows Server 2003 предоставляют интерфейсы приложений для назначения трафику параметров службы QoS. Разработчики для применения параметров QoS на уровне приложения к отдельным сокетам могут использовать службы прикладных интерфейсов Windows Sockets (Winsock) и Generic QoS (GQoS). Администраторы сетей с помощью средств управления трафиком, предназначенных для вызова прикладного интерфейса управления трафиком (TC API), могут применять параметры службы QoS на уровне узла.
С помощью службы Winsock и параметра сокета IP_TOS можно задавать значения поля DSCP для исходящих пакетов канала. Однако по умолчанию стековая память протокола TCP/IP игнорирует параметр сокета IP_TOS. Чтобы использовать параметр сокета IP_TOS, необходимо сначала создать DWORD-значение реестра DisableUserTOSSetting=0 в следующем разделе реестра (см. рис. 1):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Чтобы этот параметр реестра вступил в силу, необходимо перезагрузить компьютер.
|
Оригинал статьи:
http://technet.microsoft.com/ru-ru/m....cableguy.aspx
Помогло. Теперь пакеты, летящие от eyeBeam, действительно с приоритетом, проставленным мной в самой программе. Увидеть это можно снифером в заголовке IP пакета.
Но несмотря на то, что я решил свою задачу, остается вопрос как приоритизирывать пакеты от приложений, которые не умеют сами это делать? Ну, к примеру, какую-нибудь онлайн игру, для которой важно время ответа, когда работает торрент и забивает весь канал...