Sistemes de transport de dades

Arquitectures de comunicacions. Nivell xarxa. Interficie amb aplicacions. Servidor de noms

  • Enviado por: Alberto Seco
  • Idioma: castellano
  • País: España España
  • 28 páginas
publicidad

SISTEMES DE TRANPORT DE DADES

TEMA 1.- REVISIÓ DE LES ARQUITECTURES DE COMUNICACIONS

TEMA 1.- REVISIÓ DE LES ARQUITECTURES DE COMUNICACIONS

Models jeràrquics: ISO i Internet

El protocol és la forma de que dos nivells s'entenguin.

Entitat: creació d'un proces que fa un funció d'un nivell. Un nivell pot ser programat pr un o diverses entitats, i es comuniquen amb d'altres nivells amb els Service Acces Point.

Un nivell ha de definir les funcions que realitza el protocol per comunicar-se amb d'altres nivells del mateix tipus, i la interficie de comunicació entre els diferents nivells.

Funcions dels nivells OSI:

  • Físic: definició mecànica i elèctrica de la interfície de xarxa. Conectors, cables, etc.

  • Enllaç: control de conexió de dades.

  • Xarxa: sortida de la xarxa, adreçament, etc. El protocol IP es comú a totes les xarxes.

  • Tranport: protocol extrem a extrem, i ha de ser independent de a xarxa. En aquest nivell el protocol és el TCP.

  • Sessió: només en l'arquitectura OSI. Dialeg entre les diferents entitats.

  • Presentació: representació d'estructures de dades unica per qualsevol xarxa. Traducció d'ASCII a codi d'altres màquines, etc.

  • Aplicació: transferencia de fitxers, web, etc.

Els nivells de TCP-IP són els següents:

  • Físic: mateixa funció que l'anterior.

  • Internet: interconexió - IP.

  • Transport: TCP-UDP. El TCP ofereix un control d'errors (OSI) però el UDP no ofereix aquest control d'errors, al no utilitzar aquest control triga menys en realitzar la comunicació i per tant es molt útil per aplicacions en temps real.

  • Aplicació.

Cada nivell te el seu PDU (Protocol Data Unit) que són les trames. En el nivell xarxa les trames s'anomenen paquets i si estem parlant de TCP se'n diuen Datagrames. En cada nivell s'afegeix la capçalera corresponent al paquet o trama que ens ha arribat del nivell superior.

El PDU d'un nivell passarà a ser el SDU (Service Data Unit) del nivell següent, al qual s'afegirà la capçalera formant així el nou PDU.

Els terminals estan conectats a nodes que es conecten a les xarxes. Aquests nodes no tenen que implementar tots els nivells, sino que nomes amb els nivells físic, d'enllaç i de xarxa n'hi ha suficient. Per tant el nivell de transport te un protocol d'extrem a extrem, es a dir, es comunica directament amb l'altre terminal o DTE (Data Terminal Equipment).

Segons el tipups de xarxa s'hauran d'implementar tots els nivells o nomès els bàsics:

  • Commutació de paquets: ha d'implementar els tres nivells més baixos.

  • Connexió punt a punt: només necessita el nivell físic, aquest tipus de connexió es fa via modem, port serie, etc. Al ser una connexió punt a punt no hi ha xarxa, sino que només existeix el cable que uneix els dos equips o el modem. En aquestc as el nivell 3 o xarxa esta buit i no te cap funció.

  • Commutació de circuits: és una connexió molt similar a la connexió punt a punt, però sense un sol cable, es a dir, hi han molts cables però es busca un camí, el qual serà únic i dedicat a la connexió..

  • LAN's: aquest tipus e xarxes tenen un bus que es conecta al nivell físic, es a dir, és un medi compartit. En aquestes xarxes el nivell 3 o xarxa també està buit ja que no hi ha fases de connexió, desconnexió, ni tampoc te un encaminament.

Els repetidors treballen a nivell físic i retransmenten bits.

Els bridges treballen a nivell d'enllaç de dades i retransmeten trames MAC.

Els routers treballen a nivell de xarxa i retransmeten paquets. Aquests s'utilitzen per conectar diferents xarxes, ja que les xarxes poden tenir diferents protocols, diferent mida dels paquets, i per tant no e spoden conectar les xarxes directament, sino que necessiten un intermediari.

Els gateways o conversors de protocols treballen per la resta de nivells.

Serveis de comunicació

Un model de referencia és un model abstracte que no indica com s'implementa una connexió, sino que indica quines regles ha de seguir la xarxa.

Servei: conjunt de funcions que ofereix un nivell a l'usuari d'aquest nivell o servei. Un nivell ofereix els serveis a d'altres nivells mitjançant el SAP (Service Acces Point) que és el punt mitjançant el qual l'usuari d'un servei es conecta al servidor d'aquest servei.

En l'arquitectura OSI els serveis entre capes adjacents s'expresen en termes de primitives i paràmetres. Una primitiva especifica la funció que es realitzarà i els paràmetres s'utiltzen per passar dades i informació de control. Les primitives d'un servei són senyals que s'utilitzen per indicar com va la comunicació entre nivells. Les primitives són:

  • REQUEST o PETICIÓ: primitiva emessa per un usuari de servei per invocar algun servei i pasar els paràmetres necessaris per especificar completament el servei sol.licitat.

  • INDICATION o INDICACIÓ: una primitiva emessa per un suministrador de servei per: indicar que ha sigut invocat un procediment per l'usuari de servei en la conexió i per suministrar els paràmetres asociats o notificar a l'usuari de servei d'una acció iniciada pel suministrador.

  • RESPONSE o RESPOSTA: primitiva emesssa per un usuari de servei per confirmar o completar algun procediment invocat previament mitjançant una indicació a aquest usuari.

  • CONFIRM o CONFIRMACIÓ: primitiva emessa per un suministrador de serveii per confirmar o completar algún procediment invocat previament mitjançant una petició per l'usuari del servei.

Segons el nombre de primitives que intervinguin en una conexió tindrem diferents tipus de serveis:

  • Servei confirmat (confirmed Service): es aquell que te les quatre primitives

  • Servei no confirmat (Unconfirmed Service): aquell que nomès te les primitives request i indication.

A més d'aquest tipus de serveis hi han dos tipus mñes de serveis:

  • Orientat a la conexió(Connection Oriented CO): es caracteritza per una fase d'establiment de la connexió on la primitiva és CONNECT. Una fase de transferencia de dades amb la primitva DATA. I l'última fase que és l'acabament de la connexió amb les primitives RELEASE, ABORT o P-ABORT, segons com hagi acabat la comunicació: be, erronea o tallada pel servidor.

  • Sense connexió (Connectionless CL): en aquest cas només hi ha transferencia de dades amb la primitva UNIT DATA.

El model OSI esta pensat per a que sigui orientat a la connexió però alguns nivells poden ser sense connexió.

  • Nivell Aplicació, Presentació, Sessió i Transport: es CO, però estranyament es pot probar que sigui CL

  • Xarxa i Enllaç de dades: poden ser, indistintivament, CO o CL.

  • Físic: és CO.

Protocols de comunicació

Per a que dues entitats es comuniquin amb èxit han de parlar el mateix llenguatge. Que comuniquen, com es comuniquen i quan lo han de fer han de constituir un conjunt de regles aceptades mutuament entre les entitats involucrades. El conjunt de convencions es denomina protocol, que pot definir-se com un conjunt de normes que gestionen l'intercanvi de dades entre dos entitats. Els elements clau d'un protocol són:

  • Sintaxis: compren qüestion com format de dades, codificació i nivels de senyal.

  • Semàntica: compren informació de control per a la coordinació i la gestió d'errors.

  • Temporització: compren la coordinació en la velocitat i l'ordre seqüèncial.

Les dades a intercanviar han de ser enviats en trames amb un format específic (sintaxis). El camp de control proporciona funcions de regulació, com especificació de moe i establiment de conexió (semàntica). També s'incorporen metodes pel control de fluxe (temporització).

Les funcions que formen la base de tots els protocols:

  • Segentació i ensamblatge: la segmentació consisteix en dividir un missatge d'un nivell superior en trossos mes petits que utilitzi el nostre protocol. Eventualment les dades segmentades han d'agrupar-se en missatges apropiats per al nivell d'aplicació.

  • Encapsulament: a les PDU de nivell superior se li afegeix una capçalera i una cola, aquest afegiment d'informació (normalment de control) és l'encapsulament

  • Control de conexió.

  • Entrega ordenada de les trames.

  • Control de fluxe: és una funció realitzada per l'entitat receptora per limitar la quantitat o taxa de dades que envia l'entitat emissora.

  • Control d'errors: técniques per gestionar laperdua o els errors de dades i informació de control.

  • Adreçament.

  • Multiplexació.

  • Serveis de transmissió:un protocol pot oferir una gran varietat de serveis addicionals a les entitats que facin us d'ell.

Normalitació

Aventatges de l'estandarització:

  • Un estàndar assegura un gran mercat. Això estimula la producció massiva.

  • Un estàndar permet que els productes de diferents suministradors es comuniquin, dotant així de major flexibilitat en la selecció i us dels equips.

Les principals desaventatges són:

  • Els estàndars tendeixen a congelar la tecnologia. Mentre que un estàndar es desenvolupa, es revis i s'adopta, s'haurà desenvolupat d'altres tècnologies mes eficaces.

  • Hi han molt estàndars per a la mateixa funció.

TEMA 2.- NIVELL XARXA

Introducció

Aquest nivell proporciona independencia als nivells superiors respecte a les técniques de conmutació i de transmissió utilitzades per conectar els sistemes; es responsable de l'estaliment, manteniment i tancament de les conexions.

Aquesta capa o nivell proporciona els mitjans per a la transferencia d'informació entre sistemes finals a través d'algun tipus de xarxa de comunicació. Llibera a les capes superiors de la necessitat de teir coneixement sobre la transmissió de ades i les tecnologies de conmutació utilitzades per conectar els sistemes. En aquest nivell, el sistema computador esta immers en un diàleg amb la xarxa per especificar l'adreça destí i solicitar certes facilitats de la xarxa, com prioritat. En una connexió punt a punt entre dos estacions, no existeix la necessitat d'una capa de xarxa ja que la capa d'enllaç de dades pot proporcionar les funcions necessaries de gestió d'enllaç.

Termes d'interconexió de xarxes:

  • Xarxa de comunicació: un sistema que proporciona un servei de transferencia de dades entre estacions conectades a la xarxa.

  • Internet: una col.lecció de xarxes de comunicació interconectades per ponts o dispositius d'encaminament.

  • Subxarxa: fa referència a una xarxa constitujent d'una internet. Això evita certa ambigüitat ja que des del punt de vista de l'usuari la internet entera és una única xarxa.

  • Sistema final (ES): dispositiu conectat a una de les subxarxes d'una internet que s'utilitza per implementar les aplicacions o serveis de l'usuari final.

  • Sistema intermig (IS): dispositiu utilitzat per conectar subxarxes i permetre la comuniació entre sistemes finals connectats a diferents subxarxes.

  • Pont (brige): un IS utilitzat per conectar dos xarxes LAN que utilitzen el mateix protocol LAN, El pont actua com un filtre d'adreces, recollint paquets d'una LAN que van dirigits a un destí en una altra LAN i pasant-los cap endavant. El pont no modifica el contingut del paquet, ni incorpora res al mateix. El pont opera en el nivell 2 del model OSI.

  • Dispositius d'encaminament (router): un IS utilitzat per conectar dos xarxes que poden o no ser similars. El dispositiu d'encaminament utilitza un protocol de internet present en cada dispositiu d'encaminament i en cada computador de la xarxa. El dispositiu d'encaminament opera en el nivell 3 del model OSI.

Els requisits globals del sistema d'interconexió de xarxes es pot expresar en termes generals. Aquest requisits són:

  • Proporcionar un enllaç entre xarxes (nivell 2).

  • Proporcionar un encaminament (nivell 3) i entrega de les dades entre processos en diferents xarxes.

  • Proporcionar un servei de contabilitat que realitzi un seguiment de la utilització de les diferents arxes i dispositius d'encaminament i mantingui informació de l'estat.

  • Proporcionar les serveis mencionats de forma que no es requereixi la modificació de l'arquitectura de la xarxa de qualsevol de les xarxes interconectades. Algunes de les diferencies de les diferents xarxes poden afectar a:

· Diferents esquemes d'adreçament: les xarxes poden utilitzar diferents noms i adreces dels punts finals.

· Diferent tamany màxim de paquets: pot ser que s'hagi e trocessar un paquet en unitats mes petites al passar per una altra xarxa.

· Diferents mecanismes d'acces a la xarxa: el mecanise d'acces de l'estació a la xarxa podría ser diferent per estacions en xarxes diferents.

· Conexió, sense connexió: les arxes individuals poden proporcionar un servei orientat a la conexió (circuits virtuals) o no orientats a la conexió (datagrama). Es desitjable que el servei entre xarxes no depengui de la naturalessa del servei de conexió de les xarxes individuals.

· Tècniques d'encaminament: l'encaminament dintre de la xarxa pot dependre de la detecció d'errors i de les técniques de control de congestió particulars de cada xarxa. El sistema d'interconexió entre xarxes ha de ser capaç de coordinar aquestes técniques per encaminar les dades adaptativament entre les estacions de les diferents xarxes.

Estructura interna del nivell Xarxa

El nivell Xarxa es divideix en tres parts per facilitar la comunicació amb el nivell d'enllaç i el nivell de transport. Les tres parts són les següents:

· SNICP(SubNetwrok Independent sublayer Protocol): dona un única interficie cap al nivell superior i és el que implementa les funcions necessaries per assolir la transparència de les xarxes).

· SNDCP (SubNetwork Dependent Convergence sublyare Protocol): depen de la subxarxa a que estigui connectat, però es un nivell intermedi que adapta els serveis de xarxa del SNACP al SNICP, es a dir, adpata adreces.

· SNACP (SubNetwork Access sublayer Protocol): depen només del tipus de subxarxa que hi hagi sota, es a dir, fa unes funcions similars a la cap d'enllaç de dades.

El següent esquema indica la interconexió e xarxes amb aquestes tres parts del nivell xarxa:

Si A i B son xarxes del mateix tipus (per exemple LAN's CSMA-CD) els subnivells SNDCP i SNICP no tendrien cap funció.

En canvi si A fos una LAN CSMA-CD (802.3) i B una LAN Token Ring (802.5), llavors SNDCP tindria les funcions de routing i adaptació de la mida del paquet, i el subnivell SNICP tindria la funció de routing.

El següent esquema mostra un exemple d'interconexió via IP, en la que dos LAN s'interconecten mitjançant una WAN de conmutació de paquets X.25.

t1, t6, t7, t10, t11, t16:

IP-H

TCP-H

DATA

t2, t5:

LLC1-H

IP-H

TCP-H

DATA

t3, t4:

MAC1-H

LLC1-H

IP-H

TCP-H

DATA

MAC1-T

t8, t9:

P-H

IP-H

TCP-H

DATA

t12, t15:

LLC2-H

IP-H

TCP-H

DATA

t13, t14:

MAC2-H

LLC2-H

IP-H

TCP-H

DATA

MAC2-T

Leyenda de la figura de la pagina anterior:

xxx-H: Capçelera del nivell xxx

xxx-T: Cua del nivell xxx

P-H: capçelera del paquet X.25.

La figura mostra el funcionament del protocol d'interconexió per a les dades intercanviades entre el computador A i el B a través d'una WAN. La figura mostra el format de la unitat de dades en cada etapa. Els sistemes i els dispositius d'encaminament finals han de compartir el mateix protocol que hi ha per sobre de IP. Els dispositius d'encaminament intermitjos només necessiten implementar fins al protocol IP.

Podem fixar-nos que l'unica capçalera que es manté inalterada és la del protocol IP, ja que IP incorpora, entre d'altres coses l'adreça global d'internet. Aquesta adreça, lògicament, consta de dos parts: un identificador de la xarxa i un indetificador del sistema final.

Servei Xarxa

El servei de xarxa ho dona la xarxa a la qual ens hem conectat. Aquests serveis poden ser:

· El servei CONS (Connection Oriented Network Service) es basa en circuits virtual i per tant hi ha un reserva de recursos (enllaços, ample de banda, memòria de buffers, etc.) i aquests recursos nomès seràn utilitzats per aquesta connexió. L'encaminament només es fa una vegada i per tant una vegada establert el camí serà fix. Amb la reserva de recursos es pot garantir una qualitat de servei (QoS). En aquest cas l'establiment de la connexió és costos ja uqe s'ha de buscar el camí òptim, fer la reserva de recursos, etc. La reserva de recursos es manté fins que es fa la desconnexió i per tant si no s'utilitzen per la connexió es desaprofiten.

· El servei CLNS (ConnectionLess Network Service) no te reserva de recursos i per tant no hi ha QoS. Si hi ha un error en alguna xarxa intermitja, el paquet busca un altre camí alternatiu. Per tant l'encaminament es fa per cada PDU, i no se sap per on van el paquets i per tant es molt díficil de tarificar aquests serveis. Els protocols de transport han de ser complexos per comprobar tots els possibles errors.

La transferència de PDU entre terminals ha de ser transparent per a les diferents xarxes:

  • Però les xarxes per on passa el PDU poden ser diferents.

  • Adreçament: cada tipus de xarxa te la seva propia adreça, comp podria ser el IEEE de 6 octets, l'IP de 4 octets, l'ATM de 8 octets, etc.

El E.164 és l'adreça estàndara de ISO i te el següent format:

IDP

SDP

AFI

IDI

IDP: Initial Domain Part

AFI: Authority and Format Id

IDI: Initial Domain Id

DSP: Domain Specific Part.

  • Binding: connexió per trobar el camí o path, està relacionat amb l'encaminament. Els IS (Intermediate System) o routers gestionen aquest encaminament. La forma de trobar el camí de forma transparent es utilitzar una identificació universal per accedir a les xarxes. Per l'encaminament tenim el ARP (Adress Resolution Protocol)

  • QoS: aquest dependerà del tipus de connexió, ja sigui CO o CL.

  • FASE

    PARAMETRE QoS

    CO

    CL

    establiment

    retard

    prob. fallida

    X

    X

    transferencia de dades

    throughput (flux info)

    retard

    taxa d'errors residuals

    prob. fallida transf.

    X

    X

    X

    X

    X

    X

    Desconexió

    retard

    prob. fallida

    X

    X

    General

    protecció de PDU

    prioritat de PDU

    cost economic

    X

    X

    X

    X

    X

    X

    Les primitives del servei de xarxa són les mateixes que les el model OSI, però amb un nom diferent:

    • N-CONNECTION.REQUEST

    • N-CONNECTION.INDICATION

    • N-CONNECTION..RESPONSE

    • N-CONNECTION.CONFIRMATION.

    I al igual que en el model OSI la connexió CO te les quatre primitives i la connexió CL només te les dues primeres, però el prefix és:

    N-UNITDATA.primitiva

    ISO IP

    El protocol ISO IP es un protocol amb serveis no orientats a la conexió (CLNS) i les primitives tenen el següent format:

    N-UNITDATA.REQUEST (@ font, @destí, QoS, dades-usuari-NS-UserData)

    N-UNITDATA.INDICATION (@font, @destí, QoS, N-UserData)

    Els paràmetres de qualitat de servei poden ser, entre d'altres:

    • retard extrem a extrem (transit delay)

    • prioritat de les dades, hi hauran dades més prioritaries que d'altres i si s'han de perdre, les menys prioritaries seran les mes afectades.

    • encriptar dades.

    • cost.

    El format de la capçalera de la trama ISO IP és el següent:

    · Protocol ID: identifica quin és el protocol amb el qual tteballem.

    · Length Id: indica quan octets te la capçalera.

    · Versió: indica la versió del protocol que estem utilitzant.

    · PDU Lifetime: aquest camp ho fixa l'estació font i indica el temps de vida del datagrama dins de la xarxa. El temps va desde 500 ms a 127 seg. Això implica que cada unitat representa 500 ms. Aquest camp disminueix en una unitat cada vegada que el datagrama passa per un router.

    · SP (Segmentattion Permitted): indica que es permet la segmentació dels datagrames.

    · MS (more Segments): indica que venen més segments que formen part d'un mateix datagrama, indicant així que formen part d'un datagrama.

    1 ! el segment no es final

    0 ! el segment és l'ultim d'un datagrama.

    · ER (Error report): demana un informe d'errors.

    L'ensamblatge dels paquets es fa en la estinació i no en els routers.

    · PDU Segment length: longitud de tota la PDU incloent la capçalera. La longitud s'indica en octets.

    · Checksum: control d'errors però només de la capçalera.

    · Destination Adress Length: indica la longitud del camp que ens indicarà l'adreça de destinació del datagrama.

    · Destination Source Length: indica la longitud del camp de l'adreça font del datagrama.

    · Data Unit Id: identificació del datagrama, al que pertanyen un segment. Els segments que tene el mateix numero indica que pertanyen al mateix datagrama. Aquest id és únic.

    · Segment offset: indica la posició del segment dins del datagrama al que pertanyen. La posició s'indica en unitats de 64 bits.

    · Total length: indica la longitud total de la PDU.

    · Opcions: segueixen la codificació TLV (tipus, longtiud i valor). Hi poden haver de seguretat, per marcar pels routers per on ha passat la PDU, etc.

    IP Internet

    El protocol internet (IP) forma part del conjunt de protocols TCP/IP i és el protocol més utilitzat d'interconexió de xarxes. Funcionalment es similar al protocol normalitzat de xarxa sense conexió de ISO.

    Es un protocol amb un servei CLNS, no orientat a la conexió, i és la xarxa qui intenta fer el màxim per a que els datagrames arribin a la seva destinació (“best effort”).

    Aquest protocol permet:

    • flexibilitat, és a dir, que diferents xarxes puguin comunicar-se entre elles.

    • fiabilitat per que cada datagrama és independent, és a dir, si hi ha alguna xarxa que no funciona, el datagrama busca un altre camí alternatiu per arribar a la destinació.

    Serveis IP

    IP proporciona dues sprimitives de servei en l'interfície amb els següent nivell superior:

    SEND (@font, @destí, protocol, tipus servei, ident., fragment id, ttl, long dades, opcions, dades)

    DELIVER (@font, @destí, protocol, tipus servei, long dades, opcions, dades)

    La primitiva SEND (enviament) s'utilitza per sol.licitar la transmissió d'una unitat de dades. La primitiva DELIVER (entrega) l'utilitza IP per notificar a un usuari l'arribada d'una unitat de dades. Els paràmetres associats amb aquestes dues primitves són els següents:

    • Adreça origen: adreça global de la xarxa de l'entitat IP que envia la unitat de dades.

    • Adreça destí: adreça global de la xarxa de l'entitat IP de destí.

    • Protocol: entitat de protocol recipient (un usuari IP). Indica quin és protocol de nivell superior utilitzat (típicament TCP o UDP).

    • Tipus de servei: utilitzat per especificar el tractament de la unitat de dades en la seva transmissió mitjaçant els components de les xarxes. Fa referència a la qualitat de servei. Indica com s'ha de tractar la PDU a traves de les xarxes.

    • Identificador: utilitzat en combinació de les adrces d'orgien i destí, i el protocol per identificar d'una forma única l'unitat de dades. Aquest paràmetre es necessita per reensamblar i informar d'errors. Ientifica a l'aplicació que hi ha per damunt el protocol de transport.

    • Indicador de fragmentació: inidica si IP pot segmentar les dades per realitzar el transport.

    • TTL: temps de vida del datagrama en la xarxa, mesurada en salts de xarxes.

    • Longitud de les dades: longitud de les dades que es transmeten.

    • Opcions: opcions sol.licitades per l'usuari IP.

    • Dades: dades d'usuari a ser transmessos.

    Les opcions actualment definies són:

    · Seguretat: permet que s'incorpori una etiqueta de seguretat al datagrama.

    · Encaminament per la font: constitueix una llista seqüèncial d'adreces de dispositius d'encaminament que especifica la ruta a seguir.

    · Registre e ruta: es reserva un camp per registrar la seqüència de dispositius d'encaminament vistats.

    · Identificació de seqüència: nom dels recursos reservats i utilitzats per un servei de la seqüència.

    · Marques de temps.

    Format del datagrama IP

    · Versió: indica el numero de la versió del protocol. (IPv4, IPv6).

    · Header Length: longtiud de la capçalera Internet. Longitud de la capçalera expressad en paraules de 32 bits. El valor mínim és de 5 (20 octets) i el màxim és de 15 (60 octets).

    · Tipus de servei: especifica els paràmetres de seguretat, prioritat, retard i rendiment.

    Bits 0, 1 i 2, indiquen la prioritat.

    Bit 3, indica el retard, si es 1 hi haurà el mínim retard possible, i si es 0 es comportarà normalment.

    Bit 4, indica el throughput, si es 1 el datagrama anirà pels camins mes descongestionats.

    Bit 5, indica la fiabilitat, si es 1 buscarà una fiabiiltat alta per a que no es perdi el datagrama.

    Bit 6 i 7 de moment no tenen cap significat.

    · Total length: longitud total del datagrama, en octets.

    · Identification: identificador de l'apliació

    · DF(don't fragment flag): indica que no hi ha fragmentació quan esta a 1.

    · MF (More flag): indica que venen més fragments del mateix datagrama.

    · Offset: son 13 bits que indica el lloc on es situa el fragment dins del datagrama original, mesurat en unitats de 64 bits. Això implica que tots els fragments excepte l'últim contenen un camp de dades amb una longitud de 64 bits.

    · TTL: temps de vida del datagrama mesurat en salts de dispositius d'encaminament.

    · Protocol: identifica el protocol d'usuari del nivell superior (TCP=6 i UDP=17).

    · Cheksum: control d'errors que només s'aplica a la capçalera.

    · Padding: s'utilitza per assegurar que la capçalera del datagrama tingui una longitud múltiple de 32 bits.

    · Dades: aquest camp ha de tenir una longitud múltiple de 8 bits. La màxima longitud d'una datagrama (camp de dades + capçalera) és de 65535 octets (64 Kbytes).

    Adreçament IP

    Els camps d'adreça orgien i destí contenen cada un una adreça internet global de 32 bits, que generalment consta d'un identificador de xarxa i d'un identifiador de computador o host. Existeixen tres calses de xarxes que es poden associar a les següents condicions:

    • Classe A: poques xarxes i cada una amb molts computadors.

    • Classe B: un nombre mig de xarxes, cada unes amb un nombre mig de computadors.

    • Classe C: moltes xarxes, cada una amb pocs computadors.

    • 0

      Xarxa (7 bits)

      Computador (24 bits)

      Classe A

      1

      0

      Xarxa (14 bits)

      Computador(16 bits)

      Classe B

      1

      1

      0

      Xarxa (21 bits)

      Computador (8 bits)

      Classe C

      1

      1

      1

      Multicast (28 bits)

      Classe D

      1

      1

      1

      1

      0

      no s'utilitza (pensat per un futur)

      Classe E

      Les adreces Ip identifiquen un punt de connexió a la xarxa i no una xarxa en si. L'adreça de computador no és l'adreça del terminal sino que la del punt de conneió, per tant, si es canvia el terminal de xarxa, la seva adreça IP canviarà també.

      Per codificar les adreces Ip s'utilitzen 4 dígits decimals separats per punts: d.d.d.d

      Tipus

      # xarxes

      # host

      Codificació

      Classe A

      126

      16777124

      n.h.h.h

      0..127

      Classe B

      16384

      65534

      n.n.h.h

      128..191

      Classe C

      2097152

      254

      n.n.n.h

      192..223

      Classe D

      224..254

      Convenis que s'utilitzen per l'assignació d'adreces:

      • 0.0.0.0: indica aquest terminal en aquesta xarxa.

      • 0.0.0.x; 0.0.x.x; 0.x.x.x: qualsevol terminal dins d'aquesta xarxa.

      • 255.255.255.255: broadcast, el datagrama va dirigit a tots els terminal d'aquesta xarxa.

      • 127.0.0.0: loopback, esta per fer probes i comunicar processos de la mateixa màquina, sense sortir fora.

      • 192.0.0.0: per fer probes.

      Adreces de subxarxes (SUBNETTING)

      Una xarxa es pot dividir en d'altres xarxes més petites (subxarxes) i per tant el router ha de saber on es troba cada terminal dins de les subxarxes. Una solució seria tenir una taula en el router amb totes les adreces dels terminals però això es complicat de gestionar.

      La solució que es va escollir utiltza el concepte de subxarxa que ientifica les adreces de la següent forma:

      Xarxa

      Sub-xarxa

      host

      Per poder definir aixo es defineix una mascara (network mask) la qual ens indicaria quins bits identifica la xarxa i quins altres el host. En les màscares on hi troben un 1 indicarà que aquest bit identifica la xarxa i si trobem un 0 identificarà el host.

      Per exemple la màscara: 255.255.255.0

      Indica que els tres primers octets identifiquen la xarxa i l'últim identifica el host.

      Supernetting

      Les adrecves de classe C admeten pocs terminals i com no quedaven adreces calsse B, s'havien d'utilitzar adreces classe C per identificar les xarxes, i per tant diferents adreces classe C havien d'identificar la mateixa xarxa o entitat (això es coneix com supernetting).

      Amb el supernetting apareien el cas Classesless InterDomain Routing (CIDR) que agrupa diferents adreces de classe C consecutives, ientificant la mateixa xarxa.

      (192.5.48.0, 4)

      El 4 indica el nombre d'adreces de classe C de la mateixa entitat, en aquest cas les adreces (192.5.48.0, 192.5.49.0, 192.5.50.0, 192.5.51.0) identifiquen la mateixa entitat.

      Per gestionar aquestes adreces s'utilitzen també les màscares, en aquest acs la màscara seria:

      msk: 255.255.252.0

      IP : 192.5.48.0

      Amb la màscara es fa la AND amb l'adreça IP i el resultat és el que interpreta el router com adreça de la xarxa.

      Adress Resolution Protocol (ARP)

      ARP: resolució d'adreces.

      El problema que es planteja és que tenim una adreça IP d'un host i volem averiguar la seva adreça e xarxa (MAC).

      Per solucionar-lo podem tenir una taula amb totes les adreces IP, però això es molt díficil de gestionar.

      Una altra solució es fer una relació amb l'adreça IP i l'adreça xarxa de tal forma que amb una adreça IP poguem conèixer l'adreça xarxa del terminal.

      La solució adoptada és l'ARP. L'ARP original stà pensat per xarxes Ethernet. El terminal A envia un broadcast a tota la xarxa preguntant qui te l'adreça IP de destí amb un paquet ARP, i qui te aquesta adreça determinada, contesta al terminal origen dient-li la seva adreça de xarxa o MAC, de forma unicast. Quan el terminal B contesta al A tots els terminals actualitzen la seva taula ARP.

      Si les xarxes no tenen un medi compartit (ATM), llavors es defineix un servidor que te totes les adreces IP i MAC dels termials, i es aquest al que es pregunta i qui respon.

      Aquest mecanisme es pot exportar al cas en que el terminal destí es trobi en una altra xarxa, i per tant, en aquest cas seria el router qui contestaria l'adreça del terminal destí. Si el router no te aquesta funció, el router deixarà passar la pregunta a tots els terinals que depenen d'ell.

      Cada terminal o host manté una cache amb mapeigs d'adreces ethernet/adreces IP. Normalment les entrades s'eliminen als 20 minuts d'haber sigut obtingudes.

      El format del paquet ARP és el següent:

      Header-Ethernet

      ARP

      El camp Type de la capçalera d'Ethernet estarà a 0806 indicant així que es transmet una trama ARP.

      · HW Type: identifica el tipus de xarxa (Ethernet, ATM , etc.)

      · Protocol Type: identifica el protocol utilitzat.

      · Hw LEN i Plen,tamnay de les adreces hardware i de xarxa.

      · Operation: indica que es un paquet ARP ja sigui de resposta o de pregunta.

      · Sender HA: adreça ethernet del que envia (HA-Hardware Adress).

      · Sender IP: adreça IP del que envia.

      · Target HA: adreça Ethernet demanada.

      · Target IP: adreça IP del qual es vol coneixer la seva adreça Ethernet (MAC).

      Existeixen dos variants de l'ARP que són els segëunts:

      • Reverse ARP (RARP): aquest protocol vol resoldre el problema on tinguem una estació que no te una adreça IP propia (sensedisc). El principi és el mateix que l'ARP, però en arrancar el terminal és quan pregunta auina és la seva adreça IP, en aquest cas poden contestar tots els terminals que estiguin conectats.

      • H-Ethernet (Type=0835)

        RARP

        El proces que segueix aquest protocol és:

      • Terminal A envia RARP request (broadcast Ethernt)

      • 1 o mes RARP server contesta indicant l'adreça IP i MAC. El terminal A tria un dels servidors dels qui li han respos (en concret tria el primer que li arriba).

      • Boot.

      • En les xarxes normalment hi ha un RARP server primari i un de secundari, i si el primari no contesta, contestarà el secundari.

        • BootP: juntamanet amb el RARP trobem el protocol BootP que permet carregar el fitxer de configuració (Boostrap Protocol). EL proces que segueix és el següent:

      • RARP

      • Carregar fitxer de configuració

      • TFTP: transferencia de fitxer de configuració.

      • Dynamic Host Configuration Protocol (DHCP)

        Protocol de configuració dinàmica.

        Aquest protocol asigna una adreça IP que arranca el tertminal, també li dona tota la informació necessaria per a la comunicació. Però en aquest cas l'adreça IP d'un terminal no és sempre la mateixa, sino que pot canviar cada vegada que arranca i no com en el RARP que sempre és la mateixa adreça IP.

        La forma d'assignar l'adreça IP es fe de:

        • Forma manual.

        • Forma automatica: l'adreça serà permanent.

        • Forma dinàmica: hi ha un temps d'assignació, es a dir, lk'adreça IP s'utilitza durant un cert temps.

        ICMP (Internet Control Message Protocol)

        L'estàndar IP especifica que una implementació eficient ha d'implementar l'ICMP. ICMP proporciona un medi per transferir missatges des dels dispositius d'encaminament i altres computadors a un altre. ICMP proporciona informació de realimentació sobre problemes de l'entorn de la comunicació. Algunes situacions on s'utilitza són:

        • Quan un datagrama no pot arribar al seu destí.

        • Quan el dispositiu d'encaminament no te capcitat d'emmagatzemar temporalment per reenviar el datagrama.

        • I quan el dispositiu d'encaminament indica a una estació que envïi el tràfic per una ruta més curta.

        En la majoria dels casos, el missatge ICMP s'envia, en resposta a un datagrama.

        Encara que ICMP está, a tots els efectes, en el mateix nivell que IP en el conjunt de protocols TCP/IP, és en realitat un usuari de IP. Quan es crea un missatge ICMP es passa a IP, que encapsula el misstage amb una capçalera IP i després el transmet amb el datagrama de forma habitual. Ja que l'ICMP s'envia en datagrames IP, no es garantitza la seva entrega i el seu us no es pot consideerar segur.

        A continuació es veu el format del paquet ICMP. Tots els missatges comencen amb una capçalera de 64 bits que consta dels següents camps:

        0

        8

        16

        31

        Tipus

        Codi

        Checksum (suma comprobació)

        Paràmetres

        • Tipus: (8 bits) especifica el tipus de missatge ICMP.

        • Codi: (8 bits): s'usa per especificar paràmetres del missatge que es poden codificar en un o uns pocs bits.

        • Cheksum: (16 bits) suma de comprobació del missatge ICMP sencer. S'utilitza elmateix algoritme de suma de comprobació que IP.

        • Paràmetres: (32 bits) s'utilitza per especifiar paràmetres més llargs.

        Aquests camps estan seguits genralment per camps d'informació addicional que especifiquen més el contingut del missatge.

        Els misastges ICMP inclouen el següent:


        · No es pot accedir al destí. (tipus=3)

        · Temps excedit. (tipus=11)

        · Problema de paràmetre.

        · Ralentització de l'origen - Source

        Quench. (tipus=4)

        · Redirecció -Redirect. (tipus=5)

        · Eco. (tipus=8)

        · Resposta a eco. (tipus=0)

        · Marca de temps -Timestamp. (tipus=13)

        · Resposta a la marca de temps. (tipus=14)

        · Petició de màscara d'adreça. (tipus=17)

        · Resposta de màscara d'adreça. (tipus=18)


        El missatge que no es es pot accedir al destí cubreix un cert nombre de possibilitats. Un dispositiu d'encaminament pot retornar aquest misastge si no sap com arribar a la xarxa de destí.

        Temps excedit indicat si ha expirat el temps de vida (TTL) del datagrama.

        Redirect s'envia a un computador connectat directament a un dispositiu d'encaminament per informar-li d'una ruta millor per un destí particular.

        Un error sintàctic o semàntic en la capçalera IP farà que un dispositiu d'encaminament o un computdor retorni un misstage de problema de paràmetre.

        El missatge Source Quench proporciona un control de fluxe, i s'envia a un computador per indicar-li que redueixi la velocitat de transferència a la que envia tràfic al destí internet.

        Eco i resposta a eco proporciona un mecanisme per comprobar que la comuniació entre dues entitats es possible.

        Timestamp i resposta timestamp proporciona un mecanisme per mostrejar les característiques en quanta retard del conjunt de xarxes.

        Petició de la màscara d'adreça i la resposta són utils en un entorn que inclou subxarxes.

        Encaminament IP

        Conceptes Bàsics

        Router: dispositu d'encaminament que conecta diferents xarxes i serveix per quan un terminal vol enviar informació a un altre terminal d'una xarxa diferent.

        Per poder encaminar els datagrames IP a través de diverses xarxes, els routers han de construir taules d'encaminament. Si el terminal A envia a un B un datagrama IP amb un tamany de 1500 bytes i la xarxa del terminal B només admet datagrames de 530 octets, el router ha de fragmentar aquest datagrama. El datagrama no es rensambla en el router sino sino en el terminal B.

        Les característiques de l'encaminament són:

        • És jerarquic.

        • Basta en taules d'encaminament (es guarda l'adreça IP de destí a la qual esta associada l'adreça del pròxim router -next hop-.

        • L'encaminament és pas a pas, es a dir, si un router no sap que fer el passa al següent router (nest-hop routing).

        • Hi ha un default routing per les adreces que no es tenen registrades en la taula d'encaminament.

        L'encaminament estàtic consisteix en que els gestors de la internet construeixen les taules d'encaminament per cada Router. És sencill però està lluny del comportament òptim i necessitat de mantenir moltes taules. És util per internet petites i sencilles.

        Els avantatges d'aquest encaminament són:

        • Decissió d'encaminament ràpida.

        • Cada router no te perque conèixer tota la topologia de la xarxa, només els veïns.

        • No te perque haver-hi totes les adreces de xarxes en la taula. Si ve un paquet amb una adreça IP desconeguda pel router, aquest surt per la sortida del router per defecte.

        • Ofereix el routing espcific que consiteix en que per anara al termnal A ha d'anara per aquest altre router.

        L'encaminament dinàmic distribuit es veu mé endavant amb el protocol RIP (Routing Information Protocol, que es basa en el vector distancia) i el protocol OSPF.

        Algorisme d'encaminament

        Donat una adreça i una taula, aquest algoritme ens indica com es consulta la taula d'encaminament donada.

      • Extreure l'adreça IP de destí del datagrama i aplicar la màscara, amb això obtenim el prefix de xarxa (N).

      • Si N te acces directe llav enviar a la mateixa xarxa

      • sino si esta_taula_routing? llav enviar al next-hop.

        sino si hi ha default routing llav enviar al next-hop.

        sino error

        Enviar next-hop: no modifica les adreces IP del paquet datagrama, per tant per enviar el datagrama a l'altre router no fa un nou paquet IP, sino que envia el datagrama a l'adreça Ethernet que tingui associada el router de destí.

        Protocols d'encaminament

        Sistema Autónom (AS) és un conjunt de xarxes connectat per dispositius d'encaminament homogenis. És una configuració on e spoden trobar diferents xarxes i subxarxes. RedIris és un sistema autònom que engloba totes les xarxes d'Espanya. De fet un AS és una unitat d'encaminament i una unitat de gestió. Existeixen punts neutres els quals fan que per enviar informació a un altre AS no s'hagi de passar per mes del compte de AS, sino que s'hagi depassar pels essencials.

        Dins d'un AS hi ha l'Interior Gateway Protocol (IGP) que permet connectar diferents subxarxes dins del mateix AS. El IGP en si no existeix, sino que és un protocol generic i cada AS es monta el seu protocol.

        Per la comuniació entre AS es troben els Exterior Gateway Protocol (EGP) que permet comunicar diferents AS.

        Els Border Gateway Protocol (BGP) comunica entre si diferents areas que es formen per diverses subxarxes del mateix AS.

        L'EGP i BGP és estàndar, però IGP com ha tal no existeix, sino que hi ha variants:

        • RIP: Routing Information Protocol.

        • OSPF.

        • HELLO

        En un principi teniem la CORE NETWORK o BACKBONE (xarxa nucli) la qual tenia un routers especials que feien la interconnexió de xarxes dins d'aquesta xarxa. Aquests routers són els CORE ROUTERS (que no tenen un efault router per una entrada desconeguda i que es basen en el vector distancia).

        Un exemple de com s'omple la taula d'encaminament en aquests routers és el següent:

        Taula K

        K rep de J

        Nova Taula K

        destí

        D

        ruta

        vector

        dist

        destí

        D

        ruta

        N1

        0

        directe

        N1

        2

        N1

        0

        directe

        N2

        0

        directe

        N2

        3

        N2

        0

        directe

        N4

        8

        L

        N4

        3

        N4

        4

        J

        N17

        5

        M

        N17

        6

        N17

        5

        M

        N24

        6

        J

        N24

        5

        N24

        6

        J

        N30

        2

        Q

        N30

        10

        N30

        2

        Q

        N42

        2

        J

        N42

        3

        N42

        4

        J

        N21

        4

        N21

        5

        J

        Els protocols utlitzats per aquests routers es GGP (Gateway Gateway Protocol) el qual envia les taules d'encaminament als routers veïns.

        Aquest protocol envia missatges periodics i aquests missatges són grans degut a que s'envia la taula d'encaminament sencera dels routers. El temps de resposta és lent i el protocol es basa en el vector distancia.

        El paquet que s'envia indica per cada distancia tots els routers que es troben a aquesta distancia.

        Un altre protocol és el basat en l'estat de l'enllaç (Link-State Routing). Aquest verifica periodicament la connectivitat amb els veïns i propaga a través d'un broadcast als routers, avisant de la seva connectivitat, aquest broadcast el fa periodicament. Com cada router te tot el mapa de la xarxa, cada router busca el camí més curt amb l'algorisme Dijkstra, també conegut com Shortest-Path Rountig.

        El que s'utilitza és el GGP i el segon nomes està proposat.

        EGP

        El protocol que s'utiltza per passar informació d'encaminament entre sistemes autónoms diferents es coneix com protocol de dispositiu d'encaminament exteriot (EGP: exterior Gateway Protocol).

        En els AS hi ha una base de dades publica, centralitzada i global que conté tots els AS codificats amb 16 bits (+de 65000 AS). Un AS pot estar format per altres AS formant una jerarquia.

        El protocol d'encaminament EGP te les característiques següents:

        • Reconeixement: identificació dels routers d'entrada dels diferents AS.

        • Només els veïns s'intercanvien informació.

        • Verificació periodica dels veïns, per saber si algun router ha caigut.

        • Cada router nomes envia informació del seu propi AS.

        Els routers es comuniquen les distancies entre xarxes, es a dir, es basa en el vector distancia:

        • d=0, la xarxa de destí està directament connectada al router.

        • d=1, s'ha de passar per un router per arribar a la xarxa de destí

        • maxim=128, ja que és el màxim TTL dels datagrama.

        Cada router difon als seus routers veïns la seva taula i rep la taula dels veïns. D'aquesta forma es va actualitzant la taula d'encaminament.

        BGP

        Funcionen per connectar AS i està pensat per evitar bucles, els quals es permeten en EGP. Aquest protocol es fa sobre paquets TCP/IP i el EGP amb paquets UDP/IP. És un encaminament entre AS i és el substitut de l'EGP.

        • És un protocol mes robust.

        • Detecta i el.limina bucles.

        • Permet gestionar rutes alternatives. És a dir, hi ha diferents routers BGP en un sol AS.

        • Permet seleccionar la millor ruta.

        • El missatge BGP d'un AS extern és difon als diferents routers BGP dins del mateix AS.

        • Atributs/ruta: origen, llista de AS per anar d'un AS a un altre, next-hop (proxim router).

        El BGP, si hi ha una xarxa inaccessible ho indica, al contrari que l'EGP que continua intent-ho.

        També es basa en el vector distància i es queda amb la millor ruta si e spot accedir per camins diferents a una xarxa.

        BGP s'ha convertit en el protocol de dispositiu d'encaminament exterior estàndar en Internet.

        BGP es va dissenyar per permetre la cooperació en l'intercanvi d'informació d'encaminament entre routers. BGP involucra tres procediments funcionals que són:

        • Adquisió de veí.

        • Detecció de veí abastable.

        • Detecció de xarxa abastable.

        L'esencia de BGP és l'intercanvi d'informació d'encaminament entre routers participants en múltiples AS.

        IGP - RIP (Routing Information Protocol)

        Encaminament dinàmic distribuit.

        Protocol basat en el vector distància, és a dir, la informació que espassa entre routers és la distància.

        Cada router intercanvia amb els routers veïns de forma periodica informació sobr el cost de comuniació a totes les subxarxes de la xarxa. A partir de la informació rebuda, cada router actualitza les seves taules d'encaminament.

        Els nodes són considerats com actius (gestionen o envien informació fent un broadcast cada 30 seg) i passius (que serien els host i per tant els que reben la informaci´9:

        Cada 30 seg. els routers intercanvien missatges d'encaminament. Els routers tene una temporització (de 180 s) que si al cap d'aquest temps no s'actualitza la informació llavors aquesta entrada de la taula d'encaminament es descarta. És a dir, si en 180 seg no rep informació d'un router el considerarà com si s'hagués desconectat. La distància màxima d'aquest protocol és de 16 routers.

        Resum de les característiques:

        • Protocol basat en el vector distancia però pensat per ser utilitzat en LAN.

        • Els routers poden ser actius (envien informació) o passius (reben informació) i els hosts són passius.

        • Router actiu fa un broadcast de la informació del routing cada 30s.

        • Nomes es canvia una ruta si la nova és estrictament més curta.

        • Els routers estan temporitzats a 180s i si al cap d'aquest temps no ha arribat cap refresc de l'entrada, aquesta entrada a la taula d'encaminament queda el.liminada.

        • Distancia maxima 16 routers.

        Aquest protocol te el problema slow convergence problem que consisteix en el segünt:

        Si la connexió de N1 a R1 es talla la distancia es posa a 16 iquan arribi el refresc de R2 a R1, indicará que la distancia a N1 és 2 i per tant R1 posarà que la seva distancia és 3, quan en realitat no hi ha connexió (d=16). Ara quan arribi el refresc de R1 a R2, s'actualitzarà el R2 a d=3 i així fins que arribi a 16, i par tant hi ha un temps en que el routing es fa malament.

        Hi ha tres possibles solucions:

        a) split horizon update: afegeix a la informació que s'intercanvien els routers la interficie física de la taula de routing.

        b) Hold down: si un router s'adona que una connexió s'ha tallat el router ignora la informació que li ve durant un temps donat (60s)

        c) poison reverse: el router envia directament un broadcast enunciant el problema als altres routers.

        El format de les adreces és de 14 octets encara que només s'utilitzen 4.

        Exemple de reomplert d'una taula d'aquest protocol:

        ( xarxa, distancia)

        destí

        next-hop

        metric

        Direct/

        remote

        Local/RIP

        Interficie

        N1

        R1

        2

        R

        R

        2

        N2

        0

        1

        D

        L

        2

        N3

        0

        1

        D

        L

        1

        N4

        R2

        2

        R

        R

        2

        N5

        R5

        2

        R

        R

        1

        N6

        R2

        3

        R

        R

        2

        R3 es queda amb el primer missatge que li arribi, si aquestes pertanyen a la mateixa xarxa.

        RIP-2 introdueix millores en RIP-1, com èr exemple el suport a encaminament amb subxarxes (“subnet routing”), autenficació, suport a CIDR, etc.

        IGP-OSPF (Open Shortest Path First)

        OSPF utilitza el que es coneix com un algoritme d'encaminament d0estat de l'enllaç. Cada router manté les descripcions de l'estat dels seus enllaços locals a les subxarxes, i periodicament transmet la informació d'estat actualitzada a tots els dispositius d'encaminament dels que te coneixement. Cada router que rep un paquet d'actualització ha de confirma-lo a l'emissor. Aquesta actualització provoca un tràfic d'encaminament mínim ja que les descripcions dels enllaços són petites i es estrany que es tinguin que enviar.

        L'OSPF s'utilitza molt freqüentment com protocol de dispositiu d'encaminament interior en xarxes TCP/IP. OSPF calcula una ruta a través del conjunt de xarxes que suposa el menor cost d'acord amb una mètrica de cost configurable per l'usuari. L'usuari pot configurar el cost per a que expressi una funció de retard, la raó de dades, els cost en peles, o altres factors.

        Cada router manté una base de dades que reflexa la topologia coneguda del siatema autònom del qual forma part. Aquesta topologia s'expresa com un graf dirigit.

        Les característiques del OSPF són:

        • Open: ve perque l'estàndar és públic.

        • Dins del rputing inclou el Type of Service (tipus de servei).

        • Inclou poder distribuir la càrrega entre diferents routers del mateix cost (els que estan a la mateixa distancia).

        • És jeràrquic i per tant diferencia arees dins la xarxa.

        • Te autentificació: els routers comproben els veïns que tenen.

        • Te en conte la màscara de xarxa.

        • Els missatges s'envien periodicament.

        • També te un temporitzador com el RIP.

        • Defineix un router per defecte, per quan ve alguna adreça que no te enregistrada a la taula d'encaminament.

        • Defineix un backup designated router, d'aquesta forma si un router no contesta, tornem a l'anterior, i el router ja sap quin es.

        • Te missatges d'inici quan es posa en marxa per construir la base de dades de la topologia de la xarxa.

        • És un protocol Link-State Routing, és a dir, es basa en l'estat de la connexió.

        • Cada router aplica l'algorisme Dijkstra (Shortest Path First ! SPF)

        La tècnica flooding s'utilitza per enviar des d'un cert router de la xarxa informació a la resta de routers de la xarxa. El router que origina el flodding envia la informació a cada un dels seus veïns. La resta de routers reenvien aquesta informació a tots els seus veïns (exceptuant al veï que li ha enviat aquesta informació). Si un router rep una mateixa informació de forma repetida, no la reenvia.

        IPv6

        El motiu que ha conduït a l'adopció d'una nova versió ha sigut la limitació imposta pel camp d'adreces de 32 bits en IPv4

        Les principals diferencies amb Ipv4 són:

        • Les adreces són de 128 bits.

        • Les opcions s'envien en capçaleres que es col.loquen entre la capçalera IP i les capçaleres dels protocols de transport.

        • Capacitat d'assignació dinàmica d'adreces.

        • Concepte de flux (“flow”), el que permet tenir un servei intermedi entre orientat a la connexió i no orientat a la connexió (suport a connexions en temps real).

        • Incorpora mecanismes de seguretat.

        Capçalera IPv6

        La capçalera te una longitud fixa de 40 octets, que consta dels camps següents:

        • Versió (4 bits): número de la versió del protocol Internet, el valor és 6.

        • Prioritat (4 bits): valor de prioritat.

        • Etiqueta de fluxe (24 bits): pot ser utiiltzat per un computador per etiquetar aquells paquets per als que es requereix un tractament especial en els dispositius d'encaminament dins la xarxa.

        • Longitut de la carrega útil (16 bits): longitut del reste del pquet Ipv6 excluida la capçalera en octets.

        • Capçalera següent (8 bits): identifica el tipus de capçalera que segueix inmediatament a la capçalera IPv6.

        • Límit de salts (8 bits): el número restant de salts permessos per aquest paquet.

        • Adreça origen (128 bits): adreça del productor del paquet.

        • Adreça destí (128 bits): adreça de destí desitjat del paquet.

        TEMA 3.- NIVELL TRANSPORT

        El servei general proporcionat per un protocol de transport eés el transport extrem-a-extrem de dades de forma que s'aisli a l'usuari del servei de transport dels detalls dels sistemes de comunicació que serveixen de base. És util considerar les següents categories i propietats de serveis per descriure el servei de transport.

        · Tipus de servei: hi han dos tipus de servei, orientat a la connexió i no orientat a la connexió o servei datagrama.

        · Qualitat del servei: nivells d'errors i peèrdua acceptables, retard mig i màxim desitjat, rendiment mig i mínim desitjat,. i nivells de prioritat

        · Transferència de dades.

        · Interfaz d'usuari: els serveis d'una entitat de transport podrían ser invocats per crides a procediments, pas de les dades i els paràmetres a un proces mitjançant un mailbox o us d'acces directe a memòria (DMA) entre un computador usuari i un processador terminal que conté l'entitat de transport.

        · Supervisió de la connexió: quan es suministra un servei orientat de a la connexió, l'entitat de transport es responsable d'establir i donar fi a la connexió.

        · Transport ràpid.

        · Informe d'estat: un informa permet a l'usuari del nivell de transport obtenir o coneixer informació relativa a la condició o als atributs de l'entitat de transport o connexions de transport.

        · Seguretat.

        Protocol datagrama d'usuari (UDP)

        User Datagram Protocol.

        UDP proporcoiona un servei no orientat a la connexió per als procediments e la capa d'aplicació. Així, UDP és bàsicament un servei no segur. En contrapartida es redueix l'informació suplementaria dell protocol el que pot ser adient en molts cassos.

        UDP no aporta fiabilitat a la transmissió. Cada datagrama UDP s'encapsula en un datagrama IP

        UDP es situa al damunt de IP. Ja que no es orientat a la connexió, UDP te poques funcions que fer. Essenvcialment, incorpora un adreçament a port a les capacitats de IP. Això es veu millorat examinant la capçalera UDP.

        0 16

        31

        8 octets

        Port origen

        Port destí

        Longitut

        Checksum

        • Port origen i destí: indica l'apliació que envia o ha de rebre aquest paquet. S'indica el Service Access Point (SAP) utilitzat per l'aplicació. El port origen és opcional ja qu eUDP és un servei de transport no fiable, normalment es possa per informar.

        • Longitut:conté la longitut del segment UDP sencer, incloent-hi capçalera i dades. La longitud s'expressa en octets.

        • Checksum: o suma de comprobació és el mateix algorisme utilitzat per TCP e IP. Aquesta suma de comprobació s'aplica al segment UDP sencer més un pseudo-capçalera incorporada a la capçalera UDP quan és calcula la suma i és la mateixa que l'utilitzada per TCP. Aquest camp en UDP és opcional. El format de la pseudo-capçalera és el següent:

        El fet d'incloure en el checksum la pseudo-capçalera fa que el protocol sigui un mica més fiable.

        UDP transmet datagrames entre processos i aplicacions.

        Alguns números de ports ja estàn assignats, creant els Well-Known port numbers i a partir del 1024 ja es poden utilitzar, ja que els primers 1024 estàn reservats.

        Protocol de control de transmissió (TCP)

        Transmission Control Protocol.

        El conjunt de protocols TCP/IP inclou dos protocols en la cap de transport: el protocol de control de transmisisó (TCP), que és un protocol orientat a la connexió, i el protocol datagrama d'usuari (UDP), que es no orientat a la connexió com hem dit abans.

        TCP és un protocol extrem a extrem. Utilitzant TCP assegurem quela informació arriba de forma correcta (és a dir, la informació incorrecta es reenviada) i en l'ordre correcte.

        A més fa un control de flux per finestra de tamany variable que permet al consumidor no ser inundat per la informació del productor. També protegeix a la xarxa de congestió. Per aconseguir això necessitem utilitzar un protocol orientat a la connexió.

        Serveis TCP

        Dona un servei de transport fiable (un octet que s'envia es granteix que arribarà a la seva destinació). En recepció, TCP, intenta rebre els mateixos octets i en el mateix ordre com s'ha enviat.

        TCP està dissenyat per proporcionar una comuniació segura entre processos (usuaris TCP) a través d'una gran varietat de xarxes segures e insegures així com a través d'un conjunt de xarxes interconectades. Funcionalment, és equivalent al protocol de transport ISO Calsse 4. A diferencia del model OSI, TCP està orientat al flux. Això es, els usuaris de TCP intercanvien un flux de dades. Les dades es situen en memòries temporals i son transmesses pel protocol TCP en segments. TCP proporcionar seguretat i etiquetat de precedencia. A més, TCP suministra dues funcions útils per etiquetar dades: carregar i urgent:

        • Carregar flux de dades. Normalment, TCP decideix quan s'han acumulat suficients dades per formar un segment per a laseva transmissió. L'usuari TCP pot requerir que TCP transmiti totes les dades pendents als que inclou un etiqueta amb un indiador de carrega. En l'extrem receptor, TCP entregarà les dades a l'usuari en la mateixa forma.

        • Indicació de dades urgents. Aquesta possibilitat proporciona un mitjà per informar a l'usuari TCP destí que en flux ded dades entrants existeixen dades significatives o “urgents”. Es responsabilitat d'usuari destí realitzar l'acció apropiada.

        El resum de les característiques de TCP són:

        • TCP està pensat per enviar fluxos d'ocetst (stream oriented).

        • TCP permet una connexió per circuits virtuals i per tant orientat a la connexió.

        • TCP ha de diferenciar els diferents fluxos que hi pugui haver entre diferents màquines per això utilitza els port per identificar les aplicacions. D'aquesta forma n aplicacions comparteixen el mateix TCP.

        • L'aplicació posa octets en els buffers per transmetre i el TCP va agafant octets d'aquest buffer i fa la transferencia al següent nivell. També l'aplicació destí agafa els bytes d'un buffer.

        • El flux d'octets es transparent al protocol TCP, és a dir, al TCP no l'importa si el que es transmet són fitxers, base de dades, etc. A això se li diu flux no estructurat o Unstructured Stream.

        • TCP és full-duplex.

        • TCP és un protocol de finestra (Sliding Window Protocol) per permetre el conrol de flux. La finestra de transmissió te mida variable i s'adapta a les característiques de la xarxa.

        La connexió TCP està identificada per:

        • l'adreça IP font.

        • port de l'aplicació font.

        • l'adreça IP destí

        • i port de l'aplicació de destí.

        És a dir, cada dos paràmetres formen un endpoint que és la parella adreça IP i número de port de l'aplicació. Amb aquest tipus d'identificació es poden tenir ports iguals per diferents aplicacions. També això permet que només hi hagi un destí que gestiona n origens, com podria ser un servidor web, al qual accedeixen n aplicacions. En una mateixa màquina no es poen assignar dos ports iguals a la mateixa aplicació.

        Format de la capçalera TCP

        TCP utilitza un únic tipus d'unitat de dades de protocol, anomenat TCP. Ja que la capçalera ha de servir per implementar tots els mecanismes del protocol, aquesta es més aviat gran, amb una longitud mínima de 20 octets.

        bit

        0

        4

        10

        16 31

        Port Origen

        Port destí

        20 octets

        Numero de seqüència (d'octets)

        Numero de confirmació (d'octets)

        Desplaçament de les dades

        Reservat

        URG

        ACK

        PSH

        RST

        SYN

        FIN

        Finestra

        Checksum

        Port urgent

        Opcions + Padding

        • Port orige (16 bits): punt d'acces del servei origen.

        • Port destíu (16 bits): punt d'acces del servei destí.

        • Numero de seqüència (32 bits): número de seqüència del primer octet en aquest segment excepte si l'indicador SYN està present. Si l'indicador SYN està present, és el número de seqüència inicial (ISN, “initial sequence number”) i en aquest cas el primer octet de dades és el ISN+1.

        • Número de confirmació (32 bits): ACK, una confirmació incorporada (piggy backing). Conté el número de seqüència del següent octet que l'entitat TCP espera rebre.

        • Longitud de la capçalera (4 bits): numero de paraules de 32 bits en la capçalera.

        • reservats (6 bits): bits reservat per un ús futur.

        • Indicadors (6bits):

        · URG: el camp punter urgent és vàlid. S'utilitza per possar dades urgents al paquet. Així el destí si detecta aquest bit activat agafa primer les dades urgents.

        · ACK: el camp de confirmació és vàlid.

        · PSH (“push request): funció de carrega. Serveix al receptor per forçar, passar les dades del buffer a l'aplicació (tot el que hihagi al buffer). També se li diu Out of Bound data, per forçar que l'aplicació agafi el que hi ha al buffer.

        · RST: la connexió es possa a cero, és a dir, és fa un reset, degut a algun error del protocol.

        · SYN: sinconitza els números de seqüència.

        · FIN: l'emissor no te més dades. (End of Stream)

        • Finestra (16 bits):assignació de credits de control de flux, en octets. Indica el numero d'octets que pot rebre (indicaria l'espai lliure al buffer de recepció). Conté el numero d'octets de ddades començant amb el que s'indica en el camp de confirmació i que el que envia està dispossat a aceptar.

        • Checksum (16 bits): el complement a 1 de la suma módul 216-1 de totes les paraules de 16 bits en el segment més la pseudo-capçalera que hem descrit abans.

        • Punter Urgent (16 bits): senyala l'octet que segueix a les dades urgents. Això permet al receptor conèixer quantes dades urgents arriban.

        • Opcions (variable): si està present, només es defineix una opció, que especifica el tamany màxim del segment que serà accpetat.

      • Negociació del Maximum Segment Size (MSS, només inclou les dades), longitut màxima del segment TCP de dades. Això s'acorda entre les dues estacions al establir la connexió. És important que els datagrames IP no es fragmentin, per optimitzar la connexió. En TCP la mida del segment hauria de ser iguala la MTU del datagrama IP, d'aquesta forma el segment TCP no es fragmentarà. Si el TCP és més gran que el MTU i un datagrama IP es perd llavors s'haurà de transmetre tot el segment TCP de nou, per tant es vol que un TCP capigui dins del MTU. MTU de 576 octets i la MSS de 536 octets.

      • Window Scale: el numero de seqüència es octet a octet i si es transmeten massa octets es donarà la volta al numero de seqüència. Per evitar això es monta un factor d'escala que es negocia al principi de la connexió, que el que fa es augmentar la finestra ( el màxim d'aquest valor es 8 conseguint un numero de seqüència fins a 232·28).

      • Selective ACK (SACK): activa la retransmissió selectiva.

      • Estrategia de retransmissió

        (fig 10.13 de les transparencies)

        Existeixen dos events que requereixen la retransmissió d'un segment. Primer, el segment pot ser danyat en elc amí però en canvi arriba al seu destí. Segon és que el segment no arribi al destí, en aquest cas, l'entitat de transport emissora no sap que la transmissió del segment es va realitzar sense éxit.

        El recpetor ha de confirmar cada recpeció d'un segment amb éxit, s'utilitza un mecanisme de confirmació acumulativa. L'emissor ha d'interpretar que ACK 4 significa que el segment 3 i els anteriors s'han rebut amb éxit.

        Si un segment no arriba al destí no s'enviarà l'ACK i es te que produir la retransmissió. Per poder tractar aquesta situació ha d'haver un temporitzador associat amb cada segment que s'envia. Si el temporitzador expira abans que es confirmi, l'emissor ha de retransmitir-lo.

        El temporitzador s'ha de fixar a un valor una mica major que el retard d'anada i tornada (enviar un segment i rebre un ACK). Per supossat, aquest retard és variable inclus per una carrega de la xarxa constant. I el que es pitjor, l'estadistica del retard variarà amb condicions de xarxes variables.

        Es podria utilitzar un temporitzador amb un valor fix, basant-se en el coneixement del comportament típic de la xarxa.

        L'altra estratégia és utilitzar un esquema adaptatiu, que es basa en les transmissions fetes anteriorment. És a dir, la temporitzacació s'adapta a la xarxa.

        RTT: Roun Trup Time

        RTT és variable.

        Es pren una mostra dels temps d'anada i tornada (RTT sample) i despres és fa el següent càlcul:

        RTT =  · Old_RTT + (1-) RTT_sample

        0<<1

        Tout= · RTT

         > 1 i típicament =2

        Si un segment s'ha de retransmetre ignora la mostra. Això s'implementa amb l'algorisme de Karn el qual te les següent característiques:

        • Ignora les mostres de retransmissions.

        • Manté el RTT i el Time Out.

        • Aplica el backoff per les retransmissions

        Tou' =  · Tout on típicament =2

        EL TCP del 1989 indica que el time out es calcula de la següent forma:

        diff = RTT_sample - Old_RTT

        smoothed_RTT = Old_RTT +  · diff

        desviació(dev) = Old_dev +  (|diff| - Old_diff)

        Tout = smoothed_RTT +  · dev

        0<<1 0<<1 on típicament = Sistemes de transport de dades
        ; =Sistemes de transport de dades
        i  = 3 o 4

        Detecció de duplicats

        Si un segment es perd i despres es retransmet, no es produira confusió. En canvi, si es perd un ACK, un o més segments seràn retransmessos i si arriban correctament, es tindran duplicats del segments rebut previament. Així el recpetor ha de ser capaç de reconeixer duplicats. El fet que cada segment porti un número de seqüència ajuda però, de qualsevol forma, la detecció de duplicats no és fàcil. Existeixen dos cassos:

        · Es rep un duplicat abans del tancament de la connexió.

        · Es rep un duplicat despres de que s'hagi tancat la connexió.

        Es necessiten dues tàctiques per tractar el cas de que un duplicat es rebi abans de tancar la connexió.

        · El receptor ha d'assumir que la seva confirmació es va perdre i per tant ha de confirmar el duplicat. Conseqüentment, l'emissor no ha de confundir-se si rep multiples ACK d'un mateix segment.

        · L'espai de numeros deseqüència ha de ser lo suficientment gran per a no esgotar-se en menys temps que la vida màxima possible d'un segment.

        (Tenim un exemple a les transparencies fig 17.9)

        Control de flux

        (Veure transparencies, fig17.5, 10.3)

        Mentre que el control de flux és un mecanisme senzill en la capa d'enllaç, en la capa de transport es bastant complexe per dues raons:

        • El control de flux en la capa de transport supossa la interacció d'uusaris de TS, entitats de transport i el servei de xarxa.

        • El retard de transmissió entre entitats de transport es generalment gran comparat amb el temps e transmissió real, i el que es pitjor variable.

        Un usuari del TCP ha d'esperar-se per enviar les dades fins que te permis de l'usuari B (control de flux de l'entitat paritaria), i te permis de la seva propia entitat de transport (control de flux de la interfaz).

        Per al control del flux es pot fer 4 coses:

        • No fer res.

        • Rebutjar l'aceptació de més segments del servei de xarxa.

        • Utilitzar un protocol fix de “ventana deslizante”.

        • Utilitza un esquema de credits.

        La tercera estrategia es similar al protocol de la capa d'enllaç de dades. Els ingredients claus són:

        • L'us de numeros de seqüeència en les unitats de dadees.

        • L'us d'una finstra de tamany fixe.

        • L'us de confirmacions per desplaçar la finestra.

        L'emissor augmenta el límit inferior de la finestra quan envia segments i augmenta el nivell superior quan rep els ACK dels segments que ha enviats.

        La cuarta alternativa, un esquema de crèdits, proporciona al receptor un major grau de control sobre el flux de dades. L'esquema de crèdits deslliga les confirmacions del control de flux. Un segment pot ser confirmat sense obtenir un crèdit nou. Inicialment, a através d'un proces d'establiment de la connexió, el números de seqüència d'emissió i recpeció estan sincronitzats. El transmissor avança l'inici de la seva finestra cada vegada que transmet, i avança el fi de la finestra cada vegada que obté un crèdit.

        Control de congestió

        (veure transparencies, fig 10.11)

        La xarxa avisa que hi ha congestió i s'espera la cooperació del terminal.

        Quan un router no pot despatxar un paquet IP l'el.limina i envia un ICMP al origen indicant-li no s'ha pogut arribar al destí. El missatge ICMP és el Source Quench Message.

        Quan el DTE rep aquest missatge, el TCP redueix la finestra de transmissió. La finestra de transmissió, permessa al DTE és:

        allowed WINDOW = MIN (advertisedWindow, congestionWindow)

        Hi han diferents formes de controlar la congestió:

        • Multiplicative Decrease Congestion Avoidance: controla la congestió amb decremets multiplicatius de la finestra de congestión. Cada vegada que rebem un ICMP d'error es divideix per 2 el valor anterior de la finestra:

        CongestionWindow = CongestionWindow / 2

        així fins que arribem al valor de 1 (que és minim), indicant que nomes es pot enviar 1 octet. Al reduir la CongestionWindow també s'executa un algorisme de backoff el qual multiplica per 2 el timeout anterior (Tou' = 2·Tout)

        • Slow Start (additive) recovery: mecanisme per l'inici de la connexió i a la recuperació de congestió. El mecanisme consisteix en que es va augmentant la finestra poc a poc. A l'inici és comença amb una finestra de 1, i eel que fa es incrementar la CongestionWindow es 1 cada cop que rep un ACK. Quan la CongestionWindow arriba a la meitat de la finestra màxima també s'incrementa en 1 però ara quan el receptor ha confirmat la meitat de la CongestionWindow del transmissor.

        Establiment de la CONNEXIÓ

        (veure transparencies, fig 17.9, 17.10, 17.11, 17.13)

        L'establiment de la connexió cumpleix tres objectius principals:

        • Permet a cada extrem assegurar-se de que l'altre existeix.

        • Permet la negociació de paràmetres opcionals (tamany del segment, tamany màxim de la finestra, qualitat de servei).

        • Possa en marxa la reserva de recursos de l'entitat de transport.

        Com altres mecanismes de protocol, l'establiment de la connexió ha de tenir en compte la no seguretat del servei de xarxa. L'establiment de la connexió en TCP requereix l'intercanvi de SYN del dos terminals, un procediment anomenta a vegades “diàleg” (handsheke) en els dos sentits.

        Supossem que un terminal A emet un SYN a un altre terminal B. A espera un SYN de retorn, confirmant la connexió. Poden ocorrer dues coses malament:

        • el SYN de A es pot perdre

        • o la resposta de B es perd.

        En aquest dos cassos es pot tractar mitjançant l'ús d'un temporitzador de retransmissió de SYN. Despres que A emeti un SY, ho tornarà a emitir quan el temporitzador expiri. Això pot ocasionar l'aparició de SYNs duplicats. Si el SYN de A es perd no hi haurà duplicats. Si la resposta de B es perd, llavors B podria rebre dos SYNs de A.

        Existeixen altres problemes que s'han de tractar. Un segment de dades retrasat (figura 17.9 de les transparencies) o una confirmació perduda (figura 17.10 de les transparencies) pot donar lloc a la duplicitat de segments de dades. Aquests segments retrasats o duplicats poden interferir amb l'establiment de connexió.

        Suposem que amb cada nova connexió, cada entitat del protocol de transport inicia la numeració dels seus segments de dades amb el numero de seqüència 0. Una copia duplicada del segement 2 d'una connexió antiga arriba durant el temps en que la nova connexió esta establerta, i es entregada a l'entitat B abans que el segment de dades legítim numero 2, llavors aceptaria el segment 2 vell i no el que realment hauria d'aceptar, el qual rebutja.

        Una forma d'abordar aquest problema es començar cada nova seqüència amb un numero de seqüència diferent, el.legit lluny de l'últim numero de seqüència de la connexió més recent. Per a aquest proposit, lapetició de connexió és de la forma SYN i, on i és el número de seqüència del primer segment de dades que serà enviat en aquesta connexió.

        Ara considerem que un SYN i duplicat aobreviu fins pasat el tancament de la connexió (figura 17.11 de les transparencies). UN SYN i vell pot arribar a B despres de que la connexió hagi terminat. B supossa que aquesta és una petició nova i respon amb SYN j. Mentrestant A ha decidit obrir un nova connexió amb B i envia SYN k. B descarta aquest últim com un duplicat. Ara, els dos costats han transmes i rebut un segment SYN, i per tant pensen que existeix una connexió vàlida. En canvi, A inicia la transferència de dades amb un segment numerat amb k. B rebutja el segment per estar fora de seqüència.

        La solució d'aquest problema es que cada costat confirmi explícitament a SYN i al número de seqüència de l'altre. El procediment es conegut com diàleg en tres sentits (Three Way Handshake).

        La figura 17.13 ilustra les operacions típiques del diàleg en tres sentits. L'entitat de transport A inicia la connexió. El SYN de A inclou el número de seqüència d'enviament, i. EL SYM de resposta confirma el número i inclou el número de seqüència per l'altre extrem. A confirma el SYN/ACK en el seu primer segment de dades. (aquest és el cas de la connexió que es fa correctament).

        A continuació es mostra la situació en la que un SYN X vell arriba a B despres de tancar la connexió rellevant.. B supossa que es es una petició nova, i respon amb SYN j, ACK X. Quan A rep aquest missatge, es dona compte que el no ha sol.licitat una nova connexió i per tant envia un RST, ACK j. Hem de notar que la porció ACK j del missatge RST és essencial per a que un RST duplicat vell no canceli un establiment de connexió legítim.

        L'últim exemple mostra un cas en que SYN/ACK vell arriba en mig de l'establiment d'una nova connexió. Degut a l'ús de numeros de seqüència en les confirmacions, aquest event no causa cap perjudici.

        A les transparencies tenim el diagrama d'estats del TCP.

        Els significat de cada estat és el següent:

        · CLOSED: no hi ha connexió activa o pendent.

        · LISTEN: el servidor està esperant a alguna petició.

        · SYN RCVD: una petició de connexió ha arrivat i esperem el ACK.

        · SYN SENT: l'aplicació ha començat a obrir una connexió.

        · ESTABLISHED: estat de transferencia de dades normal.

        · FIN WAIT 1: l'apliació ha indicat que ell ha finalitzat.

        · FIN WAIT 2: l'altre costat està d'acord en finalitzar la connexió.

        · TIMED WAIT: espera a tots els paquets vells. Espera durant 2 vegades el temps de vida màxim del segment (2*TTL) i toto el que arriba s'el.limina.

        · CLOSING: tots dos costats ha triat de tancar la connexió al mateix temps.

        · CLOSE WAIT: l'altre costat ha inicialitzat el tancament de la connexió.

        · LAST ACK: espera a tos els paquest vells per el.liminar-los.

        Rendiment del protocol

        L'aplicació normalment agafa byte a byte. Si el buffer de recepció està ple, i l'aplicació llegeix un byte, llavors el receptor indica que te un finestra de 1. Llavors li tornaràn a enviar un byte i així es tornarà a omplir el buffer.

        Això pot continuar així tot els temps indefinidament, llavors el rendiment cau en picat (efecte Silly window syndrome). Ja que s'envia 1 sol octet al qual se li afegeix la capçalera, enviant així n octets cada cop, d'on només s'aprofita un byte de dades.

      • Receptor consumeix informació octet a octet.

      • Transmissor genera informació octet a octet.

      • Les solucions poden ser:

      • Receptor: el receptor no envia la nova informació de finestra fins que no es donen algunes condicions.

      • Window=0

        anuncia Window"0 si el 50% del buffer està buit o si hi ha MSS (mida maxima segment) està lliure al buffer

      • Transmissor: én una aplicació interactiva s'ha d'enviar el segment abans d'arribar al MSS (telnet) i si es fa gbyte a byte hauriem d'enviar 4 segments per cada tecla que prenem (cada bytes que enviem). El problema el soluciona l'algoritme Nagle.

      • NAGLE algorithm:

        · Transmissor envia 1 octet.

        · Guarda els següents octets al buffer fins MSS o rep ACK de l'octet enviat o l'aplicació vol enviar la informació.

        · Tot lo del buffer s'envia en el següent segment.

        Quan es treballa amb entorn gràfics interactius, llavors l'algoritme s'ha d'anul.lar, que s'ha de veure tot el que es fa al moment, i no quan s'ha omplert un buffer.

        TEMA 3.- INTERFICIE AMB APLICACIONS

        Usuari

        Aplicacions

        Kernel S.O.

        TCP

        UDP

        IP

        Paradigma Client/Servidor

        Client: envia comandes, i espera respostes. Es qui acaba la comunicació.

        Servidor: execució permanent i espera comandes.

        El primer S.O. que incorpora protocols de comunicació és el BSD Unix, que afegeix I/O de protocols de xarxa. En aquest S.O. el servidor fa una espera pasiva i elc lient fa una espera activa.

        Sockets

        El “socket” és una abstracció per permetre la comunicació mitjançant xarxes. Així s'obren fitxers i sockets de la mateixa manera, en canvi, el descriptor del socket és difreent al del fitxer.

        Funcions sockets

        id = socket (pf, type, protocol)

        Crea l'estructura de dades del socket.

        • pf: familia de protocols.

        • PF_INET: familia d'internet (TCP/IP).

        • PF_PUP: xerox.

        • PF_APPLETALK: apple

        • type: especifica el tipus de comunicació. Hi ha tres tipus:

        • SOCK_STREAM: servei fiable, reliable stream delivery service (TCP).

        • SOCK_DGRAM: servei sense connexió, connectionless datagram delivery service (UDP).

        • SOCK_RAW: envia sense cap protocol (raw type).

        • protocol: protocol que es vol utilitzar.

        bind(socket, localaddr, addrlen)

        Associació d'una adreça de xarxa a aquest socket.

        • socket: identificador del socket.

        • localaddr: apuntador a l'estructura (sockaddr) que representa l'adreça del socket (16 octets).

        • addrlen: indica el nombre d'octets de l'adreça del socket.

        sockaddr: 2 octets indica la familia de les adreces i els 14 octets restants és l'adreça. SI l'adreça és IP la familia és la 2, els dos següents bytes indiquen el port, els 4 octets següents l'adreça IP local i la resta es possa a 0.

        2

        port

        @ IP

        0

        0

        connect (socket, destaddr, addrlen)

        Fa la connexió amb l'adreça IP de destí. Això es fa si s'utilita un servei fiable.

        getpeername(socket, detaddr, addrlen)

        Ens diu quina és l'adreça IP de destinació, és a dir, quina és la màquina de l'altre extrem

        getsockopt(socket, level, optionid, optionval, length)

        Ens dona les opciona actives del socket.

        setsockopt(socket, level, optionid, optionval, length)

        Canvia algun valor de les opcions del socket

        Enviar dades

        • Servei amb connexió

        • write(socket, buffer, length).

        • writev(socket, io_vector, vector_length): buffer segmentat

        • send(socket, message, length, flags): igual que write, però els flags permeten fer un control sobre la transmissió.

        • Servei sense connexió

        • sendto(socket, message, length, flags, destaddr, addrlen)

        • sendmsg(socket, message_struct, flags)

        Rebre Dades

        • Servei amb connexió

        • read(socket, buffer, length)

        • readv(socket, io_vector, vector_length)

        • receive(socket, buffer, length, flags)

        • Servei sense connexió

        • reeivefrom(socket, message, length, flags, destaddr, addrlen)

        • receivemsg(socket, message_struct, flags)

        Funcions servidor

      • Socket

      • Bind

      • Hem de fer una espera fins que arriben connexions de clients:

      • listen(socket, qlength)

        qlength: nombre màxim de connexions que pot acceptar.

        Quan arriba una connexió pot servir-la (si es seqüèncial) i si es concurrent arranca un subproces amb un nou socket amb l'adreça del client.

      • newsock=accept(socket, addr, addrlen): aquest es queda bloquejat fins que arriba una nova petició.

      • Funcions Client

      • Socket

      • Bind

      • Connect

      • TEMA 4.- SERVIDOR DE NOMS

        Domain Name Server (DNS)

        DNS tradueix dominis i subdominis a adreces IP.

        Els noms segueixen una estructura jerarquica. (hi ha una autoritat que assigna i gestiona els dominis)

        En Espanya l'autoritat que gestiona els dominis és REDIRIS, en l'actualitat hi han mes autoritats. Per tant els dominis __.es seràn gestionats per REDIRIS, el dominis ___.upc.esseràn gestionats per la UPC i serà aquesta qui gestiona els seus subdominis i així jerarquicament. L'últim domini normalment és el nom de la màquina.

        Els dominis dels paisos si que hi ha correspondencia entre l'adreça i el lloc físic de la màquina, en canvi en els altres dominis no hi ha aquesta correspondencia.

        Per tant l'estructura física de la xarxa no correspon amb la jerarquia dels noms. Per tant cada organització te un servidor que gestiona els noms a nivell global

        Servidor DNS

        Cada màquina te un servidor DNS per defecte. El protocol DNS pot anar tant per TCP com per UDP.

        Si un terminal no sap l'adreça IP d'un nom, aquest consulta al seu servidor de noms per a que li digui l'adreça IP associada a aquest nom. Per tant el servidor rep una consulta amb la que dues funcions:

      • Comproba si correspon al domini del DNS i si és així respon.

      • Si no correspon al domini, consulta una memoria cache on estan les adreces de les maquines que recentment s'han consultat, si o troba l'adreça llavors el servidor passa la consulta al servidor DNS del nivell superior i així fins al servidor de DNS de la màquina.

      • La resposta del servidor consta de nom, adreça IP i el servidor DNS original de la màquina.

        Cada terminal te una taula fixa on manualment es poden donar d'alta les màquines, i te una memoria caché que se'n recorda de les últimes màquines a les quals hem accedit.

        Les entrades del servidor DNS també tenen un temps de vida, que transcorregut aquest temps, les entrades es van esborrant.

        ANNEXO

        IP Multicast

        Existeixen tres tipus de comunicacions:

        • Unicast: comunicació punt a punt (1 a 1)

        • Broadcast: un transmet a tots a la vegada (1 a tots), també es coneix com pun-multipunt.

        • Multicast: un transmet a un conjunt de punts determinats (1 a un conjunt).

        Aquesta comunicació pot estar soprtada per hardware (seria el cas de les Ethernet on la comuniacació unicast s'identitcia per 00:.....; la multicast per 01:.......; i la broadcast per FF:FF:FF:FF:FF:FF) o de per software (que seria el cas de IP).

        En IP la comunicació broadcast s'identifica per que l'adreça de destinació són tots 1.

        La comunicació multicast s'utiltza per a la distribució d'informació (com pot ser, la distribució de video i audio)

        Per la multicast, les adreces que s'utiltzen són les adreces de classe D (1110xxx.XX.XX.XX):

        • 224.0.0.0 ! 239.255.255.255

        • 224.0.0.0 ! reservada

        • 224.0.0.1 ! all hosts group, serie una especie de broadcast.

        El grup multicast és aquest conjunt de destinacions que formen part del grup. L'adreça IP indica un conjunt o sessió i no un sol terminal.

        Aquest grup multicast és dinàmic, és a dir, el lnombre de memebres de la sessió va variant.

        Tots els connectats a la mateixa sessió tenen la mateixa adreça IP.

        El protocol que gestiona el multicast és el IGMP (Internet Group Management Protocol). És semblant al ICMP, perque els mssatges IGMP van dins dels datagrames IP.

        IGMP ha d'enunciar que hiha una nova sessió de multicast i IGMP ha de fer que l'enunci arribi als que estan connectats a aquesta sessió.

        Quan un terminal és vol connectar a una sessió, aquest envia la petició a l'adreça multicast, i per tant, el router ha de saber quins clients hi ha per cada sessió diferent.

        El servidor de la sessió sempre envia la informació a la mateixa adreça multicast per cada sessió. Del servidor només surt un flux de dades i són els routers els que fan la copia de la informació per cada client de la sessió.

        Quan els clients d'un router s'han desconnectat tots, llavors el router envia a l'anterior router, un missatge indicant que ja no te clients i per tant es desconnecta la sessió per a aquest router.

        Periodicament els routers consulten als hosts si encara estàn connectats a la sessió, per si algun host s'ha desconnectat però no ha enviat el missatge de desconnexió (per exemple el host s'ha penjat).

        Tot el multicast es coneix com MBone (Multicast Backbone), que seria com una xarxa superposada a Internet. En aquest Mbone només participen aquells que admeten adreces multicast.

        En multicast el TTL s'utiltza per limitar l'abast de les sessions.

        Per atravessar una zona no multicast s'utiltza la técnica del tunneling. Si el que hi ha entremig de dos routers multicast no és multicast, llavors es fa un “tunel” que consisteix en encapsular un datagrama multicast en un datagrama IP.

        Mes sobre IPv6

        IPv6 va apareixer per:

        • noves tecnologies de transmissió: wireless, mobils, etc.

        • noves aplicacions que requereixen un minim de qualitat e servei (serien aplicacions multimedia amb video i audio.

        • noves “politiques” que requereixen més seguretat o control.

        • el nombre d'adreces disponibles ja no era suficient (nomes 32 bits) en IPv4. Això es va solucionar momentaneament amb el CIDR (subnetting i supernetting).

        Caracteristiques IPv6:

        • Adreces de 128 bits (16 octets), per tant la capçalera s'ha de modificar amb els camps descrits en el tema 2.

        • Capçalera és fixa, més el camp d'opcions, que també es de dimensió fixa.

        • Possibiltat de reservar recursos.

        • S'intenta el.liminar la fragmentació (MTU path discovery, busca quina és la MTU minima amb la destinació per tal d'evitar la fragmentació)

        Si cal fragmentar el que es fa és encapsular els fragments en datagrames, als quals se li possa un capçalera amb el camp HF que és la capçalera de fragmentació.

        La representació de les adrces és la següent:

        68E6 : 8664 : FFFF : 00A1 : FCBA : 0F41 : E1AC : 0000

        és a dir són 8 números hexadecimals de 4 digits.

        F1AC : 0 : 0 : 0 : 0 : 0 : FCBA : 0E41 " FIAC : : FCBA : 0E41

        Les adreces IPv6 poden ser:

        • Unicast.

        • Cluster: identifica un conjunt de màquines que comparteixen un mateix prefixe.

        • Multicast.

        Les adreces són jerarquiques i flexibles, en el sentit de que, el 8 bits primers ja indiquen el tipus d'adreça.

        Per compatibiltat amb IPv4, aquest camp es possa a 0, la respresentació de les adrces IPv4 en capçaleres IPv6 és la sgüent:

        0000 : : 147.83.34.7

        Possant tot a 0 el cheksum que resulta és el mateix que en adreces IPv4.

        STD - 24

        TCP/IP

        OSI

        A

        A

        P

        T

        S

        T

        I

        R

        F

        E

        F

        Hw

        Sw

        S.O.

        Ususari

        Comparativa entre TCP/IP i OSI

        4-T

        3-X

        2-ED

        1-F

        3-X

        2-ED

        1-F

        3-X

        2-ED

        1-F

        4-T

        3-X

        2-ED

        1-F

        4

        3

        2

        1

        4

        3

        2

        1

        1

        1

        (N) -Service User

        (N) -Service User

        4

        3

        2

        1

        4

        3

        2

        1

        (N) -Service Entity

        (N) -Service Entity

        (N) Service Provider

        (N) protocol

        (N-1) Service Provider

        (N-1) SAP

        (N) SAP

        (N) SAP

        (N) significa un nivell del model de referncia

        Esquema de les primitves

        RESPONSE

        CONFIRM

        INDICATION

        REQUEST

        Service Provider

        Service User

        Service User

        TCP

        Xarxa

        SNICP

        SNDCP

        SNACP

        Enllaç

        DTE

        DTE

        IS

        Subxarxa A

        CL

        Subxarxa B

        CL

        SNICP

        SNDCP

        SNACP

        SNICP

        SNICP

        SNDCP

        SNDCP

        SNACP

        SNACP

        SNICP

        SNDCP

        SNACP

        SNICP

        SNICP

        WAN X.25

        Dispositiu d'encaminament

        Dispositiu d'encaminament

        ES - B

        ES - A

        LAN-1

        LAN-2

        Fisic

        Fisic

        Fisic

        Fisic

        Fisic

        Fisic

        MAC

        MAC

        MAC

        MAC

        LLC

        LLC

        LLC

        LLC

        IP

        IP

        IP

        IP

        X.25-3

        X.25-3

        X.25-2

        X.25-2

        TCP

        TCP

        t1

        t2

        t3

        t4

        t5

        t6

        t7

        t8

        t9

        t10

        t11

        t12

        t13

        t14

        t15

        t16

        Part fixa de la capçalera PDU

        Protocol id

        8 bits

        Length id

        8 bits

        Versió

        8 bits

        PDU Lifetime

        8 bits

        SP

        MS

        ER

        TYPE

        8 bits

        PDU Segment length

        16 bits

        Checksum

        16 bits

        Part vaeriable de la capçalera

        Part adreces

        Destination adress length

        8 bits

        @ destí

        Variable

        Source Adress length

        8 bits

        @ font

        Variable

        Part segmentació

        Data Unit id

        16 bits

        Segment offset

        16 bits

        Total length

        16 bits

        Option

        Variable

        capçalera

        Versió

        Header Length

        8 bits

        Tipus de servei

        8 bits

        Total length

        16 bits

        Identification

        16 bits

        0

        DF

        MF

        16 bits

        Offset

        TTL

        8 bits

        Protocol

        8 bits

        Cheksum

        16 bits

        @ font

        32 bits

        @ destí

        32 bits

        Opcions

        Variable

        padding

        Variable

        dades

        Variable

        IPA

        MACA

        IPA

        ¿?

        0

        8

        16

        24 32

        Hw type

        Protocol Type

        HLEN

        PLEN

        Operation

        Sender HA

        Sender HA

        Sender IP

        Sender IP

        Target HA

        Target HA

        Target IP

        10.0.0.0

        R1

        R2

        R3

        20.0.0.0

        30.0.0.0

        40.0.0.0

        10.0.0.1

        20.0.0.1

        20.0.0.2

        30.0.0.1

        30.0.0.2

        40.0.0.1

        Taula del R2:

        20.0.0.0

        Directe

        30.0.0.0

        directe

        10.0.0.0

        20.0.0.1

        40.0.0.0

        30.0.0.2

        Default

        Router per defecte

        R1

        R2

        R3

        R4

        R5

        R6

        R7

        R8

        Protocol de dispositiu d'encaminament interior (IGP)

        Protocol de dispositiu d'encaminament exterior (EGP)

        K

        M

        L

        I

        Q

        J

        xarxa 1

        xarxa 2

        N1

        R1

        R2

        R3

        d=1 a N1

        d=2 a N1

        d=3 a N1

        R1

        R2

        R3

        R4

        R5

        R6

        RIP (5,4)

        EGP/BGP

        !(5,3)

        !(5,2)

        !(5,1)

        !(5,1)

        !(5,3)

        !(5,4)

        N1

        N2

        N3

        N4

        N5

        N6

        2

        1

        32 bits

        Pseudo-capçalera

        Adreça font IP

        Adreça destí IP

        Zero

        Protocol

        Longitut de segment

        Capçalera

        Segment TCP o UDP

        Dades d'usuari

        Client

        Servidor

        comanda (well_known_port)

        resposta, port_client

        domini.subdomini.subdomini

        domini de més alt nivell

        .com

        .org

        .net

        .edu

        .es

        .