Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows Vista (http://forum.oszone.net/forumdisplay.php?f=66)
-   -   Бьются файлы при передаче по локальной сети (http://forum.oszone.net/showthread.php?t=119353)

Nalorokk 07-10-2008 12:33 917822

Бьются файлы при передаче по локальной сети
 
Бьются файлы при передаче по локальной сети (архивы не распаковываются, exe не запускаются итд)
Передает: Windows Vista Ultimate x64
Принимает: Windows XP SP2/SP3 x32
Если наоборот принимать с WinVista то файлы не бьются и приходят нормальные. С железом проблем нет точно.

Valeant 07-10-2008 16:00 917974

Не в даваясь в подробности я думаю проблема в

1. TCP1323Opts - запрашивает разрешение на использование больших окон TCP
"Tcp1323Opts"=dword:00000003" возможные значения 0 - применение опций RFC 1323 запрещено, 1 — разрешено использовать только масштабирование окна; 2 — разрешено применять только временные метки; 3 — разрешено использовать обе опции.

2. Enable Large TCP windows support - определяет максимальный размер окна для приема TCP-пакетов, которые отправитель может передать, не получая подтверждения в байтах

3. Enable SackOpts - в случае потери какой либо части пакетов заново посылается весь кусок или пропущенная часть,
"SackOpts"=dword:00000001 значения 1 - разрешено, 0 - нет

все смотреть на стороне Vista.

А XP передает маленькими пакеты до хх КВ поэтому и Vista берет без проблем. Но в XP есть так же настройки сети.

Vadikan 08-10-2008 05:47 918481

Цитата:

Цитата Valeant
Не в даваясь в подробности »

Но раздел реестра указать не помешало бы...

Nalorokk 08-10-2008 12:49 918730

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Значение "Tcp1323Opts"=dword:00000003 поставил (Tcp1323Opts вобще там небыло).
Вроде помогло, даже тормозить перестало при передаче большого количества файлов, раньше она так тормозила что даже капс лок несразу мигал...

Nalorokk 01-11-2008 12:16 939784

Проблема опять появилась. В тот раз я свидывал при тестировании архив 5 гиговый и он разорхивировался без проблем. Сейчас опять бьются файлы, значение в реестре на месте. Что интересно при передаче файлов через Apache файлы не бьются.

Valeant 01-11-2008 13:08 939817

Странно что грешите на сеть, так как каждый пакет имеет контрольную сумму, и при получении сверяется данная контрольная сумма, и происходит сборка файла, и еще если пакет сбойный то данный пакет будет повторен. Чтоб не повторят всю посылку, можно повторить только сбойную ее часть (т.е. фрагмент)

Если по предположениям это связанно с сетью, то можно еще добавить такие параметры они работают в паре :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

SackOpts - Выборочная передача поврежденных данных, параметр включает поддержку SACK. Если пакет или ряд пакетов TCP потеряны, то получатель может сообщить отправителю, какие данные были получены, а какие нет, 1 = разрешить

SackOpts REG_WORD = 1

TcpMaxDupAcks - Этот параметр определяет количество двойных ACKs которые должны быть получены для некоторой последовательности номеров, после которых произойдет "быстрая повторная передача". Параметр управляет повторной передачей сегментов, которые были потеряны в процессе передачи. Значение: 2; 1; 3

TcpMaxDupAcks REG_DWORD = 2

Хотя может чудит и сама сетевая плата, может разные нагрузки на нее, и при больших буферах которые могут устанавливать некоторые сетевые карты в своих настройках: например Realtek RTL8168B/8111B PCI-E Gigabit
-Flow Control - Enable/Disable
-IPv4 Checksum Offload - Rx & Tx Enable ( Disable, Rx Enable, Tx Enable )
-Receive Buffers - 512 ( и ниже )
и т.д.

Может уменьшить скорость в сети и посмотреть.

Vancouver 01-11-2008 13:20 939823

Немного не в тему, но всё же :) http://support.microsoft.com/kb/955427/
Данный КВ, легко найти в Гугле...

Valeant 01-11-2008 14:13 939866

Данный hotfix рекомендуют применять приблизительный перевод:

Цитата:

Когда копируете большие файлы с одного компьютера на другой компьютер в среде сети высокой полосы пропускания, процесс копии является очень медленным, если оба компьютера управляются Windows Vista или Windows Sever 2008. Пропускная способность сети намного ниже чем ожидалась.
Эта проблема происходит, потому что передача TCP немедленно не оправляется после того, как повторно передавание происходит. Дополнительно, компонент TCP не может расшириться, TCP получают окно. Это поведение вызывает плохую работу копии через сеть.

Nalorokk 01-11-2008 14:40 939886

Вложений: 1
Цитата:

Цитата Valeant
Если по предположениям это связанно с сетью, то можно еще добавить такие параметры они работают в паре :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SackOpts - Выборочная передача поврежденных данных, параметр включает поддержку SACK. Если пакет или ряд пакетов TCP потеряны, то получатель может сообщить отправителю, какие данные были получены, а какие нет, 1 = разрешить
SackOpts REG_WORD = 1
TcpMaxDupAcks - Этот параметр определяет количество двойных ACKs которые должны быть получены для некоторой последовательности номеров, после которых произойдет "быстрая повторная передача". Параметр управляет повторной передачей сегментов, которые были потеряны в процессе передачи. Значение: 2; 1; 3
TcpMaxDupAcks REG_DWORD = 2 »

Непомогает всеравно бьются :(

Valeant 01-11-2008 14:42 939888

Тогда думаю только настройки сетевой карты помогут, или поменять и проверить на другой, если есть возможность.

Nalorokk 01-11-2008 14:46 939893

Цитата:

Цитата Valeant
Тогда думаю только настройки сетевой карты помогут, или поменять и проверить на другой, если есть возможность. »

Всмысле локалка достаточно большая, откуда бы не скидывали бьются файлы, если у меня загружена линукс или макос или просто скидывает апаш то все прекрасно.

Nalorokk 01-11-2008 15:09 939909

Установка этого апдейта тоже не помогла, щас буду пробывать апдейтить дрова может поможет

Vancouver 01-11-2008 15:45 939934

Попробовать поиграть настройкой Jumbo Packet в свойствах сетевой карты.

Valeant 01-11-2008 18:47 940098

1. Самый лучший выход в такой ситуации, поставить простинкий лан анализатор (для отлова пакетов и анализа их т.е. как они принимаются и передаются все будет видно, есть подтверждения или нет, так и проверка из числа переданных принятых, процент бракованных и загрузка сети).

Раз в *Unix работает, то наводит на мысль, что теряется буфер приема в сетевой карте, он уже новый а до него еще не считан, а возможно драйвер его не обработал.

2. И можно поставить счетчики производительности
Панель управления -> Дополнительные инструменты -> Открыть диспетчер надежности и производительности

Системный монитор -> в окне графика пр.кн.мыши добавить счетчик, раздел Network Interface выбрать параметры, и добавить,
далее поставить задачу на копирование, и посмотреть результат, заодно поставить счетчик на Thread -> ID Process.


Время: 14:57.

Время: 14:57.
© OSzone.net 2001-