|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2001
Città: Trento
Messaggi: 164
|
[c/c++] implementazione 'router'
Ciao.
Dovrei realizzare una applicazione che ritrasmette pacchetti in una piccola LAN e pensavo di sfruttare un campo nel pacchetto che invio per gestire l'instradamento nei 'nodi' intermedi. Una sorta di 'router', anche se nn è propriamente corretto definirlo tale. Pensavo di creare un piccolo buffer interno in grado di raccogliere + pacchetti diretti alla stessa destinazione. Qlc di voi ha qlc esperienza in materia? s.o. linux Ciao...thanks in advance! Ultima modifica di Rigo007 : 20-01-2006 alle 11:01. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2002
Città: Bologna
Messaggi: 483
|
Ti dirò...quello che vuoi fare è molto interessante ma al tempo stesso anche enormemente complesso secondo me..
Ok tu ti gestisci un buffer sul quale devi accodare i pacchetti destinati ad una sola macchina; ma quanto grande deve essere? Dato che su una rete Lan i pacchetti arrivano ad una velocità tale da saturarti un qualunque buffer in pochi secondi e anche meno dovresti gestirti anche quest'ulteriore problema...e se si riempe cosa fai? scarti i pacchetti che arrivano o effettui una spedizione immediata? Per il campo del pacchetto da utilizzare, bisognerebbe visionare un attimo lo standard...poi tra parentesi dovresti riuscire ad inserire l'applicazione molto in basso (quasi a livello kernel) perchè sicuramente finisce che se usi pacchetti con questo campo speciale vengono scartati dallo stack tcp/ip di linux senza neanche arrivare in user space... Ecco questi sono solo alcuni interroggativi...magari spiegami meglio cosa dovrebbe fare l'applicazione e poi ne discutiamo.. Se devi scrivere il tutto su Linux posso darti una mano anche se ultimamente sono impegnato con l'uni....
__________________
Acer TravelMate 8103Wlmi |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2001
Città: Trento
Messaggi: 164
|
La grandezza del buffer la imposto in base alla lunghezza dei pacchetti che invio, ad esempio, potrei realizzarne uno in grado di ospitare 10 pacchetti e poi con un thread gestire l'invio di questi prima che si riempia.
Userò il protocollo UDP (specifiche del progetto); pensavo di sfruttare una cosa molto simile ad un TFTP per problemi di realizzabilità. Ke dici? Realizzabile? |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2002
Città: Bologna
Messaggi: 483
|
mmm...si ma non ha molto senso creare un buffer per 10 pacchetti per il semplice motivo che i pacchetti udp hanno dimensione variabile..a meno che tu non hai come ipotesi il fatto che ti arrivino pacchetti di dimensione fisse magari perchè il protocollo applicativo è stato realizato per mandarli sempre di una tale dimensione...
__________________
Acer TravelMate 8103Wlmi |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Oct 2001
Città: Trento
Messaggi: 164
|
libero di farlo...lo scopo è solo quello di fare viaggiare i pacchetti nella rete attraverso nodi intermedi.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:19.