Anda di halaman 1dari 9

CapadeAplicacin

EstedocumentoserealizparaelcursodeRedesdeComputadores,deldepartamentodeInformtica,
quesedictaenlaUniversidadTcnicaFedericoSantaMara.Enlseencuentranalgunosconceptos
bsicos que el estudiante debe saber para poder aprobar el ramo, por lo que sirve de ayuda
complementariaalmomentodeestudio.
Estedocumentoesentregadosinningunagaranta,porloquepuedetenererrorestantoortogrficos
comodemateria,entreotros.
Estedocumentoesademsdelibreuso,porloquesepuedehacerloquesequieraconl(fotocopiar,
distribuir,leer,modificar,etc.)sinnecesidaddeobtenerningnpermisonireconocerocitaralcreador
delmismo.
Lanicaexcepcindeloanterioresqueenningncasoseaceptaqueseuseestedocumento,niobras
nacidasapartirdel,parafinescomercialesolucrativos.

Versiones
v1.0

primeraversin

~1~

Lacapadeaplicacineslaprimeracapaconlacualunprogramaseencuentracuandoquiereusarun
servicio de red, y la ltima capa en el modelo OSI. Esta capa se encarga de toda la lgica de
comunicacinquepuedehaberentredosomsaplicacionesquedeseencomunicarseporunared,
definiendolosprotocolosbase.
Arquitecturasdeunaaplicacin
Unaaplicacindeseaconectarsealaredbsicamentepararealizardosoperaciones,solicitardatoso
proporcionardatos.Alaaplicacinquesolicitadatosseledenominacliente,yalaqueescapazde
entregarlosselellamaservidor.Esassonlascaractersticasbsicasquedebentenerunclienteyun
servidor.Adems,porgeneralidad,seacostumbradarleotraspropiedadesacadaente.Enelcasodel
servidor,comoentregacontenidos,debepoderserdefcilacceso,porloquesedicequeseencuentra
enunpuntocentral,oquetieneunadireccinconocida.Tambincomoeselencargadodedistribuirla
informacindebeestarsiemprepresenteenlared.Porelcontrarioelclientecomoesocasional,ynoes
necesariasupresenciaparaquelaredfuncioneyaquesimplementepidedatos,suconectividadsedice
intermitente.Valedecir,puedeestarconectadoalaredyalratoyanoestarlo,loqueimplicaquenose
puedeconfiardesupresenciaymenosdeladireccinquestetengayaquepuedecambiarconsu
regreso.
Dadoloanteriorentoncessepuededefinirdosarquitecturasdiferentes:
ClienteServidor
Esta arquitectura es la ms sencilla de implementar. Funciona
teniendounservidorcentralquelerespondaalhostquelosolicite.
Los clientes por su lado conocen la direccin de este servidor, o
pueden obtenerla fcilmente, con la cual pueden establecer una
conexinysolicitarlosdatosdeseados.Elproblemaquetieneesta
arquitecturaesqueespocoescalable.Enotraspalabraselservidor
central,amedidaquecreceencantidadlosclientesquelosolicitan,
perdercapacidadderespuesta,colapsandoencortotiempo.
PeertoPeer
Enestecasosetienequeloshostsconectadosenesaredsonclientes
yservidoresalmismotiempo.Loanteriorimplicaqueelcontenido
que la red puede proporcionar se encuentra repartido entre los
distintoshostspresentes.Elproblemaquetieneestaarquitecturaes
que es difcil de implementar y controlar dado que cada host
funcionadeformaindependienteypuededesconectarseocambiarsu
direccin.Lagranventajaqueestesistematieneesquedadosus
propiedades y dependiendo su algoritmo es sumamente escalable,
funcionando de manera eficiente aun cuando la red aumenta en
cantidaddehostsconectados.
Tambin se pueden encontrar sistemas hbridos que utilizan matices de cada una de las dos
arquitecturasantesmencionadas.
Lafuncinqueelhostcumplesedefinemediantelosprocesosqueelmismoestejecutando,porlo
~2~

quesisefueseestrictoesunprocesoelqueestcumpliendofuncionesdeclientey/odeservidor,loque
implicaqueaniveldeprocesosemanejalalgicadelaarquitecturaausar.Deloanteriorsedesprende
queunmismohostpuedeestarusandoconunprocesounaarquitecturaClienteServidoryconotro
procesounaPeertoPeer.Esms,elhostpodraestarejecutandonumerososprocesoscadacual
intercambiandodatosenlareddeformaindependiente.Entoncesparapoderenviarinformacinhacia
laredbastaconquecadaprocesoensumensajeagregueladireccindedestino,peroelhostcuando
recibeunmensajedebepoderdiferenciaraqueprocesosteestdirigido,raznporlacualexistenlos
puertos lgicos en un computador. Los puertos lgicos es sencillamente un nmero. Sirve para
direccionarinformacinalinteriordeunordenador.Esconsecuentedecirentoncesqueunpuertoesla
direccindeunprocesoalinteriordeunhost.
Socket
Unsocketesunaabstraccinenlaprogramacin.Elsocketesunenlaceentreunprocesoyelsistema
operativoqueloejecuta.EslarelacinentreunaIPorigen,IPdestino,puertoorigen,puertodestinoy
protocolodecomunicacin.Lossocketssirvenparaqueelprogramadornotengaqueespecificaren
cadaprogramaderedquerealicelosdetallesdeconexinentredosprocesosdediferenteorigenlgico
yposiblementefsicos.
Unprocesoademsdebedeprocurarcuatroaspectosbsicos:
Perdidadedatos
Eselcontrolquellevalaaplicacinsobrelatoleranciaaquedentrodeunflujodemensajesunacierta
cantidaddestosnollegueadestino.Existenporejemploaplicacionesdeaudioqueparaprivilegiarla
fluidez de la misma no es estricto la recepcin de los mensajes, porlo queacepta queun cierto
porcentajesepierda.
Tiempodeespera
Eselcuidadoquetienelaaplicacinconrespectoalostiemposderecepcindelosdatos,imponiendo
loslmitesenquesepuedeesperarunarespuesta.Enaplicacionesdetelefonainternetsehaceevidente
lanecesidadqueeltiempodeesperasearazonable.
Throughput(tasadetransferencia)
Esreferentealacantidaddeinformacinqueelcomputadordebepoderrecibirduranteuninstantede
tiempo.Secomponedeunamezcladelosdosconceptosanteriores.
Seguridad
Bsicamente es la seguridad integrada en la comunicacin por red. sta puede referirse a la
encriptacindelosdatosoalaintegridaddelosmismos(recibirdatoscorruptospuedeocasionar
problemasenelcomputador).
Enbasealoanteriorsetienebsicamentedostiposdeconexiones,lasquesepreocupandeestablecer
uncanaldetraspasodeinformacinseguraylasquesimplementeenvandatossincomprobarqueel
destinatarioloshayarecibido.AesossistemasselesllamaTCPyUDPrespectivamente(stosson
propiosdelacapadetransporte,porloqueseanalizanmsafondoenaquellacapa).Setieneportanto
queexistenbsicamentedostiposdesockets,lossocketsTCPquerelacionannicamentedoshostsde
formadirecta,ylossocketsUDPquenonecesitanestablecerconexinparaemitirinformacin.

~3~

HTTP
HyperTextTransferProtocolesunprotocoloderedorientadoalatransmisindeobjetosmediante
solicitudes.Funcionaconlaarquitecturaclienteservidor,porloqueelclienteesquiensolicitaun
objetoyelservidorseloenva.EsteobjetopuedesertantounarchivoHTML,unaimagenJPG,un
audioMP3,unarchivoplano,entreotros.
SedicequeHTTPesaptrida,valedecirquenoalmacenaporsisoloinformacinsobrelosclientes
quesolicitanobjetos.
El cliente solicita un objeto al servidor mediante una URI (Uniform Resource Identifier), el cual
bsicamentesecomponedeunapartequeidentificaalservidoryunasegundaqueindicalarutaala
cualseguirparaobtenerelobjetodeseadounavezconectadoconelservidor.
http://es.wikipedia.org/wiki/Uniform_Resource_Identifier
Identificadorservidor
Rutaobjeto
Paraqueunclientepuedasolicitarunobjetodebeprimeroestablecerconexinconelservidor.Para
establecerunenlaceelclienteenvaunasolicitudalservidorysteledeberesponder.Unavezocurrido
loanteriorsepuededecirquesehaestablecidoconexin,porloqueacontinuacinsehacenlaolas
transferenciaspertinentesyfinalmentesecierralacomunicacin.Existendostiposdeenlacesquese
puedenhacerconelservidor,enlacenopersistenteyenlacepersistente.Ladiferenciaesqueenel
primeroseestablececonexin,sesolicitaunobjetoysecierraelenlace,mientrasqueenelsegundose
establececonexinysepuedenpedirunaseriedeobjetosantesdecerrarlaunin.
RTT
RoundTripdelayTimeeseltiempoquedemoraunpequeopaqueteeniryvolverdeunhostaotro.
Dadaladefinicinanterior,yasumiendoquelosmensajes desolicitud,aceptacinypeticinson
pequeosencomparacinalosobjetosqueelservidorpuedeofrecer,sepuedeentoncesdeducirqueel
tiempodetransmisindeunobjetoenunaconexinHTTPnopersistenteesde2xRTT+Tiempode
transmisin.

~4~

Ejercicio
SetieneunservidorquealmacenauncdigoHTMLqueademscontiene7imgenes.Elcdigo
HTMLtieneunpesodePh[Mb]ycadaimagenPi[Mb].SetienequeelRTTentreclienteyservidores
deRTT[s]yelanchodebandaentreambosesdeBW[Mbps].
Calculelostiemposqueelclientedebeesperarenrecibirporcompletolainformacinsolicitadaen
cadacaso.
a)HTTPnopersistenteysinparalelismo.
b)HTTPnopersistenteyconparalelismo.
c)HTTPpersistenteysinpipeline.
d)HTTPpersistenteyconpipeline.
Respuesta:
a)Elclientedebeprimeroestablecerconexinconelservidor,loquesedemoraunRTT.Despushace
solicituddelobjetoHTML,loquesedemoramedioRTT,yfinalmenteseentregaelobjeto,loquees
untiempodepropagacinyuntiempodetransmisin.ElprimeroesequivalenteamedioRTTyel
segundoaPh/BW.FinalmenteobtenerelobjetoHTMLsedemora
(RTT+RTT+RTT+Ph/BW)[s]=(2RTT+Ph/BW)[s]
Deformasimilarsellegaqueparacadaimagensedemora
(2RTT+Pi/BW)[s]
Porloquefinalmentesellegaaqueeltiempototaldeesperaes
((2RTT+Ph/BW)+7(2RTT+Pi/BW))[s].
b)EnestecasoelclientedebeprimeroestablecerconexinypedirelobjetoHTML(tiempocalculado
anteriormente),ydespusreestablecerconexinypedirunaimagen,7vecesalmismotiempo,porlo
queenciertaformaenvalas7peticionesalmismotiempo.Elservidorporotroladorecibelas7
peticionesalmismotiempo,perostenopuedeenviarlas7imgenesenunmismomomentodadoque
elanchodebandaloimpide,portantoloquehaceesenviarunadespusdelaotradeformaseguida,lo
queesequivalenteaenviarunobjetodetamaode7imgenes.Finalmenteeltiempodeesperaes
((2RTT+Ph/BW)+(2RTT+7Pi/BW))[s].
c) Ahorael servidor establece una conexin y nola cierra hasta terminar todas las transferencias
necesarias.EstablecerlaconexinsesabequedemoraunRTT.PosterioraesosolicitaelobjetoHTML
y las 7 imgenes. Al decir que no usa pipeline es equivalente a decir en este nivel que no usa
paralelismo.Finalmenteeltiempodeesperaes
(RTT+(RTT+Ph/BW)+7(RTT+Pi/BW))[s].
d)Similaralloscasosanterioressetieneahoraqueestablecerconexin,solicitarelobjetoHTMLylas
7imgenesalmismotiempo
(RTT+(RTT+Ph/BW)+(RTT+7Pi/BW))[s].
Cookies
DadoqueelprotocoloHTTPnoalmacenainformacinsobreelusuario,paraqueunservidorseacapaz
deguardaralgunapreferenciasobresusclientes seusanloquesellamancookies.Unacookiees
simplemente datos que identifican la relacin cliente usuario navegador servidor. El
funcionamientoconsisteenqueelclientealsolicitaruncontenidowebenvaunasolicitudylacookie
correspondienteaesecontenido,estacookiecomoidentificaalusuarioenelservidor,selepuede
~5~

responderconunapginaquehasidopreviamentepersonalizada.Enelcasoqueseaprimeravezqueel
clientesolicitalapginaencuestinentonceselservidorresponderlapginasolicitadayunacookie
paraqueelusuariolaalmaceneypuedaposteriormenteenviar.Lascookiesalnosercdigoejecutable
notienenformadeserdainasalcliente,sirvenexclusivamenteparaquelapginaobtengainformacin
delusuariodentrodelasaccionesquesterealiceensusservidores.Porlomismoelservidornopuede
obtenerinformacindelusuariosobreotrosservidoresmediantecookies.Lascookiesademstienen
una fecha de vencimiento que una vez pasado el tiempo que en sta se especifica pasan a ser
inservibles.Graciasaestesistemasepuedenavegarentrediferentespginasdeunmismoservidor
manteniendoconstantelaspreferenciasdelusuario.
Cachweb
Elterminocachserefierebsicamenteaalmacenarunaciertainformacinenunsectormsaccesible
paraelsistemaquelausar.Eninformticacasitodotieneunamemoriacach.Enelcasoespecfico
de una red se tiene la opcin de almacenar cierta informacin de un servidor que se encuentra
posiblementelejanoentiempoderespuestaenunoqueseamscercanoalhostencuestin.Loanterior
implicaquealmomentodesolicitarinformacinelhostprimerolepreguntaalservidorcachms
cercanosilatiene.Encasoquestenotengalosdatosrequeridosentoncessebuscaenservidoresms
lejanos,yashastallegaralservidordeorigendelainformacin.Graciasastosereducenlostiempos
deespera,yeltraficoenlared.
Dadoqueesunacopiadeloqueelservidororiginalalmacenaesposiblequeelservidorcachnotenga
lainformacinactualizada,porloqueesnecesarioqueelservidorcachrevisedealgunaformasi
tienelaltimaactualizacin.Existenvarioscriteriosparadefinirlafrecuenciadeactualizacindel
servidor.stassebasanenhacerungetcondicional,queconsisteenpreguntarlealservidordeorigen
sihamodificadosuinformacindesdeunafechadada.Encasonegativoelservidorlerespondequeno,
yencasocontrariolerespondeconlainformacinmodificada.
FTP
File Transfer Protocol es un protocolo orientado a la transferencia de archivos de un host a otro.
Funcionaconlaarquitecturaclienteservidor.Enstebsicamenteseestableceunaconexinconel
servidorysehaceporesaentradatodaslassolicitudesycontrolespertinentes,mientrasquesisedesea
transferir un archivo se abre otra conexin por otro puerto y se transfiere por esa entrada, as se
mantienelaprimeraconexinparacontrol.
ElectronicMail
Elserviciodecorreoelectrnico(EMail)funcionaconlaarquitecturaclienteservidor.Elcliente,en
estecasoelusuarioquetieneunemail,esmanejadoporunagentedecorreo,elcualseconectaaun
servidordecorreomedianteelprotocoloSMTP(SimpleMailTransferProtocol).Esteservidorde
correotienealmacenadotodosloscorreosdelusuario(ydeotrosusuarios).Ademstieneunacolade
envo,enlacualseencuentrantodosloscorreosqueaeseservidorseencargadedespachar.Haydos
formasbsicasdemanejarelserviciodecorreos,mediantePOPymedianteIMAP.
POP
PostOfficeProtocolesunmodelodeconexinAgenteServidormedianteelcualelcorreonovisto
porelagenteesdescargadodelservidor,almacenadoenelagenteyposteriormenteeliminadodel
servidor.

~6~

IMAP
InternetMessageAccessProtocolesunmodelodeconexinAgenteServidormedianteelcualel
correodelusuarioesmantenidoporelservidorycadavezqueunagenteseconectadescargala
informacin deseada pero no la almacena de forma predeterminada. Lgicamente el correo no es
eliminadodelservidoranoserqueelusuarioloexplicitedirectamente.
Porlotantosiunusuariodeseaenviaruncorreoelectrnicodebeconectarseconsuagentedecorreo,el
cualleentregaasuservidorasignadoelcorreoencuestin,esteservidoranalizaeldestinatariodel
correoyloenvaalservidoracargodeesecliente.Unavezelcorreollegaalservidordestinose
almacenacomonoledohastaqueelusuarioseconecteaeseservidormediantesuagentepreferido.
Porltimoelusuariopodrverelcorreoenviadomedianteunodelosdosmodelosantesdescritos
(POPeIMAP).
DNS
DomainNameSystemeselnombrealsistemacreadoparapoderrelacionardireccionesIPdeunhost
conunnombreficticioeinventadoquenoguardarelacinalgunaconunsistemadered.Deformabien
simple,unservidorDNSguardaunatuplaenlacualporunladosetieneelnombrehumanodeuna
direccinenparticularyporotroladireccinIPalacualesenombredebiesedireccionar.Estesistema
seinventdadoqueenunaredsemanejannmerosbinarios(pasoonopasodecorriente),porloque
consecuentementeladireccindeunhostesfinalmenteunnmerobinario.Peroparaelserhumanoes
sumamentecomplejoquerecuerdeunnmerodeesandole,mientrasquerecordarunnombrelees
bastantemssencillo.
Elsistemafuncionaconunmodeloderbol.Valedecirqueexisteunservidorcentral,llamadoDNS
Root,quesabelasdireccionesdelosDNSmsimportantes,losquesedenominanTDL(TopLevel
Domain).Estosltimossonporejemplolosservidores.com,.net,.edu,entreotros.EstosTDL
tienenensubasededatoslainformacindelasdireccionesdelosdominiosqueellosproporcionan,y
assevabajandodenivelhastallegaraladireccindelhostencuestin.Existendosformasdellegaral
servidorDNSquetienelatuplaquesebusca,medianteunsistemaiterativoymedianteunsistema
recursivo.EnamboselhostquerealizalabsquedalepreguntaprimeroalDNS,quellamaremosA,
quetengamscercano.LadiferenciaradicaencomoesteDNSleentregalarespuesta.Enelmodo
iterativosetienequeesteservidorAlepreguntaalsiguienteDNSensulistadeprioridadesladireccin
delhostenconsulta,sielservidorconsultadonoconocelarespuestalerespondeladireccindeotro
servidorqueposiblementelosepa,porloqueelservidorAahoraleconsultaalnuevoservidoryas
hastallegaralquetienelainformacinbuscada.Porotroladoenelmodorecursivosetienequeel
servidorquenoconocelarespuestarealizalaconsultadirectamentealservidorquecreequelapueda
tener.

~7~

DNSiterativo

DNSrecursivo

LosservidoresDNSsirvenademsparaquediferentesnombrespuedandireccionarunamismaIPyas
evitartenerquereplicarinformacin.Estesistemaseusatambinparaobtenerladireccindelservidor
decorreosdeunusuarioenparticular.
Ejercicio
Setieneunaredcomolaquesemuestraacontinuacin

~8~

OriginalmentesetienenlosservidoresDNSyCachlocalessininformacin.ElRTTenlaredlocales
deRTTL[s]yelanchodebandaesBWL[Mbps].ElRTTdeunaredlocalaInternetesdeRTTI[s]y
elanchodebandaesBWI[Mbps].ElRTTentreredeslocalesesdeRTTR[s]yelanchodebandaesde
BWR[Mbps].Elservidoralgo.comtieneunobjetoobjetodeP[Mb].Asumalostiemposde
procesamientoydecolaigualesacero.Asumatambinquelosmensajessontodosmuypequeos,a
excepcindelquetransportaelobjetodelservidoralgo.com.ConsiderandoquelosDNSsemanejan
deformaiterativaindique:
a)LosmensajesqueseintercambiansielclienteApidelasiguienteURIalgo.com/objetomediante
elprotocoloFTP,yeltiempoquedemoracadauno.
b)Calculeeltiempototaldeespera.
c)CalculeeltiempototaldeesperasielclienteBpidelasiguienteURIalgo.com/objetomedianteel
protocoloFTPdespusqueelclienteAhayarecibidosupedido.
Respuesta
a)
# Mensaje

Tiempo[s]

1 ClienteApideIPdealgo.comaDNSLocal

RTTL

2 DNSLocalpideIPdealgo.comaDNSRoot

RTTI

3 DNSRootentregadireccinIPdeTDL.com

RTTI

4 DNSLocalpideIPdealgo.comaTDL.com

RTTI

5 TDL.comentregadireccinIPdeDNSalgo.com

RTTI

6 DNSLocalpideIPdealgo.comaDNSalgo.com

RTTR

7 DNSalgo.comentregaIPdealgo.com

RTTR

8 DNSLocalentregaIPdealgo.comaClienteA

RTTL

9 ClienteAestablececonexinconCachLocal

RTTL

10 ClienteApideobjetoaCachLocal

RTTL

11 CachLocalEstablececonexinconservidordealgo.com

RTTR

12 CachlocalpideObjetoaservidordealgo.com

RTTR

13 Servidordealgo.comentregaobjetoaCachLocal

RTTR+P/BWR

14 CachLocalentregaobjetoaCliente

RTTL+P/BWL

b)Paraestobastasumarlostiempoantesdescritos,loquedacomoresultado
(3RTTL+2RTTI+3RTTR+P/BWR+P/BWL)[s].
c)EnestecasoelDNSyCachlocaltienenlainformacinnecesariapararesponderalclienteBsin
necesidaddesalirdelaredlocal,porloquesolamenteseconsideranlosmensajes1,8,9,10y14,lo
queresultaen
(3RTTL+P/BWL)[s].

~9~