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)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 102 (torneu a la resta de temes)
Fitxers: LPI109_XarxesTCPIP.pdf (LPI109_XarxesTCPIP.odp), Curs Moodle Crèdit Xarxes
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_102_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_102/109.1
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Objectius del tema

109.1. Fonaments dels protocols d'Internet
Objective.jpg
  • Objectiu: Els candidats han de demostrar que comprenen els fonaments de les xarxes TCP/IP
  • Pes: 4
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Text-editor.svg

Apunts: LPI 109.1. Fonaments dels protocols d'Internet

Plantilla per prendre apunts

Arquitectures de comunicacions

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 d'associacions d'estàndards internacionals. 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 de protocols de xarxa:

NOTA: Atenció: En la vida real els protocols no són obligatoris i són una opció que podem adoptar o no, però en les comunicacions són IMPRESCINDIBLES per al correcte funcionament de la xarxa

Exemple de protocol. Trucada de telèfon

ExempleTrucadartelefonica1.png

Per a trucar seguim un protocol amb els següents passos:

  • 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

És un protocol orientat a connexió amb 3 fases:

  • Connexió o handshake
  • Transmissió de dades (pot ser half-duplex o full-duplex, el telèfon és full-duplex)
  • Tancament de la connexió

Qüestions a tenir en compte:

  • El servei que hem vist és el servei de connexió (CONNECT) i utilitza totes les primitives fonamentals OSI per què és un servei orientat a connexió i confirmat.
  • Fixeu-vos que les entitats (persones i telèfons) és comuniquen amb entitats iguals utilitzant protocols.
  • Les persones (capa n+1) només necessitem saber com funcionen els telèfons (capa n). No ens cal conèixer la resta de capes
  • El telèfons realment no es comuniquen directament entre si, si no que ho fan a través de les centrals telefòniques, cables, etc.


S'utilitzen diagrames com els següents per tal de representar diferents tipus de protocols:

Per posar un exemple de protocol de xarxa real, consulteu DHCP:

DHCPProtocol.png

Funcions d'un protocol

De protocols n'hi ha de molt variats, dels més simples (per exemple ARP) als més sofisticats (com DHCP o FTP) segons les funcions que han de desenvolupar.

Alguns exemples de funcions típiques d'un protocol:

  • Detectar la connexió física existent
  • 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é.
  • Que fer amb els missatges incorrectes o mal formats
  • Com acabar una connexió
  • Com detectar un final inesperat d'una connexió...

Els protocols sovint també determinen:

  • El format de les dades
  • La seva temporització
  • La seva seqüènciació
  • Com es dura a terme el control d'errors

Associacions de protocols de xarxa

Els protocol de xarxa estan regulats per associacions d'estàndards internacionals com:

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

Model arquitectònic de xarxa

Definició: És el conjunt organitzat de capes i protocols d'una xarxa
  • L'objectiu de definir un model i organitzar la xarxa d'una forma concreta é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
  • La gran majoria de models arquitectònics de xarxa actuals estan organitzats en capes
  • Les capes estan jerarquitzades en capes superiors i capes inferiors. Cada capa ofereix els seus serveis a la capa superior.

Cal que definim doncs que es una capa i que és una interfície:

  • 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.
  • Interfície: Són les normes de comunicació entre dues capes consecutives. La interfície és el conjunt de serveis i operacions que una capa inferior ofereix a una capa superior.
  • Molts d'aquests conceptes també són aplicables en altres àrees de la informàtica (programació – programació modular-, GUI, programació orientada a objectes, encapsulament)
ModelArquitectonicXarxa.png
  • 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).
  • La primera capa és una excepció per què es comunica directament amb el medi físic.

Els avantatges d'aquest model per capes són:

  • Permet que diferents tipus de maquinari i programari (de diferents empreses i desenvolupadors) es comuniquin entre si.
  • Augmenta la interoperabilitat dels sistemes.
  • Impedeix que els canvis en una capa afectin a la resta de capes (encapsulament, caixa negra)
  • Facilita la normalització i estandardització dels components de xarxa
  • Divideix la complexitat d'una comunicació a través d'una xarxa en parts més petites.
  • És fàcil incorporar millores i nous serveis per què no afecten a totes les capes.

I els inconvenients:

  • Cada capa que s'introdueix augmenta la complexitat del sistema.
  • El model TCP/IP té menys capes i es va orientar més a les capes baixes (físic/enllaç i xarxa) i va deixar menys normativitzat les capes altes (transport i aplicació).
  • És impossible cobrir tots els casos amb capes. Cas de les subcapes MAC i subcapa d'enllaç del nivell dos en xarxes amb medi compartit (P. ex Ethernet).

Cada capa conté les dades més informació de control que permeti que les dades es transmetin de forma correcta per la xarxa.

Model de Caixa Negra/Encapsulament. Cada capa és una caixa negra 
  Per què és bo no saber com resol els problemes (dona serveis) una capa inferior?  
  Per què així no podem fer suposicions al nivell superior que després no es compleixen si canviem la caixa negra.
  Vist d'un altre manera, si ens canvien la caixa negra per un altre que és diferent per dins però igual per fora ens donàrem compte?

Model OSI

Vegeu també Encapsulació

Les xarxes van néixer sense una forma de fer comuna. A principis dels anys 80 es va disparar l'existència de xarxes i van començar a sorgir grans problemes de compatibilitats. Aleshores l'Organització Internacional per l'Estandardització (ISO) va decidir posar ordre establint-hi un model estàndard de referència:

Model OSI: Open Systems Interconnection Basic Reference Model

OSI és un sistema obert. El concepte de sistema obert va ser proposat inicialment per la ISO (International Organization for Standardization. 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.


Què succeiria si no haguessin models i estàndards en les comunicacions? EL CAOS! simbolitzat per la història bíblica de la TORRE DE BABEL

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)

NOTA: OSI vs TCP/IP: El model TCP/IP es va desplegar més ràpid (molt relacionat amb Internet. Tot i això, OSI s'utilitza com a model de referència per ensenyar xarxes.

ModelOSI1.png
ModelOSI2.png

Serveis del telèfon Transmissió de veu i/o Transmissió de dades

  • Trucada en espera, trucada a tres, accés al contestador...
  • Cada servei té un protocol diferent de funcionament
ModelOSI3.png

Conceptes

  • Entitats: Són els elements actius que hi ha a cadascuna de les capes. Hi ha entitats de programari (com els processos) o entitats de maquinari (com els xips encarregats de fer la E/S de dades). Les entitats d'una mateixa capa però localitzades en màquines diferents són anomenades entitats parells.
  • SAP: Punt d'accés a serveis. Els SAP són els punts d'entrada (“portes”) en els que una capa pot trobar disponibles els serveis de la capa immediatament inferior. Cada SAP té una adreça que l’identifica.
  • IDU: Interface Data Unit o Unitat de dades de la interfície. És el bloc informatiu que l’entitat de capa N passa a l’entitat de capa N -1 a través de la interfície N/N-1.
  • SDU: Service Data Unit. Unitat de dades del servei. Cada IDU està composat per un camp amb informació per al control de la interfície (camp ICI) i de un segon camp anomenat SDU, que és la informació que es passa a través de la xarxa a l’entitat parella, és a dir, al seu equivalent en el host destinatari.
  • ICI: Interface Control Information
  • PDU: Protocol Data Unit o Unitat de dades del protocol.La informació del SDU no sempre es pot transmetre en directe. De vegades cal fraccionar-la ja que la seva mida és massa gran i sempre s'ha d'afegir informació de control.
  • Capçalera: Informació de control del protocol
ModelOSI4.png

Cada capa té un tipus de dades i s'utilitzen diferents noms:

NomsSegments.png
  • Dades pures
  • Segments
  • Packets (Paquets)
  • Frames (Trames)
  • Bits

Observeu que les comunicacions són “més lentes” (overhead) del que haurien de ser en un entorn ideal.

Recursos:

Capes OSI

NivellsOSI.png

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

Nivells o capes orientats a xarxa. 3 nivells:

Nivell de transport

Nivells orientats a aplicació/usuari

Propietats

  • Una capa és un nivell d'abstracció lògic que defineix un conjunt d'operacions funcions o serveis. Existeixen tantes capes com serveis
  • Cada capa té una funció o servei perfectament definit
  • Les funcions es defineixen de forma que siguin fàcil de crear estàndards
  • Cal disminuir al màxim el flux d'informació entre capes
  • Hi ha tantes capes com sigui necessari de forma que no hi hagin funcions molt diferents en una mateixa capa.
Protocols1.png
Protocols2.png

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.
Protocol: Ethernet

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 (MAC)
  • Gestió de l'enllaç: per controlar la transmissió cal enviar dades “pures” i dades de control de l'enllaç.
El protocol més utilitzat és Ethernet.

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

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.

Funcions

  • Ofereix els serveis que no ofereix el nivell de xarxa
  • Establiment de connexió: en serveis orientats a connexió.
  • Reoordenació de paquets: serveis no orientats a connexió.
  • Control d'errors: recuperació de caigudes de xarxa, reenviament de paquets, etc.
  • Control de flux: Implementació de buffers.
  • QoS (Quality of Service): Garanteix la fiabilitat i la qualitat del servei.
  • 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.
Protocols: TCP (Transport Control Protocol) i UDP (User Datagram Protocol)

Consulteu també:

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.

  • 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 de protocols: 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.

Mnemotècnics per recordar els noms de les capes

“Fernando esta recordando todos sus primeros años”
“All Pretty Serious Teenagers Never Do Physics”

Xarxes TCP/IP

IMPORTANT: El model de referència OSI és un MODEL TEÒRIC. No hi ha ninguna arquitectura de xarxa que sigui 100% OSI

OSIvsTCPIP1.png

Quina arquitectura és doncs la més utilitzada?

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 esta basat Internet.
  • També anomenada la família de protocols d'Internet
  • Anomenada així pels dos protocols més importants (i els que es van definir primer): Protocol de Control de Transmissió (TCP) y 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.
OSIvsTCPIP2.png
OSIvsTCPIP3.png

Els paràmetres més importants capes TCP/IP són:

Nivell d'interfície de xarxa

Nivell d'Internet

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

Nivell de transport

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

Ethernet

Consulteu Ethernet

Protocol IP

Consulteu IP.

Adreces IP

Consulteu Adreça IP.

Màscares de xarxa

Consulteu Màscara de xarxa.

Enrutament. Taules de rutes

Consulteu l'ordre route i IP#Encaminament.

Configuració de nodes de xarxa

Consulteu:

Protocols de transport. TCP i UDP

Consulteu Nivell_de_transport_TCP/IP.

Ports

ICMP

Consulteu ICMP.

Fitxers de configuració

/etc/services

Consulteu /etc/services.

Altres fitxers de configuració

Consulteu Xarxes_Linux#Fitxers_de_configuraci.C3.B3.

Ordres

ftp

Consulteu ftp.

telnet

Consulteu telnet.

host

Consulteu host.

ping

Consulteu ping.

dig

Consulteu dig.

traceroute

Consulteu traceroute.

Altres ordres de xarxa

Consulteu Xarxes_Linux#Comandes_de_xarxa.

tracepath

Consulteu tracepath

Vegeu també