Fragmentar paquetes
Aldrin Martoq
amartoq en dcc.uchile.cl
Lun Dic 15 19:25:42 CLST 2008
On Mon, 2008-12-15 at 17:34 +0100, Miguel Oyarzo O. wrote:
> Aldrin Martoq escribió:
> > Aca unas pruebas rapidas de mi tarro bajando un archivo de 80MiB con
> > wget:
> > MTU rate tiempo RX TX # errores
> > 1500 1.78MiB/s 45 s 86482 KiB 1757 KiB rx: 38 tx: 0
> > 1500 1.98MiB/s 41 s 86481 KiB 1755 KiB rx: 35 tx: 0
> > 1500 1.90MiB/s 42 s 88268 KiB 1813 KiB rx: 2 tx: 0
> > 200 586KiB/s 141 s 105110 KiB 10314 KiB rx: 61 tx: 0
> > 200 487KiB/s 169 s 105221 KiB 10406 KiB rx:160 tx: 0
> > 200 520KiB/s 159 s 105143 KiB 10327 KiB rx:141 tx: 0
> > Y viendo el resultado, el performance quedo horrible!
> > Tambien postulo que el efecto sera realmente peor si tienes mas clientes
> > con un MTU 200, ya que segun yo aumentaran las colisiones enormemente
> > contrario a lo que dices que la red trabaja bien con paquetes pequen~os.
>
> Una red con MTU de 200 o 500 no trabajará. Hay paquetes que son
> indivisibles y no saldrán de la interfaz.
> En redes wifi se prefiere usar Fragmentation Threshold, opera en capa 2
> y no en la cabecera IP, FT revisa estado de los paquetes indivisibles y
> es mas eficiente que cambiar MTU. Pueden haber combinaciones de ambos,
> pero serÃa demencia.
Una red con MTU de 200 si debe funcionar, recibes un ICMP de respuesta y
debes fragmentar a nivel IP; me parece que configurar MTU es mejor que
FT ya que es parte de la negociacion y no necesitas fragmentar o que
alguien fragmente "a escondidas".
> Tampoco me sirve pues yo necesito para una conexion en particular, no
> para todos los nodos conectados al AP.
Sorry, no estoy dandote la solucion. Solo estoy discutiendo que no estoy
seguro que mejores la comunicacion de la red/conexion disminuyendo el
taman~o del paquete como Ricardo dijo, hice una prueba rapida para ver y
en mi caso obtuve mas errores (aparte de ser horriblemente lento).
Por eso te pedi que corras la prueba y nos cuentes como te va, el
escenario tuyo es muy distinto respecto donde corri la prueba y seria
muy interesante saber cuanto cambia y en que punto.
Para escribir rapido la prueba de un paquete con distinto taman~o lo
hice modificando MTU y min_adv_mss, pero eres libre de cambiar el
taman~o del paquete como puedas ;) [eso si, asegurate de poder sacar
estadisticas para saber si es mejor o peor!]
> >> Algo como TCPMSS parece servirme, pero esta implementacion pareciera ser
> >> POSTROUTING solamente, yo desearia algo PREROUTING, de forma que el host
> >> remoto (sea quien sea) comience a bajar el tamaño de su ventana TCP y me
> >> transmita paquetes chicos.
> > Los clientes/servidores no estan "ruteando", tienes que ponerlo en
> > OUTPUT. Tambien puedes modificar la aplicacion cliente y/o servidor (eso
> > de "negociacion") como mencione.
> OUTPUT?, no creo, TCPMSS trabaja en la tabla mangle (OUTPUT no existe
> alli). Tu quieres decir POSTROUTING?
Hace rato que mangle esta en los 5 targets, compruebalo con "iptables -t
mangle -nvL". Por orden prefiero OUTPUT (o FORWARD para un router)
versus POSTROUTING, pero en ambos funcionaria.
> Volviendo a lo mio yo necesito que un equipo intermedio (ruteador Linux
> entre el AP ubicado a 10 kmt y mi PC) pueda reducir la venta TCP del
> stream *downloaded* que viene desde el AP. Por eso pienso en un
> PREROUTING (mangle desde luego), pero parece que no existe esa
> implementacion ... o si?.
TCPMSS no corta un paquete, sino que interfiere en la negociacion del
MSS: tu PC le informa al servidor remoto cual es el taman~o deseado; por
eso tienes que modificar la salida de tu PC. A la entrada de tu PC no
tiene sentido pues el servidor remoto que envia los paquetes no se
entera del cambio.
Asi que puedes configurar TCPMSS a la salida de tu PC (no necesitas un
equipo intermedio) y nos cuentas como anda.
--
Aldrin Martoq <amartoq en dcc.uchile.cl>
http://aldrin.martoq.cl/videopodcast/
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : no disponible
Tipo : application/pgp-signature
Tamaño : 197 bytes
Descripción: This is a digitally signed message part
Url : http://listas.inf.utfsm.cl/pipermail/linux/attachments/20081215/f6b17b56/attachment.bin
Más información sobre la lista de distribución Linux