Copia de archivo dañado Windows 2012 -> VPN -> Windows 2012

Copia de archivo dañado Windows 2012 -> VPN -> Windows 2012

Tengo problemas para copiar archivos de un servidor Windows 2012 a otro a través de Cisco ASA5505 VPN. Tuve una configuración similar con servidores Win2008 y nunca vi el problema (el mismo ASA5505 en este extremo)

Aproximadamente 1 de cada 20 archivos (una o dos veces al día) de aproximadamente 20 MB o más, tiendo a dañar los datos.

La corrupción tiende a presentarse en forma de aproximadamente 5 áreas de corrupción (a veces todas localizadas dentro de una sección de 1 MB del archivo) y cada área tiene aproximadamente 12 bytes de largo, lo que suma aproximadamente 60 bytes corruptos en todo el archivo. El tamaño del archivo no cambia.

He visto esto con la copia de registro nativa de SQLServer y con robocopy.

En relación con esto, cuando uso arrastrar y soltar de Windows para copiar un archivo de 40 GB, la copia generalmente falla después de 15 a 30 GB (o copias con cierta corrupción). Esto no parece suceder cuando copio Win2012 -> VPN -> SBS2011, luego copio SBS2011 -> Win2012.

La compresión no parece estar habilitada en el ASA5505. No se detectaron errores en el seguimiento estándar de SMBErrors de NetMonitor.

Respuesta1

Fue la VPN (o red - TBC), no un problema de Windows.

Así es como lo encontré.

Después de ejecutar Microsoft Network Monitor en ambos extremos de la VPN, logré capturar un paquete TCP/IP relacionado con el contenido de un archivo corrupto. El paquete capturado en el extremo remoto no estaba dañado. El paquete en el destino estaba corrupto.

Para encontrar el paquete de red defectuoso, descarté hexadecimalmente la versión buena y mala del archivo, luego usé KDiff3 para comparar el hexadecimal. Luego busqué en la captura de NetMonitor un patrón hexadecimal de 4 bytes que se produjo justo antes de la corrupción en el archivo. No pude encontrar este patrón, así que probé otro patrón justo después de la corrupción, lo encontré y luego retrocedí a través de los bytes hasta el bloque en cuestión (el primer patrón cruzó el límite de un paquete).

información relacionada