Internet, IP, TCP, UDP #1, Cos'è Internet (spiegato in modo serio)

« Older   Newer »
  Share  
CAT_IMG Posted on 20/2/2012, 12:01     +6   +1   -1

So implementare gli object

Group:
Admin
Posts:
1,215
Reputazione:
+150

Status:


Salve a tutti :D

Ho deciso di fare le cose in grande, per cercare di fare capire a tutti come funzionano veramente le cose :)

In questa prima puntata, oltre a trattare l'argomento Internet, farò chiarezza sullo scopo di questa guida.

Che è quello di spiegare cose complicate in modo semplice.

Facciamo un esempio: posso dirvi che l'Internet Protocol (da non confondere con Internet Protocol Address, prima nozione) è un protocollo di interconnessione di reti (Inter-Networking Protocol), nato per interconnettere reti eterogenee per tecnologia, prestazioni, gestione.

Oppure potrei anche dirvi che l'Internet Protocol è un protocollo di comunicazione che permette la connessione di macchine in reti in cui ogni macchina in ogni rete può contattare ogni altra macchina in ogni altra rete.
Potrei quindi aggiungere che una rete è un insieme di macchine collegate sempre attraverso l'IP.
Tutte queste reti sono collegate attraverso Gateway: il Gateway è quel componente che si occupa di connettere una macchina A a una rete di livello superiore, e a furia di Gateway si arriva a un nodo di interconnessione internazionale, che si collega a un altro nodo internazionale che è in comunicazione con la macchina B che la macchina A vuole contattare.

Proviamo ad applicare quello che ho appena spiegato ad un esempio più reale e pratico:
Marco, in casa sua, ha un PC (192.168.1.100), collegato ad un Router (2.178.124.77 / 192.168.1.254), collegato al nodo del suo ISP (ddNet Internet Solutions :P ) più vicino (124.178.2.ddNet), che a sua volta è collegato a un nodo più importante (178.2.ddNet), che è collegato ad un nodo di comunicazione internazionale (2.254.254.254 / 2.ddNet). I nodi interni alla rete dell'ISP chiaramente al Router sono invisibili, e solo le macchine dell'ISP possono fare parte della sottorete ddNet. Ma questo è un discorso più complicato.

Comunque, Marco si connette a 109.168.123.148.
L'IP fa tutto questo:
192.168.1.100 -> 192.168.1.254
2.178.124.77 -> 124.178.2.ddNet
124.178.2.ddNet -> 178.2.ddNet
178.2.ddNet -> 2.ddNet
2.254.254.254 -> 109.168.123.148

Ma Marco e 109.168.123.148 vedono rispettivamente queste due cose:

192.168.1.100 -> 109.168.123.148

2.254.254.254 -> 109.168.123.148

(questo in teoria, in pratica oramai quasi tutti gli ISP forniscono un IP pubblico ai clienti, e qui entra in gioco il NAT, ma non complichiamo troppo le cose XD)

Capito in cosa sta il vantaggio? Marco passa da molte sottoreti per arrivare alla sua meta, ma accade tutto in modo invisibile a lui.
È come se per andare a casa di un amico bastasse digitare il suo indirizzo e la macchina si guidasse da sola attraverso sottoreti sempre di livello più basso.
Continente, stato, provincia, città, via.
Ovviamente ho esagerato, ma dovrebbe rendere l'idea:
Nodo di interconnessione, nodo di ISP, nodo di ISP un po' più piccolo, router, macchina.

CITAZIONE
Ma se io volessi capire per dove sto passando?

Se sei in macchina puoi guardare fuori dal finestrino, su Internet c'è uno strumento quasi magico. Si chiama Traceroute.
Se Marco usasse questo utilissimo strumento per capire dove passa mentre va da 109.168.123.148, vedrebbe esattamente quanto ho scritto io sopra:
192.168.1.100 -> 192.168.1.254
2.178.124.77 -> 124.178.2.ddNet
124.178.2.ddNet -> 178.2.ddNet
178.2.ddNet -> 2.ddNet
2.254.254.254 -> 109.168.123.148

Facciamo un esempio più reale. Ho fatto un Traceroute dal sito VisualRoute.it (194.242.61.3) verso 109.168.123.148, che è mio server.

194.242.61.3
194.242.61.1
151.5.150.185
151.6.65.194 FICI-B01-Ge2-0.71.wind.it
151.6.0.250
151.6.0.38
77.67.65.253 so-2-0-2.mil19.ip4.tinet.net
77.67.90.90 kpn-gw.ip4.tinet.net
94.141.0.61 cr1-port-channel2-cal1.mil.kpnqwest.it
94.141.0.22 cr1-ge5-1-cal2.mil.kpnqwest.it
109.168.123.148 th3game.eu

Vediamo cosa succede:
- Il pacchetto parte da 193.242.61.3
- Passa dal Gateway 193.242.61.1
- Passa per vari nodi della Wind 151.*
- Passa per vari nodi di Inteliquent (77.*, *.tinet.net)
- !!! Passa per il nodo di interconnessione kpn-gw.ip4.tinet.net (capita infatti molto spesso che ci siano nodi di interconnessioni dedicati alla comunicazione tra due soli ISP!)
- Il pacchetti è ora nella sottorete di Milano dell'ISP (che è KPN, 94.141.*, *.mil.kpnqwest.it) della server farm di Netsons dove alloggia il mio server
- Il pacchetto arriva al mio server

Geniale vero?

Direi che la prima lezione può considerarsi conclusa. Facciamo il punto della situazione:

- Sappiamo cos'è Internet
- Sappiamo come i pacchetti arrivano a destinazione




Questa prima lezione è stata un po' un esperimento.
Quello che ora voglio sapere da voi è

  • è interessante?

  • finiti gli argomenti citati nel titolo, vi interessa altro?

  • devo cambiare tutto/qualcosa nel modo in cui spiego?

  • ci avete capito qualcosa?


Ciao!

P.S. criticate pesantemente. Non mi offendo, voglio sapere cosa pensate, voglio capire se interessa a qualcuno quello che dico, voglio capire se sto sparando cazzate... Ditemi quello che pensate. Qualunque cosa. E se va contro il regolamento del forum scrivetemelo via MP :lool: :lool:

Edited by ‡ (dd) - 22/1/2013, 12:43
 
Top
I.Ren
CAT_IMG Posted on 20/2/2012, 12:16     +1   -1




Boh, secondo me è spiegata in modo troppo semplice e troppo poco approfondito, è una spiegazione che capirebbe anceh uno in 1° media.

Cmq bravo per l'impegno.
 
Top
CAT_IMG Posted on 20/2/2012, 12:26     +1   -1

So implementare gli object

Group:
Admin
Posts:
1,215
Reputazione:
+150

Status:


CITAZIONE (I.Ren @ 20/2/2012, 12:16) 
Boh, secondo me è spiegata in modo troppo semplice e troppo poco approfondito, è una spiegazione che capirebbe anceh uno in 1° media.

Il punto è proprio questo, questa guida non è rivolta a chi come te (penso) sa già come funziona Internet, ma a chi non lo sa. Ovvio che a te sembra semplice.
Comunque calcola che è il primo episodio, nei prossimi due spiego rispettivamente TCP e UDP e poi anche i pacchetti ICMP.

Cosa dovrei approfondire di più secondo te?
 
Top
I.Ren
CAT_IMG Posted on 20/2/2012, 13:23     +1   -1




CITAZIONE (‡ (dd) @ 20/2/2012, 12:26) 
CITAZIONE (I.Ren @ 20/2/2012, 12:16) 
Boh, secondo me è spiegata in modo troppo semplice e troppo poco approfondito, è una spiegazione che capirebbe anceh uno in 1° media.

Il punto è proprio questo, questa guida non è rivolta a chi come te (penso) sa già come funziona Internet, ma a chi non lo sa. Ovvio che a te sembra semplice.
Comunque calcola che è il primo episodio, nei prossimi due spiego rispettivamente TCP e UDP e poi anche i pacchetti ICMP.

Cosa dovrei approfondire di più secondo te?

Ahh non avevo capito che poi avresti spiegato oltre le tcp, le udp e il resto. Se è così, e lo scopo della guida è spiegare semplicemente, allora va bene, bravo.
 
Top
CAT_IMG Posted on 20/2/2012, 13:55     +1   -1

So implementare gli object

Group:
Admin
Posts:
1,215
Reputazione:
+150

Status:


CITAZIONE (I.Ren @ 20/2/2012, 13:23) 
Ahh non avevo capito che poi avresti spiegato oltre le tcp, le udp e il resto. Se è così, e lo scopo della guida è spiegare semplicemente, allora va bene, bravo.

Beh certo questa è solo una premessa, per capire cosa succede a basso livello quando usi internet.
 
Top
I.Ren
CAT_IMG Posted on 20/2/2012, 14:53     +1   -1




ok allora
 
Top
LoGiX
CAT_IMG Posted on 20/2/2012, 16:19     +1   -1




Grande :asd:
Io non sapevo il percorso che facevano per connettersi :asd:

EDIT: Aggiungo, alla fine della guida, potresti spiegare come usare i socket in qualche linguaggio, AutoIt (nonostante c'è la guida di misterx) oppure C / C++..
 
Top
»Master
CAT_IMG Posted on 20/2/2012, 17:13     +1   -1




ottimo xd
comunque ho sempre trovato incredibile il fatto che tutte le richieste processate dai protocolli sono fatte in un paio di ms :)
 
Top
bradipooso
CAT_IMG Posted on 20/2/2012, 18:47     +2   +1   -1




guida ingegnosa ;)
CITAZIONE (»Master @ 20/2/2012, 17:13) 
ottimo xd
comunque ho sempre trovato incredibile il fatto che tutte le richieste processate dai protocolli sono fatte in un paio di ms :)

loro non sono pigri come noi
 
Top
I.Ren
CAT_IMG Posted on 20/2/2012, 19:25     +1   -1




CITAZIONE (LoGiX @ 20/2/2012, 16:19) 
EDIT: Aggiungo, alla fine della guida, potresti spiegare come usare i socket in qualche linguaggio, AutoIt (nonostante c'è la guida di misterx) oppure C / C++..

Una volta che sai come funziona il protocollo TCP è relativamente una menata implementarlo con i socket nel linguaggio scelto, il problema è farlo alla cieca se non si sa cos'è e come funziona.
 
Top
CAT_IMG Posted on 21/2/2012, 00:51     +1   -1

So implementare gli object

Group:
Admin
Posts:
1,215
Reputazione:
+150

Status:


CITAZIONE (I.Ren @ 20/2/2012, 19:25) 
CITAZIONE (LoGiX @ 20/2/2012, 16:19) 
EDIT: Aggiungo, alla fine della guida, potresti spiegare come usare i socket in qualche linguaggio, AutoIt (nonostante c'è la guida di misterx) oppure C / C++..

Una volta che sai come funziona il protocollo TCP è relativamente una menata implementarlo con i socket nel linguaggio scelto, il problema è farlo alla cieca se non si sa cos'è e come funziona.

Il problema di linguaggi come AutoIt è che permettono proprio di utilizzare il protocollo TCP alla cieca.

Piccola anticipazione dei prossimi argomenti:
Protocollo UDP
Protocollo ICMP
Funzionamento pratico del Traceroute
Protocollo TCP
Implementazione pratica dei tre protocolli in Python e poi in C (per AutoIt tanto vale leggere la guida pratica di xdmasterx o direttamente la documentazione).

Grazie dell'interesse :)
 
Top
10 replies since 20/2/2012, 12:01   228 views
  Share