La descripción de funcionamiento de BranchCache en modo distribuido sería la siguiente.
Escenario:
1. Servidor Windows Server 2008 R2 con rol de servidor de ficheros, carpeta compartida y en esta última, tenemos marcada la opción de BranchCache o si se trata de http, debemos tener publicado la carpeta donde se almacena la web.
2. Equipo cliente A con Branchacache activado vía gpo o en gpedit local y reglas de firewall en modo permitido.
3. Equipo cliente A, tiene configurado mediante gpo o gpedit local, el tiempo de corte por el cual, si el servidor funciona más lento del tiempo establecido, el archivo se cacheará y será ofrecido a otros pcs de la Lan.
3. Equipo cliente B igual a equipo cliente A.
Funcionamiento:
1. El equipo cliente A, solicita a servidor los identificadores del archivo que necesita. Esta solicitud puede ser Http, bits o smb, mediante también https o ipsec.
2. El cliente A, busca en local y en su LAN mediante WS-Discovery, en este primer uso, el archivo nunca ha sido descargado.
3. El cliente A, descarga el archivo desde el servidor.
4. El cliente B, solicita a servidor los identificadores del archivo que necesita. Esta solicitud puede ser Http, bits o smb mediante también https o ipsec.
5. El cliente B, busca en local y en su LAN mediante WS-Discovery. En este segundo uso, el archivo previamente ha sido descargado por el Cliente A.
6. El cliente B, comprueba que la comunicación con el servidor es mayor y por tanto más lenta en milisegundos que lo establecido en la gpo o gpedit local.
6. El cliente A, ofrece a cliente B el archivo.
Hasta aquí, la descripción de como funciona el servicio.
Configuraciones
Servidor:
1. Instalar característica File server y Branchcache.
2. Directiva de equipo local o gpo – Equipo – Plantillas administrativas – Red – Servidor lanman –Publicación de hash para BranchCache – Habilitado y elegir una de las opciones, yo prefiero – Permitir publicación de hash para shares con branchcache habilitado.
SMB
1. Activar rol de servidor de ficheros.
2.Compartir una carpeta
3. Propiedades – compartido – avanzado – cacheado – marcar “Enable BranchCache”.
SMB en clúster
Si vais a utilizar smb en clúster, tenéis que lanzar en todos los nodos el siguiente comando: netsh branchcache set key passphrase=“frase secreta”, debéis repetir la misma frase en todos los nodos.
HTTP
1. Lanzar CMD como adminsitrador
2. publish-bcwebcontent (ruta de la web: ej.c:\inetpub\wwwroot )
Equipos cliente:
1. La gpo o gpedit local en los equipos cliente deben tener configurado:
- Ir a Computer\Plantillas administrativas\network\BranchCache
- Activar BranchCache – Enable
- Establecer el modo Caché distribuida de BranchCache – Enable
- Configurar BranchCaché para archivos de red – 0ms. si queremos cachear siempre o más milisegundos si queremos un tiempo de corte.
- Establecer el porcentaje de espacio en disco usado por la memoria caché del equipo cliente – Cifra en porcentaje
2. Configuración de Firewall:
- Firewall de windows con seguridad avanzada
- Reglas de entrada-botón derecho-nueva regla-predefinida- BranchCache: detección del mismo nivel (usa WSD) y BranchCache: recuperación de contenido (usa HTTP).
- Si se trata de un pequeño número de equipos, también podéis lanzar el comando : netsh branchcache set service mode=Distributed, el cual os lo configurará todo, aunque siempre, la configuración llegada mediante gpo, tendrá prioridad.
Tras esta configuración, podemos lanzar en un cmd como administrador y consultar si todo está ok, gracias la comando netsh branchcache show status all, donde también podéis ver la cantidad de información cacheada en el equipo.
Probar Branchcache
Para probar la configuración y funcionamiento de BranchCache, solo tendrías que:
1. Instalar un emulador de linea, por ejemplo:
NetworkEmulatorToolkit_x32
NetworkEmulatorToolkit_x64
2. Instalar este emulador en el servidor , configurar y en los filtros configurar una latencia mayor que la configurada en la gpo de los equipos cliente (Equipos cliente punto 1.4).
3. Copiar a local en Equipo A o descargar de una web un archivo y observar el tiempo que tarda en finalizar el proceso.
4. Realizar el mismo proceso en Equipo B. El tiempo ha e ser considerablemente menor porque Equipo A ha de ser quien entrega los datos, contando con una latencia mínima en Lan.