Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-11-2002, 01:06   #1
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Divide Et Impera 0.9.1 beta

Ragazzi e' pronta la prima beta pubblica del mio programmino...le istruzioni e le regole sono un po' lunghette, spero ci capiate...non c'e' bisogno che testiate il programma al di fuori delle regole, vi dico gia' io che non funzia. Mi interessa che facciate tante prove su diverse reti vere o no.

Siete pronti al beta-testing?

Ecco le regole...le ho scritte per un mio amico quindi sono rivolte a un "lui"...

Regole:
- ci sara' UNA sorgenta (source) che la farai partire con ./source <numero porta> <nome file> dove il primo parametro e' il numero della porta su cui il TCP appoggera' e il secondo parametro e' il nome del file di configurazione della rete (te ne ho messo uno di esempio in network.map e uno piu' ridotto piu' avanti per spiegartelo).
- ci possono essere da 1 a N (dopo ti diro' quanti al max) host che possono essere sia destinazioni (del messaggio) che computer collegati alla rete che possono duplicare il messaggio per accelerare l'arrivo alle destinazioni, li fai partire con ./host <numero porta> stessa cosa per questo parametro a quanto detto prima.
- c'e' un file chiamato pacchetto.dat dove ci sta il messaggio da spedire. Il messaggio non puo' superare i 20000 caratteri.
- c'e' un file di configurazione, puoi farne quanti te ne pare, tanto gli passi il nome alla sorgente quando la fai partire:

ti faccio un esempio cosi' capisci:

[ALL HOSTS]
127.0.0.1:5000:0
127.0.0.1:5001:2
127.0.0.1:5002:1
[HOST CONNECTIONS]
127.0.0.1:5000 to 127.0.0.1:5001/2
127.0.0.1:5000 to 127.0.0.1:5002/4
[HOST CONNECTIONS]
127.0.0.1:5001 to 127.0.0.1:5000/2
127.0.0.1:5001 to 127.0.0.1:5002/2
[HOST CONNECTIONS]
127.0.0.1:5002 to 127.0.0.1:5000/4
127.0.0.1:5002 to 127.0.0.1:5001/2
[END NETWORK INFO]

- le parti tra parentesi [quadre] non devi toccarle
- dopo ALL HOSTS ci stanno tutti gli indirizzi degli host (non piu' di 1000 compresa la sorgente), il primo deve essere quella della sorgente, gli altri possono essere a caso, pero' sappi che dopo l'ordine che dai deve rimanere per tutto il file, poi capirai.
- c'e' prima l'ip, poi i due punti obbligatori, la porta e un numero. Quel numero funzia cosi': 0 per la sorgente e' fisso, poi tutte le destinazioni che hai prescelto (quelli che dovranno ricevere il msg nel piu' breve tempo possibile) gli dai 1, se un host non e' ne' sorgente, ne' destinazione, ma e' collegato ad una destinazione ha il n. 2. Se un host e' collegato ad un 2 ma non ad un 1 (e non e' destinazione ovvio) e' un n. 3 e cosi' via...capito?
- Dopo tutti gli host ci sono le interconnessioni, prima la sorgente con tutti gli host (la sorgente e' collegata a TUTTI gli host per forza) devi mantenere l'ordine che hai dato in [ALL HOSTS] e poi devi fare tutte le interconnessioni, se un host non e' collegato con un altro ci metti bandwith uguale a 0, dopo capirai qual'e' la bandwith.
- la parte prima della "/" viene ignorata, serve a te per ricordarti di quale connessione si parla, pero' puoi scriverci quello che ti pare. Dopo la "/" invece c'e' la bandwith, ovvero la velocita' della interconnessione in caratteri al secondo.
- Se A e' collegato a B con bandwith 5 allora quando andrai a settare il collegamento tra B e A dovrai mettere sempre 5.

Devi cercare di creare delle mappe di reti complicatine e tenere i file di configurazione, cosi' me li spedisci sia che funzioni tutto sia che no.

Quando hai settato tutto per bene e lanciato gli host, ogni host ti scrivera' che cosa sta facendo e cosi' pure la sorgente che prima ti scrivera' tutta la rete come e' stata caricata e poi parte con la spedizione delle regole e dei dati.
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 01:08   #2
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Divide Et Impera 0.9.1 beta parte 1/2

questo e' il file per la sorgente da scompattare...
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 01:08   #3
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Divide Et Impera 0.9.1 beta parte 2/2

questo e' il file per gli host...
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 09:00   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi spighi com'è secondo te fisicamente un host che è raggiungbile da due perscorsi diversi ?

Ad esempio :

A è connesso a B, bandwidth 10
B è connesso a C, bandwidth 10
A è connesso a C, bandwidth 5

Mi spieghi come funzionerebbe il tuo programma in questo caso ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 09:24   #5
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da cionci
[b]Mi spighi com'è secondo te fisicamente un host che è raggiungbile da due perscorsi diversi ?

Ad esempio :

A è connesso a B, bandwidth 10
B è connesso a C, bandwidth 10
A è connesso a C, bandwidth 5

Mi spieghi come funzionerebbe il tuo programma in questo caso ?
Chi e' la sorgente e chi la/le destinazioni? Comunque stai violando la regola che la sorgente deve essere collegata a tutti gli host sia che siano di destinazione che no. Comunque si, un host puo' essere raggiungibile o direttamente o tramite un altro host che a sua volta e' collegato alla destinazione...cosi' intendo.
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 09:39   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Per connessione intendevo connessione fisica...
A è la sorgente e C è la destinazione...

Il fatto è che nessuno ti garantisce che il messaggio che vuoi mandare logicamente direttamente a C non passi fisicamente dalla conenttività A-B e poi vada sulla connettività B-C... Quindi il discorso della bandwidth va a farsi benedire...capito ciò che intendo ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 09:45   #7
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da cionci
[b]Per connessione intendevo connessione fisica...
A è la sorgente e C è la destinazione...

Il fatto è che nessuno ti garantisce che il messaggio che vuoi mandare logicamente direttamente a C non passi fisicamente dalla conenttività A-B e poi vada sulla connettività B-C... Quindi il discorso della bandwidth va a farsi benedire...capito ciò che intendo ?
Perche' il TCP/IP gia' segmenta di suo senza dirti niente? Non c'e' modo di forzare il passaggio?
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 09:59   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Cimmo
[b]
Perche' il TCP/IP gia' segmenta di suo senza dirti niente? Non c'e' modo di forzare il passaggio?
La segmentazione non sempre avviene...solitamente con send piccole (intorno al Kb) non segmenta quasi mai (ma non è assicurato)... Se la send supera il valore del MTU (Maximum Transfer Unit) settata su una qualsiasi macchina che replica il pacchetto su una qualsiasi rete che trovi durante il percorso allora avviene la frammentazione...
C'è un opzione dell'header del protocollo IP che si chiama Don't fragment...ma in pratica non funziona...
Comunque con pacchetti dell'ordine dei centinaia di byte non ci dovrebbe essere frammentazione (MTU è solitamente >= 1500)...

Ma non è questo il problema principale... Metti che tu stia mandando 10 pacchetti...può succedere che 2 di essi passino da un determinato percorso...altri 5 da un altro...e altri 5 da un altro ancora...
E questo per definizione del IP che non è un protocollo orientato alla connessione...
Il percorso non predicibile...come la bandwidth quindi...

Magari il discorso è più proponibile su connessioni punto-punto...ma anche in quel caso basta spegnere un router ed ecco che il percorso diventa automaticamente un altro...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 10:07   #9
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da cionci
[b]
La segmentazione non sempre avviene...solitamente con send piccole (intorno al Kb) non segmenta quasi mai (ma non è assicurato)... Se la send supera il valore del MTU (Maximum Transfer Unit) settata su una qualsiasi macchina che replica il pacchetto su una qualsiasi rete che trovi durante il percorso allora avviene la frammentazione...
C'è un opzione dell'header del protocollo IP che si chiama Don't fragment...ma in pratica non funziona...
Comunque con pacchetti dell'ordine dei centinaia di byte non ci dovrebbe essere frammentazione (MTU è solitamente >= 1500)...

Ma non è questo il problema principale... Metti che tu stia mandando 10 pacchetti...può succedere che 2 di essi passino da un determinato percorso...altri 5 da un altro...e altri 5 da un altro ancora...
E questo per definizione del IP che non è un protocollo orientato alla connessione...
Il percorso non predicibile...come la bandwidth quindi...

Magari il discorso è più proponibile su connessioni punto-punto...ma anche in quel caso basta spegnere un router ed ecco che il percorso diventa automaticamente un altro...
Qual'e' questa opzione dell'header? Comunque per ora testate lo stesso, fate finta che tra logica e pratica non ci sia differenza...
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 10:17   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Don't fragment...non so se puoi settare questa opzione con setsockopt... Ma in ogni caso Don't fragment non viene rispettato...
E comunque la frammentazione non sarebbe un problema...il problema princiapale è l'instradamento...che non è una costante come la bandwidth...
Secondo me una cosa più indicativa della bandwidth (che ha significato solo come massimo thrughput del singolo nodo) è il ping... Potresti misurare il ping come indicatore della qualità di un connessione virtuale del TCP... E misuararlo dinamicamente durante la connessione cercando di ricavarti una sorta QoS della connessione come rapporto bandwidth/ping...

A quel punto puoi sicuramente farci qualcosa...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 10:35   #11
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da cionci
[b]Don't fragment...non so se puoi settare questa opzione con setsockopt... Ma in ogni caso Don't fragment non viene rispettato...
E comunque la frammentazione non sarebbe un problema...il problema princiapale è l'instradamento...che non è una costante come la bandwidth...
Secondo me una cosa più indicativa della bandwidth (che ha significato solo come massimo thrughput del singolo nodo) è il ping... Potresti misurare il ping come indicatore della qualità di un connessione virtuale del TCP... E misuararlo dinamicamente durante la connessione cercando di ricavarti una sorta QoS della connessione come rapporto bandwidth/ping...

A quel punto puoi sicuramente farci qualcosa...
Nel senso che lui instrada come gli pare? Lasciamo perdere il segmentation, lui puo' scegliere una strada diversa dalla connessione fisica diretta se c'e'? Comunque non penso che lo cambiero'...l'obiettivo di questo progetto e' basso per ora...se me lo daranno per la tesi sara' un altro paio di maniche.
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 14:49   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Cimmo
[b]
Nel senso che lui instrada come gli pare? Lasciamo perdere il segmentation, lui puo' scegliere una strada diversa dalla connessione fisica diretta se c'e'?
Non è garantito che durante la stessa connessione TCP i dati passino tutti da uno stesso percorso...
Il discorso della connessione diretta fisica è un poì più complesso... Solitamente c'è un default gateway all'interno di una rete...e questo a meno di congestione (altri utenti usano il router per uscire e saturano la connessione punto-punto) instrada sempre i pacchetti sulla stessa connessione punto-punto...
Nel caso di congestione il router può pensare di inviare i pacchetti verso un router alternativo che li instrada su un'altra connessione punto-punto...
Questo comunque avviene in modo completamente trasparente all'utente...quindi non ti puoi rendere conto se viene usato o meno il router secondario...

Il problema della congestione (può avvenire non solo sulla congestione, ma anche nel caso di un bilanciamento del carico fra due o più router) può avvenire a qualsiasi livello durante il percorso per raggiungere il destinatario... Infatti i pacchetti TCP molto spesso arrivano fuori sequenza...e ci pensa il TCP a riordinarli simulando una connessione...

Ti spego da dove nascono tutti questi problemi... In pratica Internet è nata come progetto della DARPA (Defense Advanced Research Project Agency) del ministero della difesa degli USA...
E funziona in questo modo perchè doveva garantire la consegna del pacchetto anche nel caso che una bomba atomica avesse distrutto parte delle infrastrutture di rete...
Ed ecco perchè non è orientata alla connessione (non c'è un percorso fisso)...ma viene detta a commutazione di pacchetto...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 16:55   #13
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
cionci ho capito perfettamente quello che mi hai detto...pero' se ti va' lo stesso di testarlo mi farebbe piacere...senno' fa lo stesso.
Questo vale per tutti...ho visto che fino ad adesso l'ha scaricato solo una persona

ciao e grazie
Cimmo
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 17:08   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Purtroppo non lo posso provare xchè Linux su questa macchina mi è partito (Kernel Panic!)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2002, 17:38   #15
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Quote:
Originariamente inviato da cionci
[b]Purtroppo non lo posso provare xchè Linux su questa macchina mi è partito (Kernel Panic!)...
Peccato! Fammi sapere quando ti ritorna up che posto una versione piu' aggiornata eventualmente...a meno che a qualcuno non interessi subito...

Comunque oggi ho fatto la versione 0.9.2 beta

cambiamenti:
- risolto un bug dove anche tutti gli host che non erano destinazioni ricevevano tutto il messaggio anche se poi gliene serviva solo una piccola parte.
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2002, 17:57   #16
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Divide Et Impera v0.9.2 beta

Ecco la nuova versione...

cambiamenti dalla v0.9.1 beta:

- nuova ottimizzazione: ora la sorgente spedisce agli host non di destinazione solo le informazioni che gli servono
- l'output della mappa della rete nella parte dell'host e' stata migliorata
- bug-fix: risolti alcuni segmentation fault che accadevano di rado
- bug-fix: ora la sorgente riprova a connettersi con l'host se fallisce
- bug-fix: ora la sorgente e gli host puliscono tutta la memoria dai jobs ancora vivi.


Dai ragazzi datevi da fare...please testatelo!
Cimmo è offline   Rispondi citando il messaggio o parte di esso
Old 08-11-2002, 17:57   #17
Cimmo
Senior Member
 
L'Avatar di Cimmo
 
Iscritto dal: Jan 2001
Città: California
Messaggi: 7174
Ed ecco l'eseguibile per gli host...
Cimmo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
HillMiles MileCity1 torna a 648,99€: e-b...
Enel Mobile, il debutto è sempre ...
Nuova rimodulazione per il fisso di TIM ...
iPhone 18 Pro e Pro Max, preordini sotto...
Ha craccato 26 giochi: ora Denuvo vuole ...
Xiaomi 18 Pro, il lancio è uffici...
Spotify introduce una nuova impostazione...
007 First Light introduce il path tracin...
Apple amplia iCloud+ e include Apple TV ...
IA e lavoro, non ci sono solo cattive no...
Antenne 5G e campo elettromagnetico: la ...
HONOR Watch 6 torna in offerta a 169,90 ...
Tutte le offerte Amazon di oggi: Google ...
Diesel alle stelle e benzina in rialzo: ...
Un bambino di 9 anni clicca su 'Promuovi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v