Nel caso in cui voleste implementare un qualcosa in kernel, date una
occhiata al TFC, che implementava una cosa del genere. I pacchetti venivano
inseriti in delle code e poi rispediti allo scadere di un timer. Magari
potreste prendere spunto.
Ciao

Il giorno 28 gennaio 2009 9.33, Fabio <feu...@gmail.com> ha scritto:

> 2009/1/27 ZioPRoTo (Saverio Proto) <ziopr...@gmail.com>
>
>> > Conoscete un modo per introdurre un ritardo (anche costante) nei
>> pacchetti
>> > che transitano attraverso una macchina?
>>
>> Prima domanda, pacchetti IP o frames ethernet ?
>
>
> Il mio traffico è TCP/IP, ma mi piacerebbe introdurre ritardo lavorando al
> livello ethernet in modo da sembrare solo uno switch all'applicazione che
> produce traffico.
>
>
>
>> Non ci crederai ma la settimana scorsa stavo affrontando lo stesso
>> problema !
>>
>> Il mio problema specifico era aspettare un tempo T (dell'ordine di
>> grandezza del ms) prima di inviare ogni frame 802.11 sull'interfaccia
>> di uscita.
>> In pratica volevo inserire una specie di "tempo di guardia" tra i frames.
>
>
> Quindi tu vuoi controllare il numero di frame al secondo che mandi
> sull'interfaccia?
> Perché invece io sarei più interessato a simulare un ritardo tipo "canale
> trasmissivo lungo", cioè un tubo in cui le trame escono X ms dopo essere
> entrate, senza intervenire sulla distanza (temporale) tra una trama e
> l'altra. Forse anche quello che dici tu potrebbe servirmi, ma mi sembra
> comunque un problema diverso.
>
>
>> > Facendo qualche "cerca" sul man non mi sembra che iptables permetta di
>> > ritardare i pacchetti; e nemmeno ibtables purtroppo.
>>
>>
>> Con iptables o ebtables non puoi farlo, te lo garantisco io, perché
>> non c'è un target di quel tipo.
>
>
> Peccato perché questa poteva essere una strada facilmente percorribile.
>
>
>> Allora ho chiesto ad Andrea Detti se è possibile farlo con Traffic
>> Control di Linux (tc), ma la risposta è stata che non c'è uno
>> scheduler già implementato che ha esattamente quel comportamento.
>>
>> E' possibile però implementare lo scheduler nel Kernel !! Che risorse
>> di tempo hai su questo progetto ?? Possiamo vedere di farlo insieme,
>> anche se io sono gia stracarico di cose da fare ;)
>
>
> Purtroppo non ho né le risorse né il tempo, al massimo mi concedono due
> mezze giornate per fare questa cosa. Qui ogni tanto vengono a chiedermi
> qualche nuova questione legata alla rete, senza fornire troppi dettagli sul
> problema, e tipicamente si aspettano qualche risposta nel giro di qualche
> ora.
> Mi aspetto che prima o poi inizieranno a piovermi schiaffi sulla testa. :-(
>
>
>> > Su google ho trovato un IET (http://iet.sourceforge.net/) che farebbe
>> > proprio al caso mio: peccato che non sembra più supportato dal 2003 e mi
>> > sembra di capire che funziona solo su kernel 2.4...
>>
>>
>> Mi sembra uno strumento da mettere "in mezzo al cavo" per introdurre
>> dei ritardi ... ma ritardi semplici :)
>
>
> Appunto, è proprio quello che vorrei fare io.
> Quello che dici tu invece mi sembra, come hai già detto, una questione da
> traffic control. Mi ricordo che Sort faceva qualcosa di simile con il
> meccanismo del Tocken Bucket, hai provato a vedere se si può usare per i
> tuoi scopi? Mi pare che anche Andrea Detti si occupava di questa cosa...
> spero che non si ricada nel problema che manca uno scheduler.
>
> Ma tu, se hai un "treno di frames", devi mettere un ritardo costante a
>> tutto il treno ? ovvero devi rallentare solo il primo ? perché questo
>> penso che invece sia possibile farlo con il Traffic Control [1].
>>
>> Saverio
>>
>> [1] - http://lartc.org/howto/
>>
>
> Il link che mi segnali sembra molto interessante, provo a vedere se trovo
> quello che sto cercando. Cmq che intendi con rallentare solo il primo? i
> pacchetti secondo, terzo, quarto (ecc) possono anche arrivare prima del
> primo (che è stato rallentato) oppure subiscono almeno lo stesso ritardo del
> primo? che utilità potrebbe avere questa cosa? Mi sembra piuttosto che il
> mio caso sia quello di rallentare TUTTO il treno, non si può fare con il
> Traffic Control di linux?
>
> Ciao,
> Fabio
>
>
> --
> "Considerate la vostra semenza:
> fatti non foste a viver come bruti,
> ma per seguir virtute e canoscenza"
> (Dante: Inferno XXVI, 118-120)
>

Rispondere a