Title: Lliuraments 3-2
Course: CFGM SMX, M5. Xarxes locals

3.2 Principis de comunicació

Pràctiques de base

Anem a fer un joc de rol: serem ordinadors que es comuniquen en una xarxa local (inalàmbrica).

Nosaltres, com a "ordinadors", voldrem enviar un missatge (una paraula o frase curta, d'entre 6 i 10 caràcters) a un dels altres "ordinadors" de la classe. Cada "ordinador" tindrà un número (2 bytes) que l'identificarà. El professor repartirà, a cada "ordinador", el seu identificador i l'identificador del destí del missatge.

Per a poder-nos entendre haurem d'utilitzar un protocol comú. Estarà definit per:

- Format i encapsulament: el cos del missatge està encapsulat en un paquet, amb el següent format:

destí | origen | nº | cos | fi
DD DD | OO OO | NN | M... | [EOT]
2 bytes | 2 bytes | 1 byte | 1 byte o + | 1 byte

  - destí i origen
  - nº: 01 per al primer paquet, 02 per al segon...
  - cos: text que es vol enviar. Si és massa llarg per a un sol paquet, fragmenteu-lo: envieu el màxim i poseu la resta en un(s) altre(s) paquet(s).
- Mida
  - el paquet pot tenir, com a màxim, 10 bytes.
- Temporització
  - Mètode d'accés
    - quan un "ordinador" vulgui parlar, esperarà a que ningú més ho faci
    - tot i així, si dos "ordinadors" parlen alhora, hi haurà una col·lisió. Hauran de callar i un dels dos tornarà a començar
  - Control de flux
    - les dades s'han de dir prou lentes per a que puguem prendre nota.
    - però ha de ser prou ràpid per a poder acabar l'activitat avui!
  - Fi de la temporització de resposta
    - els missatges sempre s'hauran de respondre, per a indicar que s'han rebut bé. La resposta serà un paquet amb el mateix número i el caràcter ACK al cos.
    - l'ordinador que ha enviat el paquet ha de controlar si s'ha rebut resposta en 3 minuts. Si passen els 3 minuts, ha de tornar a enviar el paquet.
- Codificació
  - el missatge ha d'estar codificat en format ascii
  - les dades les direm en veu alta, en hexadecimal
- Patró
  - els missatges de broadcast tindran FFFF com a destí. La resta seran unicast.

Passos a seguir:

1. El profe ha de lliurar els identificadors i els destins dels missatges.
2. Tothom entén les normes (protocol)?
3. El profe fa un exemple: FFFF0001015175652004, FFFF00010274616C3F04.
4. Hi han respostes al missatge del profe?
5. Penseu en el missatge que enviareu. Recordeu la mida màxima i mínima.
6. Codifiqueu el missatge, encapsuleu-lo i envieu els paquets (en veu alta). Descodifiqueu i responeu els paquets enviats a vosaltres.

Consells:

- Si això acaba sent un caos, potser valdrà la pena que us dividiu la feina. Per exemple, un pot "parlar" i l'altre "escoltar".
- El primer que escoltareu d'un missatge és el codi de destí. Si no sou vosaltres, el podeu ignorar (a no ser que vulgueu fer l'exercici d'ampliació).

Podeu utilitzar aquesta plantilla:

destí (2 bytes) | origen (2 bytes) | nº (1B) | cos (1 byte o més) | fi (1B)

Heu de respondre aquestes preguntes, que seran les que corregiré:

1. Quin missatge heu enviat? A qui estava dirigit?
2. Quins paquets heu enviat?
3. Quins paquets heu rebut adreçats a vosaltres? Escriu els codis rebuts.
4. Qui us ha enviat un missatge? Amb quin text?

Pràctiques d'ampliació

1. Esteu en mode promiscu: analitzeu tots tots els paquets, esbrineu els grups que son l'origen, destí, i el missatge enviat.