La respuesta correcta a una pregunta formulada tan simplemente es: todos los que quieras.
El problema es que la pregunta es simple. si tienes solo dos maquinas que va a hablar entre ellas, puedes poner por medio todos los que quieras y simplemente tener en cuenta que cada uno de llos va a inferir un retardo de unos 10 o 12 milisegundos.
En primer lugar habría que saber si son realmente switches que aprenden que macs tienen en cada puerto o si son simples hubs que retransmiten todo por todos los puertos. Y si son switches si tienen la capacidad suficiente para gestionan correctamente la cantidad de trafico que van a tratar, ya que muchos acaban transmitiendo los paquetes por todas las bocas cuando se saturan.
Luego habría que saber como se comporta esa red, cantidad de trafico ethernet, que tipo de paquetes van por ahí (pocos y enormes, o muchos y minúsculos), numero de colisiones.
Para mejorar el rendimeinto si tienes una estructura ethernet compleja, puedes usar spanning-tree y otros protocolos similares para que los switches intercambien entre ellos información sobre donde se encuentra cada mac.
¿Hasta dónde quieres complicar la pregunta?