1.1 Introduccin El desarrollo del hombre desde el nivel fsico de su evolucin, pasando por su crecimiento en en las reas sociales y cientficas hasta llegar a la era moderna se ha visto apoyado por herramientas que extendieron su funcionalidad y poder como ser viviente. Durante la poca prehistrica, el hombre se vali de la piedra, la madera y el metal para construir extensiones de su cuerpo !n martillo o punta de lan"a de piedra, obsidiana, madera endurecida al fuego para tener un alcance mayor de sus bra"os y dominar a las bestias para conseguir el sustento diario. Despus domestic a los animales y construy artefactos cada ve" ms comple#os !n arco para enviar sus $bra"os$ %flechas& en la distancia y subyugar a animales ms peligrosos. ' as como extendi sus bra"os, pronto encontr la forma de extender sus piernas para alcan"ar lugares ms le#anos fabric navos para cru"ar ros, lagos y mares( carretas que los llevaban a lugares distantes ms rapido que sus pies y con cargas mayores y hasta refin las artes que le permitieron tener en el hogar paisa#es y monumentos de la naturale"a para darse la sensacin de tenerlos a su alcance en todo momento. )inalmente, y sintindose conciente de su habilidad creativa, metdicamente elabor procedimientos para organi"ar su conocimiento, sus recursos y manipular su entorno para su comodidad, impulsando las ciencias y me#orando su nivel de vida a costa de sacrificar el desarrollo natural de su ambiente, produciendo as todos los adelantos a los que un gran sector de la poblacin conocemos automviles, aeroplanos, trasatlnticos, telfonos, computadoras, televisiones, etc. 1.1.1 El cmputo electrnico En el transcurso de todo este desarrollo, lo que nos interesa revisar es la evolucin de un sector tecnolgico El cmputo electrnico. Este naci con las primeras computadoras en la dcada de los *+,s con los tubos al vaco y los tableros de control enchufables. ' fue as porque la necesidad del momento era extender la rapide" del cerebro humano para reali"ar de algunos clculos aritmticos y procedimientos repetitivos. 1.1.2 Las eneraciones de computadoras El esfuer"o en el cmputo electrnico se refle# en crear unidades de procesamiento cada ve" ms veloces conforme la tecnologa en la electrnica avan"aba. -s tenemos cuatro generaciones bien definidas la primera con tubos al vaco, la segunda con transistores, la tercera con circuitos integrados y la cuarta con circuitos integrados que permitieron el uso de computadoras personales y el desarrollo de las redes de datos. 1.1.! Las redes de datos !na ve" resuelto el problema de extender el poder de clculo del cerebro humano naci o se comen" a atacar el problema de compartir los datos y la informacin que ese poder de clculo produ#o, lo cual nos llev a inventar la forma de compartir recursos %impresoras, graficadores, archivos, etc& a travs de alg.n medio de transmisin usando una serie de reglas %proocolos& para accesar y manipular dichos recursos. 1.1." Los sistemas distri#uidos /as redes de computadoras nos permitieron reunir esfuer"os aislados en esfuer"os con#untos que producan bienes mayores %sinergia&. 0in embargo, en una red la forma de accesar dichos recursos va de la mano con conocer la manera de llegar a esos recursos y saber cmo manipularlos, es decir, no hay transperencia. El siguiente salto tecnolgico1 filosfico es extender las redes de cmputo %extensiones del poder de cmputo de cerebros humanos aislados& hacia los sistemas distribuidos %una entidad vista como un todo y conformado por m.ltiples cerebros ubicados en localidades ale#adas unas de otras que nos ofrecen servicios y recursos sin importar su ubicacin&. ' si 2arl 3ung est en lo correcto respecto a su teora del conciente colectivo, parece ser que los adelantos tecnolgicos se van agrupando y homogenei"ando hacia un conciente colectivo tecnolgico. 4s informacin acerca de sistemas distribuidos vea 526/7*8 1.2 Redes para las compa$ias 2uando una persona fsica o moral establece una empresa siempre piensa en obtener beneficios y para esto, en muchas ocasiones se requiere de compartir recursos %impresoras, digitali"adores, computadoras, discos duros, archivos, el conocimeinto de personas, etc.& y una solucin es tener una red que puede ser local, metropolitana, nacional, amplia o global, dependiendo su amplitud de la dispersin geogrfica de los recursos que queremos compartir. Esos recursos deben estn disponibles en el momento adecuado y que los datos o informacin que produ"can sean altamente confiables, esto es, que no sufran deterioro durante su transmisin. En ocasiones, ser vital que contemos con rplicas de algunos recursos para que, dado el caso de un desastre en alg.n p.nto de la red, podamos consultar o accesar un recurso similar o de respaldo. /as compa9as tambin se han dado cuenta que resulta ms barato tener una red de computadoras en donde reparten sus procesos productivos que tener una sola supercomputadora en donde concentren todo. /as venta#as de la red son economa, capacidad de crecimiento ms granular, capacidad de soportar fallas, capacidad de tener rplicas ms econmicas y otras. 1.! Redes para las personas El desarrollo tecnolgico ha permitido que las computadoras sean accesibles cada ve" a mayor n.mero de personas en sus oficinas y en sus hogares, lo cual tambim implica que se puedan crear micronegocios de alta competitividad y con gastos mnimos. Este tipo de negocios ya no tienen el problema de contar con enormes capitales, ahora su problema es el saber en dnde accesar los recursos que necesitan para proveer bienes y servicios. :or otro lado, cada ve" es ms com.n el usar diveros servicios %correo electrnico, fax, operaciones de compra1venta, reservaciones en hoteles y lneas areas, plticas interactivas persona a persona, acceso al diario en formato electrnico, ;;; y videoconferencia& desde una computadora personal en el hogar. 1." Aspectos sociales Desde el momento en que un monitor en casa permite el acceso a tan variados recursos, se corre el riesgo de ver cosas indeseables. Existen en <nternet diversos bancos de informacin accesibles desde )oros de <nformacin %ne=sgroups&, >oletines de <nformacin %>ulletin >oard 0ystems&, :ginas de ;eb, etc. 4uchos de los bancos de datos requieren de alg.n tipo de permiso %proveer un nombre de usuario y clave de acceso& para accesarlos. 6tros permiten el acceso abierto y aqu reside el problema principal. :odemos darnos cuenta de temas que algunos sectores de la poblacin apoyan y que van contra nuestros principios %por e#emplo el tema del aborto, la pornografa, el racismo, etc.& y en algunos casos #unto a los datos podemos ver imgenes que ofenden nuestro gusto o que pueden ser traumticas para nuestros hi#os. ' entonces enfrentamos el problema de que este vasto terreno de informacin puede estar fuera de control y accesible, tal ve", a personas no aptas o no preparadas para digerirlo. Este problema es similar a controlar las emisiones de las cadenas televisivas donde se sopesan la libertad de expresin contra los principios ticos y morales. 1.% El peliro de la transculturi&acin En la poca moderna estamos viviendo ba#o el paradigma de las modas. 0e nos ha estado presionando para que tengamos en el hogar los aparatos electrnicos de moda %videos, televisores, decodificadores de cable, computadoras, telfonos, fax, alarmas&, aparatos de transporte de moda %automvil, avin, yate, etc.&, aparatos personales de moda %rasuradora elctrica, agenda, calculadora, despertador, telfono celular, etc.&, diversiones de moda %video#uegos, via#es a lugares exticos, centros nocturnos, clubes, conciertos, encuentros deportivos, etc& y as sucesivamente. /a persona que cuenta con el mayor n.mero de estos recursos y diversiones es la ms destacada y digna de ser tomada en cuenta en conversaciones y homena#es, aunque no produ"ca ning.n bien tangible para la sociedad. ?odos estos acercamientos a las modas llevan el titulo lavacerebros de $progreso$, $moderni"acin$, etc. y cambian totalmente la calidad de vida de las personas y la poblacin en general. Es tan fuerte el llamado a la $moderni"acin$, que las sociedades, al tener disponible el acceso a los medios electrnicos %por e#emplo <nternet&, rpidamente se van dando cuenta de costumbres y adelantos tecnolgicos en todo el mundo y seguramente, si tienen o llegan a tener el recurso econmico van a tratar de comprar esos adelantos. @ Au pas se resiste al progreso y al modernismo B @ Cay otros caminos para vivir me#or B @Existe alguna otra forma de vivir que no sea el de ser due9o o empleado de alguna empresa, ir a traba#ar por la ma9ana, regresar en la noche, repetir eso todos los das y tal ve" descansar los fines de semanaB -hD ' mantenerse a la moda. !na pregunta es @2ul ser la correlacin entre el porcenta#e de cremiento al acceso a <nternet y el nivel de transculturi"acinB 6tra pregunta es @ 0er todo esto un camino hacia una homogenei"acin de la forma de pensamiento de una sociedad globalB 2. TI'OS DE REDES 'OR SU DIS'ERSION Al crear uan red, se toman en cuenta dos factores principales: el medio fsico de transmisin y las reglas que rigen la transmisin de datos. Al primer factor le llamamos nivel fsico y al segundo protocolos. En el nivel fsico generalmente encontramos seales de voltaje que tienen un significado preconcebido. Esas seanles se agrupan e interpretan para formar entidades llamadas paquetes de datos. La forma como se accesan esos paquetes determinan la tecnologa de transmisin y se aceptan dos tipos: broadcast y point!to!point. Las redes de tipo broadcast se caracteri"an porque todos los miembros #nodos$ pueden accesar todos los paquetes que circulan por el medio de transmisin. Las redes punto a punto slo permiten que un nodo se conecte a otro en un momento dado. %or la e&tensin de las redes broadcast o punto a punto, podemos clasificarlas de acuerdo a la tabla siguiente. 2.1 Redes de Area Local Las redes de 'rea local son el punto de contacto de los usuarios finales. (u finalidad principal es la de intercambiar informacin entre grupos de trabajo y compartir recursos tales como impresoras y discos duros. (e caracteri"an por tres factores: e&tensin, su tecnologa de transmisin y su topologa. 2.1.1 Extensin de las redes de rea local (u e&tensin va de unos cuantos metros )asta algunos *ilmetros. Esto permite unir nodos que se encuentran en una misma sala de cmputo, en un edificio, en un campus o una empresa mediana y grande ubicada en una misma locacin. 2.1.2 Tecnologas de transmisin de las redes de rea local Las redes tradicionales operan con medios de transmisin tales como cable de par tren"ado #+ns)ielded ,-isted %air$, cables coa&ial #ya casi obsoleto porque presenta muc)os problemas$, fibra ptica #inmune a la mayora de interferencias$, portadoras de rayo infrarojo o l'ser, radio y microondas en frecuencias no comerciales. Las velocidades en las redes de 'rea local van desde ./ 0egabits por segundo # 0bps$ )asta 122 0bps. 2.1.3 Topologas de las redes de rea local La topologa de una red se refiere a la forma que 3sta toma al )acer un diagrama del medio fsico de transmisin y los dispositivos necesarios para regenerar la seal o manipular el tr'fico. Las topologas generales son: anillo #ring$, dorsal #bus$, dorsal dual #dual bus$, estrella #star$, 'rbol #tree$ y completas. Las topologas de anillo, dorsal y 'rbol se adecuan mejor para redes de tipo broadcast y el resto para redes de tipo punto a punto. Los est'ndares m's comunes son el 4EEE 5/2.6 llamado Et)ernet y el 4EEE 5/2.7 llamado ,ojen 8ing. Et)ernet opera entre ./ y .// 0bps. En este est'ndard, todo nodo escuc)a todos los paquetes de est' red broadcast, saca una copia y e&amina el destinatario. (i el destinatario es el nodo mismo, lo procesa y si no lo des)ec)a para escuc)ar el siguiente. %ara enviar un paquete escuc)a cuando el medio de transmisin est3 libre. (i ocurre que dos nodos enviaron un paquete al mismo tiempo, se provoca una colisin y cada nodo vuelve a retransmitir su paquete despu3s de esperar un tiempo aleatorio. ,o*en 8ing opera entre 9 y .1 0bps y utili"a una fic)a #to*en$ que permite enviar paquetes al nodo que la posee mientras los otros escuc)an. +na ve" que un nodo termina de enviar paquetes, pasa la fic)a a otro nodo para que transmita. 2.2 Redes de Area Metropolitana +na red de 'rea metropolitana es una versin m's grande de una LA: en cuanto a topologa, protocolos y medios de transmisin que abarca tal ve" a un conjunto de oficinas corporativas o empresas en una ciudad. Las redes deservicio de televisin por cable se pueden considerar como 0A:s y, en general, a cualquier red de datos, vo" o video con una e&tensin de una a variuas decenas de *ilmetros. El est'ndard 4EEE 5/2.1 define un tipo de 0A: llamado ;<;= por sus siglas en ingl3s ;istributed <ueue ;ual =us. Este est'ndard usa dos cables )alf! duple& por los cuales se recibe y transmiten vo" y datos entre un conjunto de nodos. 2.3 Redes de Area Amplia +na red de 'rea amplia se e&pande en una "ona geogr'fica de un pas o continente. Los beneficiarios de estas redes son los que se ubican en nodos finales llamados tambi3n sistemas finales que corren aplicaciones de usuario #por ejemplo, alg>n procesador de palabras o un navegador de ???$. A la infraestructura que une los nodos de usuarios se le llama subred y abarca diveros aparatos de red #denominados en general como routers o enrutadores$ y lneas de comunicacin que une a las redes de 'rea local. El t3rmino de subred tambi3n se aplica a una t3cnica para optimi&"ar el tr'fico en una red de 'rea local de tamao medio. En la mayora de las redes de 'rea amplia se utili"an una gran variedad de medios de transmisin para cubrir grandes distancias. La transmisin puede efectuarse por microondas, por cable de cobre, fibra ptica o alguna combinacin de los anteriores. (in omportar el medio, los datos en alg>n punto se convierten e interpretan como una secuencia de unos y ceros para formar marcos de informacin #frames$, luego estos frames son ensamblados para formar paquetes y los paquetes a su ve" construyen arc)ivos o registros especficos de alguna aplicacin. Las redes cl'sicas se caracteri"an porque utili"an routers para unir las diferentes LA:s. @omo en este caso los paquetes viajan de LA: en LA: a trav3s de ciertas rutas que los routers establecen, siendo dic)os paquetes almacenados temporalmente en cada router, a la subred que usa este pricipio se le conoce como punto!a!punto, almacena!y!enva o de enrutado de paquetes #point!to!point, store!and!for-ard, pac*et!s-itc)ed$. Las topologas comunes en una red punto a punto son: de estrella, annilo, 'rbol, completa, anillos intersectados e irregular. La posibilidad de usar el aire como medio de transmisin nos da lugar a las redes inal'mbricas. (e pueden construir usando estaciones de radio o sat3lites que envan ondas a diferentes frecuencias para enla"ar los correspondientes enrutadores. @omo el alcance de estas ondas no puede ser restringido en un cierto radio, se deben tomar algunas medidas especiales para no entrar en conflicto con otras ondas y para restringir el acceso. 2.4 Red Gloal !nternet e internets La red 4nternet es aquella que sa )a derivado de un proyecto del departamento de defensa de Estados +nidos y que a)ora es accesible desde m's de 2 millones de nodos en todo el mundo, y cuyos servicios tpicos son las cone&iones con emulacin de terminal telnet , la transferencia de arc)ivos ftp , el ? ? ? , el correo electrnico , los foros de informacin globales :et:E?( . %or otro lado, se consideran como internets #con la letra i min>scula$ a aquellas redes p>blicas o privadas que se e&panden por todo el mundo. El asunto interesante es que estas internets pueden valerse del 4nternet en algunos tramos para cubrir el mundo. La restriccin mayor para que una red privada se e&panda en el mundo usando 4nternet es que puede verse atacada por usuarios del 4nternet. +n esquema de seguridad para este caso puede ser que, para las LA:s que conforman la internet privada, cada una de ellas encripte su informacin antes de introducirla a 4nternet y se decodifique en las LA:s destinos, previo intercambio de las claves o llaves de decodificacin. Este tipo de esquemas se pueden lograr con el uso de fire-alls . !. 'ROTOCOLOS DE CO(UNICACION !n protocolo es un con#unto de reglas que indican cmo se debe llevar a cabo un intercambio de datos o informacin. :ara que dos o ms nodos en una red puedan intercambiar informacin es necesario que mene#en el mismo con#unto de reglas, es decir, un mismo protocolo de comunicaciones. Debido a la gran variedad de protocolos, se hi"o necesario estandari"arlos y para eso se tom un dise9o estructurado o modular que produ#o un modelo #errquico conocido como modelo de referencia 60< %6pen 0ystems <nterconnection&. !.1 )erar*u+as de protocolos /a idea central detrs del modelo es que, para que una aplicacin que reside en un nodo - estable"ca comunicacin con una aplicacin en un nodo >, debe usar los servicios de una capa de la red. /lamemos a esa capa $capa de aplicacin$. /a capa de aplicacin le brinda un con#unto de servicios a las aplicaciones pero a su ve" depende de otra capa inferior para traba#ar. /lamemos a esa capa $capa de transporte de paquetes$. /a capa de transporte de paquetes es todo lo que necesita la de aplicain para traba#ar en la red y, a su ve", la capa de aplicacin es todo lo que necesita la de transporte para comunicarse con la aplicacin, de manera que tenemos un flu#o de informacin en ambos sentidos. >a#o la capa de transporte residen otras capas con relaciones similares a las ya descritas, hasta llegar a la capa que se encarga del problema del medio fsico por el cual via#a finalmente la informacin de manera electrnica. /lamemos a esta .ltima capa $capa fsica$. :or e#emplo, esta capa podra encargarse de detectar se9ales de volta#e en un cable de cobre y agruparlas como unos y ceros para formar un byte, y luego unir los bytes hasta formar una cadena de cierto tama9o predefinido por el protocolo y pasar esa cadena a la capa inmediata superior. Los principios que rigen este diseo modular son: @ada capa debe ser lo suficientemente pequea para que sus funciones sean f'cilmente entendibles. @ada capa debe ser lo suficientemente amplia para que realice un conjunto de funciones que sean significativas para el protocolo en su conjunto. @ada capa debe ofrecer un conjunto bien definido de funciones )acia la capa superior. @ada capa debe poder )acer su trabajo usando los servicios provistos por la capa inferior. En cada capa del modelo de referencia se puede )ablar del protocolo de la capa n y cada entidad que reside en una capa usa una interfase para comunicarse con la capa inferior o con la capa superior. Esa interfase consta de un conjunto de operaciones y servicios bien definidos seg>n los principios antes descritos. En un momento dado, se puede decir que e&iste una comunicscin virtual directa entre la capa n de una aplicacin en un nodo con la capa n de otra aplicacin en otro nodo. %odemos decir que el conjunto de capas, sus principios y sus protocolos definen una arquitectura de red. ;e esta forma es sencillo que un fabricante produ"ca aparatos de red para alg>n nivel o niveles de la arquitectura de red. 3.2 Aspectos de dise"o ;ependiendo de las funciones y servicios que cada capa debe proveer y usar, se deben atacar algunos problemas interesantes al disear la arquitectura de red. En primer lugar, dado que en una red e&isten muc)os nodos que quieren comunicarse entre sA, debe e&istir un mecanismo de direccionamiento que sea capa" de: 4dentificar de manera >nica a una cone&in que parte de un nodo n a un nodo & que est' siendo requerida por procesos en dic)os nodos. 4dentificar de manera >nica para cada cone&in a qu3 tipo de servicio pertenece. (i la interfase soporta mensajes de tamao restringido, se debe proveer un mecanismo de identificacin de mensajes pequeos que pertenecen a uno mayor. 4dentificar en un mismo medio diferentes canales activos simult'neos. ;ebido a que algunos medios fsicos no est'n libres de errores, se debe tener un mecanismo para detectarlos y en alguna de las capas debe )aber un mecanismo para corregir el error. ;ebido a los medios no libres de errores, en el caso de no poder corregir un error se debe pedir la retransmisin de datos. ;ebido a que se puede perder la comunicacin entre dos nodos, debe e&istir un mecanismo para asignar un tiempo m'&imo de espera en el envo o recepcin de datos #timeout$. El protocolo debe contemplar la posibilidad de manejar un medio simple&, )alf duple& o full duple&. 3.3 !nter#ases $ ser%icios @omo ya vimos, cada capa tiene un conjunto de operaciones que reali"ar y un conjunto de servicios que usa de otra capa. ;e esta manera identificamos como usuario de servicio a la capa que solicita un servicio y como proveedor a quien la da. @uando una entidad se comunica con otra ubicada en la misma capa pero en diferentes nodos se dice que se establece comunicacin entre entidades interlocutoras #peer entities$. @ada capa tiene un conjunto de servicio que ofrecer, el punto e&acto donde se puede pedir el servicio se llama punto de acceso al servicio #(ervice Access %oint, (A%$. %or ejemplo, en el servicio telefnico se ofrecen conferencias persona a persona, el (A% es la roseta o jac* donde se conecta el tel3fono y la direccin es el n>mero telefnico con quien se desea )ablar. En cada capa, la entidad activa recibe un bloque de datos consistente de un encabe"ado que tiene significado para el protocolo de esa capa y un cuerpo que contiene datos para ser procesados por esa entidad o que van dirigidos a otra capa. 3.4 Relaciones entre ser%icios $ protocolos Las capas ofrecen servicios de dos tipos generales: orientadas a cone&in y no orientadas a cone&in y los servicios obtenidos cumplen con cierta calidad de servicio que puede ser un servicio confiable #reliable$ o no confiable #non reliable$. 3.4.1 &er%icios orientados a conexin Los servicios orientados a cone&in se caracteri"an porque cumplen tres etapas en su tiempo de vida: o Etapa E Fegociacin del establecimiento de la conexin. o Etapa G 0esin de intercambio de datos o Etapa H Fegociacin del fin de la conexin Los servicios orientados a cone&in pueden ser considerados como alambrados, es decir, que e&iste un cone&in alambrada entre los dos interlocutores durante el tiempo de vida de la cone&in. 3.4.2 &er%icios no orientados a conexin Los servicios no orientados a cone&in carecen de las tres etapas antes descritas y en este caso los interlocutores envan todos paquetes de datos que componen una parte del di'logo por separado, pudiendo 3stos llegar a su destino en desorden y por diferentes rutas. Es responsabilidad del destinatario ensamblar los paquetes, pedir retransmisiones de paquetes que se daaron y darle co)erencia al flujo recibido. Los servicios no orientado a cone&in se justifican dentro de redes de 'rea local en donde diversos estudios )an demostrado que el n>mero de errores es tan pequeo que no vale la pena tener un mecanismo de deteccin y correcin de los mismos. 3.4.3 &er%icios con#iales $ no con#iales (e dice que un servicio es confiable si nos ofrece una transmisin de datos libre de errores. %ara cumplir este requisito, el protocolo debe incluir mecanismos para detectar yBo corregir errores. La correccin de errores puede )acerse con informacin que est' incluida en en un paquete daado o pidiendo su retransmisin al interlocutor. ,ambi3n es com>n que incluya mecanismos para enviar acuses de recibo cuando los paquetes llegan correctamente. (e dice que un servicio es no confiable si el protocolo no nos asegura que la transmisin est' libre de errores y es responsabilidad del protocolo de una capa superior #o de la aplicacin$ la deteccin y correccin de errores si esto es pertinente o estadsticamente justificable. A un servicio que es a la ve" no orientado a la cone&in y no confiable se le conoce como datagram service. +n servicio que es no orientado a la cone&in pero que incluye acuse de recibo se le conoce como ac*no-ledged datagram service . +n tercer tipo de servicio se le llama request!reply si consiste de un servicio no orientado a cone&in y por cada envo de datos se espera una contestacin inmmediata antes de enviar el siguiente bloque de datos. Este >ltimo servicio es >til en el modelo cliente!servidor. Los servicios no orientado a cone&in se justifican dentro de redes de 'rea local en donde diversos estudios )an demostrado que el n>mero de errores es tan pequeo que no vale la pena tener un mecanismo de deteccin y correcin de los mismos. ". EL (ODELO DE RE,ERENCIA OSI /a 6rgani"acin Estndares <nternacionales %<06 por sus iniciales en <ngls& emiti un modelo de referencia para la interconexin de sistemas abiertos %6pen 0ystems <nterconnection 60<& el cual formali"a el modelo prototipo explicado en secciones anteriores. ".1 Capas del modelo de re-erencia ".1.1 Capa ,+sica /a capa fsica tiene que ver con el envo de bits en un medio fsico de transmisin y se asegura de que si de un lado del medio se enva un E del otro lado se reciba ese E. ?ambin tiene que ver con la impedancia, resistencia y otras medidas elctricas o electrnicas del medio y de qu forma tiene %tama9o, n.mero de patas& en conector del medio y cules son los tiempos aprobados para enviar o recibir una se9al. ?ambin se toma en cuenta si el medio permite la comunicacin simplex, half duplex o full duplex. ".1.2 Capa de Liado En esta capa se toman los bits que entrega la capa fsica y los agrupa en algunos cientos o miles de bits para formar marcos de bits. 0e puede hacer en este nivel un chequeo de errores y si no los hay enviar un marco de acuse de recibo %acIno=ledge&. :ara detectar los lmites de un marco se predefinen secuencias de bits de control. 0i un marco se pierde o da9a en el medio fsico este capa se encarga de retransmitirlo, aunque en ocasiones dicha operacin provoca que un mismo frame se duplique en el destino, dado el caso es obligacin de esta capa detectar tal anomala y corregirla. ?ambin en esta capa se decide cmo accesar el medio fsico. ".1.! Capa de Red /a capa de red se encarga de controlar la operacin de la subred %medios fsicos y dispositivos de enrutado&. !na tarea primordial es decidir cmo hacer que los paquetes lleguen a su destino dados un origen y un destino en un formato predefinido por un protocolo. 6tra funcin importante en este nivel es la resulocun de cuellos de botella. En estos casos se pueden tener varias rutas para dar salida a los paquetes y en base a algunos parmetros de eficiencia o disponibilidad se eligen rutas dinmicas de salida. 6tra funcin que se puede obtener en esta capa es el registro o reporte del tipo y cantidad de paquetes que circulan por el enrutador para efectos de cobro o de obtencin de estadsticas. ".1." Capa de Transporte /a obligacin en esta capa es la de tomar datos de la capa de sesin y asegurarse que dichos datos llegan a su destino. En ocasiones los datos que vienen de la capa de sesin exceden el tama9o mximo de transmisin %4aximum ?ransmission !nit 4?!& de la interfa" de red, por lo cual es necesario partirlos y enviarlos en unidades ms peque9as, lo cual da orgen a la fragmentacin y ensamblado de paquetes cuyo control se reali"a en esta capa. !na ve" que esta capa se encarga de procesar datos de la capa de sesin y servir de interfase con la de red, podemos afirmar que su funcin es la de separar a las capas superiores de los posibles cambios en el hard=are de red. 6tra funcin en esta capa es la de multiplexar varias conexiones que tienen diferentes capacidades de transmisin para ofrecer una velocidad de transmisin adecuada a la capa de sesin. :or e#emplo, se puede decidir en un momento dado que una conexin es muy cara y que me#or se multiplexe sobre una conexin existente ms barata para tener un ahorro. Estas decisiones son transparentes para la capa de sesin. - partir de la capa de transporte %inclusive& las capas ofrecen servicios de interlocutor a interlocutor, esto es, que un programa de red en un nodo platica con otro programa similar en otro nodo de la red. En las capas inferiores esto no es posible ni requerido. /a .ltima labor importante de la capa de transporte es ofrecer un mecanismo de nombrado que sirva para identificar y diferenciar las m.ltiples conexiones existentes, as como determinar en qu momento se inician y se terminan las conversaciones( es decir, en esta capa hay un mecanismo de control de flu#o. :or e#emplo, si el usuario $operador$ en el nodo $-$ quiere iniciar una sesin de traba#o remoto %telnet& en un nodo $>$, existir una conexin que debe ser diferenciada de la conexin que el usuario $luis$ necesita para transferir un archivo %ftp& del nodo $>$ al nodo $-$. ".1.% Capa de Sesin Esta capa ofrece el servicio de establecer sesiones de traba#o entre nodos diferentes de una red. :ermite el transporte de datos %spoprtado por la capa de transporte& y a9ade algunas facilidades para el establecimiento del flu#o de datos. Esta capa decide a quen se le hace caso para transmitir datos entre las m.ltiples conexiones, una manera de hacerlo es proveer de fichas a los participantes de una conexin, de manera que aqul que tenga la ficha es el que puede transmitir %lo cual es .til en un medio half duplex&. 6tro servicio de esta capa es la sincroni"acin y el establecimiento de puntos de chequeo. :or e#emplo, si se hace necesario transferir un archivo muy garnde entre dos nodos que tienen una alta probabilidad de sufrir una cada, es lgico pensar que una transmisin ordinaria nunca terminara porque alg.n interlocutor se caer y se perder la conexin. /a solucin es que se estable"can cada pocos minutos un punto de chequeo de manera que si la conexin se rompe ms tarde se pueda reiniciar a partir del punto de chequeo, lo cual ahorrar tiempo y permitir tarde o temprano la terminacin de la transferencia. ".1.. Capa de 'resentacin /a capa de presentacin nos provee de facilidades para que podamos transmitir datos con alguna sintaxis propia para nuestras aplicaciones o para nuestro nodo. Existen computadoras que interpretan sus bytes de una manera diferente que otras %>ig Endian versus /ittle Endian&. En esta capa es posible convertir los datos a un formato independiente de los nodos que intervienen en la transmisin. ".1./ Capa de Aplicacin En esta capa se encuentran aplicaciones de red que nos permiten explotar los recursos de otros nodos. Dicha explotacin se hace, por e#emplo, a travs de una emulacin de una terminal que traba#a en un nodo remoto, interpretando una gran variedad de secuencias de caracteres de contro que nos permiten desplegar en la terminal local los resultados, a.n cuando stos sean grficos. 6tra forma de explatacin se da cuando transmitimos un archivo de una computadora que almacena sus archivos en un formato dado a una computadora de formato distinto. Es posible que el programa de transferencia realice las conversiones necesarias de manera que el archivo puede usarse inmediatamente ba#o alguna aplicacin. ".2 Transmisin de datos en el modelo OSI !n envo de datos tpico ba#o el model de referencia 60< comien"a con una aplicacin : en un nodo cualquiera de la red. : genera los datos D que quiere enviar a su contraparte en otro nodo. /e pasa los datos D a la capa de aplicacin . /a capa de aplicacin toma los datos y los encapsula a9adiendo un encabe"ado que contiene informacin de control o que puede estar vaco. El paquete completo resultante se lo pasa a la capa de presentacin. /a capa de presentacin lo recibe y no intenta siquiera decodificar o separar los componentes del paquete, sino que lo toma como datos y le a9ade un encabe"ado con informacin de control de esta capa y el paquete resultante se lo enva a la capa de sesin. /a capa de sesin recibe el paquete, que tambin son slo datos para ella y le a9ade un encabe"ado de control. El resultado se lo enva a la capa de transporte. /a capa de transporte recibe todo el paquete como datos y le a9ade su propio encabe"ado de control creando otro paquete que enva a la capa de red, la cual se encargar de enrutarlo a su destino apropiado, entre otras actividades que reali"a. /as capas de red, ligado de datos y fsica toman, respectivamente, el paquete que les enva la capa superior y a9aden a ste un encabe"ado definido por el protocolo que corresponde a cada capa y pasan el resultada a la capa inferior. /a capa fsica traducir el .ltimo paquete a las se9ales apropiadas para que via#en por el medio fsico hasta el nodo destino. En el nodo destino, la capa fsica toma los paquetes y les quita el encabe"ado de la capa fsica, pasando el paquete resultante a la capa de ligado de datos. /a capa de ligado lo recibe y le quita el encabe"ado de esta capa, pasando el resultado a la capa de red, quien lo toma y le quita el encabe"ado de red, pasando el paquete a la capa de transporte que elimina el encabe"ado de transporte y pasa el resultado a la capa de sesin, quien tambin le quita el encabe"ado respectivo y pasa el paquete a la capa de presentacin, que a su ve" le quita el encabe"ado de presentacin y le pasa el paquete a la capa de aplicacin que, finalmente, le quita el .ltimo encabe"ado y le entrega el paquete de datos reales a la aplicacin en el nodo destino. De manera virtual, se establecen conexiones directas entre las capas del mismo nombre de los dos diferentes nodos. :or e#emplo, el paquete que enva la capa de red es interpretado por la capa de red en el destino y no por otra capa. :ara las capas inferiores de la de red, dicho paquete fue interpretado como datos, y para las capas superiores %transporte,sesin, presentacin y aplicacin& como un paquete compuesto de datos y encabe"ado. :or otro lado, todas las capas, excepto la de aplicacin, procesan los paquetes reali"ando operaciones que slo sirven para verificar que el paquete de datos real est ntegro o para que ste llegue a su destino, sin que los datos por s mismos sufran alg.n cambio. %. EL (ODELO DE RE,ERENCIA TC'0I' /a -gencia de :royectos de <nvestigacin -van"ada del Departamento de Defensa de los Estados !nidos de Forteamrica definieron un con#unto de reglas que establecieron cmo conectar computadoras entre s para lograr el intercambio de informacin, soportando incluso desastres mayores en la subred. )ue as como se defini el con#unto de protocolos de ?2:J<: % ?2:J<: <nternet 0uite of :rotocols&. :ara los a9os K+ una gran cantidad de instituciones estaban interesados en conectarse a esta red que se expandi por todo EE!!. /a 0uite de ?2:J<: consta de * capas principales que se han convertido en un estndard a nivel mundial. %.1 Las capas del modelo TC'0I' /as capas de la suite de ?2:J<: son menos que las del modelo de referencia 60<, sin embargo son tan robustas que actualmente une a ms de H millones de nodos en todo el mundo. /a capa inferior, que podemos nombrar como fsica respecto al modelo 60<, contiene varios estndares del <nstituto de <ngenieros Electrnicos y Elctricos %<EEE en ingls& como son el K+G.H llamado Ethernet que establece las reglas para enviar datos por cable coaxial delgado %E+>aseG&, cable coaxial grueso %E+>aseL&, par tren"ado %E+>ase1?&, fibra ptica %E+>ase1)& y su propio mtodo de acceso, el K+G.* llamado ?oIen >us que puede usar estos mismos medios pero con un mtodo de acceso diferente, el M.GL y otros estndares denominados genricamente como K+G.M. /a siguiente capa cumple, #unto con la anteriormente descrita, los niveles del modelo de referencia E,G y H que es el de red. En esta capa se defini el protocolo <: tambin conocido como $capa de internet$. /a responsabilidad de este protocolo es entregar paquetes en los destinos indicados, reali"ando las operaciones de enrutado apropiadas y la resolucin de congestionamientos o cadas de rutas. /a capa de transporte es la siguiente y est implantada por dos protocolos el ?ransmission 2ontrol :rotocol y el !ser datagram :rotocol. El primero es un protocolo confiable %reliable& y orientado a conexiones, lo cual significa que nos ofrece un medio libre de errores para enviar paquetes. El segundo es un protocolo no orientado a conexiones %connectionless& y no es confiable %unreliable&. El ?2: se prefiere para la transmisin de datos a nivel red de rea amplia y el otro para redes de rea local. /a .ltima capa definida en la suite de ?2:J<: es la de aplicacin y en ella se encuentran decenas de aplicaciones ampliamente conocidas actualmente. /as ms populares son el protocolo de transferencia de archivos %)?:&, el emulador de terminales remotas %?elnet&, el servicio de resolucin de nombres %Domain Fame 0ervice DF0&, el ;;;, el servicio de correo electrnico %0imple 4ail ?ransfer :rotocol 04?:&, el servicio de tiempo en la red %Fet=orI ?ime :rotocol F?:&, el protocolo de transferencia de noticias %Fet=orI Fe=s ?ransfer :rotocol FF?:& y muchos ms. %.2 Comparacin con el modelo OSI El model ?2:J<: no tiene bieen divididas las capas de ligado de datos, presentacin y sesin y la experiencia ha demostrado que en la mayora de los casos son de poca utilidad 5?an7N8. /os estndares K+G.M #unto con el protocolo <: reali"an todas las funciones propuestas en el modelo 60< hasta la capa de red. /os protocolos ?2: y !D: cumplen con la capa de transporte. )inalmente, las aplicaiones ya mencionadas son e#emplos prcticos y reales de la funcionalidad de la capa de aplicacin. %.2.1 Tipos de Comunicaciones El modelo 60< propone tener comunicaciones orientadas y no orientadas a conexin en la capa de red, mientras que ?2:J<: slo ofrece no orientadas a conexin, mientras que 60< propone en el nivel de transporte comunicaciones orinetadas a conexin mientras que ?2:J<: ofrece orientadas y no orientadas a conexin en dicha capa. 5?an7N8. %.2.2 Cr+ticas al modelo OSI El modelo 60< tiene siete niveles que fueron propuestos debido a que <>4 tena su protocolo de siete capas 0F- %0ystems Fet=orI -rchitecture& y el comit no quiso ir contra la corriente peleando contra la preponderancia de <>4 en esos das 5?an7N8. :or otro lado, mientras se planeaba y discuta el modelo 60<, ya se estaba traba#ando y creando redes usando ?2:J<:, de manera que al estar disponible el traba#o del modelo 60< la mayora de las compa9as ya no quiso hacer el esfuer"o de migrar sus productos. En general, las crticas ms importantes al modelo 60< y sus implantaciones se pueden resumir en los siguientes puntos 5?an7N8 El con#unto total de la pila de protocolos result sere demasiada comple#a para entender e implantar. /as capas contienen demasiadas actividades redundantes, por e#emplo, el control de errores se integra en casi todas las capas siendo que tener un .nico control en la capa de aplicacin o presentacin sera suficiente. /a enormidad de cdigo que fue necesario para implantar el modelo 60< y su consecuente lentitud hi"o que la palabra 60< se asociara a $calidad pobre$, lo cual contrst con ?2:J<: que se implant exitosamente en el sistema operativo !F<M y era gratis. 60< tuvo poca aceptacin en EE!! porque la mayora de la gente pens que era un estndard implantado por la comunidad europea, y todos sabemos que la tecnologa o deporte que no es inventado en EE!! es discriminada rpidamente. %.2.! Cr+ticas al modelo TC'0I' El modelo ?2:J<: primero fue llevado a la prctica y luego fue descrita su funcionalidad, por lo cual se acepta que no puede usarse para describir otros modelos. /as crticas en general se resumen a continuacin El modelo no distingue bien entre servicios, interfaces y protocolos, lo cual afecta el dise9o de nuevas tecnologas en base a ?2:J<:. /as capas que le faltan con respecto al modelo 60< ni siquiera se mencionan y eso es lgico porque ?2:J<: fue un predecesor de 60<. Fo se puede hablar propiamente de un modelo ?2:J<:, pero se tiene que discutir acerca de l for"ados por su uso en todo el mundo. -lgunos de los protocolos de ?2:J<: fueron creados por estudiantes y para solucionar problemas vie#os y las necesidades modernas requieren de otros protocolos. 2onluyendo, el modelo 60< es muy bueno como marco terico para describir la funcionalidad de los dispositivos y protocolos que hacen funcionar una red, pero se acepta que las capas de sesin y presentacin no son muy .tiles 5?an7N8, por lo cual generalmente se usa un modelo reducido con las capas fsica, ligado de datos, red, transporte y apicacin. '.3 (rogramacin en red )sando soc*ets a+o ,-!.. =(; (oc*ets: +n ,utorial 4ntroductorio por Cim Drost y Enrique (anc)e" #traduccin y ejemplos$ :ovember 22, .E5E, 0ay .EE1 Los aprendices de +:4F muc)as veces encontramos conceptos y facilidades que son difciles de aprender en primera instancia. +no de esos conceptos es la facilidad de (G@HE,(. En este tutorial se e&plica qu3 son, cmo se usan y se muestran ejemplos de cdigo fuente para su uso correcto. ,na Analoga / 0)1 es )n soc*et2 El soc*et es el m3todo de =(; para llevar a cabo la comunicacin entre procesos #4nterprocess @ommunication o 4%@$. Esto quiere decir que un soc*et se usa para permitir que un proceso pueda platicar o intercambiar informacin con otro, de una manera muy parecida a cmo se usa una lnea telefnica entre dos personas. La analoga del tel3fono es buena, y ser' usada en repetidas ocasiones para describir el comportamiento de un soc*et. !nstalacin de )n -)e%o Tel1#ono / 3mo esc)c4ar en la red por conexiones de soc*et 2 %ara que una persona reciba llamadas telefnicas, primero necesita tener una lnea instalada. %ara que un soc*et pueda aceptar peticiones primero debe crearse el soc*et. %ara crear el soc*et se deben seguir algunos pasos. El primero es preparar el lugar para poner el tel3fono, en este caso, debemos )acer el soc*et con el comando soc*et#$ . @omo los soc*ets pueden crearse de varios tipos, debemos especificar de qu3 tipo lo queremos al crearlo. +na opcin es indicar el formato de direccionamiento del soc*et. As como el correo electrnico usa un esquema diferente para entregar correspondencia a como un tel3fono funciona para lograr la comunicacin, asi pueden diferir los soc*ets. Los dos esquemas m's comunes de direccionamiento son ADI+:4F y ADI4:E, . El direccionamiento ADI+:4F usa senderos # pat)names $ para identificar a los soc*ets y son muy >tiles para la comunicacin entre procesos en una misma computadora. El otro esquema, ADI4:E, usa direcciones de 4nternet #4nternet %rotocol Addresses o ;irecciones 4%$ que consisten en cuatro n>meros decimales escritos de la forma J..J2.J6.J9, por ejemplo, #.9/..95../..21$. Adem's, cada computadora con una direccin 4% puede manejar varios tipos de cone&iones al mismo tiempo, cada una de ellas en un puerto distinto. Gtra opcin que debemos proveer cuando creamos un soc*et es el tipo de soc*et, que indique cmo preferimos que los datos viajen por la red. Los dos tipos m's comunes son (G@HI(,8EA0 y (G@HI;K8A0 . La opcin (G@HI(,8EA0 indica que los datos viajan por la red como una secuencia de letras una tras otra, mientras que (G@HI;K8A0 indica que los mismos lo )ar'n en grupos #llamados datagramas$. :osotros preferiremos (G@HI(,8EA0. ;espu3s de crear un soc*et, debemos darle una direccin para que escuc)e llamadas, as como nosotros damos nuestro n>mero telefnico a nuestros conocidos para que nos llamen. La funcin bind#$ es usada para )acer esta tarea. Los soc*ets de tipo (G@HI(,8EA0 tienen la capacidad de encolar llamadas pendientes cuando estamos ocupados en atender una llamada en particular. La funcin listen#$ es usada para establecer el m'&imo n>mero de llamadas que somos capaces de encolar. Aunque no es obligatorio invocar o usar a listen#$, es muy recomendable )acerlo para procesar llamadas pendientes. Las siguientes funciones muestran cmo usar soc*et#$, bind#$ y listen#$ para establecer un soc*et que acepta llamadas: BL cdigo para establecer un soc*etM original de b"sNbu!cs.bu.edu LB int establece#numIpuerto$ uIs)ort numIpuertoM O c)ar minombreP0AFQG(,:A0ER.SM int sM struct soc*addrIin saM struct )ostent L)pM b"ero#Tsa,si"eof#struct soc*addrIin$$M BL limpia nuestra direccionLB get)ostname#minombre,0AFQG(,:A0E$M BLGbtengo mi nombre LB )pU get)ostbyname#minombre$M BL ;etermina nuestra informacin LB if #)p UU :+LL$ BL Aborto si no e&istoVV LB return#!.$M sa.sinIfamilyU )p!W)IaddrtypeM BL Esta es nuestra direccionLB sa.sinIportU )tons#numIpuerto$M BL Este es nuestro puerto LB BL crea soc*et LB if ##sUsoc*et#ADI4:E,,(G@HI(,8EA0,/$$X/$ return#!.$M if #bind#s,Tsa,si"eof sa,/$ X /$ O close#s$M return#!.$M BL Asigna la direccin al soc*et LB Y listen#s, 6$M BL Encolo )asta 6 llamadas LB return#s$M Y ;espu3s de que creamos el soc*et, debemos esperar que alguien nos llame. La funcin accept#$ es usada para )acer esto. Esta funcin esperara a que alguien llame y cuando esto sucede, accept#$ )ace una copia del tel3fono original y nos la entrega. El tel3fono original se queda esperando otra llamada. La siguiente funcin puede ser usada para aceptar una llamada en un soc*et: int descuelgaItel#s$ int sM BL s es un soc*et creado con establece#$ LB O struct soc*addrIin isaM BL direccin del soc*et LB int iM BL tamano de la direccin LB int tM BL soc*et de la cone&ion LB i U si"eof#isa$M BL obtiene el tamano LB getsoc*name#s, T isa,Ti$M BL obtiene el nombre del soc*et LB if ##t U accept#s, T isa,Ti$$ X /$ BL acepta la llamada y duplica LB return#!.$M return#t$M Y As como en una central telefnica se reciben llamadas que son delegadas a una persona mientras la recepcionista se queda esperando nuevas llamadas, en +:4F usamos la funcin for*#$ para crear un nuevo proceso que atienda la llamada actual. El siguiente cdigo muestra cmo usar la funcin establece#$ y descuelgaItel#$ para controlar varias cone&iones simult'neas: Jinclude Xerrno.)W BL Encabe"ados necesariosLB Jinclude Xsignal.)W BL vea man bind LB Jinclude Xstdio.)W BL vea man listen LB Jinclude XsysBtypes.)W BL vea man accept LB Jinclude XsysBsoc*et.)W Jinclude XsysB-ait.)W Jinclude XnetinetBin.)W Jinclude Xnetdb.)W Jdefine %G8,:+0 7//// BL %uerto donde vamos a escuc)ar LB void bombera"o#$, )a"Ialgo#$M main#$ O int s, tM if ##sU establece#%G8,:+0$$ X /$ O BL instala el tel3fono LB perror#establece$M e&it#.$M Y signal#(4K@QL;, bombera"o$M BL %ara eliminar "ombis LB for #MM$ O BL @iclo infinito para llamadasLB if ##tU descuelgaItel#s$$ X /$ O BL alguien llama LB if #errno UU E4:,8$ BL error E4:,8 en accept#$ LB continueM BL darle c)ance de intentar LB perror#accept$M BL otra ve" LB e&it#.$M Y BL ;elegar esta llamada LB s-itc)#for*#$$ O case !. : BL :o se pudo delegar llamada LB perror#for*$M close#s$M close#t$M e&it#.$M case / : BL Za pude delegar, atiendo la LB )a"Ialgo#t$M BL llamada con )a"Ialgo#$. LB e&it#/$M default : BL (oy la telefnista, espero LB close#t$M BL por otra llamada LB continueM Y Y Y BL @omo atiendo llamadas delegadas, una ve" que fueron atendidas L finiquito a quien la atendi #que es un proceso )ijo$ LB void bombera"o#$ O union -ait -statusM -)ile#-ait6#T-status,?:GQA:K,:+LL$ WU /$M Y BL Esta funcin )a"Ialgo#$ es la que va a leer la informacin que L produ"ca la llamada. %uede ser, por ejemplo, guardar en un L arc)ivo los datos, desplegarlos en pantalla o cualquier otra L cosa. LB void )a"Ialgo#s$ int sM O BL cdigo tuyo para manipular la informacin recibida : : LB Y 5aciendo la Llamada /3mo llamar en el soc*et2 A)ora ya sabemos cmo crear un soc*et en el cual despac)ar llamadas. As que, [@mo )acemos llamadas sobre ese soc*et \ Los pasos para reali"ar una llamada es similar a como las escuc)amos. %rimero necesitamos el tel3fono para )acer la llamada, es decir, necesitamos crear el soc*et. %ara crearlo, usamos la funcin soc*et#$. ;espu3s de conseguir el tel3fono #soc*et$, tratamos de marcar el n>mero asignandole la direccin al soc*et e invocando a la funcin connect#$ . La siguiente funcin intenta )acer una llamada a un soc*et particular. int marcaIn>mero#)ostname, numIpuerto$ c)ar L)ostnameM O struct soc*addrIin saM struct )ostent L)pM int a, sM BL verificamos nombre LB if ##)pU get)ostbyname#)ostname$$ UU :+LL$ O errnoU E@G::8ED+(E;M BL y direccin LB return#!.$M BL error, salimos LB Y b"ero#Tsa,si"eof#sa$$M BL limpiamos estructuraLB BL pon direccin LB bcopy#)p!W)Iaddr,#c)arL$Tsa.sinIaddr,)p!W)Ilengt)$M sa.sinIfamilyU )p!W)IaddrtypeM sa.sinIportU )tons##uIs)ort$numIpuerto$M BL crea soc*et LB if ##sU soc*et#)p!W)Iaddrtype,(G@HI(,8EA0,/$$ X /$ return#!.$M if #connect#s,Tsa,si"eof sa$ X /$ O BL cone&in LB close#s$M return#!.$M Y return#s$M Y Esta funcin regresa un tel3fono #soc*et$ ya conectado a trav3s del cual los datos ya pueden fluir. 3on%ersacin /3mo platicar entre soc*ets2 A)ora que ya tenemos una cone&ion )ec)a con soc*ets queremos enviar datos entre ellos. Las funciones read#$ y -rite nos servir'n para reali"ar la lectura y escritura de los mismos. La diferencia de usar las funciones read#$ y -rite#$ con arc)ivos abiertos a usarlas con soc*ets es el n>mero de bytes que la funcin regresa. @on un arc)ivo, read#$ lee los bytes que se especifiquen en sus argumentos, y -rite#$ escribe tambien lo indicado en los argumentos. En un soc*et, esas funciones leer'n o escribir'n los bytes que este3n disponibles en ese momento, de manera que para leer o escribir el n>mero deseado, es necesario reali"ar un ciclo de lecturao escritura )asta llegar al n>mero deseado de bytes. +na funcin muy simple que reali"a el ciclo mencionado se muestra enseguida: int leeIdatos#s,buf,n$ int sM BL s U soc*et ya conectado LB c)ar LbufM BL buf U apuntador a un arreglo de letras LB int nM BL n U n>mero de bytes que deseamos leer LB O int cnt, BL cnt U bytes leidos en un instante dado LB brM BL br U bytes leidos en un paso LB cntU /M brU /M -)ile #cnt X n$ O BL ciclo de lectura LB if ##brU read#s,buf,n!cnt$$ W /$ O cnt RU brM BL incrementa bytes leidos LB buf RU brM BL mueve el apuntador del buffer LB Y if #br X /$ BL si no se puede leer mando !. LB return#!.$M Y return#cnt$M Y +na funcin similar debera usarse para la escritura de datos, pero se deja al lector ese ejercicio para que se divierta, y )aga algoV 3olgando el tel1#ono /3mo des4acerse de )n soc*et desp)1s de )sarlo6 2 4gual que colgamos el tel3fono cuando terminamos una llamada, necesitamos cerrar la cone&ion que se )i"o entre soc*ets. %ara esta labor se usa la funcin close#$ , la cual debe invocarse en cada lado del soc*et. (i un e&tremo del soc*et es cerrado y en el otro se intenta leer o escribir, el sistema enviar' un mensaje de error. 5alando )n Mismo Leng)a+e 7El orden de los $tes es importante6 A)ora que podemos )acer que dos computadoras platiquen entre ellas debemos tener cuidado en cmo se transmiten la informacion. (abemos que )ay diferentes formas de codificar los datos, por ejemplo usando un cdigo A(@44 o un cdigo E=@;4@. Gtro aspecto es que una misma cadena de ] u 5 bits puede ser interpretada de dos formas diferentes: que el bit / sea el mas significativo y el bit ]B5 sea el menos significativo, o viceversa. Es el famoso problema de maquinas =4K!E:;ian y L4,,LE!E:;ian. As que si comunicamos una m'quina =4K! E:; con una L4,,LE!E:;, es posible que un conjunto de bytes signifiquen cosas diferentes para una y otra. %ara atacar el problema del orden de bytes se usan las funciones nto)s#$ #netor* to )ost s)ort integer$, )tons #)ost to net-or* s)ort integer$, )toni#$ #)ost to net-or* integer$, )tonl#$ #)ost to net-or* long integer$ y nto)l#$ #net-or* to )ost long integer$. %or ejemplo, para poder enviar un n>mero entero a trav3s de un soc*et en la red, primero le aplicamos la funcin )ost to net-or* integer )toni#$ como se muestra enseguida. iU )toni#i$M escribeIdatos#s, Ti, si"eof#i$$M Z despu3s de leer un entero de la red, debemos convertirlo con nto)i#$: leeIdatos#s, Ti, si"eof#i$$M iU nto)i#i$M Es recomendable seguir el )'bito de usar estas funciones para evitar problemas del orden de bytes. El 8)t)ro esta en t)s manos /0)1 4acer a4ora2 +sando lo que ya se )a discutido aqu debe ser suficiente para construir nuestros propios programas de comunicacin con soc*ets. @omo con todas las cosas nuevas, es buena idea revisar el cdigo de programas ya )ec)os para dilucidar su funcionamiento o la aplicacin novedosa de esta tecnologa. E&isten muc)os programas de dominio publico que usan el concepto del soc*et y )ay muc)os libros que los e&ploran con muc)a mas profundidad de lo que aqui se )ace. Al final de este documento se ane&an el cdigo de un servidor y de un cliente que usan soc*ets. 8eali"an una funcin muy sencilla. El servidor escuc)a llamadas en un puerto dado y cualquier informacin que reciba la vuelve a escribir al soc*et )acia el cliente, es decir, responde la llamada repitiendo lo que le dicen. %or otro lado, el cliente lee un rengln de te&to del teclado y se lo enva al servidor, y escribe en la pantalla todo aquello que el servidor le responda. (i tienes preguntas adicionales acerca de soc*ets o de este tutorial, sientete en la confian"a de enviarlas a: maddNbu!it.bu.edu enriqueNcca.pue.udlap.m& Cim Drost Enrique (anc)e" Lara (aber (oft-are +;LA @onsultores #1.]$ 5]1!]161 #7222$ 2E2]7/ maddNsaber.com enriqueNudlac.com.m& BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL L Arc)ivo: tutor./.c L @reador: Enrique (L L %roposito: ;emostrar el uso de la programacin en red, (E8^4;G8 L @ompilar con: cc !o tutor./ tutor./.c !lsoc*et para una (+: LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB Jinclude inet.) BL definiciones y rutinas propias LB main#argc,argv$ int argcM c)ar LLargvM O BL declaracin de descriptores de red LB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB int soc*fd, ne-soc*fd, clilen, c)ildpidM struct soc*addrIin cliIaddr, servIaddrM pname U argvP/SM BL creacin del soc*et, que es como un pipe pero en red LB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB if # #soc*fd U soc*et#ADI4:E,, (G@HI(,8EA0, /$$ X / $ O perror#soc*et opening$M e&it#.$M Y BL 4niciali"acin de direccin y puerto de red del soc*et LB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB b"ero##c)arL$ TservIaddr, si"eof#servIaddr$$M servIaddr.sinIfamily U ADI4:E,M servIaddr.sinIaddr.sIaddr U )tonl#4:A;;8IA:Z$M servIaddr.sinIport U )tons#(E8^I,@%I%G8,$M BL Le digo al sistema que reserve el soc*et para mi aplicacionLB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB if #bind#soc*fd,#struct soc*addr L$TservIaddr,si"eof#servIaddr$$X/$O perror#binding$M e&it#.$M Y BL +na ve" reservado el puerto, espero por siempre por peticionesLB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB listen#soc*fd, 7$M for#MM$ O clilen U si"eof#cliIaddr$M ne-soc*fd U accept#soc*fd,#struct soc*addr L$TcliIaddr,Tclilen$M if # ne-soc*fd X / $ O perror#accepting$M e&it#.$M Y BL Ejemplo de la creacin de subprocesos LB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB if ##c)ildpid U for*#$$ X / $ O perror#for*ing$M e&it#.$M Y else if #c)ildpid UU / $ O close#soc*fd$M atiendeIllamada#ne-soc*fd$M BL este es el )ijo LB e&it#/$M Y close#ne-soc*fd$M BL aqui no llega el )ijo, es el _papa_ LB Y Y BLLLLLLLLLL D4: ;E ,+,G8./.c LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB BLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL L Arc)ivo: tutor...c L @reador: Enrique (L L %roposito: ;emostrar la programacin en red, @L4E:,E L @ompilar: cc !o tutor.. tutor...c !lsoc*et en una (+: LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB Jinclude inet.) main#argc,argv$ int argcM c)ar LLargvM O int soc*fdM struct soc*addrIin cliIaddr, servIaddrM pname U argvP/SM BL :ote la diferencia con el servidor, aca se pone la direccion L del servidor. El servidor acepta peticiones de quien sea LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB b"ero##c)arL$ TservIaddr, si"eof#servIaddr$$M servIaddr.sinIfamily U ADI4:E,M servIaddr.sinIaddr.sIaddr U inetIaddr#(E8^IQG(,IA;;8$M servIaddr.sinIport U )tons#(E8^I,@%I%G8,$M if # #soc*fd U soc*et#ADI4:E,, (G@HI(,8EA0, /$$ X / $ O perror#soc*et opening$M e&it#.$M Y if # connect#soc*fd,#struct soc*addr L$TservIaddr, si"eof#servIaddr$$ X / $ O perror#connecting$M e&it#.$M Y BL La rutina platicame lo que )ace es leer del teclado o stdin L y enviarlo al servidor, el servidor retorna lo que se le envia L y se imprime en pantalla. LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLB platicame#stdin, soc*fd$M close#soc*fd$M e&it#/$M Y 9. L:& -!;ELE& <EL M:<EL: :&! ;ebido a la importancia )istrica y a su relevancia did'ctica, el modelo de referencia G(4 se utili"a para describir otros modelos y arquitecturas de red. A pesar que se )a criticado su estratificacin de ] capas como una forma de apego al modelo que 4=0 propuso cuando era la compaia dominante, el modelo tiene su lado bueno principalmente porque ayuda a ubicar de manera clara las funciones, servicios y organi"acin de la mayora de las arquitecturas de red e&istentes. 9.1 8rm)la de -$=)ist ;ado que las comunicaciones modernas est'n basadas en seales digitales, y 3stas tienen que viajar por alg>n medio de transporte, es importante saber c>anta informacin es posible transmitir en un medio fsico. 8ecordemos que en un intervalo de tiempo, si incrementamos la frecuencia de una seal tamben estamos decrementando su amplitud. :yquist demostr que e&iste un lmite para la cantidad de datos que podemos transmitir en un medio con un anc)o de banda >. %or ejemplo, si el anc)o de banda es 2// Qert" #2// pulsos por segundo$, para una seal con dos niveles de seali"acin #por decir algo, / y 7 volts$ la m'&ima cantidad de bits por segundo son 2=U9//. Z en general, para una seal con M niveles de seali"acin la cantidad es: >its por seg)ndo U 2>log2M recordando que: logxZ U ln ZBln F Ejemplo 2: (i tenemos un medio con tres niveles de seali"acin #0U6$ y un anc)o de banda de 27// Qert", la cantidad de bits m'&ima que se pueden transmitir son: >its por seg)ndo U 2#27//$log2#6$ U 7///#/.1E$ U 697/ %or otro lado, ()annon encontr que si el medio de transmisin tiene ruido, el cual se mide como relacin seal a ruido (B: #(Useal, :Uruido$ nombrada en decibeles, entonces la m'&ima cantidad de bits por segundo que se pueden transmitir sin importar cu'ntos niveles de seali"acin se empleen es: >its por seg)ndo U =log2# . R (B:$ 7816 %or ejemplo, para una lnea telefnica a 6/// Qert", la m'&ima cantidad de informacin que se puede transmitir tomando una relacin seal a ruido tpica de las lneas analgicas de 6/ decibeles es: (B: U ./ log./ #(B: d=$ 7(rimera parte de la le$ de &4annon?5artle$6 6/ U ./ log./ #(B: d=$ <espe+ando @ (B: d=U ./ # 6/ B ./ $ (B: d=U ./// &)stit)$endo en 81@ >its por seg)ndo A 6/// log2# . R .///$ U 6/// # E.E1]2$ U 2EE/. Entonces, para una lnea telefnica analgica tpica, podemos transmitir )asta 2EE/. bits por segundo a lo m'&imo sin importar c>antos niveles de seali"acin usemos. 9.2 Medios de transmisin ni%el #sico @uando necesitamos decidir qu3 medio de transmisin es el adecuado para nuestras necesidades, debemos tomar en cuenta sus caractersticas para saber en qu3 medida resuelve nuestros problemas actuales y planear cambios en el futuro. 9.2.1 (ar trenBado 7,T(6 (e le conoce as al cable met'lico #+ns)ielded ,-isted %air$ cuyas caractersticas generales son: Existen varios niveles, el ms recomendable ahora es el nivel L. Desde el nivel L soporta la transmisin de audio, video y datos de alta calidad. /a mxima distancia de un segmento de !?: vara seg.n el equipo. - los conectores en ambos extremos del cable !?: se le denomina O3*L !na distancia tpica de un segmento punto a punto de !?: es de E++ 4ts. Es un estndard reconocido para reali"ar cableado estructurado. 9.2.2 3ale coaxial Este tipo de cable est' dej'ndose de usar para la transmisin de datos debido a las cone&iones cuasimec'nicas que necesita. El cable coa&ial m's usado para la transmisin de datos cuenta con las siguientes caractersticas: <mpedancia de L+ 6hms /ongitud mxima de un segmento de cable coaxial delgado EN+ mts. /ongitud mxima cable coaxial grueso L++ mts. :ara conectar un nodo al cable coaxial grueso se requiere un $transceiver$ intrusivo. Distancia mmima entre dos nodos con cable coaxial delgado de E mt. El cable coaxial delgado permite conectar estaciones en cadena usando conectores $?$. ?odo segmento debe estar debidamente terminado. El cable coa&ial se clasifica como baseband si se utili"a para transmitir seales digitales y como bradband si se usa para seales analgicas. 9.2.3 8ira ptica Algunos autores comparan el crecimiento de la velocidad de los procesadores contra el de las comunicaciones por red, y se dice que las redes )an crecido su velocidad en un factor de .// mientras que el cmputo lo )a )ec)o en uno de ./, sin embargo, podra ser m's significativo comparar la velocidad del bus de un nodo contra la velocidad de la red, y en ese rubro encontramos que el bus interno puede transferir )asta 5/ 0egabytes por segundo mientras que las redes m's avan"adas )ablas de 122 0egabits por segundo. @onsiderando lo anterior, todava tenemos un d3ficit en la comunicacin @%+! @%+ de los nodos de una red, lo cual es una traba enorme, por ejemplo, en la construccin de sistemas distribuidos. La traba principal para lograr mayores velocidades en las redes es la incapacidad para convertir seales de lu" a seales el3ctricas, aunque se esperan velocidades de . ,erabit por segundo en pocos aos. La fibra ptica puede ser de tipo multimodal o unimodal. La primera tiene la propiedad de reflejar internamente un )a" de lu", rebotando en el interior de la fibra. La segunda tiene un di'metro interno menor de manera que la lu" no puede rebotar y entonces la fibra act>a como una guia recta de la lu". Las fibras unimodales son m's caras y pueden transmitir )asta varios Kigabits por segundo )asta por 6/ Hilmetros, y por .// *ilmetros aunque a velocidades m's bajas sin necesidad de repetidores. @onforme la lu" viaja en la fibra su amplitud crece provocando distorsin. (e )a encontrado que si los pulsos de lu" se envan con una forma relacionada recprocamente al coseno )iperblico la distorsin se cancela y los pulsos pueden viajar por miles de *ilmetros. A este tipo de pulsos se les conoce como solitons y se estudia su aplicacin en la pr'ctica. La ventaja de la fibra ptica sobre otros medios de transmisin es que no es susceptible de interferencias e&ternas, no es f'cil lograr intromisiones sin suspender el servicio, en un )a" de fibras de una pulgada de di'metro pueden acomodarse m's de cien fibras debidamente protegidas. Adem's de la cubierta de vidrio de diferente ndice de refraccin, los )aces de fibra cuentan con una pelcula de sustancia gelatinosa que adem's de absorber vibraciones contiene veneno para roedores. La desventaja de la fibra es que si llega a tro"arse, se tiene que )acer un arreglo relativamente caro que puede ser un alineamiento mec'nico fijo con p3rdida del ./` de lu", pueden ajust'rseles conectores y los conectores unirlos con una gua con p3rdida del ./ al 2/` de lu" o pueden fundirse en un arreglo t3rmico con p3rdida mnima. El otro problema ante dao fsico es la identificacin de los pares correctos. En el emisor se puede usar un diodo emisor de lu" o un l'ser de semiconductor. En el destino puede estar un fotodiodo, cuya caracterstica es que emite un pulso el3ctrico cuando es impactado por la lu". Los fotodiodos responden )asta en un nanosegundo, lo cual limita la velocidad de la fibra a un gigabit por segundo. 9.3 Transmisin inalmrica ni%el #sico La transmisin inal'mbrica se aplica en los usuarios mviles y cuando se necesita unir puntos separados por montaas u otros obst'culos del terreno. Algunos especialistas consideran que en el futuro los medios de transmisin ser'n fibra o inal'mbrica. El principio b'sico de la transmisin inal' mbrica consiste en que si un electrn se mueve en el espacio, se generan ondas que viajan incluso en el vaco a la velocidad de la lu" independientemente de su frecuencia. La distancia entre dos crestas de onda se le llama longitud de onda y se denota por el smbolo l. En la fibra o cobre la velocidad baja apro&imadamente a 2//,/// HmBs y depende un poco de la frecuencia. La relacin entre la velocidad de la lu" #c$, la longitud de onda y la frecuencia #f$ en el vaco es: #l A c 78rm)la 16 @omo la velocidad de la lu" es constante #)asta a)ora$, si conocemos f podemos obtener l y si conocemos l podemos obtener f. %or ejemplo, si la frecuencia en una fibra es de 122 0egaQert", su longitud de onda es #6//,///HmBs$B#122,///,/// Qert"$ U /.///7 Hm U /.7 0ts. En el espectro electromagn3tico podemos encontrar varios medios para transmitir informacin modulando la amplitud, la frecuencia o la fase de las ondas. @omo sabemos, los rayos de m's alta frecuencia y que podran llevar m's informacin son los F, Kamma y +ltravioleta, pero no se usan porque son perjudiciales para los )umanos y porque son difciles de modular, por eso se usan frecuencias m's bajas. La cantidad de informacin que una onda puede llevar est' relacionada con el anc)o de banda. En altas frecuencias es posible codificar )asta 9/ bits por cada Qert", as que un cable a 7// 0)" podra llevar 9 KigabitsBs. (i derivamos con respecto a lambda en la frmula ., tenemos: d#C d l A 7? c 6C l 2 y con diferencias finitas obtenemos: < # A 7 c <l6C7l 2 6 lo cual significa que la frecuencia crece de acuerdo al crecimiento de la longitud de onda, por eso la mayora de los pases quieren apropiarse de las ondas con banda mas amplia. 9.3.1 Transmisin por radio @omo ya vimos, una carga el3ctrica en movimiento genera un campo magn3tico y un campo el3ctrico. (i en una antena #que pueden ser un par de cables paralelos$ se producen corrientes el3ctricas que oscilan de t. en positivo a t2 en negativo, se producen campos el3ctricos y magn3ticos que se propagan, en teora, )asta el inifinito. El campo magn3tico rodea a la antena como una piedra arrojada al agua y el campo el3ctrico es perpendicular. A la unin de los dos campos constituyen las ondas electromagn3ticas y su velocidad en el aire es ligeramente inferior a 6//,/// Hm.Bs. @uado estas ondas llegan a otro par de cables paralelos unidos a un circuito el3ctrico completo, producir' una fuer"a electromotri" #fem$ a la ve" que obligan a los electrones a moverse generando una corriente el3ctrica muy pequea, pero suficiente para que los circuitos electrnicos la transformen en una seal de alta energa que representa la transmisin radiofnica. Las frecuencia usadas para la transmisin de radio van m's all' de los .// Hilociclos o Hilo)ert". Gbserve la car'tula de su receptor de radio para ver los lmites usados en la radio comercial. Las ondas de radio pierden potencial inversamente proporcional al cubo de la distancia recorrida en el aire. %ueden pasar obt'culos m's f'cilmente mientras menor es su frecuencia, a mayor frecuencia viajan cada ve" m's en lnea recta y son absorbidas por la lluvia o el agua. En todas las frecuencias sufren interferencia por campos el3ctricos o magn3ticos. Las ondas de radio de muy baja, baja y mediana frecuencia #./ 9 !./ ] $ viajan siguiendo la curvatura terrestre, mientras que las de alta frecuencia #./ ] !./ 5 Q"$ pueden enviarse )acia la ionsfera en donde rebotan como si )ubiera una repetidora #sin regenerar la seal$ y tomar el rebote en una retransmmisora. Las frecuencias altas y muy altas son usadas para transmisiones militares. 9.3.2 Transmisin por microondas Las ondas de frecuencias mayores a .// 0)" viajan en lnea recta y necesitan alinearse el transmisor y el receptor. Este tipo de seales son absorbidas por la lluvia y la tierra, por lo cual necesitan repetidoras terrestres o sat3lites. %ara unas torres de .// 0ts. de altura la distancia de separacin es 5/ Hm. La mayor parte del espectro arriba de los .// 0)". est' estandari"ado por la 4,+! 8, aunque )ay algunas bandas que no necesitan licencia. Las bandas de 2.9 a 2.959 K)" se usa para transmisiones m3dicas, cientficas e industriales. Las bandas de E/2 a E25 0)" y 7.]27 a 7.57/ K)" se usan para tel3fonos inal'mbricos y controles remotos. Entre m's alta la frecuencia, m's cara es la electrnica para manejarla y m's interferencia se puede tener de )ornos de microondas y radares. En comparacin con la fibra ptica, las microondas son m's baratas porque no necesitan un cable. 9.3.4 Transmisin in#raro+a Los controles remotos de nuestros televisores trabajan con una pequea lu" infraroja que es muy >til en las transmisiones en distancias cortas, la desventaja es que no debe )aber ning>n obst'culo entre el emisor y el receptor. 0ientras las frecuencias de radio se acercan a las frecuencias de la lu" visible se comportan menos como radio y m's como lu". La lu" infraroja no se puede usar en e&teriores porque el sol las anula. 9.3.' Transmisin lser %ara resolver el problema de que la brillante" del sol anula la lus infraroja, se usan rayos l'ser en pequeas distancias. El rayo l'ser es una lu" muy potente y co)erente #que no se dispersa f'cilmente con la distancia$. El rayo l'ser es unidireccional y para )acer LA:s se necesitan dos rayos por cada nodo. 9.4 Transmisin %a sat1lite ni%el #sico +n sat3lite artificial puede ubicarse a 61 mil Hm. en rbita sobre la tierra y a esa distancia tiene la propiedad de mantenerse sobre una misma 'rea, lo cual es muy >til para enviarle seales. @on la tecnologa actual, se pueden colocar sat3lites cada dos grados, lo cual permite poner sobre una misma lnea )asta .5/ sat3lites alrededor de la tierra. (e pueden poner dos o m's sat3lites m's cerca de dos grados si trabajan en fecuencias diferentes. Las partes m's importantes del sat3lite son sus transponders, que se encargan de recibir la seal que viene de la tierra y de repetir la seal de regreso con una frecuencia diferente y sobre un 'rea preprogramada. (e )an destinado ciertas frecuencias para las transmisiones comerciales. La banda @ fue la primera y ya est' saturada, la banda Hu no est' saturada pero por su frecuencia es f'cilmente interferida por la lluvia, por lo cual se instalan estaciones terrestres e&tras para darle la vuelta a las tormentas. La banda Ha es la m's cara y menos usada y tambi3n se perjudica con la lluvia. E&isten otras bandas pero son para uso militar. +na desventaja de los sat3lites es el retraso in)erente al viaje de ida y vuelta, el cual puede variar de 27/ a 79/ milisegundos, y este valor no se puede evitar y afecta, sobre todo, a la puesta a punto inicial de una cone&in, ya que una ve" establecida el flujo de datos se considera secuencial. 9.' Aspectos del ni%el de ligado de datos La capa de enlace de datos reali"a las tareas de agrupar los bits provenientes de la capa fsica y los agrupa para formar marcos #frames$, as como tareas de control de errores y control de flujo. Los servicios que la capa de enlace ofrece pueden ser de tres tipos: no orientados a la cone&in, no orientados a la cone&in sin confirmacin y orientados a la cone&in con confirmacin. La mayora de las arquitecturas de red ofrecen un servicio no orientado a la cone&in y sin confirmacin en la capa de enlace de datos o correspondiente, ya que la capa de red puede )acerse cargo de esa tarea. La confirmacin de recepcin de un marco le sirve al emisor para saber que el marco lleg a su destino a la capa correspondiente de enlace de datos, lo cual no debe confundirse con que lleg ntegro a la aplicacin. @omo dijimos, una tarea llevada a cabo en esta capa es la de agrupar los bit que vienen de la capa fsica y crear marcos. La longitud de los marcos puede ser fija o variable, y puede ser un m>ltiplo en bits del tamao en bits del cdigo usado #ascii, ebcdic, etc.$. la tarea de enmarcado se puede efectuar por varios m3todos que se describen a continuacin. 'or conteo de caracteres /a capa de enlace crea marcos de F smbolos, donde cada smbolo tiene F bits. 2ada marco lleva como primer smbolo un n.mero que indica el tama9o total del marco. Esta forma de enmarcar es obsoleta porque una ve" que el primer smbolo se da9a %indicando un tama9o mayor o menor del marco& no hay manera de saber qu marco fue el que se corrompi. 'or caracter de inicio 1 -in2 Este mtodo enva un marco que comien"a con uno o varios caracteres de significado especial y lo finali"a con otra combinacin de caracteres especiales, de esta manera se resuelve el problema de que se da9e un marco, ya que el protocolo simplemente detecta el inicio y terminacin de cada marco con estos caracteres. 6bviamente, estos caracteres conforman parte del encabe"ado y cola de cada marco y son eliminados cuando se pasa el flu#o de datos a la capa de red. 'or #anderas de inicio 1 -in Es igual que el mtodo de caracter de inicio y fin, excepto que el tama9o de los smbolos enviados no son fi#os, sino que pueden ser de cualquier tama9o, y para esto entonces se deben especificar secuencias de bits de control predeterminados para delimitar el inicio y fin del marco. :or e#emplo, si esa secuencia es E++++E, y si los datos a transmitir son la cadena EE++EE++EE++EE+++EE, el marco completo es 133331EE++EE++E++EE++EE133331. +n problema que puede suceder tanto en este m3todo como en el anterior es los datos a enviar contengan precisamente o por coincidencia la cadena de control #o caracter de inicio o fin$. La solucin es muy simple y consiste en modificar la cadena de control que viene como dato insert'ndole enmedio una cadena de control. %or ejemplo, si los datos son la cadena: //..//.../1DDDD1//..// el marco resultante sera: 1DDDD1//..//..././/1DDDD1//.//..//1DDDD1 y como en el destino estos bits son eliminados, la cadena de datos entregada a la capa de red es: //..//..././///.//..// 'or uso de cdio in45lido en el ni4el -+sico Peneralmente, las cadena de bits o caracteres de control usados en los mtodos anteriores no son parte del cdigo entendido por la capa del nivel fsico. ?al es el caso de los estndares <EEE K+G.M. 9.'.1 <eteccin $ correccin de errores Gtra tarea importantsima de la capa de enlace #y de las dem's capas superiores$ es la de detectar, y si se desea, corregir errores ya que el nivel fsico tradicionalmente no est' libre de errores por ruido termal, interferencias elctromagn3ticas, etc. +na ve" que la capa de enlace ya sabe como identificar el comien"o y fin de un marco, se puede dar a la tarea de verificar si est'n correctos. (e pueden )acer dos cosas: simplemente detectar que )ubo un error y pedir la retransmisin del marco o mensaje #lo cual no es factible en lneas unidireccionales$ o bien corregir los bits daados. %ara detectar que )ubo un error, al enviarse un marco se guarda en una tabla cu'ndo se envi y se le asocia un tiempo para recibir su confirmacin. (i no se recibe la confirmacin por parte del receptor, se re!enva el marco. El problema que puede surgir es que si se perdi la confirmacin, el receptor puede tener marcos duplicados, lo cual se soluciona al asignar un n>mero de secuencia a cada marco, para descartar los duplicados y re!enviar su confirmacin. Gtra forma de detectar un error #que ya no fue la p3rdida del marco, sino la corrupcin de su contenido$, es insertar un cdigo de c)equeo, y para esta labor se utili"an cdigos basados en el concepto de distancia de Qamming. La distancia de Qamming para un cdigo cualquiera se define como el n>mero de bits diferentes al )acer un FG8 entre todos sus smbolos. %or ejemplo, si tenemos un cdigo con los smbolos A,=,@M donde A U ..///, =U///.., @U/../., tenemos: - xor > EE+++ - xor 2 EE+++ = &or @ ///.. ///.. /../. /../. 9 bits 6 bits 6 bits <istancia de 5amming U mnimo#9,6,6$ U 6 bits. (i los smbolos de un cdigo difieren a lo menos en F bits, es posible saber que ocurrieron F!. errores ya que al variar un smbolo v'lido #daarlo$ en F!. bits es imposible obtener otro smbolo v'lido. (i los smbolos de un cdigo difieren a lo menos en 2FR. bits, al variar F bits #daar F bits$ obtenemos un nuevo smbolo que se parecer' m's en un bit a un cdigo v'lido que a otro cdigo v'lido y por lo tanto podemos decir que el smbolo daado en realidad es el m's parecido reali"ando as su correccin. %or otro lado, si la longitud de los datos es 0 bits y consideramos que los bits que producen la distancia de Qamming es de 8 bits, entonces tenemos que la longitud de la cadena sin incluir el inicio y fin de marco es : con :U#0R8$. @ompruebe que para corregir un error en una cadena se debe cumplir que #0R8$ X 2 8. %or ejemplo, si destinamos 6 bits al c)equeo, #0R6$ X 5, entonces 0 X 7, lo que significa que puedo tener un cdigo de 62 smbolos con capacidad de corregir errores de un bit. Esta frmula sirve para establecer el tamao de una cadena de transmisin mnima con correccin de errores. %ara el diseo est'ndard de protocolos, se )an especificado algunas cadenas de c)equeo bien conocidas llamadas @8@!.2, @8@!.1 y @8@!@@4,, con 8U.2,.1 y .1 bits respectivamente. Estas cadenas se interpretan como polinomios de la manera que sigue. @8@!.2 U ..///////.... U Fa.2 R Fa.. R Fa6 R Fa2 R F R .. @8@!.1 U ..////////////./. U Fa.1 R Fa.7 R Fa2 R . @8@!@@4,, U .///.//////.////. U Fa.1 R Fa.2 R Fa7 R . Gbservemos que la posicin del bit con un uno representa la potencia del polinomio. @ada uno de estos polinomios se conocen como generador polinomial y las siglas @8@ significan @yclic 8edundancy @ode. Los tres pasos para detectar errores con estos polinomios son: E. E. 0i el 2O2 es de grado O, tome el marco de tama9o 4 y concatnele O ceros al final generando una nueva cadena o polinomio :. G. G. Divida el polinomio : entre el 2O2 correspondiente usando divisin de mdulo dos. En esta divisin se va a obtener un residuo Q. H. H. Ostele Q al polinomio : usando resta de mdulo dos obteniendo as una cadena ?. /a cadena ? es el marco que ser enviado a travs de la capa fsica. El efecto del algoritmo anterior es simple, si )acemos lo mismo con un n>mero decimal conocido. (upongamos que @8@U6 y % U 27. Al dividir 27 entre 6 nos da un residuo HU.. Entonces lo que enviamos es una cadena compuesta de las partes 27!.U #29$. Gbservemos que no se transmite el 29, sino una cadena 27!.. En el destino, se )ace la divisin #binaria$ de la cadena compuesta #27!.$B6 U 5 y el residuo es cero, lo cual significa que la cadena original es correcta y son los primeros 0 bits. 9.'.1.1 3ontrol de #l)+o El control de flujo es otra tarea reali"ada por ve" primera en la capa de enlace de datos y que tambi3n puede estar presente en las capas superiores. El control de flujo resuelve el problema de que un nodo enva datos m's r'pido de lo que el receptor los puede procesar o viceversa. En la seccin 5.]...2 revisaremos m's a detalle las t3cnicas para reali"ar el control de flujo, aunque podemos adelantar diciendo que la solucin a este problema se entiende )aciendo una analoga del emisor con un grifo de agua y el receptor con un recipiente. (i el emisor es m's r'pido que el receptor, tenemos que cerrarle un poco a la llave #decrementar el n>mero de marcos o paquetes por segundo enviados por segundo$. %or otro lado, si el receptor es m's r'pido #la cubeta es muy grande$, le abrimos m's a la llave. 9.'.2 (rotocolos del ni%el de enlace de datos +n problema importante en el diseo del protocolo de enlace de datos es la manera en como se van a enviar datos y a recibir las confirmaciones. +na solucin sera tener dos canales unidireccionales, uno para enviar datos y otro para recibir las confirmaciones, pero es claro que esta solucin es ineficiente porque desperdiciaramos muc)o el canal de confirmaciones. %ara optimi"ar un poco #o muc)o$ el m3todo de confirmacin, el receptor puede aprovec)ar que la capa de red enva paquetes de respuesta al emisor y le ane&a a dic)os paquetes la confirmacin de los paquetes recibidos. Esta forma de confirmar se le conoce como piggybac*ing. El cuidado que se debe tener con esta t3cnica es que el receptor no espere demasiado a que e&ista un paquete de respuesta para enviar su confirmacin, si el paquete de respuesta no llega en un tiempo alfa predeterminado, debe enviar la confirmacin en un paquete por separado. La confirmacin de la recepcin de marcos #o paquetes$ se puede )acer de manera sncrona si el emisor, para transmitir un nuevo paquete F espera la confirmacin del paquete F!.. (i el protocolo contempla enviar Z paquetes de golpe, y para enviar un paquete m's requiere de la confirmacin de un paquete anterior cualquiera que sea su n>mero de secuencia, entonces estamos ante un protocolo de ventana desli"ante, del cual )ablaremos m's e&tensamente en la seccin 5.]...2. 9.'.2.1 (rotocolo de enlace de datos ((( Aunque e&isten muc)os protolos comerciales o aceptados en todo el mundo, tales como (;L@ #(ync)ronous ;ata Lin* @ontrol de (:A 4=0$, y sus derivados A;@@% #Advanced data @ommunication @ontrol %rocedure de A:(4$, Q;L@ #Qig)!level ;ata Lin* @ontrol de 4(G$, LA% #Lin* Access %rocedure de F.27$, revisaremos el protocolo %%% #%oint to %oint %rotocol$ porque est' en auge al igual que el uso de 4nternet. El protocolo %%% esta descrito en los 8D@ .11. a .116. Es el est'ndard usado en 4nternet para cone&iones de un nodo aislado #por ejemplo una computadora en el )ogar$ )acia un servidor en 4nternet #por ejemplo, un servidor de terminales de una LA: en 4nternet$. %%% provee los siguientes servicios: E. !n mtodo de enmarcado que delimita sin ambigRedad los lmites de los marcos G. El formato de los marcos contempla una cadena de chequeo que permite la deteccin de errores. H. !n protocolo /2: %/inI 2ontrol :rotocol& para levantar, probar, negociar y eliminar los enlaces apropiadamente. *. !n mecanismo %Fet=orI 2ontrol :rocolo& para negociar opciones con la capa de red que permite soportar varios protocolos de capa de red. +na sesin tpica con el protocolo %%% sera que un ama de casa inicia una llamada a su proveedor de 4nternet por medio de un mdem. El mdem establece un enlace fsico con el enrutador del proveedor de 4nternet y el protocolo L@% se encarga de negociar cmo se va a trabajar a nivel de enlace de datos. ;espu3s una serie de paquetes de tipo :@% negocan con la capa de red la obtencin de una direccin 4% para tener la suite completa de ,@%B4%. En este momento podemos decir que el ama de casa forma parte de la red de su proveedor de 4nternet y cuando termine su sesin de trabajo, :@% se encargar' de negociar con la capa de red #4%$ la terminacin de la cone&in, luego L@% cerrar' el enlace y el mdem colgar' la llamada. Los campos de un marco de %%% son: 6andera de 1 #1te Aue es un campo heredado de CD/2 con valor de +EEEEEE+ el cual es un caracter de marca porque ::: delinea sus marcos con caracteres de inicio y fin. Direccin de 1 #1te Aue siempre tiene un valor de EEEEEEEE que elimina la necesidad de asignar una direccin al enlace de datos. Campo de control de 1 #1te <ndica si se va a reali"ar control de marcos asignando n.meros de secuencia a cada frame. :or omisin el valor es ++++++EE que indica que no va a haber control. El O)2 ENNH describe cmo se hace el control en caso de que este valor sea diferente. Campo de protocolo de 1 o 2 #1tes <ndica, dependiendo de su valor, que los datos dentro del marco pertenecen a <:M, -pple?alI, F2:, /2:, MF0, 60<, <: o 2/F:. 0i el primer bit de este campo es un uno, los datos pertenecen a otros protocolos que se negocan mediante F2:. El campo de datos Es de tama9o variable que se negoca con /2:, por omisin es de EL++ bytes. Campo de c7e*ueo de 2 o " #1tes :ermite la verificacin de la integridad de los datos como se explic en secciones anteriores. 6andera de -in2 ?iene un valor de +EEEEEE+ al igual que la bandera de inicio. 9.'.3 Estndares para LA-& $ MA-& La reservacin de frecuencias en la transmisin de ondas, derec)os de paso para cableado y todo lo relacionado con la infraestructura de las redes mundiales no puede )acerse a la ligera porque )abra un caos. (e )an )ec)o muc)os esfuer"os para publicar est'ndares a nivel mundial que reglamenten esta actividad. La Grgani"acin de la :aciones +nidas )a logrado formar un comit3 que coordina los esfuer"os de los diferentes institutos iternacionales que producen est'ndares. El comit3 funciona como una agencia denominada 4,+ #4nternational ,elecommunications +nion$ y sus tres sectores principales son: E. El sector de radiocomunicaciones conocido como <?!1O G. El sector de estandari"acin en telecomunicaciones denominado <?!1? o 2onocido antes como 22<?? o ?raba#a en con#unto con <06, -F0<, <EEE,D<F H. El sector de investigacin y desarrollo denominado <?!1D 4,+!, )a logrado cierta claridad en nombrar equipos de trabajo que trabajan coordinadamente en cada pas revisando y proponiendo nuevos est'ndares o mejoras a est'ndares viejos. Las dos ramas mundiales m's importantes son los esfuer"os de estandari"acin de 4,+!, y de la comunidad de 4nternet. La comunidad de 4nternet tiene dos comit3s que son el 4E,D #4nternet Engineering ,as* Dorce$ y el 48,D #4nternet 8esearc) ,as* Dorce$ coordinados bajo el 4A= #4nternet Activities =oard$. El proceso para lograr est'ndares se parece muc)o al proceso de 4(G: Los est'ndares propuestos se envian y se publican como un 8D@ #8equest for @omments$, si el est'ndard propuesto a) es implantado y probado durante cuatro mese, avan"a al estado de est'ndard en sucio #;raft (tandard$ y si el 4A= eval>a que el est'ndard sirve y es ampliamente aceptado entonces se le da el grado de Est'ndard de 4nternet. 9.'.4 <ispositi%os #sicos En el argot de las redes de datos se manejan un sin fin de t3rminos que para el profano resultan desconcertantes, y para el purista del idioma resultan una aberracin. (in embargo tenemos que conocerlas y usarlas porque es uno de los objetivos de este curso. Repetidor !n repetidor es un dispositivo de la subred que toma las se9ales elctricas del medio fsico y las regenera El repetidor traba#a en el nivel fsico y no $sabe nada$ acerca del significado de las se9ales. 0e utili"a para aumentar el alcance de un segmento de la subred. En una red ethernet, slo se pueden poner dos repetidores entre dos mquinas, lo cual hace que la distancia mxima de una red ethernet extendida con repetidores sea de EL++ 4ts. 'uente %>ridge& Es un dispositivo de la subred que, adems de tener la funcin de repetidor, debe conocer la estructura de los paquetes que circulan en la red. De hecho, se puede considerar que un puente es una computadora con dos interfaces que dan acceso hacia un mismo tipo de red y e#ecutan un programa fi#o. El programa toma los paquetes de cada interfase %si estn correctos& y los copia hacia la otra interfase. /os paquetes malos son descartados, aislando as los problemas de un segmento. 0i el repetidor es $adaptativo$, anali"a las direcciones fsicas de los nodos remitentes de cada interfase y genera dos listas. 2uando un paquete tiene la direccin fsica del remitente y del receptor en la misma lista, el paquete no es copiado hacia la otra interfase, lo cual optimi"a la carga sobre la red completa ya que se logra segmentar la red. 0e puede considerar que los puentes traba#an en el nivel fsico. 2omo la generacin de las listas es sobre la marcha, un repetidor no necesita ninguna programacin o puesta a punto. Con4ertidor %?ransceiver& Es un dispositivo capa" de tomar la se9ali"acin de un tipo de red %por e#emplo ethernet& sobre un tipo especfico de interfase %por e#emplo, cable coaxial grueso& y convertir la se9ali"acin hacia otra forma especfica de interfase %por e#emplo, cable coaxial delgado&. /os transceivers pueden tomar su energa de operacin del nodo final o de una fuente propia. ?raba#an en el nivel fsico y pueden considerarse como parte de la subred o del nodo. En ethernet, existen convertidores de fibra1utp, fibra1coaxial, fibra1aui, utp1aui, utp1coaxial, etc. (ultiple8or !n multiplexor simple es un dispositivo de la subred que tiene la funcin de un repetidor, pero en lugar de tener una entrada y una salida, posee una entrada full duplex y varias salidas full duplex. /a idea es que varios nodos o terminales en las salidas conceptuales puedan tener acceso al canal de entrada. 0i el multiplexor incluye alguna inteligencia para optimi"ar la se9ali"acin sobre los canales de salida %por e#emplo, aislar los nodos ociosos o con fallas& entonces recibe el nombre de concentrador. 6tro nombre genrico de los multiplexores en general es el de $hub$. 0e pueden encontrar multiplexores con funcin de puente y de convertidor. :or e#emplo, el canal de entrada puede ser !?: y las salidas cable coaxial delgado. ?raba#an en el nivel fsico. Enrutadores %Oouters& 0on dispositivos de la subred que traba#an en la capa de red. 2uentan con varias interfases de un tipo de red. 0u traba#o consiste en examinar las direcciones orgen y destino de red de cada paquete. 0i la direccin de red orgen cae en la misma interfase que la direccin de red destino, el paquete es descartado. 0i la direccin orgen de red cae un una interfase y la destino en otra, el paquete es copiado hacia la interfase destino, logrando as el enrutado de paquetes. /os enrutadores intercambian %por medio de un protocolo de enrutado& sus tablas que contienen la lista de redes alcan"ables, logrando de esta manera que un paquete pueda via#ar a redes distantes. En internet, el concepto de router y gate=ay es intercambiable porque sus funciones estn integradas. !n router se diferencia de un bridge en que el primero anali"a direcciones de red de la capa de red, mientras que el segundo anali"a direcciones de la capa fsica. 'asarela %Pate=ay& Es un dispositivo de la subred que traba#a en la capa de red. Es capa" de entender la sintaxis de un protocolo de comunicacin %por e#emplo, -pple?alI& y convertir el flu#o de datos hacia otro protocolo %por e#emplo, ?2:J<:&. De esta manera logramos comunicar nodos que hablan protocolos nativos diferentes. /as funciones tanto de gate=ay como de router generalente se incluyen en un mismo aparato actualmente. Conmutador2 %0=itch& Dispositivo de la subred que reali"a una labor principal similar a la de un enrutador y que se usa en las redes telefnicas o en las redes con nuevas tecnologas como 04D0 y -?4. 0u traba#o consiste en crear circuitos virtuales o enla"ar circuitos permanentes para transmitir un flu#o ms o menos constante de informacin. Ser4idor de Terminales %?erminal 0erver& Es un dispositivo de la subred con caractersticas de multiplexor que se considera un nodo pasivo desde donde los usuarios pueden tener acceso a nodos activos a travs de las terminales conectadas a sus salidas conceptuales. Tarea@ 3onsiga el diagrama de )na red $ localice todos los elementos de la s)red. <escrala en t1rminos de la #)ncionalidad de los dispositi%os aprendidos. E. EFEM(L:& <E RE<E& En las siguientes cuatro secciones daremos un vista"o a los aspectos m's importantes de cuatro redes diferentes lo cual nos abrir' el panorama en cuanto a su utilidad, sus funciones, y sus objetivos. E.1 ;istaBo a -o%ell -etGare En nuestro pas, en la gran cantidad de microempresas, las necesidades en cuanto a compartir informacin y recursos #arc)ivos, impresoras, bases de datos, etc.$ se ve ampliamente satisfec)a por el sistema comercial :ovell :et-are b . Esta pila de protocolos est' basada en el (istema de 8ed Fero& #Fero& :et-or* (ystem F:($ con algunas modificaciones. Los niveles fsico y de ligado de datos pueden escogerse entre varios est'ndares comerciales como son Et)ernet, ,o*en 8ing y A8@net. El nivel de red trabaja con un protocolo no confiable #unreliable$ y no orientado a cone&in #connectionless$ llamado 4%F #4nternet-or* %ac*et eFc)ange$. Este protocolo pasa los paquetes de un origen a su destino aun cuando pertene"can a redes diferentes, lo cual es una forma de trabajar similar a la que reali"a el protocolo 4% #el cual tambi3n est' disponible bajo :et?are$, con la diferencia de que 4% usa direcciones de 9 bytes mientras que 4%F las tiene de ./ bytes. Esta amplitud es una buena estrategia porque permite tener bajo este protocolo a una gran cantidad de nodos que supera a la cantidad que pueden estar bajo ,@%B4%, lo cual se )a vuelto crtico en los E/_s porque se est' llegando al punto de saturacin. La capa de transporte ofrece los procolos (%F y :@% #:et-or* @ore %rotocol$. :@% es un protocolo orientado a cone&in y es, de )ec)o, el cora"n de :et?are. (%F tambi3n est' disponible aunque slo ofrece el servicio de transporte. %or ejemplo, el programa Lotus :otes utili"a (%F para tranbajar en red, mientras que el servidor de arc)ivos utili"a :@%. Al igual que en ,@%B4%, aqu no e&isten las capas de sesin y presentacin. La capa de aplicacin contiene varios protocolos, tales como: /os servicios de impresin propios de Fet=are y el /ine :rinter Daemon tan conocido ba#o !F<M. 0ervidores de archivos, como lo son el propio de Fet;are y el Fet=orI )ile 0ystem que es un estndard por aceptacin a nivel mundial. -plicaciones en general soportadas por 0:M, F2: o ?2:J<:. :or #emplo, tambin se pueden reali"ar aplicaciones con programacin en socIets, como los programas del tutorial de este curso. El protocolo de anuncio de servicios enva un mensa#e broadcast cada minuto informando al resto de los nodos de la red qu servicios ofrece. Al igual que en ,@%B4%, un paquete de red es la clave para construir todo sobre 3l. +n paquete tpico de 4%F contiene el orgen, destino, datos e informacin de control tal como dos bytes para c)ecar si el paquete est' ntegro. Gtra informacin de control es un byte que indica cu'ntas redes diferentes )a atravesado el paquete, si el paquete )a traspasado un lmite de redes se descarta. La direccin origen y destino est' compuesta de 9 bytes para el n>mero de red, 1 bytes para el n>mero de nodo y 2 bytes para indicar el soc*et del nodo. @uando un nodo en la red es encendido, enva un mensaje broadcast preguntando si e&iste alg>n servidor disponible. En los nodos de ruteo e&isten agentes que controlan una base de datos construida con los servicios ofrecidos a trav3s de mensajes broadcast de los protocolos de anuncio de servicios. Estos agentes responden a los nodos cliente, entoces ya se puede establecer una comunicacin directa entre un cliente y un servidor para negociar operacines sobre arc)ivos, impresoras y otros recursos. El cliente puede seguir preguntando acerca de otros servidores dependiendo del servicio necesitado. E.2 ;istaBo a AR(A-ET Arpanet naci como una red dedicada al servicio del ;epartamento de ;efensa de los Estados +nidos de :orteam3rica, cuyo propsito era crear un medio de comunicacin alterno y diferente al sistema telefnico tradicional. (e decidi que si el sistema telefnico era una red de tipo circuit s-itc)ed, en la cual si una central era daada las conversaciones no tendran forma de continuar debido a que se interrumpan las cone&iones punto a punto, entonces una red donde los datos de la comunicacin pudieran ser divididos en paquetes y 3stos viajar de manera independiente #incluso por rutas diferentes$, cuando un elemento de intercambio #s-itc)eo$ se daara, el paquete podra ser retransmitido por una ruta alterna, lo cual constituye una red de tipo pac*et s-itc)ed. Las ventajas de este nuevo tipo de red fue adoptada por el ;epartamento de ;efensa y se conoci como Arpanet. El Arpanet se concibi como una subred #conjunto de dispositivos de red que conforman el medio fsico de comunicacin entre nodos$ y un conjunto de nodos que intercambiaban informacin.
@ada nodo estaba conectado a otros dos elementos: otro nodo o alg>n elemento de la subred. (e necesitaron dos protocolos: un protocolo nodo a nodo y otro de nodo a 40% #4nterface 0essage %rocessor$. %ara diciembre de .E1E se conectaron los primeros cuatro nodos: +@LA, (84, +@(= y la +niversidad de +ta) y en tres aos creci m's del .///` e&pandi3ndose por todo el pas. ,ambi3n se inventaron los primeros servidores de terminales #en aquel tiempo ,erminal 4nterface %rocessor$ e 40% que soportaban a varios nodos al mismo tiempo. %osteriormente se cre la suite de protocolos de ,@%B4% para )acer m's robusta y eficiente la infraestructura de Arpanet, y la +niversidad de =er*eley la incluy en el sistema operativo +:4F. Este pas tuvo un efecto espectacular, ya que el =(; 9.2 se poda instalar relativamente f'cil en las ;E@ ^AF que pululaban en muc)as universidades y empresas, lo cual le dio un gran impulso a Arpanet. %ara .E56 )aba m's de 2// 40%s en la red y A8%A decidi dejar su adminitracin en manos de la Agencia de @omunicaciones de la ;efensa, y el primer paso tomado fue dividir la seccin militar de la seccin civil. A la seccin militar se le nombr 04L:E, que conserv lneas de comunicacin con la seccin civil. ;ebido al 3&ito alcan"ado por Arpanet, cientos de instituciones con redes de 'rea local ya e&istentes desearon formar parte de esta red m's amplia, y este deseo se reali" durante los 5/s, lo cual provoc la necesidad de contar con un mecanismo para accesar amigablemente cualquier nodo de la red, y se decidi una forma jer'rquica de nombrado en base a dominios. %or ejemplo, para 03&ico, e&iste el dominio superior 0F, del cual e&isten varios subdominios como son KG= y @G0. =ajo KG= encontramos %E0EF. ;e esta forma, el dominio de %E0EF es %E0EF.KG=.0F y debajo de 3l encontramos nodos reales como podran ser las computadoras con nombre )pE/// y sparc9. %ara que los servicios de ,@%B4% puedan ser efectivos, se necesita traducir el nombre completo del nodo #por ejemplo )pE///.peme&.gob.m&$ a una direccin 4% tal como .1/.26.].7. Esta traduccin es reali"ada por un (ervidor de :ombres dentro del servicio denominado (istema de :ombres de ;ominio #;omain :ame (ystem ;:($. E.3 ;istaBo a -8&-ET El 3&ito de Arpanet )i"o que muc)as universidades, a principios de los 5/s y a trav3s de la Dundacin :acional de @iencias #:(D de Estados +nidos$ crearan una red denominada @(:E, la cual accesaba a Arpanet a trav3s de un nodo de ==: #la institucin que dise los primeros protocolos nodo!nodo y nodo!40%$. %ara .E59 la :(D dise una red que una seis supercomputadoras a trav3s de seis computadoras de bajo rendimiento con lneas privadas a 71Hbps. Lo interesante del diseo es que el protocolo de red fue ,@%B4% desde el inicio creando as la primer red de 'rea amplia con este protocolo. %osteriormente se aadieron otras instituciones #museos, universidades,etc.$ y redes locales para accesar a las supercomputadotras, todo lo cual cre la :(D:et la cual tena una cone&in a Arpanet a trav3s de un enlace en la +niversidad de carnegie 0ellon. El gobierno de Estados +nidos decici, para .EE/, ya no financiar redes por lo cual algunas empresas privadas como 0@4, 0E84, e 4=0 tomaron el relevo de la :(D:et e incrementaron su velocidad de ..7 0bps a 97 0bps la cual se denomin A:(:et #Advanced :et-or*s and (ervices :et$. %ara .EE7, el tronco de :(D:et fue innecesario porque e&istan numerosas redes comerciales que lo )acan, y cuando A:(:et fue vendidad a la empresa America Gnline, :(D promovi que cuatro operadores de red aseguraran que las redes regionales de Estados +nidos pudieran conectarse unas con otras a trav3s de varios %untos de Acceso de 8ed. Los operadores fueron %ac=ell en (an Drancisco, Ameritec) en @)icago, 0D( en ?as)ington, y (print cerca de :ueva Zor*. La condicin para ser operador era ofrecer que cualquier red regional pudiera conectarse a cualquier :A% y que el cliente pudiera escoger en base a calidad y precio. Aparte de estos :A%s, algunos otros de tipo gubernamental y privados se sumaron creando una red de autopistas de informacin competitivas. E.4 ;istaBo a !nternet La sinergia de la unin de :(D:et y Arpanet )i"o que el crecimiento de la red fuera e&ponencial. Algunas personas desde los 5/s vean la unin de redes como una red global o internet y m's tarde como la 4nternet. En .EE/ 4nternet contaba con 6/// redes y cerca de 2//,/// nodos. Za en .EE2 tena un milln y en .EE7 )aba decenas de millones de nodos, y se calcula que cada ao el n>mero se duplica. Este crecimiento se e&plica porque muc)as redes de 'rea local que crecieron fuera de 4nternet a)ora se est'n conectando a ella. (e considera que un nodo pertenece a 4nternet si puede enviar paquetes del protocolo ,@%B4% y alcan"ar a otros nodos dentro de la misma. Los servicios tpicos ofrecidos en 4nternet son el correo electrnico #a trav3s de un servidor de correo y un lector de correo como pine, eudora, alg>n navegador de ??? con esta capacidad, etc.$, el servicio de noticias de red :E?( #a trav3s de un servidor de :et:e-s y un lector como el &vne-s, tin, nne-s, etc.$, la ejecucin remota de comandos y las seiones de trabajo remotas #a trav3s del comando de +:4F rlogin o bien con el programa telnet$, la transferencia de arc)ivos #a trav3s del Dile ,ransfer %rotocol donde los servidores de D,% annimos son esenciales$, y el ??? #?orld ?ide ?eb$.