IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Contingut

Definició de xarxa local segons l'IEEE

Xarxa de dades on les comunicacions estan confinades a una àrea geogràfica limitada com per exemple un edifici o oficina i que utilitzen un canal de comunicació de velocitat moderada/alta i una tassa d'error baixa 3 característiques:

  • àmbit geogràfic.
  • seguretat. Tassa d'error baixa.
  • velocitat: moderadament alta.

Xarxes LAN vs Xarxes WAN

  • Línies de comunicació
LAN: Multipunt. Xarxes de difusió
WAN: Punt a punt. Xarxes commutades
  • Tipus de cable
LAN: Velocitats altes. Cables específics (coaxial, Ethernet de par trenat)
ModelsxarxaJaumeS 1.png
WAN: Velocitats més limitades. Cable telefònic
  • Topologia
LAN: Històricament s'han utilitzat diferents topologies (actualment bàsicament estrella)
WAN: malla

Factors que fan necessària una LAN

  • Raons econòmiques: Compartir recursos (per exemple, un perifèric) evita la necessitat de comprar el mateix perifèric per a totes les màquines de la xarxa
  • Compartició de dades: Permet als usuaris compartir dades i treballar en grup
  • Creació de sistemes d'informació distribuïda: Bases de dades.
  • Evitar redundància de dades: Al compartir la informació no es fa necessari s'evita que els nodes de la xarxa tinguin informació duplicada.
  • Processos distribuïts: Permet distribuir la carrega d'un procés o aplicació entre les màquines de la xarxa.
  • Recursos compartits: Es poden compartir dades, màquines, perifèrics.
  • Simplificació de la gestió dels sistemes:
  • Facilita l'administració d'una xarxa: Normalment els processos de centralització faciliten la gestió. Per exemple al fer còpies de seguretat només cal fer còpies de les dades centralitzades. A través de la xarxa, és poden gestionar des de una sola màquina tots els recursos de la xarxa (Gestió Remota).
  • Treball Col·laboratiu: Per exemple, projecte SETI
  • Centralització de la gestió de l'emmagatzematge i backup: Les dades s'emmagatzemen en servidors on la seguretat i la disponibilitat de les dades és més alta. Aquests servidors incorporen mecanismes de còpia de seguretat.

Topologies de xarxa

ModelsxarxaJaumeS 2.png

Topologia en estrella

Exemple: Ethernet amb RJ-45

  • Avantatges:
  • Fàcil d'implementar i d'ampliar.
  • Instal·lació ràpida.
  • Un error en un node o segment de xarxa no influeix a la resta de la xarxa.
  • No hi ha problemes de col·lisió de dades.
  • Més seguretat.
  • Desavantatges:
  • Major longitud de cable i nombre de nodes limitat pel concentrador.
  • Un error en el concentrador és un error a tota la xarxa (no hi ha switch, no hi ha xarxa).

Topologia en anell

Cada node esta connectat al següent i l'últim al primer. Cada node té un receptor i un transmissor i fa la funció de repetidor. Exemple: Token Ring (token = testimoni - ring = anell).

  • Avantatges
  • Poca longitud del cable.
  • Inconvenients
  • Si un node falla la xarxa sencera falla.
  • No totes les comunicacions són igual de ràpides.
  • Seguretat. Els nodes poden interceptar comunicacions.

Actualment no s'utilitza

Topologia en bus

Tots els nodes es connecten a la mateixa línia (bus). Exemple: Ethernet amb cable coaxial.

  • Avantatges
  • Fàcil d'instal·lar i requereix de poc cable.
  • Inconvenients
  • El medi de transmissió es compartit. Poden succeir col·lisions i lluites per la utilització del canal de comunicacions
  • Seguretat. Tots els nodes poden accedir a la informació de la resta.

Només s'utilitza si és necessari (per exemple, WI-FI).

Altres topologies

Topologia en malla

Entre els nodes s'estableixen enllaços punt a punt. Exemple: Xarxes WAN.

Topologia en arbre

És una extensió de la topologia en bus. Exemple: xarxes de televisió per cable, troncals fibra òptica i branques amb coaxial.

Topologia en interconnexió total

És una topologia en malla on tots els nodes estan connectats entre si.

Topologies mixtes

Xarxes amb combinacions de les topologies anteriors.

Topologia física vs Topologia lògica

Físicament podem tenir una topologia concreta però realment està utilitzant un altre topologia. Per exemple, la topologia en estrella:

  • HUB: És un simple repetidor. La senyal que arriba a un port es torna a enviar a tots els ports del HUB: topologia lògica: BUS.
  • SWITCH: Els commutadors només connecten el port emissor amb el port receptor: topologia lògica: Estrella, punt a punt.

Components d'una xarxa LAN

Servidors i Estacions de treball

Estació de treball (clients)

Màquines (ordinadors) de treball. Aprofiten els recursos/serveis de la xarxa. Són clients dels servidors i dels recursos/serveis de la xarxa.

Servidor

Nodes de la xarxa que comparteixen els seus recursos de maquinari o programari amb la resta de nodes a través del que s'anomenen serveis de xarxa. Sovint són màquines potents però no necessàriament.

Perifèrics de xarxa

Impressores, discs durs de xarxa, etc.

Cablejat i medis de comunicació

Format pel conjunt d'elements de comunicació de la xarxa, com els cables o medis de comunicació (xarxes sense fils) que enllacen els nodes de la xarxa. Exemples: Cables de parell trenat, coaxials, connexions sense fils, antenes, fibra òptica, connectors.

Targeta de xarxa

També anomenades NICs (Network Interface Card). Maquinari que fa d'intermediari entre els dispositius i la xarxa de comunicacions. Exemples: targetes de xarxa Pci, integrades en la placa mare, targetes sense fils, integrades en els dispositius (encaminadors, commutadors, impressores, etc).

Concentradors de cables

Dispositiu utilitzat en topologies de xarxa en estrella per a realitzar la connexió entre nodes de la xarxa. Hi ha xarxes que no utilitzen concentradors (Ethernet coaxial en bus). Amb aquest sistema si falla un node la xarxa continua funcionant però a canvi si falla el concentrador tota la xarxa falla.

  • Concentradors passius: Només concentren les senyals.
  • Concentradores actius: Concentren les senyals i les amplifiquen i/o regeneren funcionant com a elements amplificadors i/o repetidors.

Bridges o ponts

Són dispositius de comunicacions (ECD) formats per un maquinari i un programari que permeten a dues xarxes locals connectar-se entre si. Les dues xarxes unides per un bridge equivalen a una sola xarxa. Exemples: Encaminador en mode bridge, bridges acobladors de xarxes diferents (per exemple, coaxial a parell trenat). Connecten 2 tipus de xarxes diferents.

Pasarel·las, Gateways o encaminadors

Són dispositius de comunicacions (ECD) formats per un maquinari i un programari que permeten la connexió de la xarxa LAN a xarxes externes (típicament xarxes WAN com Internet). Exemples: Encaminadors, encaminadors ADSL, Mòdems ADSL, ordinadors amb programari especific (per exemple IPCOP) Ha de tenir 2 (o més) targetes (interficies) de xarxes.


Conceptes previs de xarxa

Protocol de comunicacions

És el conjunt de regles perfectament organitzades i convingudes per mutu acord que especifiquen l'intercanvi de dades o ordres durant la comunicació entre els nodes que formen part d'una xarxa. Els protocols sovint són públics i són normatives o recomanacions de les associacions d'estàndards. Un protocol (en societat o política) també és un conjunt de regles que cal observar pel que fa a l’etiqueta, les presidències, etc., en les cerimònies i en les relacions oficials. Exemples: Protocols IP, HTTP, TCP, FTP (la P és sempre de protocol). Hi ha (quasi) un protocol per cada servei/aplicació.

IMPORTANT: En la vida real els protocols no són obligatoris però en les comunicacions són IMPRESCINDIBLES

Exemple de protocol. Telèfon

  • Passos d'una trucada
  • Despenjar el telèfon a l'emissor.
  • Esperar to. Si no hi ha to tornar a penjar/despenjar.
  • Marcar el número de telèfon del receptor.
  • Si el receptor esta ocupat sona el to de comunicant.
  • Si el receptor no comunica, sonen els tons de trucada a l'emissor i el timbre al receptor.
  • El receptor despenja el telèfon (accepta la comunicació).
  • L'emissor i el receptor es comuniquen (comunicació full-duplex).
  • L'emissor o el receptor finalitzen la comunicació penjant el telèfon.

Model arquitectònic de xarxa

És el conjunt organitzat de capes i protocols d'una xarxa. L'objectiu d'aquesta organització de la xarxa és facilitar la tasca dels creadors de maquinari i programari per tal que puguin crear productes amb garanties de funcionament entre equips que segueixin les mateixes normes. Les capes estan jerarquitzades en capes superiors i capes inferiors. Cada capa ofereix els seus serveis a la capa superior. La gran majoria de models arquitectònics de xarxa actuals estan organitzats en capes.

ModelsxarxaJaumeS 6.png

Concepte de capa o nivell

En el disseny de xarxes s'utilitza sovint el concepte de capa o nivell com una forma d'estructurar les funcions i serveis que les xarxes proveeixen.

  • Màxima: “divideix i guanyaràs”. Per resoldre problemes grans sovint cal dividir el problema en parts petites.

La capa n ofereix una sèrie de serveis a la capa n+1 a través de la seva interfície. Els elements actius de cada capa s'anomenen entitats. Una entitat pot ser maquinari o programari. Les entitats d'una capa n d'un sistema es comuniquen amb les entitats de la capa n d'un altre sistema conforme a una sèrie de regles preestablertes anomenades protocol de capa n. En un mateix sistema la comunicació entre dos capes es duu a terme a través d'una interfície. La implementació interna de cada capa depèn dels fabricants o desenvolupadors però sempre s'ha de respectar la interfície i el protocol de capa. A aquesta capacitat se l'anomena Encapsulament (Caixa Negra = sistema operatiu). La primera capa és una excepció perquè es comunica directament amb el medi físic. La manera com utilitzo la caixa negra (o sistema operatiu) ve donada per les interfícies. La capa de baix dona servei a la capa de dalt.

Comunicació entre capes

Es fa a través de la interficie. Als serveis d'una capa si accedeix a través dels SAPs (Service Acces Point). Són les portes d'accés que utilitzades per les entitats per accedir al serveis. Les interfícies estan perfectament definides mitjançant un sistema un sistema de crides i respostes anomenades PRIMITIVES.

  • Primitives OSI d'un servei:
  • Sol·licitud (request): una entitat sol·licita un servei.
  • Indicació (indication): una entitat és informada que ha succeït un esdeveniment.
  • Resposta (response): una entitat respon a un esdeveniment.
  • Confirmació (confirm): una entitat és informada sobre una sol·licitud efectuada anteriorment.

No tots els serveis necessiten de totes les primitives: serveis orientats a connexió o no orientats a connexió; serveis confirmats o no confirmats.

ModelsxarxaJaumeS 14.png

PSTN (Public Switched Telephone Network): tipus de xarxa pública telefònica i commutada. La persona es la capa request (petició de connexió - marcar el número). El telèfon es comunica amb la persona fent una connect indication. Si es despenja, s'esta fent una connect response. A l'altra costat, se sap que s'accepta la connexió perquè deixen de sonar els tons.

ModelsxarxaJaumeS 15.png

Servei no confirmat:

ModelsxarxaJaumeS 23.png

Full duplex: quan parles, l'altra persona contesta sense necessitar confirmació. No es confirma la desconnexió.

Exemples
ModelsxarxaJaumeS 16.png

Es demana una connexió i li diuen que no (si et truquen al mòbil, cliques el botó de penjar).

ModelsxarxaJaumeS 17.png

No hi ha resposta de confirmació

ModelsxarxaJaumeS 18.png

Petició de desconnexió

ModelsxarxaJaumeS 19.png

Penjen els 2 a la vegada


ModelsxarxaJaumeS 20.png

El proveidor desconnecta als 2

Serveis, Primitives, Interfícies i Entitats

ModelsxarxaJaumeS 22.png
  • Interfície: és el conjunt de serveis i operacions que una capa inferior ofereix a una capa superior.

IMPORTANT: Són les normes de comunicació entre dues capes consecutives

Molts d'aquests conceptes també són aplicables en altres àrees de la informàtica (programació – programació modular-, GUI, programació orientada a objectes, encapsulament).

Arquitectura de xarxa

ModelsxarxaJaumeS 6.png
ModelsxarxaJaumeS 7.png

Família de protocols

Sistemes oberts. ISO

ModelsxarxaJaumeS 13.png

Són aquells sistemes capaços d'interconnectar-se amb altres sistemes d'acord amb unes normes preestablertes. El concepte de sistema obert va ser proposat inicialment per la ISO (International Organization for Standardization).

Capesosi.png

La ISO ha proposat el model arquitectònic OSI (Open Systems Interconnection) que s'encarrega de definir un model genèric per a la interconnexió de Sistemes Oberts. Són 7 nivells:

  • Nivell 7: Aplicació
  • Nivell 6: Presentació
  • Nivell 5: Sessió
  • Nivell 4: Transport
  • Nivell 3: Xarxa
  • Nivell 2: Enllaç de dades
  • Nivell 1: Física

El contrari a un sistema obert seria un sistema patentat i tancat.

La ISO s'encarrega de definir coses com la mida dels papers, noms de llengües i codis de països, codis de divises, codificació de caràcters, ISOS de qualitat, llenguatge de programació C i BASIC, MPEG, ISO 26300 (Open Document). En definitiva, fa més possible l'establir comunicacions amb diferents parts del món, ja que tothom tenim (o hauríem de tenir) la mateixa manera de comunicar-nos.

Tipus de serveis

Orientats a connexió

Propietats:

  • Requereixen el establiment inicial de una connexió i la ruptura o alliberament final de la mateixa.
  • Entre la connexió i l’alliberament es produeix l’intercanvi de dades d’usuari.
  • Els blocs de dades es reben en el destí en el mateix ordre en que s’emeten a l’origen.
  • Tots els paquets segueixen (quasi sempre) la mateixa ruta, aconseguida en l’establiment de la connexió
  • Com que la ruta es coneguda, els paquets de dades no precisen indicar l’adreça de destinació.

Exemple: Trucada telefònica.

No orientats a connexió

Propietats:

  • Ofereixen la capacitat de comunicació sense necessitat de realitzar una connexió amb el destinatari.
  • L’emissor envia paquets de dades al receptor confiant en que la xarxa tindrà prou intel·ligència com per a conduir les dades per rutes adequades.
  • Els paquets poden seguir rutes diferents durant la comunicació.
  • Els blocs de dades es poden rebrà desordenats. Per això, aquests blocs de dades van numerats.
  • Cada paquet ha de portar l’adreça de destinació i, en alguns casos, el receptor ha d’enviar un acusament de rebuda per confirmar l’èxit de la comunicació.

Exemple: Correu postal

El model de referència OSI

El model de referència també defineix l'arquitectura de capes. Hi ha 7 nivells

Capesosi.png
  • Nivells o capes orientats a xarxa. 3 nivells:
  • Nivell 1. Nivell Físic
  • Nivell 2. Nivell d'enllaç
  • Nivell 3. Nivell de xarxa
  • Nivell de transport
  • Nivell 4. Nivell de transport
  • Nivells orientats a aplicació/usuari
  • Nivell 5. Nivell de sessió
  • Nivell 6. Nivell de presentació
  • Nivell 7. Nivell d'aplicació

CapesOSIBitsTramesPaquetsEtc.jpg

Nivells OSI orientats a xarxa

Nivell 1. Nivell Físic

És la capa de més baix nivell i s’ocupa de la transmissió dels bits.

S'ocupa de definir:

  • Característiques mecàniques (connectors, nombre de pins,tipus de cables...)
  • Característiques elèctriques/electromàgnetiques (senyals elèctriques a utilitzar, duració i voltatge de les senyals...)
  • Característiques funcionals (interfícies de connexió al medi i funcions) i de procediment (fases i estats)
  • ...per a poder establir i destruir connexions entre dos equips de la xarxa.
  • Estàndards i protocols: RS-232, xarxes Ethernet, etc.

Nivell 2. Nivell d'enllaç

Controla l'intercanvi de dades entre dues màquines connectades directament per un medi físic (enllaç)

  • Encarregat d’establir una línia de comunicació lliure d’errors que pugui ser utilitzada per la capa immediatament superior (capa de xarxa).
  • No treballa amb bits directament. Treballa amb blocs de dades de nivell 2 (2-PDU) anomenats trames. Els missatges es formes per una o més trames.
  • Les trames s'envien seqüèncialment per la línia de transmissió utilitzant els serveis de la capa capa física.
  • La gestió de les trames (tractament d’errors, eliminar errors, retransmetre, descartar trames duplicades, etc.) és l'objectiu d'aquest nivell.

Funcions:

  • Sincronització de les trames (identificar inici i final de trames)
  • Control de flux: estableix el ritme de transmissió de dades per evitar sobrecàrregues.
  • Control d'errors: permet comprovar que les dades que arriben al receptor són idèntiques a les que ha enviat l'emissor.
  • Direccionament: En medis de difusió (que no són punt a punt) és necessari identificar els components.
  • Gestió de l'enllaç: per controlar la transmissió cal enviar dades “pures” i dades de control de l'enllaç.

Nivell 3. Nivell de xarxa

Control de la xarxa/subxarxa

Treballa amb blocs de dades de xarxa (3-PDU) anomenats paquets.

Funcions:

  • Encaminament: Determinar la ruta (nodes de xarxa pels quals circular) més adequada per als paquets.
  • Identificació: Els nodes han de tenir una identificació única que els permeti distingir dels altres nodes i localitzar-los a la xarxa.
  • Control de la congestió: determina quins són els camins menys congestionats (similar al trànsit rodat).
  • Interconnexió de xarxes
  • Protocol: IP (Internet Protocol).

Nivell 4. Nivell de transport

Interficie entre software i hardware. És el protocol més important perque està al mig del software i la xarxa.

Capa de transició que connecta les aplicacions i/o usuaris amb la xarxa. És una capa de transició entre els nivells orientats a la xarxa i els orientats a les aplicacions. Treballa amb unitats de dades 4-PDU, també anomenades TPDU o segments. Té funcions similars al nivell d'enllaç (salt a salt) però entre dues màquines que no estan connectades directament (extrem a extrem). S'encarrega de preparar les dades de les aplicacions per a la xarxa i assegurar-se que arribaran correctament al nivell de transport del destinatari. Protocols: TCP (Transport Control Protocol. Orientat a connexió), UDP (User Datagram Protocol. No orientat a connexió) i ICMP (és un protocol de gestió. L'utilitzen els routers entre si per saber si el router vei funciona o no). És més ràpid el UDP (si una dada es perd, ell continua i la dada es perd. Per exemple: videoconferencies -serveis de temps real-) i més fiable el TCP (si una dada no arriba, es torna a demanar).

Funcions

  • Ofereix els serveis que no ofereix el nivell de xarxa
  • Establiment de connexió: en serveis orientats a connexió (TCP).
  • Reordenació de paquets: serveis no orientats a connexió (UDP).
  • Control d'errors: recuperació de caigudes de xarxa, reenviament de paquets, etc.
  • Control de flux (velocitat): Implementació de buffers.
  • QoS (Quality of Service): Garanteix la fiabilitat i la qualitat del servei (si es necessiten 4K per un servei de veu, es reserven per així tenir una qualitat).
  • Multiplexació de connexions: Permet tenir més d'una connexió oberta a través d'un mateix medi físic. S'utilitzen ports i el concepte de sockets.

Nivells OSI orientats a l'aplicació

Nivell 5. Nivell de sessió

Permet el diàleg entre emissor i receptor establint una sessió.

  • A través d’una sessió es pot portar a terme un transport de dades ordinari (nivell de transport).
  • Millora els serveis de la capa de transport:
  • Transmetre un fitxer gran per una línia telefònica que té caigudes cada 15 minuts. La capa de sessió es pot encarregar de la resincronització de la transferència, de manera que a la següent connexió es transmetin dades a partir de l’últim bloc tramés sense error.
  • Restauració d'un estat anterior (sessió).
  • Aquest nivell sovint es dilueix dins del nivell d'aplicació.

Nivell 6. Nivell de presentació

S’ocupa de la sintaxi i de la semàntica de la informació que es desitja transmetre (com s'encapsulen, com se presenten).

  • Coordina la representació de dades entre emissor i receptor.
  • Per exemple, un emissor que utilitza el codi ASCII i un receptor que utilitza UNICODE. Necessitem un servei de conversió i interpretació de dades que normalment proveeix la cap de presentació.
  • Sovint es tracta més de llenguatges (XML, HTML) o protocols d'interpretació de dades o formats (MIME).
  • Altres serveis:
  • Compressió de dades.
  • Xifratge de dades (Protocol SSL).
  • També és una capa que normalment es dilueix dins la capa d'aplicació.

Nivell 7. Nivell d'aplicació

És la capa superior de la jerarquia OSI i on es defineixen els protocols que utilitzaran les aplicacions i processos dels usuaris.

  • Quan dos processos es volen comunicar i resideixen en el mateix ordinador, utilitzen el Sistema Operatiu per comunicar-se (Linux utilitza dispositius especials de xarxa – loopback – per comunicar processos).
  • Si resideixen en ordinadors diferents, la capa d’aplicació dispararà els mecanismes adequats per produir la connexió entre els processos, servint-se dels serveis de les capes inferiors.

Exemples: DNS, FTP, HTTP, IMAP, IRC, NFS, NNTP, NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, SIP...

Hi ha 5 grups de protocols definits per la ISO:

  • Grup 1. Protocols de gestió del sistema. Orientats a la gestió del propi sistema de interconnexió dels ordinadors a la xarxa.
  • Grup 2. Protocols de gestió de l’aplicació. Porten el control de la gestió d’execució de processos: bloquejos, accessos indeguts, assignació i còmput de recursos, etc.
  • Grup 3. Protocols de sistema. Gestionen les tasques del sistema operatiu com el accés a fitxers, la comunicació entre tasques o processos, l’execució de tasques remotes, etc...
  • Grups 4 i 5. Protocols específics per aplicacions. Depenen absolutament de les aplicacions que els utilitzen.
ModelsxarxaJaumeS 24.png
ModelsxarxaJaumeS 25.png

La familia de protocols TCP-IP

OSIvsTCPIP.jpg

El model de referència OSI és un MODEL TEÒRIC.

ModelsxarxaJaumeS 26.png

L'arquitectura més utilitzada és TCP/IP o la família de protocols d'Internet, que és el conjunt de protocols de xarxa en que està basat Internet.

Anomenada així pels dos protocols més importants (i els que es van definir primer): Protocol de Control de Transmissió (TCP) i Protocol d'Internet (IP). Hi han més de 100 protocols diferents en aquesta família (HTTP, ARP, FTP, SMTP, POP, IMAP, TELNET, SSH, etc.). El seu origen és la xarxa militar ARPANET.

TCP/IP redueix la complexitat a 4 capes i canvia el nom a algunes capes. La unió de les capes superiors en una sola capa d'aplicació té sentit des de la perspectiva de xarxa. La separació en subcapes de la capa d'aplicació que fa OSI té més sentit per a desenvolupadors de programari.

Les capes de Transport i Internet amb els seus respectius protocols (TCP i IP) donen nom a la família.

Cada capa té un tipus de dades:

  • Unitats de dades:
  • Dades pures.
  • Segments.
  • Packets.
  • Frames.
  • Bits.

Sobrecàrrega/Overhead: Les comunicacions són més lentes del que haurien de ser.

Nivell interfície de xarxa

Adreça MAC (Medium Acces Control): Identifica una interfície de xarxa dins d'una xarxa de difusió (xarxa local Ethernet)

Nivell d'Internet

Adreça IP: Identifica una màquina a la xarxa Internet.

Protocol IP

El protocol IP és part de la capa d'Internet del conjunt de protocols TCP/IP. És un dels protocols d'Internet més importants, ja que permet el desenvolupament i transport de datagrames d'IP (paquets de dades), encara que sense garantir la seva entrega. En realitat, el protocol IP processa datagrames d'IP de manera independent al definir la seva representació, ruta i enviament.

El protocol IP determina el destinatari del missatge mitjançant 3 camps:

  • el camp d'adreça IP: adreça de l'equip.
  • el camp de màscara de subxarxa: una màscara de subxarxa li permet al protocol IP establir la part de l'adreça IP que es relaciona amb la xarxa.
  • el camp de passarel·la predeterminada: li permet al protocol d'Internet saber a quin equip enviar un datagrama, si l'equip de destinació no es troba en la xarxa d'àrea local, ...
  • Datagrama: També coneguts com a paquest. Els datagrames són dades encapsulades, és a dir, dades als que se'ls agrega un encapçalament que conté informació sobre el seu transport (com l'adreça IP de destinació).
Adreçes IP

És un nombre que identifica inequívocament un dispositiu lògic connectat a la xarxa. Dins d'una mateixa xarxa, cada adreça IP que s'utilitzi ha de ser única.

Protocol ARP

Address Resolution Protocol, és a dir, Protocol de Resolució d'Adreces. Aquest protocol s'encarrega, de manera automàtica, de resoldre i mantenir la taula d'equivalències entre les adreces MAC i les adreces IP dels nodes o màquines que es comuniquen. Al model de l'arquitectura TCP/IP, ARP és en un punt intermig entre la capa de xarxa i la capa d'internet. En canvi al model OSI és a la capa de xarxa.

  • Comanda arp: Permet gestionar la cache ARP.

Per consultar la cache, farem:

$ arp -n
ModelsxarxaJaumeS 31.png

Per eliminar entrades de la cache, fariem servir la comanda:

$ sudo arp -d 192.168.x.x
Adreces MAC

L'adreça MAC (Media Access Control) és una adreça Unicast que identifica a una interfície de xarxa de maquinari quasi de manera única. Aquesta adreça està formada per 6 bytes els quals formen 6 grups de dos lletres en hexadecimal

  • Comanda ifconfig: serveix per configurar i controlar interfícies de xarxa TCP/IP des de la línia de comandes.
$ ifconfig
ModelsxarxaJaumeS 32.png

Protocol ICMP

ICMP (Internet Control Message Protocol, Protocol de Missatges de Control d'Interxarxa) és un protocol que per al seu funcionament utilitza directament el protocol IP dins de l'arquitectura TCP/IP. La seva funció és informar de l'estat i situacions d'error en el funcionament de la capa de xarxa, sobretot en aspectes com l'encaminament, congestió, fragmentació, etc.

  • Comanda ping: permet, de forma similar a una trucada perduda, determinar si un servidor està funcionant i si s'hi pot arribar des d'una xarxa concreta amb l'ordinador des d'on es fa la prova.
ModelsxarxaJaumeS 33.png

Nivell de transport

Es troba entre la capa d'aplicació i la capa de xarxa del model TCP/IP. Dins del model de referència OSI, la capa de transport es trobaria entre la capa de sessió i la capa de xarxa. La capa de transport és la part del protocol TCP/IP encarregada de garantir la transmissió de les dades.

Port: Una màquina pot tenir múltiples connexions establertes al mateix temps. Cada connexió esta controlada per un port.

Protocol TCP

Transmission Control Protocol (TCP) és un protocol orientat a la connexió dintre del nivell de transport del model OSI que permet l'entrega de paquets de manera fiable (en el cas de TCP anomenats segments(. Això significa que abans de poder transmetre cap dada, és necessari establir una connexió entre els dos nodes que es volen comunicar. Un cop establerta la connexió, el protocol s'encarrega de garantir que les dades arriben de manera correcta, ordenada i sense duplicats al punt de destinació. Un cop finalitza la transmissió és necessari tancar la connexió. Les aplicacions que utilitzen TCP per comunicar-se no s'han de preocupar de la integritat de la informació, no han de fer cap tipus de control d'errors atès que poden assumir que tot el que reben és correcte, el mateix protocol s'encarrega de les tasques de control de flux i d'errors.

Ports i sockets

Un port específic s'identifica pel seu nombre, conegut normalment com el nombre de port, la adreça IP amb la qual està associada, i el tipus de protocol de transport utilitzat per a la comunicació.

Socket: és un parell d'adreces IP local i remota, un protocol de transport i un parell de nombres de port local i remot.

  • Escànner de ports nmap: Serveix per efectuar un rastreig de ports.
ModelsxarxaJaumeS 34.png
  • Estat de les connexions del sistema. Comanda netstat: És una eina de línia d'ordres que mostra un llistat de les connexions actives d'un ordinador, tant entrants com sortints.
ModelsxarxaJaumeS 35.png

Protocol UDP

User Datagram Protocol (UDP) és un protocol del nivell de transport basat en l'intercanvi de datagrames (paquets de dades). permet l'enviament de datagrames a través de la xarxa sense que s'hagi establert previament una connexió, ja que le mateix datagrama incorpora suficient informació de direccionament a la seva capçalera. Tampoc té confirmació ni control de fluxe, pel que els paquets poden adelantar-se uns als altres; i tampoc se sap si ha arribat correctament, ja que no hi ha confirmació d'entrega o recepció.

Nivell aplicació

És el nivell més alt del model de capes TCP/IP i també del model OSI, tot i que ofereixen serveis diferents. El model OSI defineix, en els nivells més alts, a part de la capa d'aplicació, les capes de sessió i presentació. A TCP/IP, la capa d'aplicació reflecteix la funcionalitat de les tres capes esmentades del model OSI.

La capa d'aplicació és l'encarregada de fer d'interfície entre l'usuari i la xarxa. Interactua directament amb els programes d'aplicació dels usuaris, fent ús de protocols d'alt nivell que resolen aspectes de representació, codificació i control de diàleg.

  • Protocols:
  • FTP: File Transfer Protocol. Aquest protocol permet l'accés al sistema de directoris d'un ordinador remot, així com l'enviament, la descàrrega i la pujada de fitxers. Com a mesura de seguretat, l'accés a aquests directoris està protegit per un sistema de control d'accés de l'estil usuari-contrasenya.
  • DHCP: Dynamic Host Configuration Protocol (Protocol de configuració dinàmica d'amfitrió). És un protocol de xarxa que permet als nodes d'una xarxa IP obtenir els seus paràmetres de configuració automàticament. Es tracta d'un protocol de tipus client/servidor en el que generalment un servidor posseeix una llista d'adreces IP dinàmiques i les va assignant als clients a mesura que aquestes van estant lliures, sabent en tot moment qui ha estat en possessió d'aquella IP, quant temps l'ha tinguda o a qui se li ha assignat després.
  • DNS: Domain Name Service. Proporciona el servei de traducció de noms de domini en direccions IP reals.
  • TELNET: Protocol de Servei de Connexió Remota. És un emulador de terminal que permet accedir als recursos i executar programes en un ordinador remot, actuant sobre ell com si hi estiguéssim físicament connectats.
  • SSH: És el nom d'un protocol i del programa que l'implementa, i serveix per accedir a màquines remotes a traves de la xarxa. Permet gestionar per complet l'ordinador mitjançant l'intèrpret de comandes, i també pot redirigir el trànsit del servidor X per executar programes gràfics si tenim un servidor X funcionant. A més de la connexió amb altres màquines, SSH ens permet copiar dades de forma segura (tant fitxers sol com simular sessions FTP xifrades), gestionar claus RSA per no escriure claus al connectar a les màquines i passar les dades de qualsevol altra aplicació per un canal segur de SSH. SSH treballa de forma similar a telnet.
  • HTTP: Hypertext Transfer Protocol. Proporciona el servei de pàgines web, mitjançant el qual podem sol·licitar-les a un servidor i visualitzar-les en navegadors clients.
  • SMTP, POP3, IMAP:
  • SMTP: Simple Mail Transport Protocol. Proporciona el servei de correu electrònic, permetent així l'enviament de missatges a altres usuaris de la xarxa. Aquests missatges s'envien primer a uns equips servidors especials (servidors de correu), des d'on poden ser descarregats pel destinatari final.
  • POP3: Post Office Protocol versió 3. És un protocol que s'utilitza per recollir el correu electrònic. Es tracta d'un protocol força senzill que permet poques interaccions amb el servidor de correu, normalment el correu és recuperat i esborrat del servidor. POP3 s'utilitza en un model client-servidor en el qual el servei de correu sortint utilitza de manera habitual el port 110 TCP per tal que el programari client (Thunderbird, Evolution, Outlook, etc) es connecti per recuperar el correu.
  • IMAP: Internet Message Access Protocol (Protocol d'accés als missatges d'Internet). És un protocol informàtic, basat en TCP/IP, que permet als usuaris llegir els seus correus electrònics en el servidor i tan sols descarregar missatges i fitxers adjunts en la màquina local quan sigui necessari.

DHCP

ModelsxarxaJaumeS 4.png

port d'origen: 68

port de destinació: 67

Tenim ports diferents degut a que el client s'ha d'estar executant continuament, ja que les IP's caduquen; és a dir, tenen un temps determinat.

ModelsxarxaJaumeS 5.png


  • DHCP-DISCOVER (DHCP Discovery): és una sol·licitud DHCP realitzada per un client d'aquest protocol perquè el servidor DHCP d'aquesta xarxa de computadores li assigni una Adreça IP i altres Paràmetres DHCP, com la màscara de xarxa o el nom DNS.
  • DHCP-OFFER (DHCP Offer): és el paquet de resposta del Servidor DHCP a un client DHCP davant de la seva petició de l'assignació dels paràmetres DHCP. Per això involucra la seva adreça MAC (Mitjana Access Control).
  • DHCP-REQUEST: El client selecciona la configuració dels paquets rebuts de DHCP Offer. Una vegada més, el client sol·licita una adreça IP específica que va indicar el servidor.
  • DHCP-ACKNOWLEDGE: Quan el servidor DHCP rep el missatge DHCP-REQUEST del client, s'inicia la fase final del procés de configuració. Aquesta fase implica el reconeixement DHC-PACK (enviament d'un paquet al client). Aquest paquet inclou l'arrendament de durada i qualsevol altra informació de configuració que el client pugui tenir sol·licitada.
  • DHCP-RELEASE: Si els clients envien una petició al servidor DHCP per alliberar la seva adreça IP (com els clients generalment no de broadcast). El router pot ser configurat per redireccionar els paquets DHCP a un servidor DHCP en una subxarxa diferent.

Exemple de protocol

ModelsxarxaJaumeS 3.png
ModelsxarxaJaumeS 8.png
ModelsxarxaJaumeS 9.png

S'envia un paquet SYN (màquina origen), després respón amb un paquet SYN-ACK, i per últim envia un paquet ACK.

ModelsxarxaJaumeS 12.png

Funcions d'un protocol

De protocols n'hi ha de molt variats (dels més simples als més sofisticats). Alguns exemples de funcions poden ser:

  • Detectar la connexió física existent (saber si un 1 equival a 1V, 5V, ...).
  • Establir una connexió (handshake).
  • Negociació de les característiques de la comunicació (velocitat, tassa d'error mínima, etc.).
  • Quan s'inicia o acaba un missatge i quin format té (distinguir el principi d'un missatge del final, quan es soroll, ...).
  • Que fer amb els missatges incorrectes o mal formats.
  • Com acabar una connexió.
  • Com detectar un final inesperat d'una connexió ...

Els protocols determinen:

  • El format de les dades.
  • La seva temporització.
  • La seva seqüènciació (en Internet els paquest no s'envien ordenats).
  • Com es dura a terme el control d'errors.

Associacions que determinen els protocols

  • IEEE (Institute of Electrical and Electronic Engineering).
  • ANSI (American National Standards Institute).
  • TIA (Telecommunications Industry Association).
  • EIA (Electronic Industries Alliance).
  • ITU (International Communications Union).

iperf

Eina client/servidor. Iperf és una eina de prova de xarxa d'ús general que pot crear TCP i UDP i mesurar el rendiment d'una xarxa que els està portant.

Instal·lació

$ sudo apt-get install iperf

skeleton

És un fitxer que serveix per fer un start i stop. És troba dins de:

/etc/init.d/skeleton

Creació del fitxer iperf

El tenim que crear dins de /etc/init.d/. Per això farem servir la comanda:

$ sudo cp /etc/init.d/skeleton /etc/init.d/iperf

i després modificarem el fitxer creat iperf amb la comanda:

$ sudo nano /etc/init.d/iperf

per omplir aquest fitxer amb les variables:

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Servidor Iperf"
NAME=iperf
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-s -D"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

El farem executable amb la comanda:

$ sudo chmod +x /etc/init.d/iperf

Arrancarem iperf amb la comanda:

$ sudo /etc/init.d/iperf start

I després l'utilitzarem amb la comanda:

$ sudo update-rc.d iperf defaults

Si volem que el servei s'executi per defecte al iniciar el servidor:


ModelsxarxaJaumeS 27.png

Per saber la velocitat de la nostra targeta de xarxa:

$ sudo ethtool eth0
ModelsxarxaJaumeS 28.png

Altres famílies de protocols

Família SNA IBM

Antecessor i inspiració del model OSI. Apareix al 1974

Família Novell Netware

Protocol IPX.

Família AppleTalk

Empresa Apple.

Família NetBeui

Windows (Samba).

Exemple de programació en PHP

shebang

Comença amb el símbol d'interrogació i php

<?php
  • <: etiqueta de preprocessament

Les línies sempre acaben en ;

Exemple de programa: hola mon!

#!/usr/bin/php
<?php
echo "Hola mon!";
?>
ModelsxarxaJaumeS 10 1.png

Per a que un fitxer es pugui executar per si sol, ha de tenir permissos d'execució. Si li treiem el shebang, aquest fitxer no es podrà executar, ja que no sap quin programa interpreta. Si un programa no funciona pot ser perquè:

  • no sap quin intèrpret és.
  • no tens l'interpret.
  • sintaxis erronia.
  • no tenir permisos per executar.

Per connectar-se a una màquina:

<?php
$ip = "192.168.202.100";
$port = 80;

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$socket) {
    echo "error creando el socket\n";
    die();
}

$result = socket_connect($socket, $ip, $port);

if (!$socket) {
    echo "error connectando\n";
    die();
}

?>

Necessitem IP i port.

Per fer un socket, necessitem domini, tipus i protocol. Tots en enter. Tot i que a l'exemple de dalt no ho sembla, són variables que contenen enters (per això estan en majúscules).

  • Domini:

AF_INET IPv4 Internet based protocols. TCP and UDP are common protocols of this protocol family. AF_INET6 IPv6 Internet based protocols. TCP and UDP are common protocols of this protocol family. AF_UNIX Local communication protocol family. High efficiency and low overhead make it a great form of IPC (Interprocess Communication).

  • Tipus:

SOCK_STREAM Provides sequenced, reliable, full-duplex, connection-based byte streams. An out-of-band data transmission mechanism may be supported. The TCP protocol is based on this socket type. SOCK_DGRAM Supports datagrams (connectionless, unreliable messages of a fixed maximum length). The UDP protocol is based on this socket type. SOCK_SEQPACKET Provides a sequenced, reliable, two-way connection-based data transmission path for datagrams of fixed maximum length; a consumer is required to read an entire packet with each read call. SOCK_RAW Provides raw network protocol access. This special type of socket can be used to manually construct any type of protocol. A common use for this socket type is to perform ICMP requests (like ping). SOCK_RDM Provides a reliable datagram layer that does not guarantee ordering. This is most likely not implemented on your operating system.

  • Protocol:

icmp: The Internet Control Message Protocol is used primarily by gateways and hosts to report errors in datagram communication. The "ping" command (present in most modern operating systems) is an example application of ICMP. udp: The User Datagram Protocol is a connectionless, unreliable, protocol with fixed record lengths. Due to these aspects, UDP requires a minimum amount of protocol overhead. tcp: The Transmission Control Protocol is a reliable, connection based, stream oriented, full duplex protocol. TCP guarantees that all data packets will be received in the order in which they were sent. If any packet is somehow lost during communication, TCP will automatically retransmit the packet until the destination host acknowledges that packet. For reliability and performance reasons, the TCP implementation itself decides the appropriate octet boundaries of the underlying datagram communication layer. Therefore, TCP applications must allow for the possibility of partial record transmission.

Si retorna 0, tot és correcte. Qualsevol altre número, és un error. I cada número, és un error diferent.

if (!$socket) {
    echo "error creando el socket\n";
}

If: si el de dins és cert, fare el que està entre cometes. Si no és cert (false), donarà un missatge.

ModelsxarxaJaumeS 11.png

S'envia un paquet SYN (màquina origen), després respón amb un paquet SYN-ACK, i per últim envia un paquet ACK. El port que agafa sempre serà un número diferent.

ModelsxarxaJaumeS 12.png


Arquitectura de xarxa

Arquitectura client-servidor

thumbs

Relació establerta entre dues entitats. El servidor que ofereix un recurs de qualsevol tipus (físic, de programació, de dades, etc.) i el client, entitat que en treu un profit o avantatge.

Quasi sempre implementat en xarxa però també podem trobar client i servidor a la mateixa màquina. A les entitats les anomenen també nodes. Normalment un servidor és utilitzat per múltiples clients. En l'actualitat és el model de desenvolupament d'aplicacions més utilitzat:

  • Clients: aplicacions gràfiques (GUI).
  • Servidors: Processament i emmagatzemament de dades (base de dades).

També anomenat paradigma Client-Servidor. Principal problema: escabilitat.

Arquitectura Peer to Peer

thumbs

Arquitectura que defineix un sistema de comunicació que no té clients ni servidors fixes. Els nodes es comporten alhora com clients i com servidors dels altres nodes de la xarxa.

Tots els nodes són elements actius de la xarxa. Diversitat en els nodes (configuració, velocitat, capacitat d'emmagatzematge...). En una xarxa P2P pura no existeix diferenciació entre clients i servidors.

  • Comunicació horitzontal: Aquests tipus de sistemes permeten la distribució de continguts d'una forma molt senzilla i econòmica, trencant el tradicional sistema vertical on sols les grans empreses amb suficient potencial econòmic podien permetre's el luxe de fer arribar continguts a tanta gent.


Sistemes mixtes

  • Correu electrònic
  • SMTP: xarxa Peer To Peer de enrutadors de correu.
  • POP3 i IMAP: Protocols client-servidors per consultar el correu electrònic.
  • UseNet News
  • La propagació de les notícies la fan els nodes per les notícies en si s'obtenen de servidors concrets.
  • Emule, Kazaa o similars
  • La transmissió de fitxers es fa entre iguals (Peers).
  • Els servidors emmagatzemen un index dels fitxers existents als Peers o iguals, així com altres dades importants per establir la connexió.
  • El sistema de Torrents també necessita de cercadors en pàgines web per indexar els fitxers que es comparteixen.

Sistemes distribuïts

Sistema de programari construït sobre una xarxa amb la finalitat que una sèrie de recursos heterogenis d'aquesta xarxa apareguin a l'usuari final com un sistema funcional únic i homogeni.

La computació distribuïda és un nou model informàtic que permet fer grans càlculs utilitzant múltiples ordinadors. Els costos econòmics d'un sistema distribuït són menors que els de un superordinador. De fet la majoria de supercomputadors moderns són sistemes distribuïts (múltiples CPUs treballant en paral·lel). Per exemple: Mare Nostrum, SETI, ...