stack tcp/ip

Giulia :

Beh, allora "internet" non esiste :)

Non mi viene in mente nessun caso generico di due host su due reti diverse fra i quali non ci sia almeno un firewall.

Tu ti puoi scelgiere il tuo, il tuo corrispondente si scelgie il suo. E magari il suo filtra qualcosa. Di nuovo, se vuoi essere sicura che fra due host UDP passi su una certa porta, devi provare. In generale andrà bene. Ma in generale non vuol dire "sempre". E, che io sappia, non vuol dire neanche "quasi sempre".

Reply to
pot
Loading thread data ...

p56d :

Mai sentito di reti mobili su cui il voip non funziona? Io sì.

Lo decidi tu sul tuo stack. Fra quello e l'altro host c'è in mezzo un mondo. Di solito questo mondo è trasparente, ma non sempre. Quando non lo è, è più facile che sia trasparente a TCP che a UDP.

Reply to
pot

Il 13/10/12 01:46, pot ha scritto:

Certamente, ma rilevano e bloccano solo il voip: in qualche modo rilevano SIP, Skype, etc, ma di certo non ti bloccano interamente UDP. Ci sono firewall che lavorano a livello applicazione (sopra UDP/TCP) proprio per questo.

E poi come si diceva sopra: voip può lavorare (male) anche su TCP: e quindi che fanno bloccano tutto il TCP??

Reply to
p56d

p56d :

Vabbé, lo ripeto per l'ultima volta e poi basta, altrimenti non si finisce più. Avere un aggeggio che parla solo UDP potrebbe voler dire che non sempre è in grado di parlare con altri aggeggi su Internet, perché qua e là ci sono sparsi firewall, in posizioni non sempre prevedibili, che possono bloccare UDP. Non è una certezza ma può capitare, per quanto ne so.

Reply to
pot

Il 13/10/12 08:43, pot ha scritto:

prometto, per l'ultima volta :-) .... tempo mi serviva un arduino (che aveva uno shield ethernet con W5100) che avesse sempre l'ora e la data esatta. Per questo ho implementato NTP (su UDP ovviamente...): ebbene l'ho usato ovunque e in tutte le situazioni (anche da rete mobile) ha sempre funzionato...

Reply to
p56d

p56d :

L'hai implementato tu? NTP per quanto ho capito non è così semplice da implementare, o sbaglio? Credo che un aggeggio del genere farebbe gola a diversi arduinisti.

Reply to
pot

ha scritto:

di codice condizionale e ci vuole un po' a capire tutto per bene (certo non come scrivere lo stack from scratch);

come filosofia non piace avere dei pezzi di codice che vanno ma non so perchè!

Eh, ma se usi una libreria di terze parti non puoi mica pretendere di capire i dettagli. Si usano cosa già fatte proprio per evitare di perdere tempo a capire/scrivere da zero le cose. E questo è positivo perché fa risparmiare tempo e denaro in genere.

parti per il compilatore che mi interessa e per la mia architettura specifica; inoltre ho spostato in hardware quello che potevo (il modulo di i/o verso eth supporta già in hw alcuni layer)

Bene!

più lwIP che è licenziato sotto BSD ed quello su cui si basa BeRTOS o sbaglio?

lwIP è uno stack di rete completo e affidabile, e l'abbiamo integrato anche in BeRTOS. E' davvero completo e per questo richiede un bel po' di risorse (in termini di flash e RAM soprattutto). L'ho usato in diversi progetti, a spanne posso dirti che per avere una versione abbastanza completa richiede circa 50kB di flash più qualche decina di kB di RAM.

--
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept. 
   |\ http://www.develer.com/ - http://www.bertos.org
Reply to
Francesco Sacchi

Il 13/10/12 10:09, pot ha scritto:

Una query NTP per conoscere l'ora e la data (con discreta approssimazione)? Bastano poche righe di codice. Crei un buffer con 48 byte tutti a zero. Nel primo byte metti 0x23 (mode client, version=4) e spedisci con UDP su porta 123 ad un server NTP. Quindi attendi la risposta e di questa ti prendi sempre i primi 48 byte. Gli ultimi 8 rappresentano l'ora e la data. Per convertire ora e data in formato classico unix a 32 bit puoi usare:

uint32_t t = 0; for (uint8_t i=0; i

Reply to
p56d

Confondi router con firewall, quindi possiamo chiuderla qui.

Giulia

Reply to
Giulia

In realtà quello che diceva lui è: io ti do due end-point qualsiasi, tr ova un path che non abbia un firewall in mezzo. Per ovvie ragioni, questo non è possibile. Ciao!

Reply to
fmassei

Sono cosi ovvie che immagino tu possa dettagliare vero ?

Giulia

Reply to
Giulia

ll

Come punto qualsiasi ne scelgo uno connesso ad un solo nodo a valle di un f irewall. Adesso c'è anche bisogno di spiegare l'ovvio? :| Ciao!

P.S. Anche il PC da cui io sto scrivendo il messaggio è connesso ad inter net (solo) attraverso un router su cui è implementato (tra le altre cose) un firewall. Probabilmente anche te sei nella mia stessa situazione.

Reply to
fmassei

Si, avevo il dubbio che non sapessi distinguere la funzione di un firewall da un router e una rete ad indirizzamento pubblico da una ad indirizzamento privato (che ha altre limitazioni) ma ora ho la certezza.

Ciao Giulia

Reply to
Giulia

l

:) Non te la prendere! Peace!

Reply to
fmassei

p56d :

Oh, pensavo a una cosa più complessa, cioè mantenere un orologio locale con aggiustamento in continua per mantenere la sincronizzazione entro pochi millisecondi o meno e aggiustamento graduale. Se ci si accontenta di una sincronizzazione una tantum con aggiustamento a salto basta molto meno, in effetti.

Reply to
pot

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.