Поврежденная копия файла Windows 2012 -> VPN -> Windows 2012

Поврежденная копия файла Windows 2012 -> VPN -> Windows 2012

У меня возникли проблемы с копированием файлов с одного сервера Windows 2012 на другой через Cisco ASA5505 VPN. У меня была похожая настройка с серверами Win2008, и я никогда не видел этой проблемы (тот же ASA5505 в этом конце)

Примерно в 1 из 20 файлов (один или два раза в день) размером около 20 МБ или более происходит повреждение данных.

Повреждение обычно имеет вид около 5 областей повреждения (иногда все локализованы в пределах раздела файла размером 1 МБ), и каждая область имеет длину около 12 байт, что в общей сложности составляет около 60 поврежденных байт во всем файле. Размер файла не меняется.

Я видел это с помощью собственного SQLServer log-ship-copy и с помощью robocopy.

С этим связано то, что когда я использую Windows Drag/Drop для копирования файла размером 40 ГБ, копирование обычно прерывается после 15-30 ГБ (или копируется с некоторыми повреждениями). Этого, похоже, не происходит, когда я копирую Win2012 -> VPN -> SBS2011, а затем копирую SBS2011 -> Win2012.

Сжатие, похоже, не включено на ASA5505. Ошибок на стандартной трассировке NetMonitor SMBErrors не обнаружено.

решение1

Проблема была в VPN (или сети - TBC), а не в Windows.

Вот как я это нашел.

После запуска Microsoft Network Monitor на обоих концах VPN мне удалось захватить пакет TCP/IP, относящийся к поврежденному содержимому файла. Пакет, захваченный на удаленном конце, не имел повреждений. Пакет в пункте назначения был поврежден.

Чтобы найти плохой сетевой пакет, я сделал шестнадцатеричный дамп хорошей и плохой версии файла, затем использовал KDiff3 для сравнения шестнадцатеричных данных. Затем я поискал в захвате NetMonitor 4-байтовый шестнадцатеричный шаблон, который появился непосредственно перед повреждением файла. Я не смог найти этот шаблон, поэтому я попробовал другой шаблон сразу после повреждения, нашел его, затем проработал байты в обратном порядке до нужного блока (первый шаблон пересек границу пакета).

Связанный контент