Uni.Sistemi History

Show minor edits - Show changes to output

February 19, 2008, at 03:27 PM by Denis -
Changed line 29 from:
# [[#s13|DNS]]
to:
# [[#s13|Gnutella]]
February 19, 2008, at 03:26 PM by Denis -
Changed lines 29-30 from:
# [[#s13|Qualche link]]
# [[#s14|Porte note]]
to:
# [[#s13|DNS]]
# [[#s14|Qualche link]]
# [[#s15|Porte note]]
Deleted line 133:
Added lines 135-138:
!!!Gnutella
Traduzione e riassunto delle specifiche del protocollo [[Gnutella]]

[[#s14]]
Changed line 170 from:
[[#s14]]
to:
[[#s15]]
February 11, 2008, at 03:40 PM by Gennaro -
Added line 7:
Ciao sono Gennaro, anche io ho copiato i vostri appunti prendendo 20 punti nei primi due esercizi! Grazie!\\
Deleted line 11:
.........................................\\
January 23, 2008, at 02:49 PM by Ido -
Changed lines 12-13 from:
.........................................\\
to:
.........................................
January 23, 2008, at 02:49 PM by Ido -
Changed lines 6-8 from:
[+++TUTTI QUI EH ORA CHE MANCAN DUE GIORNI ALL'ESAME?????+++]
''Benritrovati - infami :D - su DoppioClic''
to:
[+++Per ringraziamenti, firmare negli spazi sottostanti+++]\\
.........................................\\
.........................................\\
.........................................\\
.........................................\\
.........................................\\
.........................................\\
January 22, 2008, at 09:38 PM by Ido -
Changed lines 77-78 from:
* [[data sconosciuta, ma vecchio -> TemiEsameSED12]] - Esercizi svolti: '''3/6''' (ma però i 3 esercizi mancanti parlano di argomenti mai fatti)
to:
* [[data sconosciuta, ma vecchio -> TemiEsameSED12]] - Esercizi svolti: '''3/6''' (ma i 3 esercizi mancanti parlano di argomenti mai fatti)
January 22, 2008, at 09:38 PM by Ido -
Changed lines 149-150 from:
to:
* [[http://security.polito.it/~lioy/01fqt/rpc_6x.pdf]]
January 22, 2008, at 09:26 PM by dario -
Added line 25:
# [[#s14|Porte note]]
Added line 160:
[[#s14]]
January 22, 2008, at 09:26 PM by dario -
Added lines 159-160:
!!!Porte note
[[Lista porte note da 0 a 1024 -> Attach:portenote.pdf]] (in realtà arrivano fino a 995, le restanti non sono state assegnate).
January 22, 2008, at 04:32 PM by Denis -
Changed lines 76-77 from:
* [[data sconosciuta, ma vecchio -> TemiEsameSED11]] - Esercizi svolti: '''3/6''' (ma però i 3 esercizi mancanti parlano di argomenti mai fatti)
to:
* [[data sconosciuta, ma vecchio -> TemiEsameSED12]] - Esercizi svolti: '''3/6''' (ma però i 3 esercizi mancanti parlano di argomenti mai fatti)
January 22, 2008, at 04:31 PM by Denis -
Changed lines 76-77 from:
to:
* [[data sconosciuta, ma vecchio -> TemiEsameSED11]] - Esercizi svolti: '''3/6''' (ma però i 3 esercizi mancanti parlano di argomenti mai fatti)
January 22, 2008, at 11:05 AM by Patty -
Changed line 73 from:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 4/5 (cmq è assodato che quello sul RIP è errore da parte loro)
to:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: '''5/5''' (cmq è assodato che quello sul RIP è errore da parte loro)
January 22, 2008, at 10:41 AM by Patty -
January 22, 2008, at 10:41 AM by Patty -
Changed lines 75-76 from:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 3/4
to:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: '''4/4'''
January 21, 2008, at 11:51 PM by Ido -
Added lines 152-154:
FTP:
* [[http://www.pluto.it/files/ildp/HOWTO/FTP/FTP-3.html]]
January 21, 2008, at 11:45 PM by Ido -
Changed lines 7-8 from:
''Benritrovati - infami - su DoppioClic :D''
to:
''Benritrovati - infami :D - su DoppioClic''
January 21, 2008, at 08:25 PM by Ptty -
Changed line 72 from:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''(manca una risposta)
to:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''
January 21, 2008, at 07:06 PM by dario -
Changed line 73 from:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 3/5
to:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 4/5 (cmq è assodato che quello sul RIP è errore da parte loro)
January 21, 2008, at 07:01 PM by Ido Teto -
Deleted lines 30-32:
%warning%'''WARNING'''\\
Questo avviso rimarrà fino a STASERA, il tempo che tutti possano andare su [[questa pagina->LaMailDeLaMuerte]], copiare tutto, e mandare a damiani e socia.
January 21, 2008, at 06:50 PM by Ido Teto -
Deleted lines 3-5:
[+++TUTTI QUI EH ORA CHE MANCAN DUE GIORNI ALL'ESAME?????+++]]
Benritrovati - infami - su DoppioClic :D
Added lines 6-8:
[+++TUTTI QUI EH ORA CHE MANCAN DUE GIORNI ALL'ESAME?????+++]
''Benritrovati - infami - su DoppioClic :D''
January 21, 2008, at 06:49 PM by Ido Teto -
Changed lines 4-5 from:
[++TUTTI QUI EH ORA CHE MANCAN DUE GIORNI ALL'ESAME?????++]]
to:
[+++TUTTI QUI EH ORA CHE MANCAN DUE GIORNI ALL'ESAME?????+++]]
Benritrovati - infami - su DoppioClic :D
January 21, 2008, at 06:46 PM by Ido Teto -
Added lines 4-5:
[++TUTTI QUI EH ORA CHE MANCAN DUE GIORNI ALL'ESAME?????++]]
January 21, 2008, at 06:38 PM by Ptty -
Changed lines 26-27 from:
Questo è il link del vecchio sito di damiani http://olaf.crema.unimi.it/crema.htm ci sono altri compitini!!!
to:
'''Questo è il link del vecchio sito di damiani http://olaf.crema.unimi.it/crema.htm ci sono altri compitini!!!'''
January 21, 2008, at 06:35 PM by Ptty -
Added lines 26-27:
Questo è il link del vecchio sito di damiani http://olaf.crema.unimi.it/crema.htm ci sono altri compitini!!!
January 21, 2008, at 03:35 PM by dario -
Changed lines 20-21 from:
# [[#s12|Qualche link]]
to:
# [[#s12|DNS]]
# [[#s13|Qualche link]]
Added lines 121-125:
!!!DNS
Un po' di teoria sui DNS a [[questa pagina -> SistemiDNS]]


[[#s13]]
January 21, 2008, at 02:41 PM by Ido -
Changed lines 74-75 from:
* [[Tema d'esame preparato da Ceravolo (FAKE!!!!) -> TemiEsameCeravolo]] - Esercizi svolti: '''4/4''' (mancano due risposte)
to:
* [[Tema d'esame preparato da Ceravolo-> TemiEsameCeravolo]] - Esercizi svolti: '''4/4''' (mancano due risposte)
January 21, 2008, at 02:41 PM by Ido -
Added lines 74-75:
* [[Tema d'esame preparato da Ceravolo (FAKE!!!!) -> TemiEsameCeravolo]] - Esercizi svolti: '''4/4''' (mancano due risposte)
January 21, 2008, at 12:31 PM by Denis -
Changed lines 72-73 from:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 2/4
to:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 3/4
January 20, 2008, at 10:34 PM by Patty -
Changed line 69 from:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''
to:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''(manca una risposta)
January 20, 2008, at 11:17 AM by Ido -
Changed lines 143-144 from:
* [[www.cs.unibo.it/~ghini/didattica/reti_lpr/TAC007.pdf]]
to:
* [[http://www.cs.unibo.it/~ghini/didattica/reti_lpr/TAC007.pdf]]
January 20, 2008, at 11:15 AM by Ido -
Added lines 119-121:
DNS
* [[http://cctld.it/ARCHIVI/VANNOZZI/DOCUMENTI/presentazione-dns.pdf]]
Added lines 142-144:
Funzione fork():
* [[www.cs.unibo.it/~ghini/didattica/reti_lpr/TAC007.pdf]]
January 20, 2008, at 11:11 AM by Ido -
Changed lines 114-115 from:
I codici di stato sono i codici a tre cifre che compaiono nella status line degli HTTP response, ma anche nei messaggi restituiti dal terminale nelle comunicazioni SMTP ed FTP. Potevamo non elencarli tutti in una [[pagina tutta per loro->CodiciDiStato]]?
to:
I codici di stato sono i codici a tre cifre che compaiono nella status line degli HTTP response, ma anche nei messaggi restituiti dal terminale nelle comunicazioni SMTP ed FTP.\\
Potevamo non elencarli tutti in una [[pagina tutta per loro->CodiciDiStato]]?
January 20, 2008, at 11:10 AM by Ido -
Changed lines 18-20 from:
# [[#s10|Qualche link]]
to:
# [[#s10|HTTP headers]]
# [[#s11|Codici di Stato]]
# [[#s12|Qualche link]]
Changed lines 26-27 from:
Questo avviso rimarrà fino a domani sera, il tempo che tutti possano andare su [[questa pagina->LaMailDeLaMuerte]], copiare tutto, e mandare a damiani e socia.
to:
Questo avviso rimarrà fino a STASERA, il tempo che tutti possano andare su [[questa pagina->LaMailDeLaMuerte]], copiare tutto, e mandare a damiani e socia.
Changed lines 106-107 from:
Un'integrazione sulle varie funzioni della socket library la potete trovare su [[questa pagina->SocketLibrary]].
to:
Se avete bisogno di delucidazioni o integrazioni sulle varie connect, accept, bind e affini, potrete trovare tutto nella pagina della [[Socket Library]].
Changed lines 109-117 from:
!!!Qualche Link...
to:
!!!HTTP headers
In classe abbiamo visto solo tre o quattro header dei messaggi HTTP, ma nei temi d'esame il buon Damiani va a pescare quelli più assurdi. Direttamente dal protocollo W3, ecco tutti (credo) gli [[HTTP Headers]].

[[#s11]]
!!!Codici di Stato
I codici di stato sono i codici a tre cifre che compaiono nella status line degli HTTP response, ma anche nei messaggi restituiti dal terminale nelle comunicazioni SMTP ed FTP. Potevamo non elencarli tutti in una [[pagina tutta per loro->CodiciDiStato]]?

[[#s12]]
!!!Qualche link
January 20, 2008, at 10:48 AM by Denis -
Changed lines 66-67 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 5/5
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 4/4
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: '''5/5'''
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''
Changed line 69 from:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 4/4
to:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: '''4/4'''
January 20, 2008, at 10:45 AM by Denis -
Changed lines 66-67 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 4/5 (ma del terzo manca la seconda parte)
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 5/5
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 4/4
January 20, 2008, at 01:14 AM by Ido -
Added lines 23-25:
%warning%'''WARNING'''\\
Questo avviso rimarrà fino a domani sera, il tempo che tutti possano andare su [[questa pagina->LaMailDeLaMuerte]], copiare tutto, e mandare a damiani e socia.
January 19, 2008, at 12:35 AM by Ido -
Changed lines 101-102 from:
Un'integrazione sulle varie funzioni della socket library che abbiamo visto in classe la potete trovare su [[questa pagina->SocketLibrary]].
to:
Un'integrazione sulle varie funzioni della socket library la potete trovare su [[questa pagina->SocketLibrary]].
Changed lines 115-117 from:
to:
* [[GaPiL di Simone Piccardi->http://www.cact.unile.it/facilities/XC6000/html-man/gapil/gapilpa2.html#gapilch17.html]]
* [[http://www.valtellinux.it/prj/rete/rete.html]]
January 18, 2008, at 08:47 PM by baby -
Changed line 64 from:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 2/4
to:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: '''4/4'''
January 18, 2008, at 02:37 PM by Pitty -
Added line 18:
# [[#s10|Qualche link]]
January 18, 2008, at 02:36 PM by Ptty -
Changed line 102 from:
[[#10]]
to:
[[#s10]]
January 18, 2008, at 12:39 PM by dario -
Added lines 110-111:

Socket:
Added lines 113-115:
* [[http://beej.us/guide/bgnet/]]

RPC:
January 18, 2008, at 12:31 PM by dario -
Changed lines 115-116 from:
to:
* RFC di HTTP: [[http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html]]
January 18, 2008, at 12:30 PM by dario -
Added lines 113-115:
Http:
* [[http://hell.org.ua/Docs/oreilly/webprog/webnut/ch17_01.htm]]
January 17, 2008, at 09:40 PM by dario -
Changed lines 111-112 from:
to:
* [[http://www.di.univaq.it/~vincenzo.fazio/doc/Lx-RPC-2007.pdf]]
January 17, 2008, at 09:39 PM by dario -
Changed lines 110-111 from:
to:
* [[http://www.lowtek.com/sockets/]]
January 17, 2008, at 09:27 PM by dario -
Changed lines 109-110 from:
* [[http://www.mi.infn.it/~cmp/CorsoReti/]] : Bello, c'è su un sacco di roba, compresi esempi in JAVA di server Web
to:
* [[http://www.mi.infn.it/~cmp/CorsoReti/]]
January 17, 2008, at 09:26 PM by dario -
Added line 109:
* [[http://www.mi.infn.it/~cmp/CorsoReti/]] : Bello, c'è su un sacco di roba, compresi esempi in JAVA di server Web
January 17, 2008, at 09:24 PM by dario -
Added lines 102-108:
[[#10]]
!!!Qualche Link...
Routing:
* [[http://netgroup.polito.it/nettuno/]]

Protocolli di rete:
* [[http://www.rigacci.org/docs/biblio/online/netproto/06rout/rip.htm]]
January 17, 2008, at 03:26 PM by Baby -
Changed line 65 from:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 3/4
to:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 4/4
January 17, 2008, at 03:05 PM by Denis -
Changed line 65 from:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 2/4
to:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 3/4
January 15, 2008, at 11:05 AM by Denis -
Changed line 65 from:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 1/4
to:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 2/4
January 15, 2008, at 10:56 AM by Denis -
Changed line 64 from:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 2/5
to:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 3/5
January 08, 2008, at 03:24 PM by Denis -
Changed line 64 from:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 1/5
to:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 2/5
January 03, 2008, at 04:38 PM by Denis -
Changed line 62 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 3/5
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 4/5 (ma del terzo manca la seconda parte)
January 03, 2008, at 04:27 PM by Denis -
Changed line 62 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 3/6
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 3/5
January 03, 2008, at 04:24 PM by Denis -
Changed line 62 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 2/6
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 3/6
January 03, 2008, at 03:41 PM by Denis -
Changed line 62 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 1/6
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 2/6
January 03, 2008, at 02:49 PM by Denis -
Changed lines 66-67 from:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 1/4
to:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 2/4
January 03, 2008, at 12:52 PM by Denis -
Changed lines 66-67 from:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 0/4
to:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 1/4
January 03, 2008, at 11:16 AM by Denis -
Changed line 65 from:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 0/4
to:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 1/4
January 02, 2008, at 04:52 PM by Denis -
Changed line 64 from:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 0/5
to:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 1/5
January 02, 2008, at 02:49 PM by Denis -
Changed line 63 from:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 1/4
to:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 2/4
January 02, 2008, at 12:57 PM by Denis -
Changed line 63 from:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 0/4
to:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 1/4
December 29, 2007, at 03:39 PM by Denis -
Added line 64:
* [[20/04/2006 -> TemiEsameSED11]] - Esercizi svolti: 0/5
December 29, 2007, at 03:13 PM by Denis -
Changed lines 65-66 from:
to:
* [[12/05/2007 -> TemiEsameSED10]] - Esercizi svolti: 0/4
December 29, 2007, at 02:27 PM by Denis -
Changed lines 64-65 from:
to:
* [[20/06/2006 -> TemiEsameSED09]] - Esercizi svolti: 0/4
December 29, 2007, at 02:26 PM by Denis -
Changed line 62 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 1/5
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 1/6
December 29, 2007, at 01:14 PM by Denis -
Changed lines 63-64 from:
to:
* [[11/11/2005 -> TemiEsameSED08]] - Esercizi svolti: 0/4
December 11, 2007, at 08:39 PM by Ido -
Changed line 15 from:
# [[#s7|Headers]]
to:
# [[#s7|Header IP]]
Changed line 86 from:
!!!Headers
to:
!!!Header IP
Changed lines 88-89 from:
[[HeaderIPv4]] - [[HeaderIPv6]] - [[HeaderTCP]] - [[HeaderUDP]].
to:
[[HeaderIPv4]] - [[HeaderIPv6]]
December 11, 2007, at 12:16 AM by Ido -
Added line 17:
# [[#s9|Socket Library]]
Changed lines 41-42 from:
* [[Socket]]
to:
Added lines 94-97:
[[#s9]]
!!!Socket library
Un'integrazione sulle varie funzioni della socket library che abbiamo visto in classe la potete trovare su [[questa pagina->SocketLibrary]].
December 11, 2007, at 12:10 AM by Ido -
Changed line 1 from:
(:title Sistemi Anticoncezionali delle Reti e dei Damiani:)
to:
(:title Sistemi di Elaborazione dell'Informazione:)
December 11, 2007, at 12:08 AM by Ido -
Changed lines 40-41 from:
to:
* [[Socket]]
December 10, 2007, at 02:06 PM by Ido -
Changed lines 61-62 from:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 0/5
to:
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 1/5
December 10, 2007, at 01:19 PM by Ido -
Changed line 6 from:
>>left bgcolor=#f5f9fc width=215px border='2px solid #cccccc' padding=5px<<
to:
>>left bgcolor=#f5f9fc width=240px border='2px solid #cccccc' padding=5px<<
Added lines 19-20:
[[<<]]
December 10, 2007, at 01:14 PM by Ido -
Added lines 6-19:
>>left bgcolor=#f5f9fc width=215px border='2px solid #cccccc' padding=5px<<
%center%'''Indice'''

# [[#s1|Appunti di Dario]]
# [[#s2|Esercizi]]
# [[#s3|Temi d'esame svolti da noi]]
# [[#s4|Possibili domande]]
# [[#s5|MAN pages]]
# [[#s6|Sigle]]
# [[#s7|Headers]]
# [[#s8|Sunto tabellare del CIDR]]
>><<

[[#s1]]
Changed lines 23-26 from:
!!!!!Lezioni:

!!!!!!Prima parte
to:
!!!!!Prima parte
Changed lines 35-36 from:
!!!!!!Seconda parte
to:
!!!!!Seconda parte
Added line 39:
[[#s2]]
Changed lines 45-46 from:
!!!Temi d'esame svolti:
* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 4/5 (ma uno è svolto per due terzi)
to:
[[#s3]]
!!!Temi d'esame svolti da noi
Non garantiamo l'assoluta correttezza di tutte le soluzioni, è solo come le faremmo noi.

!!!!!Prima parte

* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 5/5 (ma uno è svolto per due terzi)
Added lines 58-61:
!!!!!Seconda parte
* [[9/9/2005 -> TemiEsameSED07]] - Esercizi svolti: 0/5

[[#s4]]
Changed line 65 from:
to:
[[#s5]]
Added line 78:
[[#s6]]
Added line 82:
[[#s7]]
Added line 87:
[[#s8]]
November 30, 2007, at 12:14 PM by Ido -
Changed lines 59-62 from:
!!!Header IP
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano. Perché non dedicargli una pagina tutta per lui?\\
[[HeaderIP]].
to:
!!!Headers
Tutti ne parlano. Tutti li vogliono. Tutti li cercano. Perché non dedicargli una pagina ad hoc?\\
[[HeaderIPv4]] - [[HeaderIPv6]] - [[HeaderTCP]] - [[HeaderUDP]].
November 19, 2007, at 09:16 PM by Patty -
Changed lines 11-12 from:
!!!!!!!Prima parte
to:
!!!!!!Prima parte
Changed lines 23-24 from:
!!!!!!!Seconda parte
to:
!!!!!!Seconda parte
November 19, 2007, at 08:36 PM by Patty -
Added lines 11-12:
!!!!!!!Prima parte
Added lines 23-26:
!!!!!!!Seconda parte

* [[Lezioni con Ceravolo->Ceravolo]]
November 05, 2007, at 11:57 PM by Ido -
November 05, 2007, at 11:57 PM by Ido -
Changed line 29 from:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 4/6
to:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 4/6 (ma uno parla di cose mai viste)
November 05, 2007, at 11:10 PM by Ido -
Changed line 29 from:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 3/6
to:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 4/6
November 05, 2007, at 10:40 PM by Ido -
Changed line 28 from:
* [[30/1/2007 -> TemiEsameSED02]] - Esercizi svolti: 3/4 (ma uno parla di cose mai fatte)
to:
* [[30/1/2007 -> TemiEsameSED02]] - Esercizi svolti: 3/4 (ma uno parla di cose mai viste)
Changed lines 30-31 from:
* [[20/6/2006 -> TemiEsameSED04]] - Esercizi svolti: 1/6
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 6/8 (ma due parlano di cose mai fatte)
to:
* [[20/6/2006 -> TemiEsameSED04]] - Esercizi svolti: 4/6 (ma uno parla di cose mai viste)
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 6/8 (ma due parlano di cose mai viste)
November 05, 2007, at 10:08 PM by Ido -
Changed line 27 from:
* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 4/5
to:
* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 4/5 (ma uno è svolto per due terzi)
Changed line 31 from:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 5/8
to:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 6/8 (ma due parlano di cose mai fatte)
November 05, 2007, at 09:41 PM by Ido -
Changed line 28 from:
* [[30/1/2007 -> TemiEsameSED02]] - Esercizi svolti: 2/4
to:
* [[30/1/2007 -> TemiEsameSED02]] - Esercizi svolti: 3/4 (ma uno parla di cose mai fatte)
November 05, 2007, at 09:25 PM by Ido -
Changed line 27 from:
* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 3/5
to:
* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 4/5
November 05, 2007, at 09:14 PM by Denis -
Changed line 30 from:
* [[20/6/2006 -> TemiEsameSED04]] - Esercizi svolti: 0/6
to:
* [[20/6/2006 -> TemiEsameSED04]] - Esercizi svolti: 1/6
November 05, 2007, at 08:49 PM by baby -
Changed line 29 from:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 1/6
to:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 3/6
November 05, 2007, at 08:18 PM by Ido -
Changed lines 32-33 from:
* [[9/9/2005 -> TemiEsameSED06]] - Esercizi svolti: 1/4
to:
* [[9/9/2005 -> TemiEsameSED06]] - Esercizi svolti: 4/4
November 05, 2007, at 07:38 PM by Ido -
Changed lines 53-56 from:
!!!Frame Ethernet ed Header IP
Tutti ne parlano. Tutti li vogliono. Tutti li cercano. Perché non dedicargli una pagina tutta per loro?\\
[[Frame Ethernet]] - [[HeaderIP]].
to:
!!!Header IP
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano. Perché non dedicargli una pagina tutta per lui?\\
[[HeaderIP]].

!!!Sunto tabellare del CIDR
Che maschera hanno, che range di host consentono, a quale classe corrispondono... a tutte queste domande verrà data una risposta nella [[mega tabellona riassuntiva del CIDR->TabCIDR]].
November 05, 2007, at 07:24 PM by MiTicozzo -
Changed line 29 from:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 0/6
to:
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 1/6
November 05, 2007, at 04:52 PM by Ido -
Changed lines 32-33 from:
* [[9/9/2005 -> TemiEsameSED06]] - Esercizi svolti: 0/4
to:
* [[9/9/2005 -> TemiEsameSED06]] - Esercizi svolti: 1/4
November 05, 2007, at 03:20 PM by Ido -
Changed lines 32-33 from:
to:
* [[9/9/2005 -> TemiEsameSED06]] - Esercizi svolti: 0/4
November 04, 2007, at 10:46 PM by baby -
Changed lines 24-25 from:
to:
* [[Es con il ber -> Exber]]
November 04, 2007, at 10:21 PM by baby -
Changed lines 23-24 from:
to:
* [[Es con 1000 formule ->Ex1000formule]]
November 04, 2007, at 10:07 PM by Ido -
Changed lines 29-30 from:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 4/8
to:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 5/8
November 04, 2007, at 09:46 PM by Ido -
Changed lines 29-30 from:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 1/8
to:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 4/8
November 04, 2007, at 09:22 PM by Ido -
Changed lines 36-37 from:
Ho pdf-ato le pagine di manuale (le pagine MAN di cui parlava il professore) per i comandi '''arp''', '''netstat''', '''route''', '''traceroute''' altrimenti detto '''tracert''', '''ping''', '''ifconfig''' altrimenti detto '''ipconfig'''. Sono in inglese, spero non ci siano problemi. In italiano non le ho.
to:
Ho pdf-ato le pagine di manuale (le pagine MAN di cui parlava il professore) per i comandi '''arp''', '''netstat''', '''route''', '''traceroute''' altrimenti detto '''tracert''', '''ping''', '''ifconfig''' altrimenti detto '''ipconfig'''. Sono in inglese, spero non ci siano problemi.
Added lines 45-46:
Qualcosa in italiano lo potete trovare %newwin%[[qui->http://www.firenze.linux.it/~piccardi/corso/netadmin/node12.html]].
November 04, 2007, at 09:09 PM by Ido -
Changed lines 29-30 from:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 0/8
to:
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 1/8
November 04, 2007, at 08:40 PM by Ido -
Changed lines 25-30 from:
* [[12/5/2007 -> TemiEsameSED01]]
* [[30/1/2007 -> TemiEsameSED02]]
* [[14/9/2006 -> TemiEsameSED03]]
* [[20/6/2006 -> TemiEsameSED04]]
* [[11/11/2005 -> TemiEsameSED05]]
to:
* [[12/5/2007 -> TemiEsameSED01]] - Esercizi svolti: 3/5
* [[30/1/2007 -> TemiEsameSED02]] - Esercizi svolti: 2/4
* [[14/9/2006 -> TemiEsameSED03]] - Esercizi svolti: 0/6
* [[20/6/2006 -> TemiEsameSED04]] - Esercizi svolti: 0/6
* [[11/11/2005 -> TemiEsameSED05]] - Esercizi svolti: 0/8
November 04, 2007, at 08:25 PM by Ido -
Changed lines 29-30 from:
to:
* [[11/11/2005 -> TemiEsameSED05]]
November 03, 2007, at 06:49 PM by dario -
Changed lines 19-20 from:
to:
* [[La verità sul go-back-n -> SEDI-GBN]]
November 03, 2007, at 06:22 PM by Ido -
Changed lines 21-22 from:
* [[29 Ottobre 2007 -> ExSEDI01]]
to:
* [[29 Ottobre 2007 - > ExSEDI01]]
November 03, 2007, at 06:22 PM by Ido -
Changed lines 21-22 from:
* [[29 Ottobre 2007 - > ExSEDI01]]
to:
* [[29 Ottobre 2007 -> ExSEDI01]]
November 03, 2007, at 12:33 PM by Ido -
Changed lines 47-48 from:
Tutti ne parlano. Tutti li vogliono. Tutti li cercano. Perché non dedicargli una pagina tutta per loro? [[Frame Ethernet]] - [[HeaderIP]].
to:
Tutti ne parlano. Tutti li vogliono. Tutti li cercano. Perché non dedicargli una pagina tutta per loro?\\
[[Frame Ethernet]] - [[HeaderIP]].
November 03, 2007, at 12:33 PM by Ido -
Changed lines 46-48 from:
!!!Header IP
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano. Damiani lo chiede all'esame. Perché non dedicargli [[una pagina tutta per lui->HeaderIP]]?
to:
!!!Frame Ethernet ed Header IP
Tutti ne parlano. Tutti li vogliono. Tutti li cercano. Perché non dedicargli una pagina tutta per loro? [[Frame Ethernet]] - [[HeaderIP]].
November 02, 2007, at 12:51 PM by Ido -
Changed lines 26-27 from:
* [[20/6/2006 -> TemiEsameSED03]]
to:
* [[14/9/2006 -> TemiEsameSED03]]
* [[20/6/2006 -> TemiEsameSED04]]
November 02, 2007, at 12:40 PM by Ido -
Changed lines 26-27 from:
to:
* [[20/6/2006 -> TemiEsameSED03]]
November 02, 2007, at 12:26 PM by Ido -
Changed lines 25-26 from:
to:
* [[30/1/2007 -> TemiEsameSED02]]
November 01, 2007, at 07:47 PM by Ido -
Changed lines 21-22 from:
* [[29 Ottobre 2007 - > ExSEDI01]]\\
to:
* [[29 Ottobre 2007 - > ExSEDI01]]
Changed lines 24-25 from:
* [[12/5/2007]]
to:
* [[12/5/2007 -> TemiEsameSED01]]
November 01, 2007, at 07:46 PM by Ido -
Changed lines 23-25 from:
to:
!!!Temi d'esame svolti:
* [[12/5/2007]]
November 01, 2007, at 07:45 PM by Ido -
Changed line 20 from:
!!!!!Esercizi:
to:
!!!Esercizi:
Changed lines 22-28 from:
\\

!!!!![['''Possiili domande che l'abbacchio ha detto durante le lezioni''' ->Domande]]\\



!!!!!MAN pages
to:


!!!Possibili Domande
Durante le lezioni di Sistemi capitava spesso che Damiani dicesse una frase del tipo "Ecco, questa potrebbe essere una domanda da compitino...". Raccogliamo tutte queste domande e relative risposte su [[questa pagina->DomandeDamiani]]


!!!MAN pages
November 01, 2007, at 11:49 AM by Ido -
Changed lines 21-22 from:
* [[29 Ottobre 2007 - > ExSEDI01]]
to:
* [[29 Ottobre 2007 - > ExSEDI01]]\\
\\

!!!!![['''Possiili domande che l'abbacchio ha detto durante le lezioni''' ->Domande]]\\


October 31, 2007, at 01:48 PM by dario -
Changed lines 26-32 from:
* [[Attach:arp.pdf]]
* [[Attach:netstat.pdf]]
* [[Attach:route.pdf]]
* [[Attach:traceroute.pdf]]
* [[Attach:ping.pdf]]
* [[Attach:ifconfig.pdf]]
to:
* [[(Attach:)arp.pdf]]
* [[(Attach:)netstat.pdf]]
* [[(Attach:)route.pdf]]
* [[(Attach:)traceroute.pdf]]
* [[(Attach:)ping.pdf]]
* [[(Attach:)ifconfig.pdf]]
October 31, 2007, at 01:44 PM by dario -
Added lines 23-32:
!!!!!MAN pages
Ho pdf-ato le pagine di manuale (le pagine MAN di cui parlava il professore) per i comandi '''arp''', '''netstat''', '''route''', '''traceroute''' altrimenti detto '''tracert''', '''ping''', '''ifconfig''' altrimenti detto '''ipconfig'''. Sono in inglese, spero non ci siano problemi. In italiano non le ho.

* [[Attach:arp.pdf]]
* [[Attach:netstat.pdf]]
* [[Attach:route.pdf]]
* [[Attach:traceroute.pdf]]
* [[Attach:ping.pdf]]
* [[Attach:ifconfig.pdf]]
October 30, 2007, at 01:21 PM by dario -
Changed lines 18-19 from:
* [[22 Ottobre 2007 - LezSEDI07]]
to:
* [[22 Ottobre 2007 -> LezSEDI07]]
October 30, 2007, at 01:21 PM by dario -
Changed lines 18-19 from:
to:
* [[22 Ottobre 2007 - LezSEDI07]]
October 29, 2007, at 04:04 PM by dario -
Added lines 19-21:
!!!!!Esercizi:
* [[29 Ottobre 2007 - > ExSEDI01]]
October 26, 2007, at 07:14 PM by dario -
Changed lines 17-18 from:
to:
* [[Note sul CIDR -> SEDI-CIDR]]
October 25, 2007, at 09:12 PM by dario -
Changed lines 16-17 from:
to:
* [[15 Ottobre 2007 -> LezSEDI06]]
October 24, 2007, at 12:10 AM by Ido -
Changed lines 21-23 from:
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano.\\
Damiani lo chiede all'esame. Perché non dedicargli [[una pagina tutta per lui->HeaderIP]]?
to:
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano. Damiani lo chiede all'esame. Perché non dedicargli [[una pagina tutta per lui->HeaderIP]]?
October 24, 2007, at 12:10 AM by Ido -
Changed lines 21-22 from:
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano. Damiani lo chiede all'esame. Perché non dedicargli [[una pagina tutta per lui->HeaderIP]]?
to:
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano.\\
Damiani lo chiede all'esame. Perché non dedicargli [[una pagina tutta per lui->HeaderIP]]?
October 23, 2007, at 11:40 PM by Ido -
Added lines 20-22:
!!!Header IP
Tutti ne parlano. Tutti lo vogliono. Tutti lo cercano. Damiani lo chiede all'esame. Perché non dedicargli [[una pagina tutta per lui->HeaderIP]]?
October 17, 2007, at 12:43 PM by Ido -
Changed lines 18-19 from:
Sistemi è una materia indubbiamente affascinante, ma portatrice sana di una valanga di acronimi, abbreviazioni e siglette. Se ti trovi in alto mare e non sai più distinguere un GSM da un MAC, clicca su [[questa pagina->SistemiSigle]].
to:
Sistemi è una materia indubbiamente affascinante, ma portatrice sana di una valanga di acronimi, abbreviazioni e siglette. Se ti trovi in alto mare e non riesci più a distinguere un GSM da un MAC, clicca su [[questa pagina->SistemiSigle]].
October 17, 2007, at 12:36 PM by Ido -
Changed lines 9-10 from:
!!!!Lezioni:
to:
!!!!!Lezioni:
October 17, 2007, at 12:36 PM by Ido -
Added lines 17-19:
!!!Sigle
Sistemi è una materia indubbiamente affascinante, ma portatrice sana di una valanga di acronimi, abbreviazioni e siglette. Se ti trovi in alto mare e non sai più distinguere un GSM da un MAC, clicca su [[questa pagina->SistemiSigle]].
October 12, 2007, at 01:24 PM by dario -
Changed line 14 from:
* [[2 Ottobre 2007 -> Le<SEDI04]]
to:
* [[2 Ottobre 2007 -> LezSEDI04]]
October 12, 2007, at 01:24 PM by dario -
Changed lines 15-16 from:
to:
* [[4 Ottobre 2007 -> LezSEDIO5]]
October 11, 2007, at 11:06 AM by studente -
Changed lines 4-5 from:
...anche detto '''Sistemi per l'elaborazione delle Informazioni''', conduce '''Ernesto Damiani'''.
to:
...anche detto '''Sistemi per l'elaborazione delle Informazioni''', conduce [['''Ernesto Damiani'''->Damiani]].
October 10, 2007, at 08:11 PM by dario -
Changed lines 14-15 from:
to:
* [[2 Ottobre 2007 -> Le<SEDI04]]
October 06, 2007, at 04:32 PM by Ido -
Changed line 6 from:
!!!Appunti di [['''Dario''']]
to:
!!!Appunti di [['''Dario'''->Utenti.Dario]]
October 06, 2007, at 04:31 PM by Ido -
Changed lines 7-8 from:
Nota dell'appuntatore: "''qui sto mettendo tutti i miei appunti. Non so quanto ci metto, è veramente un sacco di roba. La formattazione non è ottimale, ci pensi qualche anima pia. Inoltre, ho cercato di essere chiaro e di spiegare ciò che il Damiani enumera ad altissimo bau-rate (abbaia). Il mio interlocutore ideale è [[Patrizia]]. Spero 1) che sia utile e 2) che qualcuno lo legga!''"
to:
Nota dell'appuntatore: "''qui sto mettendo tutti i miei appunti. Non so quanto ci metto, è veramente un sacco di roba. La formattazione non è ottimale, ci pensi qualche anima pia. Inoltre, ho cercato di essere chiaro e di spiegare ciò che il Damiani enumera ad altissimo bau-rate (abbaia). Il mio interlocutore ideale è [[Patrizia->Utenti.Patrizia]]. Spero 1) che sia utile e 2) che qualcuno lo legga!''"
October 06, 2007, at 04:31 PM by Ido -
Changed lines 4-316 from:
Nota di Dario: qui sto mettendo tutti i miei appunti. Non so quanto ci metto, è veramente un sacco di roba. La formattazione non è ottimale, ci pensi qualche anima pia. Inoltre, ho cercato di essere chiaro e di spiegare ciò che il Damiani enumera ad altissimo bau-rate (abbaia). Il mio interlocutore ideale è Patrizia. Spero 1) che sia utile e 2) che qualcuno lo legga!

!!Sistemi

!!25 settembre 2007

La ''trasmissione'' consiste di segnali su reti che portano sequenze di bit. Queste sequenze possono essere dati, files, video etc. etc.

Nei computer i bit sono statici: sono rappresentati fisicamente da cariche immagazzinate in piccoli condensatori nelle varie memorie del computer. La trasmissione invece deve rappresentare questi bit statici nel dominio del tempo, cioè trasmetterli uno dopo l'altro.

Il ''segnale'' è una grandezza fisica che varia nel tempo, come le onde (sinusoidali, quadrate, a dente di [[sega -> Utenti.Rasputin]]. NOTA: è ovvio che fisicamente non saranno mai onde perfette, perché la perfezione non è di questo mondo etc.etc.

Un segnale è ''periodico'' quando si ripete uguale a se stesso dopo un certo periodo di tempo. La ''frequenza'' mi dice appunto quante sono le ripetizioni di un segnale nell'arco di un secondo: 1 Hz = 1 ripetizion al secondo. Il ''periodo'' è invece il tempo che passa tra l'inizio di una forma d'onda e la sua ripetizione. È l'opposto della frequenza.

Le ''onde sinusoidali'' sono proiezioni sull'asse y di un punto sulla circonferenza, il quale punto ruota in senso antiorario. Non c'è lo schemino.
Un'onda sinusoidale si può determinare univocamente in base ad ''ampiezza'' (cioè la lunghzza del raggio, ovvero quanto è alta la cresta dell'onda), ''frequenza'' e ''fase'', cioè quando inizia, ovvero se all'istante di tempo 0 l'onda è a 0, a 1 oppure in qualche posizione intermedia.
Le onde sinusoidali sono importanti perché
# facili da generare
# perché c'è Fourier.

Fourier era un matematico francese il quale dice che ogni onda periodica può essere ottenuta con la somma di un certo numero di componenti sinusoidali. Onda periodica vuol dire un'onda dal profilo qualsiasi, ma che abbia un periodo. Queste componenti sinusoidali sono dette armoniche. Ecco che ogni onda periodica è quindi scomponibile in onde sinusoidali, dette armoniche del segnale, e se prendo un treno di bit e lo vedo come un'onda periodica, ecco che posso scomporlo in onde sinusoidali facilmente riproducibili.

Problema: Fourier vale per i segnali periodici, ma in genere le sequenze di bit non sono periodiche. Quindi? Vedi dopo.

Le varie armoniche, tutte a frequenze diverse, sono dette ''componenti spettrali'', e l'ampiezza delle armoniche sull'asse delle frequenze si chiama ''spettro''. Per far capire ciò uso dei numeri a caso: se per generare un segnale periodico uso 10 armoniche, ed ognuna lavora a 10 Hz più dell'altra, ecco che il mio ''spettro'' ha un'ampiezza di 10 onde * 10 Hz = 100Hz. Questa differenza di Hz si chiama ''banda''. Da notare che è una ''differenza'': vuol dire che è la differenza tra l'armonica con frequenza più alta e l'armonica con frequenza più bassa. Se la più bassa è a 1000Hz e la più alta è a 1100Hz, l'ampiezza è 100Hz. Se la più bassa è a 2000Hz e la più alta è a 2100Hz, l'ampiezza è sempre 100Hz. L'armonica più bassa si chiama ''fondamentale''.

NOTA: secondo la teoria, ci possono essere infinite armoniche, ma è chiaro che occorre approssimare, e in genere ci si ritiene soddisfatti quando si sono generate abbastanza armoniche da coprire il 90% del segnale originale.
Posso immaginare le armoniche esattamente come le bande verticali di un equalizzatore, che sia l'eq di uno stereo o di un lettore multimediale etc. Questo equalizzatore ha degli slider verticali, ognuno con la sua brava etichetta che dice "100Hz", "300Hz", "1500Hz" e così via. Se alzo uno di questi slider, vuol dire che tutte le onde che lavorano intorno alla frequenza dello slider stesso avranno un'ampiezza più alta: ciò vuol dire che se alzo lo slider dei 100Hz, le frequenze che lavorano intorno ai 100Hz saranno più grandi in ampiezza.

Posso quindi rappresentare un segnale graficamente tramite un istogramma delle sue armoniche, in cui in genere l'altezza di un segmento è proporzionale al quadrato dell'ampiezza max dell'armonica corrispondente. Ripassando, lo ''spettro'' è la distanza tra la fondamentale (l'armonica più bassa) e la più alta armonica. Questo istogramma si chiama ''spettrogramma''.

Una situazione frequente è che il mio spettro va per esempio dai 1000Hz ai 20000Hz, ma il mezzo che uso per la riproduzione non abbia la stessa ''risposta in frequenza''. Per esempio, le casse dei computer in genere hanno pochi bassi: vuol dire che ''rispondono'' solamente a frequenze che partono dai 500Hz in su, per esempio. Ciò vuol dire che il mio segnale originale viene ''tagliato'', e quindi perdo una parte di informazione (in questo caso, il tum tum delle canzoni, che lo sento come se fosse un toc toc).
Praticamente, le mie casse fanno da ''filtro'', e si può immaginare di creare filtri da usare deliberatamente. I filtri fermano certe armoniche e ne fanno passare altre. Che utilità hanno? Per esempio, se sto registrando da un microfono che ha un brusio di fondo, posso tagliare dai 50Hz in giù per eliminarlo, perché in genere è dovuto alla corrente elettrica che da noi è a 50Hz.

Quando il segnale NON è periodico, Fourier non trasforma più l'onda complessa in componenti sinusoidali che si sommano (cioè una serie), ma la trasforma in integrali: è la famosa ''trasformata di Fourier''. Questi integrali appartengono alla matematica del Cariboni e quindi sono continui, non discreti come le barre di un istogramma.

!!Rete telefonica
La rete telefonica trasforma la voce in corrente e poi di nuovo in suono. Lo fa perché la corrente si può trasportare per lunghe distanze, la voce che non sia di [[Patrizia]] no.

La voce quando esce dalla cavità orale è aria che si muove con più o meno pressione: questa variazione di pressione può essere captata comodamente in diversi modi. Uno dei più banali è l'orecchio. L'orecchio ha una membrana che reagisce allo spostamento d'aria, la quale muove vari ossicini che sono collegati al nervo, il quale poi trasmette queste vibrazioni al cervello, il quale le interpreta come suoni.

Antonio Meucci ebbe l'idea di sfruttare l'effetto ''piezoelettrico'' per generare corrente a partire dalla variazione di pressione. Ci sono certi materiali che quando vengono compressi generano una tensione elettrica proporzionale alla compressione. Uno di questi materiali è quella roba di carbone che si trova nelle cornette del telefono, o almeno, in quelle vecchie. Il segnale elettrico così generato viaggia sul filo e alla fine del percorso viene catturato da un'altra membrana, simile a quella in partenza, che vibra a sua volta in funzione della corrente, riproducendo così la voce originale.

Buona idea. Problema: va bene per i citofoni. Il filo deve andare direttamente da una membrana all'altra. Finché ho due ricevitori (il citofono, appunto) va bene, ma se ho devo parlare con più persone, che faccio? Tiro un filo da ogni casa ad ogni casa? Qui entra in gioco l'idea di Graham Bell, il quale ha usato le sinusoidi in questo modo.
Prende un segnale periodico con frequenza fissa, ed utilizzo il segnale della voce per modificarlo e creare così un'onda diversa: si chiama ''modulazione''. Il segnale fisso è detto ''portante'', e il segnale che lo modifica si chiama ''modulante''.

Se ho due microfoni, uso semplicemente due portanti diverse, così che posso su una portante moltiplicare il segnale della mia voce, e sull'altra moltiplicare il segnale della voce di qualcun altro: stesso filo, due conversazioni. Se ho più voci, uso più portanti. Come faccio a distinguere tra due portanti diverse? Occorre usare le formule di ''prostaferesi'', che si trovano nel Necronomicon.

Quindi, posso avere una portante a 100 Hz, una a 200Hz, una a 300 Hz etc. etc. Se il mio filo ha una risposta in frequenza che va da 100 a 1000 Hz, ecco che posso avere 10 conversazioni contemporanee con 10 portanti diverse.

Questo procedimento si chiama '''multiplexing a divisione di frequenza''', '''FDM''' come acronimo inglese.

Siccome le portanti non sono infinite, c'erano le centraliniste che collegavano fisicamente i cavi per far comunicare utenti lontani l'uno dall'altro, nel caso in cui un utente era su di una linea e l'altro su di un'altra (ovvero sempre a meno che non si abiti nello stesso quartiere).

!!!Telefonia digitale
Si campiona la voce, si trasforma il campione in bit, e poi si modula il treno di bit...

Il ''campione'' è la frequenza con cui vado ad analizzare la voce per analizzarne l'onda. Se sto campionando a 22Khz vuol dire che ogni secondo prelevo 22000 piccoli campioni dalla forma d'onda della mia voce. La frequenza di campionamento non è scelta a caso. Secondo il teorema di ''Nyquist'', per mantenere un segnale identico dopo il campionamento, mi occorre una frequenza di campionamento che sia pari almeno al doppio dell'armonica più alta del mio segnale.

La voce ha l'armonica più alta a 4Khz, quindi vuol dire che per rappresentarla fedelmente mi occorre campionare a 8khz, cioè raccogliere ogni secondo 8000 immagini diverse della forma d'onda della voce. Il CDROM funziona a 44.1 Khz, il che vuol dire che può rappresentare, al massimo, frequenze che si aggirano intorno ai 22050 Hz. Non è un valore scelto a caso, dato che in generale l'orecchio umano discerne suoni che arrivano a un po' prima dei 20000 Hz, e le frequenze superiori vengono comunque percepite inconsciamente e servono ad arricchire il suono.

Ma non basta campionare 8000 volte al secondo. Ogni singolo campione è una piccola porzione della forma d'onda che la voce assume. Questo piccolo campione, quanti valori può assumere? Supponendo di disegnare la voce come un'onda su di un grafico, e di dividerla in tante piccole torri verticali che rappresentano i campioni, la domanda di questo paragrafo è: quanto deve essere alta ogni torre?

La risposta a questa domanda viene data tramite la ''risoluzione'' del campione. I sistemi di telefonia digitale campionano a 8Khz e 8 bit. 8 bit significa 2^8 = 256 valori, il che vuol dire che le mie piccole torri saranno tutte divise più o meno brutalmente in 256 classi. La classe con valore minimo ha ampiezza 0, la classe con valore massimo ha ampiezza 256. Quindi, ogni singolo campione porterà con sé il suo valore in bit, che ne rappresenta l'ampiezza, ed in questo caso questo valore può assumere 256 valori diversi. Per tornare all'esempio del CDROM, questo lavora invece a 16 bit, cioè ogni singolo campione dei 44100 che analizzo ogni minuto può assumere 2^16 = 65536 valori diversi.

È chiaro che più la risoluzione in bit è alta, più il segnale sarà fedele. Il limite degli 8 bit è che non è vero che l'orecchio umano discerne solo 256 livelli di volume. Già 16bit è più accettabile.

La frequenza e la risoluzione mi permettono anche di determinare quanti bit al secondo mi servono per codificare la mia informazione originale, in questo caso, la voce. Il ''bitrate'' è la misura della trasmissione di bit al secondo: bit / secondo. Se ho 8000 campioni, ciascuno con 8 bit, vuol dire che ogni secondo avrò 8 * 8000 = 64000 bit da trasmettere, ovvero 64Kbps (64 kilo bit per secondo).

Ora, la mia modulante non sarà più la forma d'onda originale della mia voce, ma sarà questo treno di bit: ogni singolo bit determinerà una variazione di una forma d'onda, variazione che viene decisa dagli standard, e l'onda risultante sarà utilizzata per modulare la portante come abbiamo visto prima, cioè col metodo FDM di Graham Bell.

Il sistema che si usa per portare la voce digitalizzata è il PSTN: da casa fino alla centralina la voce corre analogicamente sul filo, che è detto ''local loop''. Poi nella centralina si digitalizza la voce e la si mette su di una portante FDM fino alla centrale di zona, e poi lì viene smistata bla bla fino al destinatario, finché la sua centralina non riconverte la portante modulata con la mia voce digitalizzata in segnale analogico, il quale alla fine viene ritrasformato in suono dal suo apparecchio telefonico... puff puff!

I collegamenti tra le centrali sono detti ''trunk'', e sono interamente digitali. Se i vari collegamenti sono fatti bene, tra le varie centraline a livello gerarchico, ciò significa che io da casa posso raggiungere qualsiasi altro numero telefonico in tutta Italia, o anche nel mondo. Una volta c'era la centralinista che connetteva nel pannello di fronte a sé i fili: uno veniva dalla mia centrale di zona, l'altro dalla centrale di zona della mia morosa, e lei li univa fisicamente con degli spinotti. Invece adesso c'è la teleselezione: compongo un numero, il quale viene analizzato: il prefisso mi dice la zona, i primi due numeri la sottozona etc. fino a scegliere l'abbonato, e i computer mi hanno connesso automaticamente. Una volta ho letto un racconto di un telefono che si era innamorato della centralinista, e quando sono passati alla teleselezione e non c'era più la centralinista, si era rifiutato di funzionare ancora.

Per far funzionare la teleselezione occorre che il sistema telefonico capisca, in base al numero che io digito sulla tastiera del mio telefono, come trovare l'altro numero. Una volta c'era la centralina che commutava manualmente i circuiti, e questa operazione viene detta ''circuit switching'': metteva fisicamente in contatto il circuito del mio telefono col circuito del telefono della morosa. Invece adesso c'è la teleselezione, e al posto della centralina si usano dei messaggi di controllo che automaticamente uniscono i nostri due telefoni nel modo spiegato nel paragrafo sopra.

Per inviare questi messaggi di controllo, posso adoperare 2 strategie differenti. La prima è quella di usare dei suoni particolari, all'interno dello spettro che effettivamente viene usato dai telefoni, per dare ordini alle varie centraline. Si chiama ''in-band sygnaling''. Vuol dire questo: lo spettro dei suoni viene filtrato, supponiamo, dai 300Hz fino ai 4Khz per farci passare la mia voce. In questo spettro, si è scelto di dedicare (dico a caso) un fischio dell'ampiezza di 3800 Hz per indicare il numero 0, uo a 3820Hz per indicare il numero 1 e così via. Questo sistema lo si usava in America, e non è leggenda ma verità che c'era gente che era riuscita a interpretare questo linguaggio di fischi, e trovato il modo di riprodurlo con fischietti vari, riusciva a dare gli ordini che voleva alla centralina, come per esempio chiamare gratis.

Da noi invece si usa la seconda strategia, che è quella dell' ''Out of band sygnaling'', ovveri c'è una piccola banda dedicata a far funzionare la teleselezione e le altre amenità. Le reti di computer, tra l'altro, sono In-band, perché ovviamente non val la pena tirare un cavo per i dati e un altro per le informazioni di controllo, oltre a essere irrealizabile.

Per concludere, c'è il PBX, che vuol dire ''Private Branch Exchange'', che altro non è che una centralina come quelle che ci sono in ogni quartiere, solo che non è in un quartiere, ma è installata all'interno di un'azienda o simili. In questo modo quando alzo il telefono il numero che compongo non viene passato alla Telecom, ma viene teleselezionato all'interno degli uffici dell'azienda. Con questo sistema in genere se voglio chiamare all'esterno devo prima fare lo 0, così che il PBX mette in comunicazione il mio telefono col mondo circostante. È quello che succede quando le segretarie compongono il numero 126 e risponde il grande capo nell'altro ufficio e gli annunciano visite, come nei film. Il PBX può essere uno scatolo fisico, oppure una simulazione che la Telecom ti fa attraverso la rete normale.

!!Multiplexing Digitale
Se la voce viene digitalizzata, perché devo usare ancora l'FDM analogico? Non posso usare un sistema direttamente digitale? È la domanda che si sono fatti alla Bell, in America.

La risposta è stata l'idea di fare multiplexing non nel dominio delle frequenze (cioè una portante a frequenza diversa per ogni segnale) ma nel dominio del tempo (cioè ogni segnale ha una sua finestra temporale, e ad ogni segnale ne segue un altro in rapida successione). C'è una portante ad alta frequenza, che trasmette modulanti una dopo l'altra.

Questo affare si chiama TDM, cioè ''time division multiplexing''. Ha il vantaggio di essere facilmente standardizzabile, e di essere facilmente scalabile (cioè si può aumentare la dimensione dell'installazione in modo coerente). Infatti, posso fare TDM su un altro TDM, e così via, a livelli gerarchici. In America ciò è stato chiamato T1, da noi in Europa si chiama E1. Avviene che da loro le linee telefoniche siano a 7 bit, quindi con un bitrate di 56kbps. Una linea T1 trasmette ogni secondo 24 linee normali, ovvero 24 * 56kbps. Ciò vuol dire che trasmetto io, poi il mio vicino di casa, poi l'altro vicino ancora etc. e dopo 24 persone tocca ancora a me, poi ancora al vicino e così via. In Europa le E1 lavorano invece con 24 utenti, ma a 8 bit.

Quando dicevo "fare il TDM del TDM" vuol dire quanto segue. Prendo una T1, e la metto su di un cavo T2, che porta 4 T1 una dopo l'altra. Ciò vuol dire che il cavo T2 mi porta fino a 24 * 4 = 96 utenti finali, uno dopo l'altro. È chiaro che una linea T2 deve essere 4 volte più veloce di una linea T1. A sua volta, la T3 porta 7 T2, cioè 7 * 4 * 24 = 672 utenti, e la T4 porta 6 T3. NOTA: sugli appunti sta scritto DS0, DS1 etc. devo ancora capire se i nomi sono intercambiabili.
C'è da far rilevare che siccome in America usano 7 bit e non 8, a parità di portata della singola linea, loro avranno più bit sprecati.

!!Tecniche di Multiplexing
!!!FDMA
''Frequency Division Multiple Access''
* portanti diverse
* i segnali non si sovrappongono

!!!TDMA
''Time Division Multiple Access''
* le stazioni trasmettono a turno, un bit ciascuna, una dopo l'altra
* i segnali non si sovrappongono
* c'è un numero finito di slot

!!!CDMA
''Code Division Multiple Access''
* ogni stazione ha un codice diverso
* i segnali sono sovrapposti ma intelligibili tramite al codice (Cocktail Party Effect: tutti parlano insieme, c'è rumore, ma io capisco comunque quello che mi dice l'interlocutore che ho di fronte).

Le reti cellulari usano il CDMA e non gli altri sistemi di multiplexing, perché questi altri hanno un numero finito di slot disponibili, siano essi portanti o slot temporali diversi, mentre non sai mai quanti cellulari diversi posso avere sotto la stessa cella.

!!SONET
SONET = Synchronous Optical Network. È un sistema TDM ma usa tecnologia a fibre ottiche, con tutto il suo sistema gerarchico simile a quello delle DS0, DS1 etc.

Ogni 810 byte che trasmette, SONET ne usa altri 27 per il sincronismo, perché con un alto bitrate è possibile che si perda qualche byte per strada. Ecco qui che introduciamo il concetto di '''overhead'''.

L'overhead è la percentuale di informazioni, in una trasmissione, che non contengono i dati che sto inviando, ma contengono informazioni per il sincronismo. Nel caso di SONET, 27 byte su 810 = 3,33% di dati di overhead. È da notare che gli overhead esistono per ''ogni'' protocollo che vado ad utilizzare, a catena. Se ho una rete fisica come il SONET, ogni 810 byte ne "perdo" 27 per overhead, e 810 sono i miei dati. Di questi 810, supponiamo che uso un protocollo internet, un'altra percentuale se ne va per il suo overhead etc. etc. => gli overhead si sommano, e alla fine può rimanermi poca cosa...

!!ATM
ATM = Asynchronous Transfer Mode
Il TDM mi garantisc l'isocronia: il tempo di intervallo tra due bit consecutivi provenienti dalla stessa sorgente è sempre lo stesso. Se ho una linea a 64kbps, vuol dire che ogni bit proveniente da me arriverà garantito tra 1/64000 di secondo, così come per quello del mio vicino etc. Questo è il tempo reale, ed è una delle carateristiche del TDM: ho un tempo garantito tra un bit e l'altro. Chiaro che se poi ho schede T5 etc. il tempo tra un bit e l'altro è ancora più piccolo, e quindi la scheda sarà molto più costosa.

C'è invece il sistema ATM, che al momento attuale non so a che tipo di rete si riferisca. Non è isocrono, il che vuol dire che non passa lo stesso identico tempo tra un bit e l'altro della mia trasmissione. Gli apparecchi riceventi hanno un buffer: quando il buffer viene riempito, lo svuotano, e poi attendono che si riempia ancora. È chiaro che questo sistema non funzioni bene per il telefono, perché potrei avere delle attese ora che il buffer si riempie, e mi arriva la voce a sprazzi. Questo sistema non usa trame (si chiamano trame le finestrelle temporali del TDM) ma celle con una propria intestazione, e questa intestazione indica il destinatario del pacchetto. Chiaro che qui l'overhead è più alto, perché ogni cella ha byte sprecati per l'indirizzo etc.

!!27 settembre 2007

!!!Introduzione a livello di Data Link
Le reti tra computer nascono come reti private, per l'ovvio motivo che non si possono tirare in giro i cavi per l'Italia etc.

!!!Tecniche standard per i computer
Gli standard offrono dei pro e dei contro. Il pro è che ci può essere intercomunicabilità fra produttori diversi, mentre il contro è che in genere, una volta che si è fatto uno standard, poi non lo si cambia più per un bel pezzo e la tecnologia viene per così dire congelata; inoltre è possibile che ci siano più standard per la stessa funzione.

Gli standard vengono inventati, per esempio, dalla Internet Society, dall'ISO, dal CCITT, dal forum ATM (Azienda Trasporti Milanese, lo standard del degrado della linea dei pullman è loro...).

Come dicevo all'inizio, all'interno del computer i bit sono organizzati spazialmente: ogni bit è una carica in una certa porzione piccola ma fisicamente reale all'interno del computer. Ma devo spostarli 1 alla volta, nel dominio del tempo, affinché io possa trasmetterli lungo una rete. Per fare ciò, occorre codificare in qualche modo la presenza e l'assenza di carica (cioè lo 0 e l'1 nella memoria del computer) in un segnale.

Un modo per farlo è stabilire che 0 Volt = 1, e 5 Volt = 0. Bene. Bello. Problema: lungo un filo è più che probabile che il segnale si attenuerà, perché il filo ha una sua resistività e così via. Quindi è possibile che fra 10 metri non arrivino più 5 volt, ma 2,5, e a questo punto l'apparecchio ricevente potrebbe interpretare i 2,5 Volt arrotondandoli per difetto, e ricevendo 0 al posto di 1. I dati si perdono. La perdita di dati è ancora accettabile durante le conversazioni telefoniche, perché anche se perdiamo addirittura pezzi interi di parola, si capisce lo stesso. Ma non è assolutamente accettabile perdere pezzi durante la trasmissione di dati informatici.

Quindi, per evitare sto problema del voltaggio, si è pensato di inviare i bit non come livelli diversi di corrente, ma come ''variazioni'' del livello di corrente, ovvero come fronti di salita e fronti di discesa. Un fronte di salita si ha quando il voltaggio sale, mentre un fronte di discesa si ha quando il voltaggio scende. Ecco quindi che abbiamo scoperto il ''baud rate'', ovvero la quantità di ''fronti'' che si inviano per secondo. Da notare che il baudrate non è necessariamente uguale al bitrate.

Nel caso dei calcolatori, NON si fa multiplexing come abbiamo visto finora: semplicemente, le varie stazioni si danno il turn nel comunicare, secondo un sistema detto Statistical Division Multiplexing, che vuol dire semplicemente che ci si dà il turno. Un altro modo per indicare questa faccenda del parlare a turni è il MAC: Medium Access Control, ovvero il modo per controllare l'accesso al medium, che non è chi comunica coi morti ma il mezzo di trasmissione.

Il DLL, che sta per Data Link Layer, è il formato in cui vengono inviati i singoli blocchi di comunicazione. Come abbiamo visto prima per il misterioso ATM, se non c'è isocronia, le trasmissioni avvengono a blocchi, e ogni blocco deve essere autosufficiente nel senso che deve saper arrivare a destinazione in modo autonomo. Le informazioni per andare in giro per la rete sono distribuite nel blocco in un certo formato, detto appunto DLL. La differenza con le trame del TDM è che le trame sono i pezzi di dati circondati dai bit di sincronimo.

Nelle reti di computer il controllo degli errori è fondamentale, per il motivo che ho detto prima. Occorre quindi anche un sistema per accertarsi che i blocchi siano stati ricevuti senza errori.

!!!Responsabilità del Data Link
* deve fare il multiplexing finto dei flussi di dati, cioè saper dire: ora parlo io, ora parli tu
* deve controllare l'accesso al mezzo di trasmissione
* deve controllare gli errori.

La necessità del multiplexing finto di qualche paragrafo fa nasce da una semplice constatazione amichevole. Se ho due computer, posso benissimo immaginare di tirare un cavo tra uno e l'altro ed è morta lì. Se ho tre computer idem: ho un cavo per ogni coppia di computer. Ma quando comincio ad avere 20 computer, che faccio? Un cavo per ogni coppia è improponibile. Ecco perché si usa un filo solo, e si usa questo multiplexing a turni per decidere chi parla e chi sta zitto: è il controllo di accesso al mezzo.

!!!Protocolli MAC Collision Free
In questi protocolli, si fa in modo che non ci sia del tutto la possibilità che due stazioni si mettano ad inviare contemporaneamente dati sulla rete, rendendoli di fatto inutilizzabili. Occorre quindi stabilire dei turni: la stazione che vuole comunicare "alza la mano" (handrising) e invia a ''tutte'' le altre stazioni il segnale che indica la sua volontà di comunicare. Ogni scheda dice la sua in proposito, e quando si sono messe d'accordo quello che vince la trattativa (in base a certe regole) è quello che invia il messaggio.

In questo caso si ha tanto overhead, perché si perde tanto tempo a mandare microframes per queste trattative.

!!!Protocolli MAC a contesa
Con i protocolli MAC a contesa, invece, è ammesso il caso che si parli tutti insieme: nel caso Collision Free si evita a priori la collisione, qui invece la si risolve dopo che è successa.

!!!Slotted Aloha
È il sistema inventato all'Università delle Hawaii, dove usavano le onde radio per collegare i diversi campus presenti su isole diverse. Avevano 1 solo canale, e le collisioni succedevano frequentemente.

La parola ''slotted'' si rifà all'idea di voler dare ad ogni stazione un suo tempo di trasmissione che abbia una lunghezza fissa: ognuno può inviare messaggi solo all'inizio del suo slot temporale. Ci sono poche probabilità che due computer si mettano ad inviare segnali nello stesso istante. Però, in caso di collisione, non è affatto stabilito quando una singola stazione potrà di nuovo comunicare.

La rilevazione delle collisioni è semplice: una stazione invia dei dati, e li confronta con i dati che sta ricevendo. Se i due stream coincidono, vuol dire che solo lei sta inviando dati sulla rete. Se invece ci sono discrepanze, vuol dire che c'è una collisione in corso, e che il messaggio è da reinviare.

Un altro problema dello Slotted Aloha è che le onde elettromagnetiche, per quanto veloci, hanno un tempo finito di propagazione, che è di 2*10^8 m/s. Quindi, può accadere che una stazione senta il canale libero quando invece un'altra stazione sta già inviando, proprio perché il segnale radio ci mette tempo a viaggiare da un'isola all'altra, e questo tempo è apprezzabile dalle apparecchiature elettroniche.

!!!CSMA / CD
Carrier Sensing Multiple Access / Collision Detection.\\
Inventato da Bob Metcalfe, è il sistema che sta alla base di Ethernet. Nella stessa parola Ethernet, si ritrova Ether, cioè etere, ovvero il richiamo alle onde radio del sistema Slotted Aloha.

''Carrier Sensing'' vuol dire che si rileva (sensing) la portante (carrier): quando questa è pulita, vuol dire che posso cercare di trasmettere i dati che voglio. Come con Aloha, si fa il confronto tra dati inviati e ricevuti: se coincidono, allora la trasmissione non è disturbata, altrimenti c'è stata una collisione da qualche parte.

Che cosa avviene quando c'è una collisione? Certo, si deve aspettare un certo po' di tempo per riprovare, ma quanto? Ci sono diverse strategie:
* non persistent = aspetto un tempo random. Siccome è poco probabile che tutte le stazioni selezioneranno lo stesso tempo random, è quasi come darsi i turni ed evitare le collisioni.
* 1 persistent = aspetto un tempo determinato
* p-persistent = una via di mezzo tra le due precedenti.

Da notare che tutti sti protocolli a contesa funzionano bene se il carico totale sulla rete è basso. In effetti, il rapporto tra banda impegnata e non impegnata non deve superare il 30%, nel caso dell'Ethernet. Questo perché altrimenti le collisioni diventerebbero tante, e si sprecherebbe tantissimo tempo. In caso di traffico più elevato occorrono protocolli Collision Free. Una delle ragioni del successo di Ethernet si è avuta nel fatto che ci sono state molte schede a basso costo: costando così poco la banda, non c'era problema anche se la si usava solo al 30%.

Negli ultimi tempi, tuttavia, con gli switch che vedremo più sotto, non c'è quasi più bisogno di gestire le collisioni, quindi la banda viene sfruttata completamente.

!!!Soluzione adattiva
Questo titolo altisonante e vagamente misterioso si riferisce ad un sistema di gestione del traffico di rete che è una specie di misto di quelli visti finora. Non appena si rileva una collisione, si mette il gruppo su cui si è verificata la collisione in modalità Collision Detection, mentre le comunicazioni tra gruppi avvengono con Collision Free. Questo cambio di modalità dipende dalle condizioni del traffico, per questo viene detto adattivo.

!!!Visione unificante
Per tirare un po' le somme di questi sistemi, e vedere dove e come sono utili, viene buono il seguente schema:

* Si ha basso carico & si vuole poca latenza => Protocollo a contesa
* Si ha alto carico & si vuole massima efficienza => Collision Free
* Carico variabile & Problemi assortiti => Ibridi vari

Perché il protocollo a contesa ha il vantaggio di avere poca latenza? Innanzitutto, la latenza è l'intervallo di tempo che passa dalla richiesta di trasmissione all'effettivo invio dei dati. Nei sistemi Aloha e derivati, quando voglio trasmettere trasmetto, saranno gli altri a fermarsi, e tipicamente essendo il carico non superiore al 30% questo avviene quasi sempre: invio subito. Il problema sta invece nell'efficienza: non appena il carico si alza, allora le collisioni diventano così tante che continuo a inviare roba e non arriva mai! Ecco perché se voglio inviare tanta tanta merce, è meglio usare un protocollo Collision Free: quando partono i dati, nessuno li ferma. Lo svantaggio dei sistemi Collision Free al converso sta nella latenza: siccome tutte le stazioni si devono mettere d'accordo per decidere i turni, si perde tanto tempo dal momento in cui io esprimo la volontà di inviare i miei dati a quando effettivamente questi miei dati avranno il turno libero. Più si è in tanti, più ci si mette tempo a mettersi d'accordo.

!!!Ether Parisi
E le cicale, cicale cicale cicale. E la formica, ci cale ci cale mica.

È proprio vero che il cavo di rete dell'Ethernet sia proprio come l'Ethere? Metcalfe ha usato questo paragone, perché si rifaceva all'Aloha: io trasmetto, e tutti sentono.

Ma c'è una differenza: se tutti sono collegati al cavo, è scontato che tutti sentano il messaggio da me inviato. Nel caso dell'Ethere vero, invece, può anche darsi che ci siano stazioni che NON si accorgano del messaggio perché sono fuori campo! Questo è proprio il caso delle reti Wireless.

È il problema dell' ''Hidden Terminal'': A vuole parlare a B, e sente il campo libero, e invia. Allo stesso tempo anche C vuole mandare a B, e siccome è distante da A e non si accorge che A sta parlando, parla anche lui. In casi come questo Ethernet non funziona, perché cade miseramente uno dei principi base del CSMA/CD: la Collision Detection! Infatti nel caso qui citato non c'è nessuna collision detection perché né A né B se ne accorgono! Ahi ahi ahi!

E non è finita qui: c'è anche il problema inverso, quello della ''Stazione Esposta''. A parla con B, e C vuole parlare con D. Sono tutti nello stesso campo. C vorrebbe parlare, ma sente che il campo è occupato dalla conversazione di A con B, e allora si astiene, mentre in realtà potrebbe benissimo parlare con D perché A sta parlando con B e non con D. Bia bi e e ba be bi e i babebi bi e o babebibo bi e u bu babebibobu.

La soluzione è adottare schemi più complicati. Chi vuole intavolare una discussione invia un messaggio RTS: Request To Send, un avviso di intenzione di voler parlare. Finché non ricevo un CTS, cioè un Clear To Send (libero di parlare) non comincio. Questi messaggi vanno avanti e indietro per tutto il campo, tirando in mezzo anche le stazioni che non si sentono direttamente.

!!1 Ottobre 2007
La lezione di oggi inizia con un bel '''The page cannot be displayed'''. Poi prosegue ricordandoci che le tecniche CSMA risolvono le collisioni NON in modo preventivo, ma dopo che sono avvenute: non fanno niente per evitare che accadano, e quando accadono cercano di porvi rimedio.

Un'importante implicazione di questo modo di rilevare le collisioni è che i messaggi abbiano una lunghezza finita e predeterminata, altrimenti chi si impossessa della rete la invade tutta lui e gli altri collideranno per sempre e taceranno per sempre, con loro somma insoddisfazione.

Inoltre, pensiamo a questa cosa. Supponiamo che A stia inviando messaggi. B sente la rete occupata e aspetta che finisca il messaggio di A, e poi tocca a lui. Non c'è stata nessuna collisione. In effetti, se ognuno aspetta che la rete si liberi, sapendo che ciò prima o poi accadrà perché i pacchetti hanno lunghezza finita e dopo aver inviato un pacchetto una stazione aspetterà un minimo di tempo, perché le collisioni avvengono ugualmente? Com'è possibile che, se una stazione invia messaggi SOLO quando la portante è libera, possa creare collisioni? Una collisione si ha quando due stazioni inviano messaggi contemporaneamente. Ma quando mai due stazioni iniziano nello stesso microtetosecondo ad inviare messagi? Mai.

Eppure le collisioni accadono, ed è un dato di fatto. Occorre quindi tirare in ballo un'altra caratteristica: la posizione reciproca delle stazioni.

Le onde elettromagnetiche che viaggiano nel cavo di rete non hanno velocità infinita, ma prossima ai 2*10^8 m/s. Per andare da un punto ad un altro ci metteranno per forza di cose un tempo, piccolo come vogliamo, ma pur sempre apprezzabile da dispositivi elettronici che lavorano velocissimamente. Quindi è possibilissimo questo scenario: A trasmette il suo messaggio. Prima che il messaggio arrivi a B (B è messo qualche metro più in là lungo il cavo), B tasta la portante e la sente libera: esulta e dice "tocca a me!". Ma dopo aver inviato qualche cosuccia ecco che arriva il segnale di A che mentre B esultava ed inviava percorreva inesorabile il cavo di rete. Ecco come avvengono le collisioni: perché il segnale ha una velocità finita di trasmissione!

Così facendo, il CSMA/CD si accorge della collisione, e A può allora reinviare il suo pacchetto, e B aspettare ancora.

Ma facciamo ancora una considerazione: A e B sono molto, molto lontani. A invia un messaggio lungo la rete, e quando termina di inviare il messaggio, e la portante è ancora libera. Per quanto ne sa, non è accaduta nessuna collisione. Invece, B è così lontana che prima che il messaggio di A arrivi a B, B ha fatto in tempo ad inviare una parte del suo. Questi due messaggi si scontreranno a metà strada. La cosa brutta è che A non si accorgerà minimamente della collisione, perché quando arriveranno i dati mischiati del suo messaggio e di quello di B, lei avrà già finito di trasmettere il suo messaggio, e non starà più rilevando le collisioni su quel messaggio. Capita la faccenda?

Questo è il motivo per cui i cavi di rete Ethernet non hanno lunghezza infinita, e perché Ethernet si chiama rete locale: più in là di certi metri il cavo non può andare, per evitare che accada quanto illustrato nel paragrafo precedente.

A questo punto si instaura nelle nostre menti matematiche un legame tra ampiezza di banda, lunghezza del messaggio e lunghezza del cavo.

L'ampiezza di banda è quanti bit al secondo può trasmettere. Nel mio protocollo di rete la lunghezza del messaggio è di 1000bit. Se supponiamo una larghezza di banda di 100 bit al secondo, vuol dire che per trasmettere 1000 bit mi ci vogliono 1000/100 = 10s. In 10 secondi, quanta strada può fare il mio impulso? Se viaggia a 100 m/s, in 10 secondi ha percorso 100 * 10 = 1000 metri, quindi vuol dire che il computer più lontano dovrà essere al max a 1000 metri. Alles klar, Herr Kommisar?

Ma c'è di più: occorre tenere conto che in un cavo di 1000 metri, il voltaggio che parte all'inizio andrà per la maggior parte a puttane durante alla strada, e magari ora che arriva al millesimo metro è già stato tutto assorbito dalla resistività del filo: occorre tenere a mente anche questo per calcolare la lunghezza massima di un cavo di rete. Nella proposta originale dell'Ethernet, il cavo poteva essere al max lungo 512 metri circa.

Questo serve anche a far capire che Ethernet non è solo CSMA/CD e basta, ci sono tante altre cose da tenere in considerazione, come per esempio le caratteristiche elettriche della portante, i cavi e tutte ste cose materiali.

!!!Com'è fatto un frame
LLC = Logical Link Control, ed è la parte dello standard Ethernet che mi dice come è strutturato un frame. Il frame è il messaggio che viene inviato tra le NIC (Network Interface Card, ovvero semplicemente schede di rete) in una Ethernet.

Un cavo di rete Ethernet 10Mbit ha bisogno di 50Mhz di banda portante, quindi occorrono la 3a e la 5a armonica della portante. (Non so perché è scritto a questo punto, però va beh).

Un messaggio è composto da ''Trailer'', ''Payload'' e ''Header''. Il Trailer è la parte di coda. Il Payload è il carico, ciò che sta in mezzo, e l'Header è la parte di testa, l'intestazione.\\
Il Trailer contiene le informazioni che servono per cercare di correggere un eventuale messaggio corrottosi durante la strada. L'Header contiene invece le informazioni necessarie per recapitare il messaggio stesso: siccome tutte le stazioni collegate al cavo riceveranno quel messaggio, è d'uopo che sappiano quale di loro debba effettivamente leggerlo. Oggi come oggi a dire la verità non si sbaglia mai a trasmettere, quindi il Trailer sarebbe inutile, però lo standard è del 78, quindi in quei tempi preistorici serviva eccome. Sì, sì, anche io sono preistorico.

NOTA: il fatto che tutte sentano lo stesso messaggio, si chiama ''broadcast'', cioè trasmissione, ed è lo stesso termine che si usa per le radio e le televisioni, perché funziona allo stesso modo.

La IEEE fissa gli standard di rete, sia a livello di frame (livello 2) che a livello fisico (livello 1):
* 802.3 = Ethernet a 2 Mbps (quella originale), Mbps = mega bit per secondo
* 802.3u = Ethernet 100Mbps
* 802.3z = Ethernet 1000Mbps (1 Gygabit)

La lunghezza massima è di 2500 metri, ovvero 4 cavi da 500 metri con dei Repeater (amplificatori e ripetitori) tra un cavo e l'altro.

Ci sono due topologie di connessione: BUS e STAR. Per topologia di connessione si intende, per così dire, il disegnino che rappresenta come vengono collegate le stazioni. La topologia BUS vede un bel cavo e tutti che si collegano a questo cavo. La topologia STAR invece vede un nodo centrale e tutti i cavi che si collegano a questo nodo. Una volta si usava la topologia BUS: si prendeva un filo e si tiravano le derivazioni. Adesso invece prevale la topologia STAR: da ogni computer parte un cavo che arriva ad un HUB o SWITCH o quel diavolo che volete, e ci pensa quella macchinetta a smistare l'ambaradan.

Occorre sapere però che, a parte la comodità di tirare i cavi in un modo o nell'altro, tra BUS e STAR non cambia niente. L'HUB dal punto di vista di Ethernet altro non è che un pezzo di cavo, con tante derivazioni racchiuse in pochi centimetri. Invece di tirare un cavo in mezzo al laboratorio e ogni computer si collega direttamente al cavo, si tira un cavo da ogni computer al centro della stanza. Ma la funzione è esattamente la stessa, solo che in molti casi è più comoda.

Lo SWITCH invece è ben altra cosa. Non è semplicemente un cavo. Lo Switch è un dispositivo che realizza FISICAMENTE, cioè con dei contatti, tutte le combinazioni possibili tra le porte. Se ci sono 4 porte, la porta 1 avrà un cammino dedicato alla 2, alla 3 e alla 4. La porta 2 avrà un cammino dedicato alla 1, alla 3 e alla 4 e così via. In termini matematici è un grafo completo, in cui tutti i nodi sono collegati da cammini indipendenti. Finché sono 4 porte va beh, è facile da fare. Ma quando le porte sono di più? In questo caso, non è più possibile tracciare contatti su una singola piastra di silicio, perché ci sarebbero degli accavallamenti: si dice che il grafo non è planare, ovvero non basta un piano (2 dimensioni) ad accoglierlo tutto. Lo switch ha una complessità che cresce più che linearmente nella dimensione delle porte, e così anche il suo costo...

Tutte le schede Ethernet hanno un numero che le contraddistingue. I produttori di schede mondiali si sono messi d'accordo, e hanno fatto in modo che 2 schede prodotte non possano avere lo stesso MAC ADDRESS, perché così si chiama sto numero. Si tratta di un numero di 48 bit, cosicché ci sono 2^48 numeri diversi, e sono tanti.

Dal punto di vista del protocollo Ethernet, questo numero non dice niente, se non distinguere una scheda da un'altra. Tuttavia, è bene sapere che queste 48 bit, raggruppati in 6 doppie cifre esadecimali, non sono casuali, nel senso che servono per identificare il produttore, il modello etc. della scheda.

Quindi, i frames Ethernet per arrivare a destinazione hanno indicato dentro se stessi questo indirizzo MAC, così che 1 e 1 sola scheda (a meno di pirati) riceverà quel messaggio. Inoltre, nel frame è contenuto anche il MAC Address del mittente, così si può replicare.

Nell'header è contenuto un preambolo, costituito da 7 byte così fatti: 10101010. Si tratta infatti della sequenza col maggior numero di fronti (i fronti sono le variazioni di voltaggio, vedi prima, ma anche dopo. Belli questi rimandi criptici:).\\
Poi ci sono 48 bit di indirizzo del destinatario e 48 bit di indirizzo del mittente.\\
Poi c'è un campo che identifica il tipo di messaggio, in modo tale che il sistema operativo ricevente è in grado di capire a quale suo sottosistema inviarlo.

Se l'indirizzo è FF.FF.FF.FF.FF.FF, vuol dire che si manda il messaggio a tutti gli ascoltatori.

!!!Tempo Back to Back
Il tempo Back to Back è di 9.6 microsecondi, ed è il tempo che ci mette il segnale a propagarsi sulla distanza minima prevista tra stazioni (che non so quale sia, presumo 1 metro o poco più). Una NIC attenderà 9.6 microsecondi da quando avverte la portante libera prima di inviare un nuovo messaggio. Così si cerca di evitare collisioni.

Se invece dopo aver aspettato invio, e ricevo una collisione, ecco che allora entra in campo la strategia di Backoff.\\
Con questa strategia, la prima volta che avverte una collisione la scheda sceglie un numero tra 1 e 4. La seconda volta tra 1 e 8 etc. Questo numero viene moltiplicato per i nostri 9.6 microsec, ed ecco che si ha il tempo random di attesa prima di ritentare l'invio. La probabilità che due schede facciano lo stesso numero è microscopica, soprattutto se si tiene conto che ci sono 10 tiri diversi, ognuno con una potenza di due in più di numeri del precedente. Se dopo il decimo tentativo c'è ancora collisione, la scheda deduce che c'è un malfunzionamento della rete e smette di funzionare.

Questa strategia di Backoff fa parte di Ethernet, non fa parte propriamente di CSMA/CD. In effetti, un'altra implementazione del CSMA/CD potrebbe usare un'altro sistema per sti tempi casuali.

!!!Collisioni
Torniamo al discorso di prima, quello che tirava in ballo la lunghezza del cavo, il tempo di propagazione, la lunghezza del messaggio etc.

Lo standard 802.3 specifica quale deve essere il tempo di scrittura di un pacchetto: 51.2 microsecondi. È un vincolo che è stato dato per tenere sotto controllo gli altri parametri, cioè la banda, la lunghezza del cavo, le dimensioni del frame.

Il caso limite entro il quale occorre stare è il seguente: A invia un messaggio, e il primo bit di questo messaggio è vicinissimo a B quando B a sua volta invia un messaggio egli stesso, prima di accorgersi un istante dopo che la portante non è libera ma occupata. Per B ciò non importa: rileva una collisiona, rimanderà il frame più tardi. Ma il problema riguardava A, se ricordate quanto detto prima.

La stazione A deve accorgersi del messaggio di B, ma A deve accorgersene PRIMA di aver inviato tutto il suo messaggio, altrimenti non rileverà mai la collisione.\\
Quindi, vuol dire che 52.6 microsecondi è il tempo che ci vuole per un segnale per partire da A, arrivare a B e tornare indietro. Ed è esattamente quello che succede nel caso peggiore: B invia un messaggio un istante prima che il primo bit del messaggio di A gli arrivi, e il primo bit che B ha inviato deve tornare ad A prima che A termini di scrivere il suo messaggio.

52.6 microsecondi è quindi il tempo per fare due volte la strada. Quindi la strada deve essere percorribile nel tempo massimo di 25.8 microsecondi, ed in base a questo tempo si calcola la lunghezza massima del filo, in base all'ampiezza di banda: 2500 metri, con 4 ripetitori (che servono per amplificare il segnale che, lungo il filo elettrico, si perde).

Questa è la CONDIZIONE DI INTEGRITÀ SULLE COLLISIONI. Se il cavo è più lungo, non c'è garanzia che una stazione si accorga che un suo messaggio ha colliso con quello di qualcun altro.

Il tempo di 51.2 microsecondi è il tempo minimo di scrittura affinché una stazione si possa accorgere di una collisione. Se ci mettessi meno tempo, la condizione di integrità cadrebbe: il primo bit di B arriverebbe a me DOPO che ho già mandato via il mio ultimo bit.

È ovvio che se le schede sono più veloci, il tempo per scrivere i 1500byte del mio messaggio sarà inferiore, e di conseguenza anche la lunghezza del cavo dovrà essere inferiore, per preservare questa condizione di integrità. Quindi, l'Ethernet 100Mb arriva a qualche centinaio di metri, mentre la Gigaethernet arriva a pochi metri.

!!!Filtraggio
Nel protocollo originario, a mandare e ricevere messaggi sono solo le schede. Leggono il destinatario dal frame, e decidono che cosa farne, se è accettabile. Gli indirizzi accettabili sono quelli che indicano un host, un indirizzo di broadcast(tutti 1, vedi sopra) o un indirizzo di multicast (un pacchetto leggibile da più stazioni, un po' in disuso ultimamente).

Bisogna però ricordare che Ethernet è un broadcast: TUTTE le schede ricevono TUTTI i messaggi, quindi ogni scheda fa del filtraggio sui frame che riceve: se le vanno bene, li accetta, se no semplicemente li scarta.

Quando una scheda è in modalità promiscua, invece, legge tutti i pacchetti che le arrivano, anche se non dovrebbero interessarle.

!!!Throughput
Letto ''truput''. Senza switch e con 4 repeater, secondo i progettisti di Ethernet si potrebbe arrivare fino a 1024 host, in realtà si arriva a 200 poi non ce la fa più. Infatti, più aumentano gli host, più aumentano le collisioni.

Se ho pacchetti troppo piccoli, si perde troppo tempo a tirare i dadi per la strategia di backoff. Se ho fili troppo lunghi mi ci vuole troppo tempo per controllare le collisioni.

Insomma, occorre una combinazione ottimale di numero di host, pacchetti sufficientemente grandi e fili abbastanza corti, e ottengo il truput massimo.

Il truput è la capacità effettiva di ricezione di un host. Il truput di una rete è la capacità globale della rete, al netto di tutte queste caratteristiche (cavi, numero host etc.). Ricordo sempre che Ethernet senza switch lavora decentemente fino a che il carico non supera il 30% della banda massima.
to:
...anche detto '''Sistemi per l'elaborazione delle Informazioni''', conduce '''Ernesto Damiani'''.

!!!Appunti di [['''Dario''']]
Nota dell'appuntatore: "''qui sto mettendo tutti i miei appunti. Non so quanto ci metto, è veramente un sacco di roba. La formattazione non è ottimale, ci pensi qualche anima pia. Inoltre, ho cercato di essere chiaro e di spiegare ciò che il Damiani enumera ad altissimo bau-rate (abbaia). Il mio interlocutore ideale è [[Patrizia]]. Spero 1) che sia utile e 2) che qualcuno lo legga!''"

!!!!Lezioni:

* [[25 settembre 2007->LezSEDI01]]
* [[27 settembre 2007->LezSEDI02]]
* [[1 Ottobre 2007->LezSEDI03]]
October 05, 2007, at 07:07 PM by studente -
Changed lines 14-15 from:
Il ''segnale'' è una grandezza fisica che varia nel tempo, come le onde (sinusoidali, quadrate, a dente di [[sega -> Rasputin]]. NOTA: è ovvio che fisicamente non saranno mai onde perfette, perché la perfezione non è di questo mondo etc.etc.
to:
Il ''segnale'' è una grandezza fisica che varia nel tempo, come le onde (sinusoidali, quadrate, a dente di [[sega -> Utenti.Rasputin]]. NOTA: è ovvio che fisicamente non saranno mai onde perfette, perché la perfezione non è di questo mondo etc.etc.
October 05, 2007, at 03:35 PM by MINCULPOP -
Added lines 2-3:
%titolo%''':: Sistemi Anticoncezionali delle Reti e dei Damiani ::'''
October 04, 2007, at 09:40 PM by Dario -
Added lines 260-314:

Tutte le schede Ethernet hanno un numero che le contraddistingue. I produttori di schede mondiali si sono messi d'accordo, e hanno fatto in modo che 2 schede prodotte non possano avere lo stesso MAC ADDRESS, perché così si chiama sto numero. Si tratta di un numero di 48 bit, cosicché ci sono 2^48 numeri diversi, e sono tanti.

Dal punto di vista del protocollo Ethernet, questo numero non dice niente, se non distinguere una scheda da un'altra. Tuttavia, è bene sapere che queste 48 bit, raggruppati in 6 doppie cifre esadecimali, non sono casuali, nel senso che servono per identificare il produttore, il modello etc. della scheda.

Quindi, i frames Ethernet per arrivare a destinazione hanno indicato dentro se stessi questo indirizzo MAC, così che 1 e 1 sola scheda (a meno di pirati) riceverà quel messaggio. Inoltre, nel frame è contenuto anche il MAC Address del mittente, così si può replicare.

Nell'header è contenuto un preambolo, costituito da 7 byte così fatti: 10101010. Si tratta infatti della sequenza col maggior numero di fronti (i fronti sono le variazioni di voltaggio, vedi prima, ma anche dopo. Belli questi rimandi criptici:).\\
Poi ci sono 48 bit di indirizzo del destinatario e 48 bit di indirizzo del mittente.\\
Poi c'è un campo che identifica il tipo di messaggio, in modo tale che il sistema operativo ricevente è in grado di capire a quale suo sottosistema inviarlo.

Se l'indirizzo è FF.FF.FF.FF.FF.FF, vuol dire che si manda il messaggio a tutti gli ascoltatori.

!!!Tempo Back to Back
Il tempo Back to Back è di 9.6 microsecondi, ed è il tempo che ci mette il segnale a propagarsi sulla distanza minima prevista tra stazioni (che non so quale sia, presumo 1 metro o poco più). Una NIC attenderà 9.6 microsecondi da quando avverte la portante libera prima di inviare un nuovo messaggio. Così si cerca di evitare collisioni.

Se invece dopo aver aspettato invio, e ricevo una collisione, ecco che allora entra in campo la strategia di Backoff.\\
Con questa strategia, la prima volta che avverte una collisione la scheda sceglie un numero tra 1 e 4. La seconda volta tra 1 e 8 etc. Questo numero viene moltiplicato per i nostri 9.6 microsec, ed ecco che si ha il tempo random di attesa prima di ritentare l'invio. La probabilità che due schede facciano lo stesso numero è microscopica, soprattutto se si tiene conto che ci sono 10 tiri diversi, ognuno con una potenza di due in più di numeri del precedente. Se dopo il decimo tentativo c'è ancora collisione, la scheda deduce che c'è un malfunzionamento della rete e smette di funzionare.

Questa strategia di Backoff fa parte di Ethernet, non fa parte propriamente di CSMA/CD. In effetti, un'altra implementazione del CSMA/CD potrebbe usare un'altro sistema per sti tempi casuali.

!!!Collisioni
Torniamo al discorso di prima, quello che tirava in ballo la lunghezza del cavo, il tempo di propagazione, la lunghezza del messaggio etc.

Lo standard 802.3 specifica quale deve essere il tempo di scrittura di un pacchetto: 51.2 microsecondi. È un vincolo che è stato dato per tenere sotto controllo gli altri parametri, cioè la banda, la lunghezza del cavo, le dimensioni del frame.

Il caso limite entro il quale occorre stare è il seguente: A invia un messaggio, e il primo bit di questo messaggio è vicinissimo a B quando B a sua volta invia un messaggio egli stesso, prima di accorgersi un istante dopo che la portante non è libera ma occupata. Per B ciò non importa: rileva una collisiona, rimanderà il frame più tardi. Ma il problema riguardava A, se ricordate quanto detto prima.

La stazione A deve accorgersi del messaggio di B, ma A deve accorgersene PRIMA di aver inviato tutto il suo messaggio, altrimenti non rileverà mai la collisione.\\
Quindi, vuol dire che 52.6 microsecondi è il tempo che ci vuole per un segnale per partire da A, arrivare a B e tornare indietro. Ed è esattamente quello che succede nel caso peggiore: B invia un messaggio un istante prima che il primo bit del messaggio di A gli arrivi, e il primo bit che B ha inviato deve tornare ad A prima che A termini di scrivere il suo messaggio.

52.6 microsecondi è quindi il tempo per fare due volte la strada. Quindi la strada deve essere percorribile nel tempo massimo di 25.8 microsecondi, ed in base a questo tempo si calcola la lunghezza massima del filo, in base all'ampiezza di banda: 2500 metri, con 4 ripetitori (che servono per amplificare il segnale che, lungo il filo elettrico, si perde).

Questa è la CONDIZIONE DI INTEGRITÀ SULLE COLLISIONI. Se il cavo è più lungo, non c'è garanzia che una stazione si accorga che un suo messaggio ha colliso con quello di qualcun altro.

Il tempo di 51.2 microsecondi è il tempo minimo di scrittura affinché una stazione si possa accorgere di una collisione. Se ci mettessi meno tempo, la condizione di integrità cadrebbe: il primo bit di B arriverebbe a me DOPO che ho già mandato via il mio ultimo bit.

È ovvio che se le schede sono più veloci, il tempo per scrivere i 1500byte del mio messaggio sarà inferiore, e di conseguenza anche la lunghezza del cavo dovrà essere inferiore, per preservare questa condizione di integrità. Quindi, l'Ethernet 100Mb arriva a qualche centinaio di metri, mentre la Gigaethernet arriva a pochi metri.

!!!Filtraggio
Nel protocollo originario, a mandare e ricevere messaggi sono solo le schede. Leggono il destinatario dal frame, e decidono che cosa farne, se è accettabile. Gli indirizzi accettabili sono quelli che indicano un host, un indirizzo di broadcast(tutti 1, vedi sopra) o un indirizzo di multicast (un pacchetto leggibile da più stazioni, un po' in disuso ultimamente).

Bisogna però ricordare che Ethernet è un broadcast: TUTTE le schede ricevono TUTTI i messaggi, quindi ogni scheda fa del filtraggio sui frame che riceve: se le vanno bene, li accetta, se no semplicemente li scarta.

Quando una scheda è in modalità promiscua, invece, legge tutti i pacchetti che le arrivano, anche se non dovrebbero interessarle.

!!!Throughput
Letto ''truput''. Senza switch e con 4 repeater, secondo i progettisti di Ethernet si potrebbe arrivare fino a 1024 host, in realtà si arriva a 200 poi non ce la fa più. Infatti, più aumentano gli host, più aumentano le collisioni.

Se ho pacchetti troppo piccoli, si perde troppo tempo a tirare i dadi per la strategia di backoff. Se ho fili troppo lunghi mi ci vuole troppo tempo per controllare le collisioni.

Insomma, occorre una combinazione ottimale di numero di host, pacchetti sufficientemente grandi e fili abbastanza corti, e ottengo il truput massimo.

Il truput è la capacità effettiva di ricezione di un host. Il truput di una rete è la capacità globale della rete, al netto di tutte queste caratteristiche (cavi, numero host etc.). Ricordo sempre che Ethernet senza switch lavora decentemente fino a che il carico non supera il 30% della banda massima.
October 04, 2007, at 06:53 PM by Dario -
Added lines 173-259:
!!!CSMA / CD
Carrier Sensing Multiple Access / Collision Detection.\\
Inventato da Bob Metcalfe, è il sistema che sta alla base di Ethernet. Nella stessa parola Ethernet, si ritrova Ether, cioè etere, ovvero il richiamo alle onde radio del sistema Slotted Aloha.

''Carrier Sensing'' vuol dire che si rileva (sensing) la portante (carrier): quando questa è pulita, vuol dire che posso cercare di trasmettere i dati che voglio. Come con Aloha, si fa il confronto tra dati inviati e ricevuti: se coincidono, allora la trasmissione non è disturbata, altrimenti c'è stata una collisione da qualche parte.

Che cosa avviene quando c'è una collisione? Certo, si deve aspettare un certo po' di tempo per riprovare, ma quanto? Ci sono diverse strategie:
* non persistent = aspetto un tempo random. Siccome è poco probabile che tutte le stazioni selezioneranno lo stesso tempo random, è quasi come darsi i turni ed evitare le collisioni.
* 1 persistent = aspetto un tempo determinato
* p-persistent = una via di mezzo tra le due precedenti.

Da notare che tutti sti protocolli a contesa funzionano bene se il carico totale sulla rete è basso. In effetti, il rapporto tra banda impegnata e non impegnata non deve superare il 30%, nel caso dell'Ethernet. Questo perché altrimenti le collisioni diventerebbero tante, e si sprecherebbe tantissimo tempo. In caso di traffico più elevato occorrono protocolli Collision Free. Una delle ragioni del successo di Ethernet si è avuta nel fatto che ci sono state molte schede a basso costo: costando così poco la banda, non c'era problema anche se la si usava solo al 30%.

Negli ultimi tempi, tuttavia, con gli switch che vedremo più sotto, non c'è quasi più bisogno di gestire le collisioni, quindi la banda viene sfruttata completamente.

!!!Soluzione adattiva
Questo titolo altisonante e vagamente misterioso si riferisce ad un sistema di gestione del traffico di rete che è una specie di misto di quelli visti finora. Non appena si rileva una collisione, si mette il gruppo su cui si è verificata la collisione in modalità Collision Detection, mentre le comunicazioni tra gruppi avvengono con Collision Free. Questo cambio di modalità dipende dalle condizioni del traffico, per questo viene detto adattivo.

!!!Visione unificante
Per tirare un po' le somme di questi sistemi, e vedere dove e come sono utili, viene buono il seguente schema:

* Si ha basso carico & si vuole poca latenza => Protocollo a contesa
* Si ha alto carico & si vuole massima efficienza => Collision Free
* Carico variabile & Problemi assortiti => Ibridi vari

Perché il protocollo a contesa ha il vantaggio di avere poca latenza? Innanzitutto, la latenza è l'intervallo di tempo che passa dalla richiesta di trasmissione all'effettivo invio dei dati. Nei sistemi Aloha e derivati, quando voglio trasmettere trasmetto, saranno gli altri a fermarsi, e tipicamente essendo il carico non superiore al 30% questo avviene quasi sempre: invio subito. Il problema sta invece nell'efficienza: non appena il carico si alza, allora le collisioni diventano così tante che continuo a inviare roba e non arriva mai! Ecco perché se voglio inviare tanta tanta merce, è meglio usare un protocollo Collision Free: quando partono i dati, nessuno li ferma. Lo svantaggio dei sistemi Collision Free al converso sta nella latenza: siccome tutte le stazioni si devono mettere d'accordo per decidere i turni, si perde tanto tempo dal momento in cui io esprimo la volontà di inviare i miei dati a quando effettivamente questi miei dati avranno il turno libero. Più si è in tanti, più ci si mette tempo a mettersi d'accordo.

!!!Ether Parisi
E le cicale, cicale cicale cicale. E la formica, ci cale ci cale mica.

È proprio vero che il cavo di rete dell'Ethernet sia proprio come l'Ethere? Metcalfe ha usato questo paragone, perché si rifaceva all'Aloha: io trasmetto, e tutti sentono.

Ma c'è una differenza: se tutti sono collegati al cavo, è scontato che tutti sentano il messaggio da me inviato. Nel caso dell'Ethere vero, invece, può anche darsi che ci siano stazioni che NON si accorgano del messaggio perché sono fuori campo! Questo è proprio il caso delle reti Wireless.

È il problema dell' ''Hidden Terminal'': A vuole parlare a B, e sente il campo libero, e invia. Allo stesso tempo anche C vuole mandare a B, e siccome è distante da A e non si accorge che A sta parlando, parla anche lui. In casi come questo Ethernet non funziona, perché cade miseramente uno dei principi base del CSMA/CD: la Collision Detection! Infatti nel caso qui citato non c'è nessuna collision detection perché né A né B se ne accorgono! Ahi ahi ahi!

E non è finita qui: c'è anche il problema inverso, quello della ''Stazione Esposta''. A parla con B, e C vuole parlare con D. Sono tutti nello stesso campo. C vorrebbe parlare, ma sente che il campo è occupato dalla conversazione di A con B, e allora si astiene, mentre in realtà potrebbe benissimo parlare con D perché A sta parlando con B e non con D. Bia bi e e ba be bi e i babebi bi e o babebibo bi e u bu babebibobu.

La soluzione è adottare schemi più complicati. Chi vuole intavolare una discussione invia un messaggio RTS: Request To Send, un avviso di intenzione di voler parlare. Finché non ricevo un CTS, cioè un Clear To Send (libero di parlare) non comincio. Questi messaggi vanno avanti e indietro per tutto il campo, tirando in mezzo anche le stazioni che non si sentono direttamente.

!!1 Ottobre 2007
La lezione di oggi inizia con un bel '''The page cannot be displayed'''. Poi prosegue ricordandoci che le tecniche CSMA risolvono le collisioni NON in modo preventivo, ma dopo che sono avvenute: non fanno niente per evitare che accadano, e quando accadono cercano di porvi rimedio.

Un'importante implicazione di questo modo di rilevare le collisioni è che i messaggi abbiano una lunghezza finita e predeterminata, altrimenti chi si impossessa della rete la invade tutta lui e gli altri collideranno per sempre e taceranno per sempre, con loro somma insoddisfazione.

Inoltre, pensiamo a questa cosa. Supponiamo che A stia inviando messaggi. B sente la rete occupata e aspetta che finisca il messaggio di A, e poi tocca a lui. Non c'è stata nessuna collisione. In effetti, se ognuno aspetta che la rete si liberi, sapendo che ciò prima o poi accadrà perché i pacchetti hanno lunghezza finita e dopo aver inviato un pacchetto una stazione aspetterà un minimo di tempo, perché le collisioni avvengono ugualmente? Com'è possibile che, se una stazione invia messaggi SOLO quando la portante è libera, possa creare collisioni? Una collisione si ha quando due stazioni inviano messaggi contemporaneamente. Ma quando mai due stazioni iniziano nello stesso microtetosecondo ad inviare messagi? Mai.

Eppure le collisioni accadono, ed è un dato di fatto. Occorre quindi tirare in ballo un'altra caratteristica: la posizione reciproca delle stazioni.

Le onde elettromagnetiche che viaggiano nel cavo di rete non hanno velocità infinita, ma prossima ai 2*10^8 m/s. Per andare da un punto ad un altro ci metteranno per forza di cose un tempo, piccolo come vogliamo, ma pur sempre apprezzabile da dispositivi elettronici che lavorano velocissimamente. Quindi è possibilissimo questo scenario: A trasmette il suo messaggio. Prima che il messaggio arrivi a B (B è messo qualche metro più in là lungo il cavo), B tasta la portante e la sente libera: esulta e dice "tocca a me!". Ma dopo aver inviato qualche cosuccia ecco che arriva il segnale di A che mentre B esultava ed inviava percorreva inesorabile il cavo di rete. Ecco come avvengono le collisioni: perché il segnale ha una velocità finita di trasmissione!

Così facendo, il CSMA/CD si accorge della collisione, e A può allora reinviare il suo pacchetto, e B aspettare ancora.

Ma facciamo ancora una considerazione: A e B sono molto, molto lontani. A invia un messaggio lungo la rete, e quando termina di inviare il messaggio, e la portante è ancora libera. Per quanto ne sa, non è accaduta nessuna collisione. Invece, B è così lontana che prima che il messaggio di A arrivi a B, B ha fatto in tempo ad inviare una parte del suo. Questi due messaggi si scontreranno a metà strada. La cosa brutta è che A non si accorgerà minimamente della collisione, perché quando arriveranno i dati mischiati del suo messaggio e di quello di B, lei avrà già finito di trasmettere il suo messaggio, e non starà più rilevando le collisioni su quel messaggio. Capita la faccenda?

Questo è il motivo per cui i cavi di rete Ethernet non hanno lunghezza infinita, e perché Ethernet si chiama rete locale: più in là di certi metri il cavo non può andare, per evitare che accada quanto illustrato nel paragrafo precedente.

A questo punto si instaura nelle nostre menti matematiche un legame tra ampiezza di banda, lunghezza del messaggio e lunghezza del cavo.

L'ampiezza di banda è quanti bit al secondo può trasmettere. Nel mio protocollo di rete la lunghezza del messaggio è di 1000bit. Se supponiamo una larghezza di banda di 100 bit al secondo, vuol dire che per trasmettere 1000 bit mi ci vogliono 1000/100 = 10s. In 10 secondi, quanta strada può fare il mio impulso? Se viaggia a 100 m/s, in 10 secondi ha percorso 100 * 10 = 1000 metri, quindi vuol dire che il computer più lontano dovrà essere al max a 1000 metri. Alles klar, Herr Kommisar?

Ma c'è di più: occorre tenere conto che in un cavo di 1000 metri, il voltaggio che parte all'inizio andrà per la maggior parte a puttane durante alla strada, e magari ora che arriva al millesimo metro è già stato tutto assorbito dalla resistività del filo: occorre tenere a mente anche questo per calcolare la lunghezza massima di un cavo di rete. Nella proposta originale dell'Ethernet, il cavo poteva essere al max lungo 512 metri circa.

Questo serve anche a far capire che Ethernet non è solo CSMA/CD e basta, ci sono tante altre cose da tenere in considerazione, come per esempio le caratteristiche elettriche della portante, i cavi e tutte ste cose materiali.

!!!Com'è fatto un frame
LLC = Logical Link Control, ed è la parte dello standard Ethernet che mi dice come è strutturato un frame. Il frame è il messaggio che viene inviato tra le NIC (Network Interface Card, ovvero semplicemente schede di rete) in una Ethernet.

Un cavo di rete Ethernet 10Mbit ha bisogno di 50Mhz di banda portante, quindi occorrono la 3a e la 5a armonica della portante. (Non so perché è scritto a questo punto, però va beh).

Un messaggio è composto da ''Trailer'', ''Payload'' e ''Header''. Il Trailer è la parte di coda. Il Payload è il carico, ciò che sta in mezzo, e l'Header è la parte di testa, l'intestazione.\\
Il Trailer contiene le informazioni che servono per cercare di correggere un eventuale messaggio corrottosi durante la strada. L'Header contiene invece le informazioni necessarie per recapitare il messaggio stesso: siccome tutte le stazioni collegate al cavo riceveranno quel messaggio, è d'uopo che sappiano quale di loro debba effettivamente leggerlo. Oggi come oggi a dire la verità non si sbaglia mai a trasmettere, quindi il Trailer sarebbe inutile, però lo standard è del 78, quindi in quei tempi preistorici serviva eccome. Sì, sì, anche io sono preistorico.

NOTA: il fatto che tutte sentano lo stesso messaggio, si chiama ''broadcast'', cioè trasmissione, ed è lo stesso termine che si usa per le radio e le televisioni, perché funziona allo stesso modo.

La IEEE fissa gli standard di rete, sia a livello di frame (livello 2) che a livello fisico (livello 1):
* 802.3 = Ethernet a 2 Mbps (quella originale), Mbps = mega bit per secondo
* 802.3u = Ethernet 100Mbps
* 802.3z = Ethernet 1000Mbps (1 Gygabit)

La lunghezza massima è di 2500 metri, ovvero 4 cavi da 500 metri con dei Repeater (amplificatori e ripetitori) tra un cavo e l'altro.

Ci sono due topologie di connessione: BUS e STAR. Per topologia di connessione si intende, per così dire, il disegnino che rappresenta come vengono collegate le stazioni. La topologia BUS vede un bel cavo e tutti che si collegano a questo cavo. La topologia STAR invece vede un nodo centrale e tutti i cavi che si collegano a questo nodo. Una volta si usava la topologia BUS: si prendeva un filo e si tiravano le derivazioni. Adesso invece prevale la topologia STAR: da ogni computer parte un cavo che arriva ad un HUB o SWITCH o quel diavolo che volete, e ci pensa quella macchinetta a smistare l'ambaradan.

Occorre sapere però che, a parte la comodità di tirare i cavi in un modo o nell'altro, tra BUS e STAR non cambia niente. L'HUB dal punto di vista di Ethernet altro non è che un pezzo di cavo, con tante derivazioni racchiuse in pochi centimetri. Invece di tirare un cavo in mezzo al laboratorio e ogni computer si collega direttamente al cavo, si tira un cavo da ogni computer al centro della stanza. Ma la funzione è esattamente la stessa, solo che in molti casi è più comoda.

Lo SWITCH invece è ben altra cosa. Non è semplicemente un cavo. Lo Switch è un dispositivo che realizza FISICAMENTE, cioè con dei contatti, tutte le combinazioni possibili tra le porte. Se ci sono 4 porte, la porta 1 avrà un cammino dedicato alla 2, alla 3 e alla 4. La porta 2 avrà un cammino dedicato alla 1, alla 3 e alla 4 e così via. In termini matematici è un grafo completo, in cui tutti i nodi sono collegati da cammini indipendenti. Finché sono 4 porte va beh, è facile da fare. Ma quando le porte sono di più? In questo caso, non è più possibile tracciare contatti su una singola piastra di silicio, perché ci sarebbero degli accavallamenti: si dice che il grafo non è planare, ovvero non basta un piano (2 dimensioni) ad accoglierlo tutto. Lo switch ha una complessità che cresce più che linearmente nella dimensione delle porte, e così anche il suo costo...
October 04, 2007, at 01:45 PM by Ido -
Changed line 174 from:
[[!UniAmmore]]
to:
[[!UniCrema]]
October 01, 2007, at 11:13 PM by Dario -
Added lines 1-174:
(:title Sistemi Anticoncezionali delle Reti e dei Damiani:)
Nota di Dario: qui sto mettendo tutti i miei appunti. Non so quanto ci metto, è veramente un sacco di roba. La formattazione non è ottimale, ci pensi qualche anima pia. Inoltre, ho cercato di essere chiaro e di spiegare ciò che il Damiani enumera ad altissimo bau-rate (abbaia). Il mio interlocutore ideale è Patrizia. Spero 1) che sia utile e 2) che qualcuno lo legga!

!!Sistemi

!!25 settembre 2007

La ''trasmissione'' consiste di segnali su reti che portano sequenze di bit. Queste sequenze possono essere dati, files, video etc. etc.

Nei computer i bit sono statici: sono rappresentati fisicamente da cariche immagazzinate in piccoli condensatori nelle varie memorie del computer. La trasmissione invece deve rappresentare questi bit statici nel dominio del tempo, cioè trasmetterli uno dopo l'altro.

Il ''segnale'' è una grandezza fisica che varia nel tempo, come le onde (sinusoidali, quadrate, a dente di [[sega -> Rasputin]]. NOTA: è ovvio che fisicamente non saranno mai onde perfette, perché la perfezione non è di questo mondo etc.etc.

Un segnale è ''periodico'' quando si ripete uguale a se stesso dopo un certo periodo di tempo. La ''frequenza'' mi dice appunto quante sono le ripetizioni di un segnale nell'arco di un secondo: 1 Hz = 1 ripetizion al secondo. Il ''periodo'' è invece il tempo che passa tra l'inizio di una forma d'onda e la sua ripetizione. È l'opposto della frequenza.

Le ''onde sinusoidali'' sono proiezioni sull'asse y di un punto sulla circonferenza, il quale punto ruota in senso antiorario. Non c'è lo schemino.
Un'onda sinusoidale si può determinare univocamente in base ad ''ampiezza'' (cioè la lunghzza del raggio, ovvero quanto è alta la cresta dell'onda), ''frequenza'' e ''fase'', cioè quando inizia, ovvero se all'istante di tempo 0 l'onda è a 0, a 1 oppure in qualche posizione intermedia.
Le onde sinusoidali sono importanti perché
# facili da generare
# perché c'è Fourier.

Fourier era un matematico francese il quale dice che ogni onda periodica può essere ottenuta con la somma di un certo numero di componenti sinusoidali. Onda periodica vuol dire un'onda dal profilo qualsiasi, ma che abbia un periodo. Queste componenti sinusoidali sono dette armoniche. Ecco che ogni onda periodica è quindi scomponibile in onde sinusoidali, dette armoniche del segnale, e se prendo un treno di bit e lo vedo come un'onda periodica, ecco che posso scomporlo in onde sinusoidali facilmente riproducibili.

Problema: Fourier vale per i segnali periodici, ma in genere le sequenze di bit non sono periodiche. Quindi? Vedi dopo.

Le varie armoniche, tutte a frequenze diverse, sono dette ''componenti spettrali'', e l'ampiezza delle armoniche sull'asse delle frequenze si chiama ''spettro''. Per far capire ciò uso dei numeri a caso: se per generare un segnale periodico uso 10 armoniche, ed ognuna lavora a 10 Hz più dell'altra, ecco che il mio ''spettro'' ha un'ampiezza di 10 onde * 10 Hz = 100Hz. Questa differenza di Hz si chiama ''banda''. Da notare che è una ''differenza'': vuol dire che è la differenza tra l'armonica con frequenza più alta e l'armonica con frequenza più bassa. Se la più bassa è a 1000Hz e la più alta è a 1100Hz, l'ampiezza è 100Hz. Se la più bassa è a 2000Hz e la più alta è a 2100Hz, l'ampiezza è sempre 100Hz. L'armonica più bassa si chiama ''fondamentale''.

NOTA: secondo la teoria, ci possono essere infinite armoniche, ma è chiaro che occorre approssimare, e in genere ci si ritiene soddisfatti quando si sono generate abbastanza armoniche da coprire il 90% del segnale originale.
Posso immaginare le armoniche esattamente come le bande verticali di un equalizzatore, che sia l'eq di uno stereo o di un lettore multimediale etc. Questo equalizzatore ha degli slider verticali, ognuno con la sua brava etichetta che dice "100Hz", "300Hz", "1500Hz" e così via. Se alzo uno di questi slider, vuol dire che tutte le onde che lavorano intorno alla frequenza dello slider stesso avranno un'ampiezza più alta: ciò vuol dire che se alzo lo slider dei 100Hz, le frequenze che lavorano intorno ai 100Hz saranno più grandi in ampiezza.

Posso quindi rappresentare un segnale graficamente tramite un istogramma delle sue armoniche, in cui in genere l'altezza di un segmento è proporzionale al quadrato dell'ampiezza max dell'armonica corrispondente. Ripassando, lo ''spettro'' è la distanza tra la fondamentale (l'armonica più bassa) e la più alta armonica. Questo istogramma si chiama ''spettrogramma''.

Una situazione frequente è che il mio spettro va per esempio dai 1000Hz ai 20000Hz, ma il mezzo che uso per la riproduzione non abbia la stessa ''risposta in frequenza''. Per esempio, le casse dei computer in genere hanno pochi bassi: vuol dire che ''rispondono'' solamente a frequenze che partono dai 500Hz in su, per esempio. Ciò vuol dire che il mio segnale originale viene ''tagliato'', e quindi perdo una parte di informazione (in questo caso, il tum tum delle canzoni, che lo sento come se fosse un toc toc).
Praticamente, le mie casse fanno da ''filtro'', e si può immaginare di creare filtri da usare deliberatamente. I filtri fermano certe armoniche e ne fanno passare altre. Che utilità hanno? Per esempio, se sto registrando da un microfono che ha un brusio di fondo, posso tagliare dai 50Hz in giù per eliminarlo, perché in genere è dovuto alla corrente elettrica che da noi è a 50Hz.

Quando il segnale NON è periodico, Fourier non trasforma più l'onda complessa in componenti sinusoidali che si sommano (cioè una serie), ma la trasforma in integrali: è la famosa ''trasformata di Fourier''. Questi integrali appartengono alla matematica del Cariboni e quindi sono continui, non discreti come le barre di un istogramma.

!!Rete telefonica
La rete telefonica trasforma la voce in corrente e poi di nuovo in suono. Lo fa perché la corrente si può trasportare per lunghe distanze, la voce che non sia di [[Patrizia]] no.

La voce quando esce dalla cavità orale è aria che si muove con più o meno pressione: questa variazione di pressione può essere captata comodamente in diversi modi. Uno dei più banali è l'orecchio. L'orecchio ha una membrana che reagisce allo spostamento d'aria, la quale muove vari ossicini che sono collegati al nervo, il quale poi trasmette queste vibrazioni al cervello, il quale le interpreta come suoni.

Antonio Meucci ebbe l'idea di sfruttare l'effetto ''piezoelettrico'' per generare corrente a partire dalla variazione di pressione. Ci sono certi materiali che quando vengono compressi generano una tensione elettrica proporzionale alla compressione. Uno di questi materiali è quella roba di carbone che si trova nelle cornette del telefono, o almeno, in quelle vecchie. Il segnale elettrico così generato viaggia sul filo e alla fine del percorso viene catturato da un'altra membrana, simile a quella in partenza, che vibra a sua volta in funzione della corrente, riproducendo così la voce originale.

Buona idea. Problema: va bene per i citofoni. Il filo deve andare direttamente da una membrana all'altra. Finché ho due ricevitori (il citofono, appunto) va bene, ma se ho devo parlare con più persone, che faccio? Tiro un filo da ogni casa ad ogni casa? Qui entra in gioco l'idea di Graham Bell, il quale ha usato le sinusoidi in questo modo.
Prende un segnale periodico con frequenza fissa, ed utilizzo il segnale della voce per modificarlo e creare così un'onda diversa: si chiama ''modulazione''. Il segnale fisso è detto ''portante'', e il segnale che lo modifica si chiama ''modulante''.

Se ho due microfoni, uso semplicemente due portanti diverse, così che posso su una portante moltiplicare il segnale della mia voce, e sull'altra moltiplicare il segnale della voce di qualcun altro: stesso filo, due conversazioni. Se ho più voci, uso più portanti. Come faccio a distinguere tra due portanti diverse? Occorre usare le formule di ''prostaferesi'', che si trovano nel Necronomicon.

Quindi, posso avere una portante a 100 Hz, una a 200Hz, una a 300 Hz etc. etc. Se il mio filo ha una risposta in frequenza che va da 100 a 1000 Hz, ecco che posso avere 10 conversazioni contemporanee con 10 portanti diverse.

Questo procedimento si chiama '''multiplexing a divisione di frequenza''', '''FDM''' come acronimo inglese.

Siccome le portanti non sono infinite, c'erano le centraliniste che collegavano fisicamente i cavi per far comunicare utenti lontani l'uno dall'altro, nel caso in cui un utente era su di una linea e l'altro su di un'altra (ovvero sempre a meno che non si abiti nello stesso quartiere).

!!!Telefonia digitale
Si campiona la voce, si trasforma il campione in bit, e poi si modula il treno di bit...

Il ''campione'' è la frequenza con cui vado ad analizzare la voce per analizzarne l'onda. Se sto campionando a 22Khz vuol dire che ogni secondo prelevo 22000 piccoli campioni dalla forma d'onda della mia voce. La frequenza di campionamento non è scelta a caso. Secondo il teorema di ''Nyquist'', per mantenere un segnale identico dopo il campionamento, mi occorre una frequenza di campionamento che sia pari almeno al doppio dell'armonica più alta del mio segnale.

La voce ha l'armonica più alta a 4Khz, quindi vuol dire che per rappresentarla fedelmente mi occorre campionare a 8khz, cioè raccogliere ogni secondo 8000 immagini diverse della forma d'onda della voce. Il CDROM funziona a 44.1 Khz, il che vuol dire che può rappresentare, al massimo, frequenze che si aggirano intorno ai 22050 Hz. Non è un valore scelto a caso, dato che in generale l'orecchio umano discerne suoni che arrivano a un po' prima dei 20000 Hz, e le frequenze superiori vengono comunque percepite inconsciamente e servono ad arricchire il suono.

Ma non basta campionare 8000 volte al secondo. Ogni singolo campione è una piccola porzione della forma d'onda che la voce assume. Questo piccolo campione, quanti valori può assumere? Supponendo di disegnare la voce come un'onda su di un grafico, e di dividerla in tante piccole torri verticali che rappresentano i campioni, la domanda di questo paragrafo è: quanto deve essere alta ogni torre?

La risposta a questa domanda viene data tramite la ''risoluzione'' del campione. I sistemi di telefonia digitale campionano a 8Khz e 8 bit. 8 bit significa 2^8 = 256 valori, il che vuol dire che le mie piccole torri saranno tutte divise più o meno brutalmente in 256 classi. La classe con valore minimo ha ampiezza 0, la classe con valore massimo ha ampiezza 256. Quindi, ogni singolo campione porterà con sé il suo valore in bit, che ne rappresenta l'ampiezza, ed in questo caso questo valore può assumere 256 valori diversi. Per tornare all'esempio del CDROM, questo lavora invece a 16 bit, cioè ogni singolo campione dei 44100 che analizzo ogni minuto può assumere 2^16 = 65536 valori diversi.

È chiaro che più la risoluzione in bit è alta, più il segnale sarà fedele. Il limite degli 8 bit è che non è vero che l'orecchio umano discerne solo 256 livelli di volume. Già 16bit è più accettabile.

La frequenza e la risoluzione mi permettono anche di determinare quanti bit al secondo mi servono per codificare la mia informazione originale, in questo caso, la voce. Il ''bitrate'' è la misura della trasmissione di bit al secondo: bit / secondo. Se ho 8000 campioni, ciascuno con 8 bit, vuol dire che ogni secondo avrò 8 * 8000 = 64000 bit da trasmettere, ovvero 64Kbps (64 kilo bit per secondo).

Ora, la mia modulante non sarà più la forma d'onda originale della mia voce, ma sarà questo treno di bit: ogni singolo bit determinerà una variazione di una forma d'onda, variazione che viene decisa dagli standard, e l'onda risultante sarà utilizzata per modulare la portante come abbiamo visto prima, cioè col metodo FDM di Graham Bell.

Il sistema che si usa per portare la voce digitalizzata è il PSTN: da casa fino alla centralina la voce corre analogicamente sul filo, che è detto ''local loop''. Poi nella centralina si digitalizza la voce e la si mette su di una portante FDM fino alla centrale di zona, e poi lì viene smistata bla bla fino al destinatario, finché la sua centralina non riconverte la portante modulata con la mia voce digitalizzata in segnale analogico, il quale alla fine viene ritrasformato in suono dal suo apparecchio telefonico... puff puff!

I collegamenti tra le centrali sono detti ''trunk'', e sono interamente digitali. Se i vari collegamenti sono fatti bene, tra le varie centraline a livello gerarchico, ciò significa che io da casa posso raggiungere qualsiasi altro numero telefonico in tutta Italia, o anche nel mondo. Una volta c'era la centralinista che connetteva nel pannello di fronte a sé i fili: uno veniva dalla mia centrale di zona, l'altro dalla centrale di zona della mia morosa, e lei li univa fisicamente con degli spinotti. Invece adesso c'è la teleselezione: compongo un numero, il quale viene analizzato: il prefisso mi dice la zona, i primi due numeri la sottozona etc. fino a scegliere l'abbonato, e i computer mi hanno connesso automaticamente. Una volta ho letto un racconto di un telefono che si era innamorato della centralinista, e quando sono passati alla teleselezione e non c'era più la centralinista, si era rifiutato di funzionare ancora.

Per far funzionare la teleselezione occorre che il sistema telefonico capisca, in base al numero che io digito sulla tastiera del mio telefono, come trovare l'altro numero. Una volta c'era la centralina che commutava manualmente i circuiti, e questa operazione viene detta ''circuit switching'': metteva fisicamente in contatto il circuito del mio telefono col circuito del telefono della morosa. Invece adesso c'è la teleselezione, e al posto della centralina si usano dei messaggi di controllo che automaticamente uniscono i nostri due telefoni nel modo spiegato nel paragrafo sopra.

Per inviare questi messaggi di controllo, posso adoperare 2 strategie differenti. La prima è quella di usare dei suoni particolari, all'interno dello spettro che effettivamente viene usato dai telefoni, per dare ordini alle varie centraline. Si chiama ''in-band sygnaling''. Vuol dire questo: lo spettro dei suoni viene filtrato, supponiamo, dai 300Hz fino ai 4Khz per farci passare la mia voce. In questo spettro, si è scelto di dedicare (dico a caso) un fischio dell'ampiezza di 3800 Hz per indicare il numero 0, uo a 3820Hz per indicare il numero 1 e così via. Questo sistema lo si usava in America, e non è leggenda ma verità che c'era gente che era riuscita a interpretare questo linguaggio di fischi, e trovato il modo di riprodurlo con fischietti vari, riusciva a dare gli ordini che voleva alla centralina, come per esempio chiamare gratis.

Da noi invece si usa la seconda strategia, che è quella dell' ''Out of band sygnaling'', ovveri c'è una piccola banda dedicata a far funzionare la teleselezione e le altre amenità. Le reti di computer, tra l'altro, sono In-band, perché ovviamente non val la pena tirare un cavo per i dati e un altro per le informazioni di controllo, oltre a essere irrealizabile.

Per concludere, c'è il PBX, che vuol dire ''Private Branch Exchange'', che altro non è che una centralina come quelle che ci sono in ogni quartiere, solo che non è in un quartiere, ma è installata all'interno di un'azienda o simili. In questo modo quando alzo il telefono il numero che compongo non viene passato alla Telecom, ma viene teleselezionato all'interno degli uffici dell'azienda. Con questo sistema in genere se voglio chiamare all'esterno devo prima fare lo 0, così che il PBX mette in comunicazione il mio telefono col mondo circostante. È quello che succede quando le segretarie compongono il numero 126 e risponde il grande capo nell'altro ufficio e gli annunciano visite, come nei film. Il PBX può essere uno scatolo fisico, oppure una simulazione che la Telecom ti fa attraverso la rete normale.

!!Multiplexing Digitale
Se la voce viene digitalizzata, perché devo usare ancora l'FDM analogico? Non posso usare un sistema direttamente digitale? È la domanda che si sono fatti alla Bell, in America.

La risposta è stata l'idea di fare multiplexing non nel dominio delle frequenze (cioè una portante a frequenza diversa per ogni segnale) ma nel dominio del tempo (cioè ogni segnale ha una sua finestra temporale, e ad ogni segnale ne segue un altro in rapida successione). C'è una portante ad alta frequenza, che trasmette modulanti una dopo l'altra.

Questo affare si chiama TDM, cioè ''time division multiplexing''. Ha il vantaggio di essere facilmente standardizzabile, e di essere facilmente scalabile (cioè si può aumentare la dimensione dell'installazione in modo coerente). Infatti, posso fare TDM su un altro TDM, e così via, a livelli gerarchici. In America ciò è stato chiamato T1, da noi in Europa si chiama E1. Avviene che da loro le linee telefoniche siano a 7 bit, quindi con un bitrate di 56kbps. Una linea T1 trasmette ogni secondo 24 linee normali, ovvero 24 * 56kbps. Ciò vuol dire che trasmetto io, poi il mio vicino di casa, poi l'altro vicino ancora etc. e dopo 24 persone tocca ancora a me, poi ancora al vicino e così via. In Europa le E1 lavorano invece con 24 utenti, ma a 8 bit.

Quando dicevo "fare il TDM del TDM" vuol dire quanto segue. Prendo una T1, e la metto su di un cavo T2, che porta 4 T1 una dopo l'altra. Ciò vuol dire che il cavo T2 mi porta fino a 24 * 4 = 96 utenti finali, uno dopo l'altro. È chiaro che una linea T2 deve essere 4 volte più veloce di una linea T1. A sua volta, la T3 porta 7 T2, cioè 7 * 4 * 24 = 672 utenti, e la T4 porta 6 T3. NOTA: sugli appunti sta scritto DS0, DS1 etc. devo ancora capire se i nomi sono intercambiabili.
C'è da far rilevare che siccome in America usano 7 bit e non 8, a parità di portata della singola linea, loro avranno più bit sprecati.

!!Tecniche di Multiplexing
!!!FDMA
''Frequency Division Multiple Access''
* portanti diverse
* i segnali non si sovrappongono

!!!TDMA
''Time Division Multiple Access''
* le stazioni trasmettono a turno, un bit ciascuna, una dopo l'altra
* i segnali non si sovrappongono
* c'è un numero finito di slot

!!!CDMA
''Code Division Multiple Access''
* ogni stazione ha un codice diverso
* i segnali sono sovrapposti ma intelligibili tramite al codice (Cocktail Party Effect: tutti parlano insieme, c'è rumore, ma io capisco comunque quello che mi dice l'interlocutore che ho di fronte).

Le reti cellulari usano il CDMA e non gli altri sistemi di multiplexing, perché questi altri hanno un numero finito di slot disponibili, siano essi portanti o slot temporali diversi, mentre non sai mai quanti cellulari diversi posso avere sotto la stessa cella.

!!SONET
SONET = Synchronous Optical Network. È un sistema TDM ma usa tecnologia a fibre ottiche, con tutto il suo sistema gerarchico simile a quello delle DS0, DS1 etc.

Ogni 810 byte che trasmette, SONET ne usa altri 27 per il sincronismo, perché con un alto bitrate è possibile che si perda qualche byte per strada. Ecco qui che introduciamo il concetto di '''overhead'''.

L'overhead è la percentuale di informazioni, in una trasmissione, che non contengono i dati che sto inviando, ma contengono informazioni per il sincronismo. Nel caso di SONET, 27 byte su 810 = 3,33% di dati di overhead. È da notare che gli overhead esistono per ''ogni'' protocollo che vado ad utilizzare, a catena. Se ho una rete fisica come il SONET, ogni 810 byte ne "perdo" 27 per overhead, e 810 sono i miei dati. Di questi 810, supponiamo che uso un protocollo internet, un'altra percentuale se ne va per il suo overhead etc. etc. => gli overhead si sommano, e alla fine può rimanermi poca cosa...

!!ATM
ATM = Asynchronous Transfer Mode
Il TDM mi garantisc l'isocronia: il tempo di intervallo tra due bit consecutivi provenienti dalla stessa sorgente è sempre lo stesso. Se ho una linea a 64kbps, vuol dire che ogni bit proveniente da me arriverà garantito tra 1/64000 di secondo, così come per quello del mio vicino etc. Questo è il tempo reale, ed è una delle carateristiche del TDM: ho un tempo garantito tra un bit e l'altro. Chiaro che se poi ho schede T5 etc. il tempo tra un bit e l'altro è ancora più piccolo, e quindi la scheda sarà molto più costosa.

C'è invece il sistema ATM, che al momento attuale non so a che tipo di rete si riferisca. Non è isocrono, il che vuol dire che non passa lo stesso identico tempo tra un bit e l'altro della mia trasmissione. Gli apparecchi riceventi hanno un buffer: quando il buffer viene riempito, lo svuotano, e poi attendono che si riempia ancora. È chiaro che questo sistema non funzioni bene per il telefono, perché potrei avere delle attese ora che il buffer si riempie, e mi arriva la voce a sprazzi. Questo sistema non usa trame (si chiamano trame le finestrelle temporali del TDM) ma celle con una propria intestazione, e questa intestazione indica il destinatario del pacchetto. Chiaro che qui l'overhead è più alto, perché ogni cella ha byte sprecati per l'indirizzo etc.

!!27 settembre 2007

!!!Introduzione a livello di Data Link
Le reti tra computer nascono come reti private, per l'ovvio motivo che non si possono tirare in giro i cavi per l'Italia etc.

!!!Tecniche standard per i computer
Gli standard offrono dei pro e dei contro. Il pro è che ci può essere intercomunicabilità fra produttori diversi, mentre il contro è che in genere, una volta che si è fatto uno standard, poi non lo si cambia più per un bel pezzo e la tecnologia viene per così dire congelata; inoltre è possibile che ci siano più standard per la stessa funzione.

Gli standard vengono inventati, per esempio, dalla Internet Society, dall'ISO, dal CCITT, dal forum ATM (Azienda Trasporti Milanese, lo standard del degrado della linea dei pullman è loro...).

Come dicevo all'inizio, all'interno del computer i bit sono organizzati spazialmente: ogni bit è una carica in una certa porzione piccola ma fisicamente reale all'interno del computer. Ma devo spostarli 1 alla volta, nel dominio del tempo, affinché io possa trasmetterli lungo una rete. Per fare ciò, occorre codificare in qualche modo la presenza e l'assenza di carica (cioè lo 0 e l'1 nella memoria del computer) in un segnale.

Un modo per farlo è stabilire che 0 Volt = 1, e 5 Volt = 0. Bene. Bello. Problema: lungo un filo è più che probabile che il segnale si attenuerà, perché il filo ha una sua resistività e così via. Quindi è possibile che fra 10 metri non arrivino più 5 volt, ma 2,5, e a questo punto l'apparecchio ricevente potrebbe interpretare i 2,5 Volt arrotondandoli per difetto, e ricevendo 0 al posto di 1. I dati si perdono. La perdita di dati è ancora accettabile durante le conversazioni telefoniche, perché anche se perdiamo addirittura pezzi interi di parola, si capisce lo stesso. Ma non è assolutamente accettabile perdere pezzi durante la trasmissione di dati informatici.

Quindi, per evitare sto problema del voltaggio, si è pensato di inviare i bit non come livelli diversi di corrente, ma come ''variazioni'' del livello di corrente, ovvero come fronti di salita e fronti di discesa. Un fronte di salita si ha quando il voltaggio sale, mentre un fronte di discesa si ha quando il voltaggio scende. Ecco quindi che abbiamo scoperto il ''baud rate'', ovvero la quantità di ''fronti'' che si inviano per secondo. Da notare che il baudrate non è necessariamente uguale al bitrate.

Nel caso dei calcolatori, NON si fa multiplexing come abbiamo visto finora: semplicemente, le varie stazioni si danno il turn nel comunicare, secondo un sistema detto Statistical Division Multiplexing, che vuol dire semplicemente che ci si dà il turno. Un altro modo per indicare questa faccenda del parlare a turni è il MAC: Medium Access Control, ovvero il modo per controllare l'accesso al medium, che non è chi comunica coi morti ma il mezzo di trasmissione.

Il DLL, che sta per Data Link Layer, è il formato in cui vengono inviati i singoli blocchi di comunicazione. Come abbiamo visto prima per il misterioso ATM, se non c'è isocronia, le trasmissioni avvengono a blocchi, e ogni blocco deve essere autosufficiente nel senso che deve saper arrivare a destinazione in modo autonomo. Le informazioni per andare in giro per la rete sono distribuite nel blocco in un certo formato, detto appunto DLL. La differenza con le trame del TDM è che le trame sono i pezzi di dati circondati dai bit di sincronimo.

Nelle reti di computer il controllo degli errori è fondamentale, per il motivo che ho detto prima. Occorre quindi anche un sistema per accertarsi che i blocchi siano stati ricevuti senza errori.

!!!Responsabilità del Data Link
* deve fare il multiplexing finto dei flussi di dati, cioè saper dire: ora parlo io, ora parli tu
* deve controllare l'accesso al mezzo di trasmissione
* deve controllare gli errori.

La necessità del multiplexing finto di qualche paragrafo fa nasce da una semplice constatazione amichevole. Se ho due computer, posso benissimo immaginare di tirare un cavo tra uno e l'altro ed è morta lì. Se ho tre computer idem: ho un cavo per ogni coppia di computer. Ma quando comincio ad avere 20 computer, che faccio? Un cavo per ogni coppia è improponibile. Ecco perché si usa un filo solo, e si usa questo multiplexing a turni per decidere chi parla e chi sta zitto: è il controllo di accesso al mezzo.

!!!Protocolli MAC Collision Free
In questi protocolli, si fa in modo che non ci sia del tutto la possibilità che due stazioni si mettano ad inviare contemporaneamente dati sulla rete, rendendoli di fatto inutilizzabili. Occorre quindi stabilire dei turni: la stazione che vuole comunicare "alza la mano" (handrising) e invia a ''tutte'' le altre stazioni il segnale che indica la sua volontà di comunicare. Ogni scheda dice la sua in proposito, e quando si sono messe d'accordo quello che vince la trattativa (in base a certe regole) è quello che invia il messaggio.

In questo caso si ha tanto overhead, perché si perde tanto tempo a mandare microframes per queste trattative.

!!!Protocolli MAC a contesa
Con i protocolli MAC a contesa, invece, è ammesso il caso che si parli tutti insieme: nel caso Collision Free si evita a priori la collisione, qui invece la si risolve dopo che è successa.

!!!Slotted Aloha
È il sistema inventato all'Università delle Hawaii, dove usavano le onde radio per collegare i diversi campus presenti su isole diverse. Avevano 1 solo canale, e le collisioni succedevano frequentemente.

La parola ''slotted'' si rifà all'idea di voler dare ad ogni stazione un suo tempo di trasmissione che abbia una lunghezza fissa: ognuno può inviare messaggi solo all'inizio del suo slot temporale. Ci sono poche probabilità che due computer si mettano ad inviare segnali nello stesso istante. Però, in caso di collisione, non è affatto stabilito quando una singola stazione potrà di nuovo comunicare.

La rilevazione delle collisioni è semplice: una stazione invia dei dati, e li confronta con i dati che sta ricevendo. Se i due stream coincidono, vuol dire che solo lei sta inviando dati sulla rete. Se invece ci sono discrepanze, vuol dire che c'è una collisione in corso, e che il messaggio è da reinviare.

Un altro problema dello Slotted Aloha è che le onde elettromagnetiche, per quanto veloci, hanno un tempo finito di propagazione, che è di 2*10^8 m/s. Quindi, può accadere che una stazione senta il canale libero quando invece un'altra stazione sta già inviando, proprio perché il segnale radio ci mette tempo a viaggiare da un'isola all'altra, e questo tempo è apprezzabile dalle apparecchiature elettroniche.

----
[[!UniAmmore]]