venerdì 18 novembre 2016

Provetta: Errori


  1. Prima richiesta GET per il primo documento: contiene Content-Type e Content-Length (quindi un messaggio HTTP che non trasporta nessun documento ha uno header che descrive tipo e lunghezza...di che cosa?). Errore fatto da uno che ha sbagliato nettamente l'esercizio zero.
  2. Get di un documento a spritz.it, risposta contiene un cookie. Get di una immagine a conta.org e gli invia il cookie ricevuto da spritz.it (quante volte abbiamo detto che gli identificatori di sessione per un sito X non sono MAI inviati a siti diversi da X? quante volte abbiamo detto che questo non è un dettaglio irrilevante perché, ad esempio, se il browser inviasse al sito Y l'identificatore della sessione che ha sul sito X allora Y potrebbe inviare a X richieste che sarebbero elaborate come se provenissero dal browser?). Errore fatto da uno che ha sbagliato nettamente l'esercizio zero.
  3. DNS request "www.spritz.it A ?" DNS response "www.spritz.it NS ns.spritz.it". Traduzione della DNS response: "caro Browser, esiste una zona di nome www.spritz.it il cui name server ha nome ns.spritz.it". Possibile non essere in grado di distinguere tra web server (cane) e zona (gatto)? Entrambe sono entità che hanno un nome ma sono di tipo radicalmente diverso.
  4. Valore contatori: "per la pagina X, 1". Se il testo dice che per ogni pagina ci sono DUE contatori, perché si torna UN valore per ogni pagina?. Questo ed il precedente sono stati fatti da uno che ha sbagliato nettamente l'esercizio zero.
  5. "il numero di porta del welcoming socket è scelto dal sistema operativo". Ma quando mai? E come farebbe il client a conoscere quel numero di porta? Quando un client si collega la sua richiesta va verso il welcoming socket: se il  numero di porta fosse scelto dal s.o. allora il client non potrebbe conoscerlo, ergo nessun client potrebbe collegarsi,
  6. "dipende se il browser sta effettuando o meno traffico SMTP o POP". "I numeri di porta sul server sono inferiori a 1024 (25 o 110)".  Non so come potere commentare. Affermazioni di questo genere dimostrano l'assenza di ogni minima idea su che cosa accada fisicamente.
  7. "su pc1 c'è 1 socket con numero di porta 53". Idem
  8. DNS request "www.spritz.it A ?" DNS response "ns.it A IP-x". Traduzione: "Il browser chiede al name server che ore sono e il name server gli risponde che piove". Cioè il browser fa una domanda (traducimi il nome pippo) e riceve una risposta che non ha nulla a che vedere con la domanda (ecco la traduzione per il nome luigi). Da un altro punto di vista, come caspita fa il browser a capire che ns.it è il nome di un name server? La stringa "ns" non ha alcun significato per il protocollo DNS. Un name server potrebbe chiamarsi anche "xy" oppure "luigi". La risposta avrebbe dovuto essere "ns.it NS somename.it, somename.it A IP-x".
  9. "sul nodo in cui esecuzione gmail esiste un solo socket il cui numero di porta viene scelto dal s.o. ed è superiore a 1024". Stessi commenti di 6.
  10. "Ogni PC ha un socket con numero di porta superiore a 1024". Se il browser è collegato a due server, come fa ad essere collegato con un solo socket?
  11. "Sul nodo in cui è in esecuzione GMail ci sono...un welcoming socket (il cui numero di porta sarà inferiore a 1024 e diverso da 25, 80 o 110)". Stessi commenti di 6 e di 5.
  12. "Su ogni PC esistono 3 socket con numero di porta 25, 80 e 110". Stessi commenti di 6.
  13. "Il name server di IP-NB chiede al name server della zona .it che gli indica di contattare spritz.it che può risolvere la richiesta: www.spritz.it A IP-s". Consegnare uno svolgimento del genere significa perdere tempo e fare perdere tempo. Il testo diceva chiaramente che consegnare senza avere svolto tutto è inutile. Se uno ritiene in buona fede che questo possa essere uno svolgimento allora significa che non ha neanche letto il documento di preparazione alla provetta ("consigli", numero 6) (e neanche i post di questo blog, vedi ad esempio questo: https://reti-units.blogspot.it/2016/04/risposte-narrative.html; post che non scrivo per divertimento, ma per cercare di aiutare chi ha difficoltà).
  14. "Totale accessi a spritz.it:2, totale client che visitano spritz.it: 1; totale accessi a engine.org e numero client: 1". Questo significa non avere neanche letto il testo dell'esame. Siamo al terzo anno di università. Stessi commenti di 13. 
  15. "suppongo che si colleghi sia al mail server di gmail che al web server di corriere tramite un browser e quindi su una connessione TCP con protocollo HTTP": a parte il fatto che GMail è un sito web, questa ipotesi non ha il minimo senso; come si fa a collegarsi ad un mail server con protocollo HTTP?
  16. "su PC1 esiste un socket che apre una connessione con il proxy che ha numero di porta 8080": a parte l'ambiguità (il "che" si riferisce al proxy o al socket?), la domanda chiedeva il numero di porta locale su PC1, non quello remoto. Quindi la risposta è gravemente incompleta nella interpretazione migliore (manca il numero di porta locale) o gravemente errata nella interpretazione peggiore (il numero di porta locale è 8080 oppure il numero di porta locale non esiste). Da un paragrafo successivo è evidente che l'interpretazione deve essere la peggiore.
  17. "sappiamo che su un calcolatore non ci possono essere più socket che parlano con lo stesso socket che ha stesso numero di porta" Chi l'ha mai detto o scritto?
  18. "Conosce i seguenti RR: it IP-NS, com IP-NS, org IP-NS..." Questi NON sono RR! Ogni RR ha un tipo. Ed il procedimento di risoluzione, ricorsiva o iterativa, richiede DUE RR per ogni zona, uno di tipo NS ed uno di tipo A.
  19. DNS Request "www.spritz.com A ?", DNS Response "mi risponde dicendo di contattare il name server ns.com". Ormai davvero non so più come dirlo. Ho detto decine di volte che le risposte narrative non vanno bene, non perché io sono fissato ma perché è impossibile da una risposta narrativa capire se chi scrive ha capito. Come gli dice di contattare il name server ns.com? In inglese? in italiano? Inviandogli un RR? o inviandogli un codice di errore? L'ho anche scritto: in questo blog e nel documento con gli esercizi. Se una persona che ha già ripetuto questo esame molte volte continua a fornire risposte narrative io davvero non so cosa posso fare.
  20. Posso arrivare a capire la logica che ha portato a fare il ragionamento (sbagliatissimo) "browser collegato con GMail; GMail ha a che fare con la email; ci sono socket che hanno a che fare con SMTP e/o POP". Ma per quanti sforzi faccia non riesco a capire come si possa dire che sul nodo del corriere della sera ci siano 3 socket con numero di porta 110 (peraltro, dopo avere scritto che non ci sono connessioni POP). L'unica ipotesi che posso fare è che sia stato scritto un numero a caso sperando di indovinare la risposta corretta. Questa è una strategia di approccio all'esame che sconsiglio: l'evento sfavorevole ha probabilità molto elevata, perché il numero delle risposte possibili è altissimo; il costo dell'evento sfavorevole può essere enorme (quando la risposta che si sceglie non ha il minimo senso, come in questo caso).
  21. "su PC1 ci sono socket con numero di porta 80". No comment.
  22. Almeno due persone hanno interpretato l'esercizio DNS assumendo che gli RR fossero nella cache del browser. Leggere il testo. Non ci sono ambiguità possibili, gli RR erano nella cache del name server (ovviamente ciò non significa che io non scrivo mai in modo ambiguo; può succedere; ma in questo caso non è successo).
  23. Svolgimento dell'esercizio 8: un romanzo breve che conclude con "dunque il conteggio finale è 2". Quando dico e ripeto che bisogna imparare a leggere risulto antipatico, lo so, ma un motivo c'è. Il testo dell'esercizio era chiarissimo: erano richiesti due contatori per ognuna delle 3 pagine. Immaginiamo un imbianchino; gli viene chiesto di pitturare tre stanze di bianco con strisce gialle e lui ne pittura solo una di blu. Immaginiamo il primo impiego in azienda: vi viene chiesto di fare una cosa e voi ne fate un'altra.
  24. Che caspita è lo header "Encoding: 6 Febbraio" che accompagna i cookie a lunga scadenza?
  25. Ancora sull'esercizio 8: perché fornire conteggi per sito quando i conteggi sono chiesti per pagina? Vedi commento #23.
  26. "PC1 ha un solo socket ed il suo numero di porta viene definito dall'applicativo client". Viene definito dal s.o. 
  27. Molti prelevano documenti in cui la terza parte dell'URL è "/" inviando GET index.html. Ma perché? GET index.html si invia quando la terza parte dell'URL è index.html.
  28. I link (cioè i documenti il cui URL è il valore di HREF di un A) NON sono prelevati automaticamente. Sono prelevati solo clickandi sul link.
  29. La presenza di www in testa ai nomi di server in molti casi è un processo random. Presente o assente in modo non predicibile. Uno stesso nome compare con o senza www in punti diversi del traffico http. Poi non si capisce perché per trovare l'indirizzo IP di www.spritz.it e di www.engine.org le DNS request siano spritz.it A ? e engine.org A ?. Mah.
  30. Su GMail c'è un welcoming socket ed un communication socket per ogni client. I numeri di porta dei communication socket diversi tra loro. Ma quando mai??? Valori numerici dei numeri di porta non indicati. Possibile che non si legga il testo? (in questo caso penso che il testo sia stato letto ma, astutamente, schivato...). "Si suppone che i PC siano autenticati in GMail" e per cosa serve questa ipotesi???
  31. "PC3 ha un solo socket perché connesso a un solo server". PC3 aveva Chrome connesso al corriere della sera e Firefox connesso al corriere della sera, Su PC3, quindi, ci sono due processi connessi allo stesso server. Ogni connessione è privata di un processo, non può essere condivisa tra più processi. Questo punto non lo abbiamo approfondito molto, quindi non considero questo come un errore grave.
  32. "Ogni PC ha due socket su porta 80". Il numero di porta lato client non ha nulla a che vedere con il numero di porta lato server.
  33. Il welcoming socket NON è duplicato per ogni client. Mettere su un server due socket per ogni client, di cui uno è un welcoming e l'altro un communication non ha il minimo senso.
  34. DNS request "www.spritz.it A ?" DNS response "www.spritz.it NS ...". Quindi esiste una zona di nome www.spritz.it?
  35. DNS request "flickr.com A ?" DNS response "flickr.com NS ...". Il testo diceva che il name server conosceva i RR sufficienti per contattare il name server della zona com. Qui invece si assume che conosca i RR per contattare il name server della zona flickr.com.
  36. Esercizio Zero: Non riesco minimamente a capire la logica che porti a mettere un mail server collegato con il server web del Corriere della Sera. Neanche la logica di una risposta "zero connessioni SMTP...su GMail ci sono 5 socket (1 welcoming e 4 communication) tutti con porta numero 25". Neanche la logica di fornire due svolgimenti per l'esercizio Zero, uno per il "caso in cui gli utenti stanno inviando una mail" ed un altro per il "caso in cui vengano prelevate le mail".
  37. Esercizio Zero: "avremo 3 connessioni SMTP". Tralasciando il fatto che questa affermazione sia sbagliatissima, non riesco minimamente a capire la logica che porti a dire che "avremo 1 connessione POP perché tutti gli utenti sono collegati". Poi che su GMail ci sono 4 socket con numeri di porta "da 110 in su, perché sono dei client". Poi che sui PC il numero di porta è 53. Consegnare uno svolgimento di questo genere significa perdere tempo e fare perdere tempo.
  38. Esercizio Zero: cosa caspita c'entrano i web server dell'organizzazione? In numero variabile grosso modo uguale al numero dei client? con collegamenti che sono tra web server dell'organizzazione e GMail/Corriere in un esercizio e tra PC e GMail/Corriere nell'esercizio successivo?
  39. Esercizio Zero: come si fa ad essere collegati con due server usando un solo socket? (siamo senza proxy; anche con proxy sono due, ma dire che con proxy è uno solo può essere considerato corretto).
  40. Qual'è il senso di "GET /www.spritz.it" e di "GET /www.engine.org"?
  41. Il "Content-Type: iframe" dovevo ancora vederlo. Così come "Accept: iframe/formato iframe".
  42. Il numero di persone che hanno sbagliato l'esercizio zero per me è veramente una causa di depressione. Ma quando vi siete collegati a GMail da PC avete mai dovuto installare un mail client???
  43. Qual'è il senso di mettere un punto interrogativo in testa ad ogni URL richiesto (Get ?/, Get ?i.htm,...)?
  44. Se sono chiesti gli accessi ai documenti www.spritz.it/ e www.spritz.it/i1.html, che senso ha fornire conteggi "spritz.it 3" e "spritz.it/i1.htm 1". Non ha alcun senso. Se uno conta (erroneamente) gli accessi al sito invece che alla pagina allora deve fornire www.spritz.it. Inoltre, il contatore deve contare gli accessi al documento: non al documento e alle immagini o script che contiene quel documento.