## Dall'internet fai-da-te 
## all'internet condominiale

--

## altre presentazioni

https://hackordie.gattini.ninja/internetfaidate

---

## cos'è un computer?

--

<div style="width:50%; float:right">
Fisso
![laptop](/images/pc_fisso.jpeg)
</div>
<div style="width:50%">
Smartphone
![smartphone](/images/pc_smartphone.jpeg)
</div>

--

<div style="width:50%; float:right">
Raspberry
![raspberry](/images/pc_raspberrypi.jpeg)
</div>
<div style="width:50%">
Router
![router](/images/pc_router.jpg)
</div>


--

<div style="width:50%; float:right">
Datacenter
![raspberry](/images/pc_datacenter.png)
</div>
<div style="width:50%">
Applicazione
![router](/images/pc_applicazione.png)
</div>


--

### una calcolatrice potenziata...
in grado di calcolare non solo numeri, ma anche stringhe e booleani, riducendo anch'essi a numeri

--

### ...con delle periferiche:
questi calcolatori hanno delle periferiche di input-output, in analogia con gli organi di senso
- microfono
- casse audio
- schermo
- radio
- gps

--

### su questa base
si rende possibile per noi avere a che fare con una serie di oggetti digitali, quali blog, mappe, calendari, stanze di chat, siti web, e piattaforme di condivisione di file e di testo.

la nostra interazione con questi modifica i nostri repertori di azioni possibili, come avviene quando si impara a usare uno strumento fisico nuovo.

---

## Interfacce del computer

--

desktop GUI
<div style="width:50%; float: right">
![windows](/images/pc_img_desktop.jpeg)
</div>
<div style="width:50%;">
![gnome](/images/pc_img_desktop_gnome.png)
</div>

--

Scheda madre

<div style="width:50%; float: right">
![motherboard_router](/images/pc_img_motherboard_router.jpeg)
</div>
<div style="width:50%;">
![motherboard](/images/pc_img_motherboard.jpeg)
</div>

--

filesystem

![filesystem](/images/pc_img_filesystem.jpeg)


--

linea di comando CLI

     || ~ $ ls -lh /
    total 69K
    lrwxrwxrwx   1 root root    7 Jun  1 03:02 bin -> usr/bin
    drwxr-xr-x   5 root root 1.0K Jun 23 15:23 boot
    drwxr-xr-x  20 root root 3.5K Jul  7 16:42 dev
    drwxr-xr-x 137 root root  12K Jul  5 10:35 etc
    drwxr-xr-x   4 root root 4.0K Jun  1 03:17 home
    lrwxrwxrwx   1 root root   31 Jun 18 14:16 initrd.img -> boot/initrd.img-5.10.0-15-amd64
    lrwxrwxrwx   1 root root   31 Jun 18 14:16 initrd.img.old -> boot/initrd.img-5.10.0-14-amd64
    lrwxrwxrwx   1 root root    7 Jun  1 03:02 lib -> usr/lib
    lrwxrwxrwx   1 root root    9 Jun  1 03:02 lib32 -> usr/lib32
    lrwxrwxrwx   1 root root    9 Jun  1 03:02 lib64 -> usr/lib64
    lrwxrwxrwx   1 root root   10 Jun  1 03:02 libx32 -> usr/libx32
    drwx------   2 root root  16K Jun  1 03:02 lost+found
    drwxr-xr-x   4 root root 4.0K Jun  1 03:48 media
    drwxr-xr-x   2 root root 4.0K Jun  1 03:02 mnt
    drwxr-xr-x   5 root root 4.0K Jun  2 03:18 opt
    dr-xr-xr-x 360 root root    0 Jul  4 14:31 proc
    drwx------   7 root root 4.0K Jul  6 14:31 root
    drwxr-xr-x  35 root root  920 Jul  7 14:02 run
    lrwxrwxrwx   1 root root    8 Jun  1 03:02 sbin -> usr/sbin
    drwxr-xr-x   2 root root 4.0K Jun  1 03:02 srv
    dr-xr-xr-x  13 root root    0 Jul  4 14:31 sys
    drwxrwxrwt  39 root root 4.0K Jul  7 17:30 tmp
    drwxr-xr-x  14 root root 4.0K Jun  1 03:02 usr
    drwxr-xr-x  13 root root 4.0K Jun  1 17:04 var
    lrwxrwxrwx   1 root root   28 Jun 18 14:16 vmlinuz -> boot/vmlinuz-5.10.0-15-amd64
    lrwxrwxrwx   1 root root   28 Jun 18 14:16 vmlinuz.old -> boot/vmlinuz-5.10.0-14-amd64


---

## Utilizzo critico

#### free software e licenza GPL


- per pc abbiamo GNU/Linux

- per smartphone android c'è del meno peggio: [lineage](https://lineageos.org/);     
[e/os](https://lineageos.org/) che è anche la versione android di default per fairphone;    
[f-droid](https://f-droid.org/) come gestore di pacchetti solo FOSS

- per i router c'è 
[openwrt](https://openwrt.org/)


---

## Concetti base

<br>
- internet
- indirizzi ip
- nomi di dominio 
- server dns

--

### Internet

Una definizione:    

L'insieme delle interconnessioni, a livello globale, attive sopra il protocollo IP (Internet Protocol)


--

### indirizzi IP

esempi:
- 192.168.0.1
- 10.13.152.69
- 145.10.10.12

2^32, circa 4 miliardi di indirizzi possibili con IPv4   

--

![reteip](/images/rete_ip.png)

--

### nomi di dominio

Hanno bisogno di una traduzione in indirizzi ip (es. numeri di telefono)

si leggono prima dalla / verso sinistra, poi dalla / verso destra

https://www.google.com/maps
https://support.google.com/

https://repubblica.it     
https://www.repubblica.it

--

esempio di un whois


     || ~ $ whois repubblica.it
    
    *********************************************************************
    * Please note that the following result could be a subgroup of      *
    * the data contained in the database.                               *
    *                                                                   *
    * Additional information can be visualized at:                      *
    * http://web-whois.nic.it                                           *
    * Privacy Information: http://web-whois.nic.it/privacy              *
    *********************************************************************
    
    Domain:             repubblica.it
    Status:             ok
    Signed:             no
    Created:            1996-05-15 00:00:00
    Last Update:        2022-02-01 00:48:40
    Expire Date:        2023-01-16
    
    Registrant
      Organization:     Gedi Digital S.r.l
      Address:          Via Cristoforo Colombo, 90
                        Roma
                        00147
                        RM
                        IT
      Created:          2020-11-17 18:26:41
      Last Update:      2021-09-07 22:48:09
    
    Admin Contact
      Name:             Daniele Bianchi
      Organization:     Gedi Digital S.r.l
      Address:          Via Cristoforo Colombo, 90
                        Roma
                        00147
                        RM
                        IT
      Created:          2020-11-17 18:26:41
      Last Update:      2021-09-07 22:48:09
    
    Technical Contacts
      Name:             Daniele Bianchi
      Organization:     Gedi Digital S.r.l
      Address:          Via Cristoforo Colombo, 90
                        Roma
                        00147
                        RM
                        IT
      Created:          2020-11-17 18:26:42
      Last Update:      2021-09-07 22:48:10
    
    Registrar
      Organization:     Gandi SAS
      Name:             GANDI-REG
      Web:              http://www.gandi.net
      DNSSEC:           no
    
    
    Nameservers
      ns-1541.awsdns-00.co.uk
      ns-1477.awsdns-56.org
      ns-723.awsdns-26.net
      ns-353.awsdns-44.com
    
--

### server dns

DNS, domain name system
ovvero un sistema utilizzato per assegnare nomi ai nodi della rete

i server dns mantengono una rubrica di corrispondenze tra indirizzi ip e nomi di dominio

esempi di server dns
- 1.1.1.1 cloudflare    
- 8.8.8.8 google


--

esempio dig

     || ~ $ dig A repubblica.it @8.8.8.8

    ; <<>> DiG 9.16.27-Debian <<>> A repubblica.it @8.8.8.8
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35910
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 7
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 1e0b65dfd33315b6bc2349ad62c6e63e29053e3335111deb (good)
    ;; QUESTION SECTION:
    ;repubblica.it.			IN	A
    
    ;; ANSWER SECTION:
    repubblica.it.		60	IN	A	143.204.176.99
    repubblica.it.		60	IN	A	143.204.176.3
    repubblica.it.		60	IN	A	143.204.176.9
    repubblica.it.		60	IN	A	143.204.176.118
    
    ;; AUTHORITY SECTION:
    repubblica.it.		10729	IN	NS	ns-353.awsdns-44.com.
    repubblica.it.		10729	IN	NS	ns-1541.awsdns-00.co.uk.
    repubblica.it.		10729	IN	NS	ns-723.awsdns-26.net.
    repubblica.it.		10729	IN	NS	ns-1477.awsdns-56.org.
    
    ;; ADDITIONAL SECTION:
    ns-723.awsdns-26.net.	172758	IN	A	205.251.194.211
    ns-1477.awsdns-56.org.	172745	IN	A	205.251.197.197
    ns-1541.awsdns-00.co.uk. 172723	IN	A	205.251.198.5
    ns-723.awsdns-26.net.	172758	IN	AAAA	2600:9000:5302:d300::1
    ns-1477.awsdns-56.org.	172745	IN	AAAA	2600:9000:5305:c500::1
    ns-1541.awsdns-00.co.uk. 172723	IN	AAAA	2600:9000:5306:500::1
    
    ;; Query time: 80 msec
    ;; SERVER: 8.8.8.8#53(8.8.8.8)
    ;; WHEN: Thu Jul 07 15:57:18 CEST 2022
    ;; MSG SIZE  rcvd: 406


---

### Un esempio più semplice:

La commutazione di circuito (telefono)

--

### commutazione di pacchetto 

e il multiplex
--

<iframe data-src="https://www.youtube.com/embed/CcoedteNOL4"></iframe>


---

### per costruire una rete locale basta un cavo tra due pc?

indirizzi ip e dhcp in rete locale

strati di tecnologie coinvolte, con una semplificazione potremmo dire almeno tre

- livello fisico (ethernet)
- livello di collegamento (mac-address)
- livello di rete (ip)


---

### architettura iso/osi

--

<div style="height: 90vh !important">
![modelloosi](/images/rete_osi.png) 
</div>

--

![modelloosi2](/images/rete_osi_2.jpeg); 

--

- livello fisico
- livello di collegamento
- livello di rete
- livello di trasporto
- livello di sessione
- livello di presentazione
- livello di applicazione


---

### architettura internet
 
modello a clessidra

![modelloclessidra](/images/rete_clessidra.jpeg)

---


### protocolli e porte

- ftp, File Transfer Protocol (client-server)
- http, HyperText Transfer Protocol
- https, Hypertext Transfer Protocol Secure
- smtp, Simple Mail Transfer Protocol
- imap, Internet Message Access Protocol
- ssh, Secure Shell


---

### esempio: cos'è una pagina web?


un insieme di file per comporla

Schema comune:
- struttura (html),
- grafica (css), 
- azioni (javascript)






