redes de computadores, 2da edición - james f. kurose & keith w. ross

710

Click here to load reader

Upload: oscar-gj

Post on 22-Dec-2015

312 views

Category:

Documents


80 download

DESCRIPTION

Redes de Computadores, 2da Edición - James F. Kurose & Keith W. Ross

TRANSCRIPT

  • www.freelibros.org

  • www.freelibros.org

  • p^i

    Bienvenido a la segunda edicin de Redes de computadores: un enfoque descendente besado en Internet. Desde la publicacin, hace dos aos, de la pnmera edicin, nuestro libro ha sido adoptado por cientos de universidades y utilizado por ms de diez mil estudiantes y usuarios en el mundo entero. Hemos tenido noticias de muchos de estos lectores, y estamos abrumados por la respuesta tan favorable. Pensamos que una razn importante de este xito es que el libro ofrece una aproximacin nueva a la enseanza de las redes de computadores. Por qu se necesita una aproximacin novedosa*1 En los aos recientes hemos sido testigos de dos cambios revolucionarios en el campo de las redes de computadores, cambios que no estn reflejados en los textos sobre redes publicados en los aos de las dcadas de 1980 y 1990. Primero, Internet ha absorbido las redes de computadores. Cualquier discusin seria sobre el tema hoy en dia se tiene que hacer con Internet en mente. Segundo, en los pasados diez aos el rea de crecimiento ms grande ha sido en serv icios y aplicaciones de red. lo que se puede apreciar por la emergencia de la Web. el uso extensivo del correo electrnico, audio y v ideo, telfono a travs de Internet, mensajes instantneos, aplicaciones entre colegas (peer- to-peer) y comercio en lnea.

    Qu es nuevo en esta segunda edicin?En esta segunda edicin hemos hecho cambios, pero hemos mantenido sin cam biar lo que creemos (y los profesores y estudiantes que han utilizado nuestro libro nos han confirmado), que son los aspectos ms importantes de este libro:

    www.freelibros.org

  • su enfoque descendente, su enfoque en Internet, su atencin tanto a principios como a prctica y su estilo accesible y centrado en el aprendizaje de las redes de computadores. lista segunda edicin ha sido actualizada para reflejar los rpidos cambios de los aos recientes en el campo de las redes. Incluye material nuevo y ampliado sobre redes entre colegas, redes de distribucin de contenidos, movilidad e IP mvil, redes sin cable, BGP, redes multimedia, seguridad en redes y mucho ms.

    El texto completo y las referencias se han actualizado considerando los cambios en el tema y la retroalimentacin de los lectores de la primera edicin. Se han aadido tambin problemas adicionales para trabajo personal. Esta edicin introduce tambin nuevos ejercicios de laboratorio (incluyendo una excitante prctica de laboratorio sobre llujo de vdeo utilizando RTP y RTSP).

    Audiencia

    Este libro de texto es para un primer curso en redes de computadores. Se puede utilizar tanto en los departamentos de informtica como en los de ingeniera elctrica. En relacin con los lenguajes de programacin supone que el estudiante solo tiene experiencia con C. C++ o Java. Un estudiante que haya programado nicamente en C o C++ y no en Java no debera tener ninguna dificultad para seguir el material de programacin de aplicaciones, incluso aunque este material est presentado en un contexto Java. Aunque este libro es ms preciso y analtico que otros muchos textos introductorios de redes de computadores, diicilmente utiliza conceptos matemticos que no se hayan enseado en el bachillerato (high school). Hemos hecho un esfuerzo deliberado para evitar el uso de cualquier concepto de clculo avanzado, probabilidad o procesos estocsticos. El libro es adecuado, por tanto, para cursos de primer ciclo y para el primer ao de los cursos de segundo ciclo. Tambin puede ser adecuado para los trabajadores de la industria de las telecomunicaciones.

    Qu es nico en este texto?

    El tema de las redes de computadores es enormemente complejo, implicando muchos conceptos, protocolos y tecnologas que estn entrelazados de una m anera intrincada. Para abarcar este alcance y complejidad, muchos textos de redes se han organizado a menudo sobre las capas de una arquitectura de red. Con una organizacin en capas los estudiantes pueden ver a travs de la complejidad de las redes de computadores, y aprenden sobre los distintos conceptos y protocolos en una pane de la arquitectura mientras ven el gran esquema de cmo todas las partes concuerdan juntas. Por ejemplo, muchos textos estn organizados alrededor de la arquitectura de siete capas SI. Desde una perspectiva pedaggica nuestra experiencia personal ha sido que dicha aproximacin por capas es efectivamente muy deseable. Sin embargo, hemos encontrado que la aproximacin tradicional de enseanza ascendente, es decir, desde la capa fsica hasta la de aplicacin, no es la mejor aproximacin para un curso moderno de redeswww.freelibros.org

  • Un enfoque descendente (top-down)A diferencia de otros textos de redes de computadores, este texto est organizado de arriba hacia abajo; es decir, comienza con la capa de aplicacin y va descendiendo desde all hasta la capa tsica. El enfoque descendente tiene varios beneficios importantes. Primero, hace nfasis en la capa de aplicacin, que ha sido el rea de crecimiento ms elevado de las redes de computadores. Efectivamente, muchas revoluciones recientes en redes, incluyendo la Web. el flujo de audio y video, y la distribucin de contenidos han tenido lugar en la capa de aplicacin.

    Cuando preparbamos la primera edicin de este libro, creimos que la capa de aplicacin seguira siendo el rea de crecimiento ms grande del campo, tanto en investigacin como en utilizacin. Los aos transcurridos han mostrado incuestionablemente que esto era verdad. Un nfasis inicial en la capa de aplicacin difiere de las aproximaciones consideradas en la mayora de los dems textos, que tienen slo una pequea (o inexistente) cantidad de material sobre aplicaciones de red. requisitos, paradigmas (por ejemplo, cliente servidor) e interfaces de programacin de aplicacin. Segundo, nuestra experiencia como educadores ha sido que ensear aplicaciones de redes al principio del curso es una potente herramienta de motivacin. Los estudiantes se emocionan al aprender cmo funcionan las aplicaciones de red. aplicaciones como el correo electrnico o la Web, que utilizan diariamente la mayora de los estudiantes. Una vez que los estudiantes comprenden las aplicaciones, pueden comprender los servicios de red necesarios para soportar esas aplicaciones. El estudiante puede entonces, por tumo, examinar las distintas formas en que se pueden presentar e implementar dichos servicios en los niveles bajos. I ratar las aplicaciones inicialmente proporciona, por tanto, motivacin para el resto del texto.

    Tercero, el enfoque descendente permite a los instructores introducir el desarrollo de aplicaciones de red en una etapa inicial. Los estudiantes no slo ven cmo trabajan aplicaciones o protocolos, sino que tambin aprenden que fcil es crear sus propias aplicaciones de red o protocolos del nivel de aplicacin. Otros textos introductorios de redes de computadores no cubren el desarrollo de aplicaciones y la programacin de sockets. (Incluso, aunque hay libros dedicados a la programacin de red. no hay libros de texto introductorios de redes.) Al proporcionar ejemplos de programacin de sockets en Java, destacamos las ideas centrales sin confundir a los estudiantes con cdigo complejo. Los estudiantes de primer ciclo en ingeniera elctrica e informtica no deben tener dificultad para seguir el cdigo Java. Por tanto, con la aproximacin de arriba hacia abajo, los estudiantes descubren pronto las nociones de interfaces de programacin de aplicaciones (API), modelos de servicio > protocolos, conceptos importantes que vuelven a ser importunes en todas las capas subsecuentes.

    Un enfoque Internet

    Como se indica en el titulo, este texto tiene como protagonista a Internet. La m ayora de los textos existentes dan un peso significativo a una variedad de redes de telecomunicaciones y grupos de protocolos, y tratan a Internet como una de las muchas tecnologas de red. En lugar de esto, nosotros ponemos el foco en

    www.freelibros.org

  • Internet, y utilizamos los protocolos de Internet como instrumentos para estudiar algunos de los conceptos ms importantes de las redes de computadores. Pero, por qu basam os en Internet? Por qu no en alguna de las otras tecnologas de redes, como ATM? Primero, las redes de computadores son ahora sinnimos de Internet. sta no era la situacin cinco aos atrs, cuando habia una gran cantidad de material sobre las redes de rea local ATM y las aplicaciones que inter- actan directamente con ATM (sin pasar por TCP IP). Pero ahora hemos llegado al punto en el que casi todo el trfico de datos se realiza sobre Internet (o sobre redes corporativas). Hoy, el nico tipo de red que compite con Internet es la red telefnica de conmutacin de circuitos. Y este competidor tambin puede desaparecer. Aunque hoy la mayora del trfico de voz se realiza sobre redes de telfono, los fabricantes de equipamiento de red y los operadores de compaas telefnicas estn preparndose para una migracin importante a la tecnologa Internet.

    Otro de los beneficios de centrar la atencin en Internet es que la mayora de estudiantes de informtica e ingeniera elctrica estn deseosos de aprender cosas sobre Internet y sus protocolos. Hilos utilizan Internet diariamente (al menos para enviar correos electrnicos y navegar por la Web), y han odo que Internet es una tecnologa revolucionaria y conflictiva que est cambiando profundamente nuestro mundo. Dada la enorme relevancia de Internet, los estudiantes son naturalmente curiosos sobre los que est bajo el bosque. Por tanto, es fcil para un instructor conseguir que los estudiantes se interesen en los principios bsicos cuando se utiliza Internet como foco gua. Como nuestro libro tiene un enfoque Internet, est organizado sobre una arquitectura de cinco capas Internet, y no en torno a la arquitectura ms tradicional de siete capas. Estas cinco capas son las de aplicacin, transporte, red, enlace y fsica.

    Tratamiento de los principios

    Dos de las caractersticas nicas del libro (su enfoque y sus referencias a Internet) aparecen en el subtitulo de este libro. Si hubiramos podido introducir una tercera frase en el subttulo, sta habra contenido la palabra principios. El campo de las redes est ahora lo suficientemente maduro como para que se puedan identificar un cieno nmero de temas fundamentalmente importantes. Por ejemplo, en la capa de transporte, los temas fundamentales son la comunicacin fiable sobre una capa de red 110 fiable, el establecimiento de conexin y de desconexin y de dilogo, el control de congestin y flujo, y la multiplexacin. En la capa de red, los dos temas ms importantes son encontrar buenos recorridos entre dos rou- ters y tratar con la interconexin de un gran nmero de sistemas heterogneos. En la capa de enlace de datos, un problema fundamental es compartir un canal de acceso mltiple. En el campo de la seguridad de red. son importantes las tcnicas para proporcionar confidencialidad, autenticacin e integridad de mensajes, todas basadas en fundamentos criptogrficos. Este texto identifica los temas fundamentales de redes y ofrece una aproximacin para abordar estos temas. Nosotros creemos que la combinacin del uso de Internet para atisbar las posibilidades y el nfasis posterior en los temas y aproximaciones a las soluciones permiten al estudiante comprender rpidamente la tecnologa de redes.www.freelibros.org

  • El sitio web

    Este texto tiene un extensivo sitio web como ayuda para todos los lectores del libro en http://www.aw.com/kurose-ross. Este sitio incluye:

    Material de enseanza interactiva. Este sitio contiene applets Java interactivos, que ilustran los conceptos fundamentales de redes. Tambin proporciona acceso directo a los programas como el Traceroute (a travs de su navegador), que muestra que el recorrido que los paquetes siguen en Internet. Los profesores pueden utilizar estas caractersticas interactivas como minilaboratorios. El sitio web proporciona tambin acceso directo para las mquinas de bsqueda para las versiones (drafts) de Internet y para un grupo de noticias en el que se discuten los temas de este libro. Por ltimo, el sitio ofrece tambin preguntas de test interactivas que permiten a los estudiantes comprobar su conocimiento bsico del tema considerado.

    Unos quinientos enlaces de material relevante. Con todos los entusiastas de Internet que conocemos, mucho del mejor material de descripcin de Internet est en Internet mismo. Hemos hecho un esfuerzo para incluir los enlaces remotos web para todas las referencias del libro, que ha sido posible.La bibliografa es accesible online y ser actualizada a medida que cambien los enlaces y aparezca nuevo material disponible. Los enlaces no slo apuntan a las solicitudes de comentarios (RFC) y a artculos de revistas y conferencias, sino tambin a sitios que son ms pedaggicos por naturaleza. como pginas personales elaboradas sobre aspectos particulares de la tecnologa Internet y artculos que aparecen en revistas comerciales online. Los profesores pueden asignar el material que aparece en esos enlaces como lectura complementara o incluso obligatoria.

    Material de lectura multimedia de los autores. El sitio WWW ofrece tambin lecturas en clase Roal-Audio de los autores enseando este material a sus estudiantes.

    Esperamos tambin continuar ampliando constantemente el sitio web, afladien- . do las contribuciones de los docentes y lectores, as como nuestras propias nuevas caractersticas. Las actualizaciones debieran hacerse cada tres meses aproximadamente. Si tiene algn problema con el sitio web, enve un correo a [email protected].

    i

    Caractersticas pedaggicas

    Cada uno de nosotros lleva enseando redes de computadores durante ms de 20 aos. Proporcionamos a este texto la experiencia combinada de ensear durante 30 aos a ms de 3.000 estudiantes. Hemos sido tambin investigadores activos en reces de computadores durante este tiempo. (De hecho, Jim y Keith se conocieron cuando eran estudiantes de un mster en redes dado por Mischa Schwartz en 1979 en la Universidad de Columbia.)

    Pensamos que esto nos proporciona una buena perspecti\a de dnde han estado las redes y hacia dnde es probable que vayan en el futuro. Sin embargo, hemos resistido la tentacin de dirigir el material de este libro hacia las preferencias de nuestros proyectos de investigacin. Consideramos que puedes visitar nuestros sitios web personales si ests interesado en nuestra investigacin. Por tanto, este

    www.freelibros.org

  • libro es sobre redes modernas de computadores, sobre protocolos y tecnologas contemporneas, y sobre los principios en los que se sustentan dichos protocolos y tecnologas. Creemos tambin que aprender (y ensear) redes puede ser divertido. Esperamos que el sentido del humor y el uso de analogas y ejemplos del mundo real en este libro hagan el material ms dnertido .

    Casos histricos y principios en la prctica

    El campo de las redes de computadores, que empez a desarrollarse en los ltimos aos de la dcada de 1960. tiene una historia rica y fascinante. Hemos hecho un esfuerzo especial en el texto para contar la historia de las redes de computadores a travs de una seccin histrica especial en el Captulo 1, y con una docena de notas histricas distribuidas por el resto de los captulos. En estas partes histricas. cubrimos la invencin de la conmutacin de paquetes, la evolucin de Internet, el nacimiento de los principales gigantes de las redes, como Cisco y 3Com. y otros muchos acontecimientos. Los estudiantes se sentirn estimulados por estas partes histricas. Tambin, como dicen los historiadores, la historia nos ayuda a predecir el futuro. Y predecir correctamente el futuro en este campo tan cambiante es bsico para el xito de cualquier protocolo o tecnologa de red.

    Como hemos indicado anterionnente, este libro enfatiza los principios subyacentes de las redes de computadores, asi como el papel de dichos principios en la prctica. En cada captulo incluimos una nota especial que destaca un principio importante en redes. Estas notas ayudarn a los estudiantes a apreciar algunos de los conceptos fundamentales que se estn aplicando en las redes modernas.

    Entrevistas

    Tambin incluimos otra caracterstica original que debiera inspirar y motivar a los estudiantes: entrevistas con innovadores renombrados en el campo de las redes. Proporcionamos entrevistas con Leu Kleinrock. Tim Berners-Lee. Sally Floyd. Vint Cerf. Bob Metcalfe. Henning Schulz.rinne, Steven Bellovin. y Jeflf Case.

    Suplementos para los profesores

    Nos damos cuenta de que cambiar el enfoque personal en la forma de dar un curso o incluso actualizarlo puede suponer la dedicacin de un tiempo. Para ayudar a los instructores en la transicin, proporcionamos un conjunto completo de suplementos para instructores cualificados, formado por:

    Transparencias PowerPoint El sitio web del curso poporciona transparencias PowerPoint para los ocho captulos. Las transparencias cubren con detalle cada captulo. Se utilizan grficos y animaciones (en lugar de basarse slo en puntos de texto) para hacer las transparencias interesantes y \ irtualmente atractivas. Proporcionamos las transparencias PowerPoint originales a los profesores, por lo que ellos las pueden adaptar para adecuarlas mejor a sus propias necesidades de enseanza. Algunas de estas transparencias han sido proporcionadas por otros instructores que han enseado con nuestro libro.

    www.freelibros.org

  • Prcticas Je laboratorio. Fl sitio web proporciona tambin varias tareas de programacin detalladas, por ejemplo para construir un servidor web mul- tihilado. un cliente de correo electrnico con una interfaz grfica de usuario (IGU) o programar los lados del cliente y el servidor de un protocolo de transporte de datos fiable, y tambin una tarea sobre rutado en Internet.

    Solucin Je las tareas. F.l sitio web proporciona un manual de soluciones para los problem as de repaso del texto. Estas soluciones son nicamente para los profesores. Todo este material est disponible en la par- :e del instructor del sitio web. http: Vwww.aw.com/kurose-ross. El acceso a esta porcin del sitio WWW est disponible contactando con tu representante de ventas de Addison-W esley o enviando un correo electrnico .1 aw.cse@ aw.com.

    Dependencias entre captulos

    El primer captulo de este texto presenta una visin general autocontenida de las redes de computadores, introducindose muchos conceptos y terminologia; este captulo sita el escenario para el resto del libro. Los dems captulos dependen directamente del primero. Recomendamos a los profesores que una \e z finalizado el Cap tulo 1. se vean los Captulos 2 al 5 en orden, enseando por tanto de acuerdo cor la filosofa descendente. Cada uno de esos cinco captulos se apoya en material de los captulos precedentes. Despus de completar los cinco primeros captulos, el profesor tiene bastante flexibilidad. No hay interdependencias entre los tres ltimos captulos, por lo que se pueden ensear en cualquier orden. Sin embargo, los tres ltimos captulos dependen del material de los cinco primeros captulos. Idealmente, el profesor tendr tiempo de ensear material seleccionado de los tres captulos finales en un curso de un semestre completo. Tambin consideramos que el primer capitulo del texto, al ser entendible y autocontenido puede servir como fundamento de un curso corto sobre redes.

    Una nota final

    Alentamos a los profesores y estudiantes a crear nuevos applets Jasa ifue ilustren los conceptos y protocolos de este libro. Si tienen un applet que piensan que seria apropiado para este texto, por favor envenlo a los autores. Si el applet (incluyendo notacin y terminologa) es apropiado, estaramos muy felices de incluirlo en el sitio web del texto, con una referencia apropiada a los autores del applet. Tambin animamos a los profesores a enviamos nuevos problemas de repaso (y soluciones) que complementen los problemas de repaso actuales, los cuales incluiremos nicamente en la parte de acceso nico para profesores del sitio web. Tambin animamos a los estudiantes y profesores a enviamos por correo electrnico cualquier comentario que tuvieran sobre nuestro libro. Sera maravilloso para nosotros escuchar opiniones de profesores y estudiantes de todo el mundo sobre nuestra primera edicin. Sintase libre de enviamos URL interesantes, indiquemos nuestros eirores. disienta de nuestras afirmaciones. Dganos qu es lo que piensa que debera o no debera ser incluido en la siguiente edicin. Envenos su correo electrnico a [email protected] y [email protected].

    www.freelibros.org

  • Agradecim ientos

    Puesto que com enzam os a escribir este libro en 1996. mucha gente nos ha proporcionado una ayuda inestimable y nos ha influido dando forma a nuestras ideas sobre cmo organizar y ensear mejor un curso sobre redes. Queremos dar MUCHAS GRACIAS a todos los que nos han ayudado. Estamos muy agradecidos tambin a los cientos de lectores de todo el mundo (estudiantes, profesores, usuarios) que nos han enviado ideas y com entarios sobre las ediciones anteriores del libro y sugerencias sobre las futuras ediciones del mismo. Gracias especiales a:

    Al Aho (Lucent Bell Laboratories)Pratima Akkunoor (Arizona State University)Paul Amer (University o f Delaware)Shamiul Azom (Arizona State University)Paul Barford (University o f Wisconsin)Steven Bellovin (AT&T Research)Shahid Bokhari (University o f Engineering & Technology, Lahore)Ernst Biersack (Eurcom Instituto)Daniel Brushteyn (antiguo estudiante de University o f Pennsylvania)Evandro Cantu (Federal University o f Santa Catarina)Jeff Case (SNMP Research International)Vinton C erf (MCI WorldCom)John Daigle (University o f Mississippi)Edmundo A. de Souza e Silva (Federal University o f Rio de Janiero)Philippe Decuetos (Eurcom Instituto)Christophe Diot (Sprint)Michalis Faloutsos (University o f California at Riverside)Wu-chi Feng (Oregon Gradate Institute)Sally Floyd (ICIR, University o f California at Berkeley)JJ Garcia-Luna-Aceves (University o f California at Santa Cruz)Mario Cierla (University o f California at Los Angeles)Tim Griffin. AT&T ResearchMax Hailpcnn (Gustavus Adolphus College)Bruce Harvey (Florida A&M University, Florida State University)Cari Hauscr (Washington State University)Phillipp Hoschka (INRIA W3C)Albert Huang (antiguo estudiante de la University o f Pennsylvania)Jobin James (University o f California at Riverside)Sugih Jamin (University o f Michigan)Shivkumar Kalyanaraman (Renssclaer Polytechnic Institute)Jussi Kangasharju (Eurcom Institute)Hyojin Kim (former University of Pennsylvania student)Leonard Kleinrock (University o f California at Los Angeles)David Kotz (Dartmouth College)Beshan Kulapala (Arizona State Lniversity)Stcve Lai (Ohio State University)Tim-Bcmers Lee (World Wide Web Consortium)

    www.freelibros.org

  • Brian Levine (University o f Massachusens)William Liang (antiguo estudiante de la University o f Pennsylvania)Willis Marti (Texas A&M University)Deep Medhi (University o f Missouri, Kansas City)Bob Metcalfe (International Data Group)Erich Nahum (IBM Research)Christos Papadopoulos (University o f Southern California)Craig Partridge (BBN Technologies)Radia Perlman (Sun Microsystems)Jitendra Padhye (Microsoft Research)George Polyzos (University o f California en San Diego)Srirarr Rajagopalan (Arizona State University)Ken Reek (Rochester Institute o f Technology)Mrtir Reisslein (Arizona State University)Jennifer Rcxford (AT&T Research)Sumit Roy (University o f Washington)Avi Rubn (Johns Hopkins University)Despina Saparilla (Lucent Bell Labs)Henning Schul/nnnc (Columbia University)Mi se ha Schwartz (Columbia University)K. Sam Shanmugan (University o f Kansas)Prashant Shenoy (University o f Massachusetts)Clay Shields (Georgetown University)Subin Shrestra (University o f Pennsylvania)Peter Steenkiste (Camegie Mellon University)Tatsu>a Suda (University o f California en Irvine)Kin Sun Tam (State University o f New York at Albany)Don Towsley (University o f Massachusetts)David Tumer (California State University, San Bernardino)Ira W.nston (University o f Pennsylvania)Raj Yavatkar (Intel)Yechiam Yemini (Columbia University)Hilen Zegura (Georgia Institute ot Iechnology)Hu Zhang (Cam egie Mellon University)Lixia Zhang (University o f California en Los Angeles)ZhiLi Zhang (University o f Minnesota)Lixia Zhang (University o f California en Los Angeles)Shuchun Zhang (antiguo estudiante de la University o f Pennsylvania)Phil Zimmermann (consultor independiente)

    Tambin damos las gracias al equipo completo de Addison-Wesley, que ha realizado un trabajo absolutamente excelente (y que han funcionado con dos autores muy exigentes!): Kim F.lluood. Susan Hartman Sullivan, Michael llirsch. Patty Mahtani, Galia Shokry. y Joyce Wells. Gracias tambin a los artistas Janet Theu- rer y Patrice Rossi Calkin. por su trabajo en las bonitas figuras de la segunda edicin. Gracias especiales a Susan, nuestra editora en Addison-Wesley. Este libro no se habra puesto en marcha y no se habra terminado sin su gestin, aliento, paciencia y perseverancia.

    www.freelibros.org

  • www.freelibros.org

  • e c C04^\

    1 Redes de com putadores e In te rn e t 1i . i . Qu es Internet? 2

    1.1.1. Una descripcin prctica 21.1.2. Descripcin del servicio 51.1.3. Qu es un protocolo? 61.1.4. Algunos enlaces buenos 8

    1.2. El extremo de la red 91.2.1. Sistemas terminales, clientes y servidores 91.2.2. Servicio sin conexin y orientado a conexin 11

    1.3. El ncleo de la red1.3.1. Conmutacin de circuitos y conmutacin

    14

    paquetes 141.3.2. Reenvo de paquetes en redes de computadores 24

    1.4. Redes de acceso y medio fsico 281.4.1. Acceso a la red 281.4.2. Medios fsicos 34

    1.5. ISP y troncales Internet 381.6. Retardo y prdida en redes de conmutacin

    de paquetes - 411.6.1. Tipos de retardo 411.6.2. Retardo de cola y prdida de paquetes 441.6.3. Retardo y rutas en Internet 47

    1.7. Capas de protocolo y sus modelos de servicio 481.7.1. Arquitectura en capas 491.7.2. La pila de protocolos de Internet 531.7.3. Entidades y capas de red 56

    1.8. Historia de las redes de computadores e Internet 1.8.1. El desarrollo de la conmutacin de paquetes:

    57

    1961-19721.8.2. Redes propietarias e intercomunicacin

    57

    entre redes (Intemerworking): 1972-1980 581.8.3. Una proliferacin de redes: 1980-1990 601.8.4. La explosin Internet: la dcada de 1990 611.8.5. Desarrollos recientes 62

    www.freelibros.org

  • 1.9. Resumen 63Recorrido por esle libro 64Problemas y preguntas de repaso 65Problemas 66Preguntas para la discusin 71Entrevista: Leonard Kleinrock 73

    C aptu lo 2 C apa ce aplicacin 752.1. Principios de los protocolos de la capa de aplicacin 76

    2.1.1. Protocolos de la capa de aplicacin 762.1.2. Qu serv icios necesita una aplicacin? XI2.1.3. Servicios proporcionados por los protocolos

    de transporte de Internet 832.1.4 Aplicaciones de red tratadas en este libro 86

    2.2. La Web y HTTP 862.2.1. Introduccin a HTTP 882.2.2. Conexiones no persistentes y persistentes 902.2.3. Formato del mensaje HTTP 932.2.4. Interaccin usuario-servidor: autorizacin

    y cookies 972.2.5. El GET condicional 1002.2.6. Contenido HTTP 101

    2.3. Transferencia de archivos: FTP 1022.3.1. Comandos y respuestas FTP 103

    2.4. Correo electrnico en Internet 1042.4.1. SMTP 1062.4.2. Comparacin con HTTP 1092.4.3. Formatos de mensajes de correo y

    MIME 1102.4.4. Protocolos de acceso al correo 115

    2.5. DNS: el servicio de directorio de internet 1192.5.1. Servicios proporcionados por DNS 1202.5.2. Resumen de cmo trabaja el DNS 1222.5.3. Registros DNS 1272.5.4. Mensajes DNS 129

    2.6. Programacin de sockets con TCP 1312.6.1. Programacin de sockets con TCP 1322.6.2. Un ejemplo de aplicacin cliente serv idor

    en Java 1332.7. Programacin de sockets con UDP 1402.8. Construccin de un servidor web sencillo 146

    2.8.1. Funciones del servidor web 1462.9. Distribucin de contenidos 150

    2.9.1. Cach web 1512.9.2. Redes de distribucin de contenidos 1562.9.3. Comparticin de archivos entre iguales 160

    2.10. Resumen 167www.freelibros.org

  • Problemas y preguntas de repaso 167Problemas 169Preguntas para la discusin 172Trabajos de programacin 173Entrevista: Tim Bemers-Lee 176

    C aptulo 3 La capa de tran sp o rte 1793.1. Introduccin a los servicios de la capa

    de transporte 1K03.1.1. Relacin entre las capas de transpone

    y de red 1803.1.2. Repaso de la capa de transporte en Internet 183

    3.2. Multiplexado y dcmultiplcxado 1853.3. Transporte sin conexin: L'DP 191

    3.3.1. Estructura del segmento UDP 1943.3.2. Suma de comprobacin UDP 194

    3.4. Fundamentos de la transferencia fiable de datos 1963.4.1. Construccin de un protocolo de

    transferencia fiable de datos 1983.4.2. Protocolos fiables de transporte de datos

    entubados 2083.4.3. Retroceder N (C,BN) 2103.4.4. Repeticin selectiva (SR) 215

    3.5. Transporte orientado a conexin: TCP 2213.5.1. La conexin TCP 2213.5.2. La estructura del segmento TCP 2243.5.3. Estimacin del tiempo de ida y vuelta

    y del tiempo lmite de espera 2283.5.4. Transferencia fiable de datos 2313.5.5. Control del fiujo 238

    i 3.5.6. Gestin de la conexin TCP 2413.6. Fundamentos del control de la congestin 245

    3.6.1. Las causas y los costes de la congestin 2453.6.2. Aproximaciones al control de la congestin 2513.6.3. Ejemplo de control de la congestin

    asistido por red: el control de la congestinABR de ATM 252

    3.7. El Control de la congestin TCP 2543.7.1. Imparcialidad 2613.7.2. Modelado del retardo TCP 264

    3.8. Resumen 272Problemas y preguntas de repaso 273Problemas 275Preguntas para la discusin 282Entrevista: Sally Floyd 283

    www.freelibros.org

  • 4 C apa de red y ru tado 2854.1. Introduccin y modelos de serv icio de red 286

    4.1.1. Modelo de servicio de red4.1.2. Orgenes de los serv icios de datagrama

    288

    y de circuito virtual 2924.2. Principios de rutado

    74.2.1. Un algoritmo de rutado de estado292

    de enlaces,4.2.2. El algoritmo de rutado por vector

    295

    de distancias 2994.2.3. Otros algoritmos de rutado 308

    4.3. Rutado jrarquico 309*4 .4 . El protocolo Internet (IP) 312

    *4.4 .1 . Direccionamiento IPv4 . 4.4.2. Desplazamiento de un datagrama desde

    su fente al destino: direccionamiento.

    313

    rutado y encaminamiento 321\4.4.3. Formato de datagrama 324v 4.4.4. Fragmentacin del datagrama IP - 4.4.5. ICMP: protocolo de mensajes de control

    327

    de Internet4.4.6. Protocolo de configuracin dinmica

    329

    de host 3314.4.7. Traductores de direcciones de red (NAT) 334

    y ,4 1 Rutado en Internet 336> 4.5.1. Rutado intrasistema autnomo en Internet:

    RIP y SF 4.5.2. Rutado entre sistemas autnomos

    336

    (inter-SA): BGP 3424.6. Qu hay dentro de un router? 348

    4.6.1. Puertos de entrada 3494.6.2. Entramado de conmutacin 3524.6.3. Puertos de salida 3544.6.4. Dnde ocurre la puesta en cola? 354

    * 4 .7 . IPv6 357* 4 .7 .1 . Formato del datagrama de IPv6 359

    4.7.2. Transicin de IPv4 a IPv6 3614-.8 Rutado de multidifusin

    4.8.1. Introduccin: la abstraccin de multidifusin364

    de Internet y los grupos de multidifusin 3654.8.2. 1GMP 3684.8.3. Rutado de multidifusin: el caso general 3724.8.4. Rutado de multidifusin en Internet 377

    4.9. Movilidad y capa de red4.9.1. Consideraciones sobre la movilidad

    381

    en el diseo de la capa de red 3814.9.2. Gestin de la movilidad 3834.9.3. IP mvil 390

    4 .10. Resumen 394www.freelibros.org

  • Problemas y preguntas de repaso 395Problemas 397Preguntas para la discusin 403Trabajo de programacin 404Entrevista: Vinton G. C erf 406

    C aptu lo 5 C apa de enlace y redes de rea local 4095.1. Capa de enlace de datos: introduccin y servicios 411

    5.1.1. Los servicios proporcionados por la capade enlace 411

    5.1.2. Comunicacin entre adaptadores 4145.2. Tcnicas de deteccin y correccin de errores 415

    5.2.1. Comprobaciones de paridad 4175.2.2. Mtodos de comprobacin de sumas 4185.2.3. Comprobacin de redundancia

    cclica (CRC) 4195.3. Protocolos de acceso mltiple 421

    5.3.1. Protocolos de particin de canal 4245.3.2. Protocolos de acceso aleatorio 4285.3.3. Protocolos de toma de tumos 4345.3.4. Redes de rea local (LAN) 436

    5.4. Direcciones LAN y ARP 4375.4.1. Direcciones LAN 4385.4.2. Protocolo de resolucin de direcciones 440

    5.5. Ethernet 4435.5.1. Ethernet bsico 4445.5.2. CSM A C D : protocolo de acceso al medio

    de Ethernet 4485.5.3. Tecnologas Ethernet 451

    5.6. Hubs. bridges y switches 4555.6.1. Hubs ' 4555 6 2 Rridges 4575.6.3. Switches 464

    5.7. Enlaces sin cable 4685.7.1. Redes sin cable: IEEE 802.11b 4695.7.2. Bluctooth 474

    5.8. PPP: El protocolo punto a punto 4765.8.1. Enmarcamiento de datos PPP 4785.8.2. Protocolo de control de enlace PPP

    (LCP), y protocolos de control de red 4805.9. Modo de transferencia asincrona (ATM) 482

    5.9.1. C aractersticas principales de ATM 4835.9.2. La capa fsica ATM 4845.9.3. La capa ATM 4865.9.4. Capa de adaptacin de ATM 4875.9.5. IP sobre ATM 489

    5.10. Frame Relay 4925.10.1. El contexto histrico 492

    www.freelibros.org

  • 5.10.2. Frame Relay 4935.11. Resumen 497

    Problemas y preguntas de repaso 499Problemas 500Preguntas para la discusin 506Entrevista: Robert M. Metcalfe 507

    C aptu lo 6 Redes m ultim edia 5096.1. Aplicaciones de redes multimedia 510

    6.1.1. Ejemplos de aplicaciones multimedia 5106.1.2. Obstculos para la multimedia

    en la Internet actual 5136.1.3. Cmo debera evolucionar internet

    para un mejor soporte multimedia? 5146.1.4. Compresin de audio y \ideo 516

    6.2. Transmisin de audio y vdeo almacenado 5186.2.1. Acceso de audio y vdeo a travs

    de un servidor web 5206.2.2. Envo de multimedia desde un servidor

    de transmisin a una aplicacin de ayuda 5226.2.3. Protocolo de transmisin en tiempo

    real (RTSP; Real-Time Streaming Protocol) 5246.3. Aprovechar al mximo el servicio de mejor esfuerzo:

    un ejemplo de telefona Internet 5286.3.1. Las limitaciones del servicio de mejor esfuerzo 5286.3.2. Eliminacin de fluctuaciones en el receptor

    para el audio 5306.3.3. Recuperacin de prdida de paquetes 5336.3.4. Transmisin de audio y vdeo almacenado 536

    6.4. Protocolos para aplicaciones interactivasen tiempo real 5376 4 I RTP 5376.4.2. Protocolo de control de RTP (RTCP) 5416.4.3. SIP 5446.4.4. H.323 550

    6.5. Ms all del mejor esfuerzo 5516.5.1. Escenario 1: una aplicacin audio

    de 1 Mbps, y una transferencia FTP 5526.5.2. Escenario 2: una aplicacin audio

    de 1 Mbps, y una transferencia FTPde alta prioridad 553

    6.5.3. Escenario 3: una aplicacin audio de malcomportamiento, y una transferencia FTP 554

    6.5.4. Escenario 4: dos aplicacionesde audio de 1 Mbps sobre un enlacede 1,5 Mbps sobrecargado 555

    6.6. Mecanismos de planificacin y vigilancia 5576.6.1. Mecanismos de planificacin 557

    www.freelibros.org

  • 6.6.2. Vigilancia: la cubeta agujereada 5616.7. Servicios integrados 564

    6.7.1. Calidad garantizada de serv icio 5656.7.2. Servicio de red de carga controlada 566

    6.8. RSVP 5666.8.1. La esencia de RSVP 5676.8.2. Algunos ejemplos sencillos 569

    6.9. Servicios diferenciados 5716.9.1. Servicios diferenciados: un escenario

    sencillo 5726.9.2. Clasificacin y acondicionamiento

    del trfico 5746.9.3. Comportamientos de salto 5766.9.4. Criticas a los servicios diferenciados 577

    6.10. Resumen 578Problemas y cuestiones de repaso 580Problemas 580Preguntas para la discusin 584Trabajo de programacin 584Entrevista: Henning Schulznnne 586

    C aptulo 7 S eguridad en las redes de com putadores 5897.1. Qu es la seguridad en la red? 5907.2. Principios de la criptografa 593

    7.2.1. Criptografa de clave simtrica 5957.2.2. Encriptacin de clave publica 600

    7.3. Autenticacin 6057.3.1. Protocolo de autenticacin pal.O 6057.3.2. Protocolo de autenticacin pa2.0 6067.3.3. Protocolo de autenticacin pa3.0 6067.3.4. Protocolo de autenticacin pa3.l 6077 .3 .5 . P ro to c o lo de a u te n tic a c i n pa 4 .0 6 0 87.3.6. Protocolo de autenticacin pa5.0 609

    7.4. Integridad 6127.4.1. Generacin de firmas digitales 6137.4.2. Resumir el mensaje 6147.4.3. Algoritmos para la funcin de dispersin 616

    7.5. Distribucin de claves y certificacin 6187.5.1. El centro de distribucin de claves 6187.5.2. Certificacin de clave pblica 621

    7.6. Control de acceso: cortafuegos 6257.6.1. Filtrado de paquetes 6267.6.2. Pasarela de aplicacin 628

    7.7. Ataques y contramedidas 6307.7.1. Planear 6317.7.2. Husmear paquetes 6317.7.3. Falsificacin 632www.freelibros.org

  • 7.7.4. Ataques de denegacin de servicioy de denegacin de servicio distribuida 633

    7.7.5. Secuestro 6347.8. Seguridad capa a capa: casos de estudio 635

    7.8.1. Correo electrnico seguro 6367.8.2. Capa de sockets seguros (SSL),

    y seguridad en la capa de transporte (TLS) 6417.8.3. Seguridad en la capa de red: IPsec 6457.8.4. Seguridad en IEEE 802.11 649

    7.9. Resumen 651Problemas y preguntas 652Problemas 653Preguntas para la discusin 655Entrevista: Steven M. Bcllovin 656

    C aptu lo S G estin de redes 6598.1. Qu es la gestin de red? 6598.2. Infraestructura para la gestin de red 6648.3. El entorno Je gestin estndar de Internet

    8.3.1. Estructura de la informacin666

    de gestin: SMI 6688.3.2. Base de informacin de gestin: MIB8.3.3. Operaciones del protocolo SNMP

    671

    y correspondencias de transporte 6738.3.4. Seguridad y administracin 676

    8.4. ASN.l 6798.5. Conclusin 684Problemas y preguntas de repaso 684Problemas 685Preguntas para la discusin 686Entrevista: Jeh Case 687

    Referencias fX9ndice alfabtico 719

    www.freelibros.org

  • Redes de computadores e Internet

    Las redes de com putadores son uno de los campos tecnolgicos ms im portantes y excitantes de nuestro tiempo. Internet conecta millones (y pronto miles de millones) de com putadores, proporcionando una infraestructura global de com unicacin, almacenamiento y computacin. Adems, Internet est siendo conectada actualmente con la tecnologia mvil y sin cable, lo que presagia un impresionarte abanico de nuevas aplicaciones. Est claro: las redes de computadores han recorrido efectivam ente un largo camino desde sus comienzos en la dcada de 1960. Pero esto es slo el comienzo; una nueva generacin de ingenieros creativos y cientficos de computadores conducirn a Internet a terrenos imprevistos todava. F.ste libro proporcionar a los estudiantes de hoy los vehculos que necesitan para viajar y explorar las nuevas tierras de este campo excitante. Este prim er capitulo presenta un resumen de redes e Internet. Nuestro objetivo es dar unas pinceladas de redes de com putadores, para ver el bosque a travs de los rboles.

    Cubriremos una gran cantidad de fundamentos en este capitulo introductorio, y discutiremos sobre muchas partes de una red de computadores, sin perder la vista de visin genera!. El captulo expone la base para el resto del libro. Se puede utilizar tambin como un minicurso sobre redes.

    En este captulo, despus de introducir algunos conceptos y terminologa bsica, examinaremos primero el borde de una red. Buscaremos los sistemas terminales y las aplicaciones de redes, y los servicios de transporte proporcionados para estas aplicaciones. Exploraremos entonces el ncleo de una red. exa

    www.freelibros.org

  • minando los enlaces y los switches que transportan los datos, asi como el acceso a redes y los medios fisicos que conectan los sistemas terminales al ncleo de la red. Aprenderemos que Internet es una red de redes, y cmo conectar estas redes entre si.

    Despus de haber completado este resumen sobre el borde y el ncleo de una red. consideraremos una visin m is amplia. Examinaremos las causas de retardos y prdidas de transferencia de datos en una red. y proporcionaremos modelos cuantitativos sencillos para retardos de extremo a extremo, modelos que tendrn en cuenta la transmisin, la propagacin y los retrasos encolados. Introduciremos entonces alguno de los principios arquitectnicos fundamentales de redes, es decir, la distribucin de las capas del protocolo y los modelos de servicio. Por ltimo, finalizaremos el captulo con una breve historia de las redes de computadores.

    Qu es Internet?

    En este libro utilizamos Internet publico, una red de computadores especifica, como vehculo fundamental para discutir sobre protocolos de redes. Pero, qu es Internet? Nos gustara ser capaces de proporcionar una definicin sencilla de Internet, una definicin que pudiera considerar suya y compartir con su familia y amigos. Sin embargo. Internet es muy complejo, tanto en trminos de hardware como de los componentes software, as como de los servicios que proporciona.

    1.1.1. Una descripcin prctica

    En lugar de proporcionar una sentencia simple, permtenos intentar una aproximacin descriptiva. Existen un par de formas de hacer esto. Una forma es describir los componentes hardware y software bsicos que lo forman. Otra forma es describir Internet en trminos de infraestructura de red que proporciona servicios para aplicaciones distribuidas. Comencemos por la descripcin de los aspectos prcticos. utilizando la Figura 1.1 para ilustrar nuestra discusin.

    Internet pblico es una red de computadores mundial, esto es. una red que conecta millones de dispositivos de cmputo a travs del mundo. La mayora de estos dispositivos de cmputo son los PC tradicionales de sobremesa, las estaciones de trabajo basadas en UNIX, y los llamados servidores, que almacenan y transmiten informacin del tipo de pginas web y mensajes de correo electrnico. Cada vez ms. dispositivos terminales no tradicionales de Internet, como asistentes digitales personales (PDA), televisores, computadores porttiles y tostadoras se estn conectando a Internet. (Las tostadoras [Tostay 2002) no son los dispositivos ms inusuales que se han enganchado a Internet; vase "Aparatos de Internet del hogar" [Appliance 2002).) En la jerga de Internet, todos estos dispositivos se llaman host y sistem as term inales En enero de 2002 haba entre 100 y 500 millones de sistema finales utilizando Internet, y este nmero contina creciendo exponencialmente (ISC 2002).

    Los sistemas terminales se conectan mediante enlaces de com unicacin. En la Seccin 1.4 veremos que hay muchos tipos de enlaces de comunicacin, los cuales estn formados de diferentes tipos de medios fisicos. como cable coaxial, de cobre, fibra ptica y ondas de radio. Distintos enlaces pueden transmitir los

    www.freelibros.org

  • Clave

    Red de empresa (-t i O

    I j M0

    (para satema final)Servidor Computador Routcr MODEM [acin Enlace de

    base satliteponaM

    Figura 1.1. AJgonos elementos de internet.

    datos a diferente velocidad. La tasa de transmisin de enlace se llama a menudo ancho de banda, y se mide normalmente en bits/segundo.

    Los sistemas terminales normalmente no se enla/an directamente entre si mediante enlaces sencillos de comunicacin, sino que se conectan unos a otros a travs de dispositivos de conmutacin llamados routers. Un routcr toma un trozo de informacin de los enlaces de comunicacin de entrada y lo difunde en uno de los enlaces de comunicacin de salida. F.n la jerga de redes, al trozo de informacin se le conoce como paquete. El recorrido que el paquete realiza desde el sistema final que lo enva, a travs de una serie de enlaces de comunicacin y routers. al sistema final receptor se denomina ru ta o recorrido a travs de la red. En lugar de proporcionar un recorrido dedicado entre sistemas de comunicacin. Internet utiliza una tcnica conocida como conm utacin de paquetes, que permite que mltiples sistemas terminales que se comunican compartan al mismo tiempo unwww.freelibros.org

  • recorrido, o partes de un recorrido. Las primeras redes de conmutacin de paquetes, creadas en la dcada 1970, son los primeros antecesores del Internet de hoy.

    Los sistemas terminales acceden a Internet a travs de proveedores de servicios de Internet (Internet Service Providers; ISP), incluyendo proveedores residenciales (como AOL o MSN), proveedores de universidades (como la Universidad de Stanford), y proveedores corporativos (como Ford Motor Company). Cada ISP es una red de routers y enlaces de comunicacin. Los diferentes proveedores proporcionan diferentes tipos de acceso a la red para los sistemas terminales, incluyendo acceso a travs de modem de 56 Kbps, acceso a travs de banda ancha residencial (como modem cable o DSL), acceso mediante redes de alta velocidad. y acceso sin cable. Para permitir la comunicacin entre usuarios de Internet y permitir que stos accedan a su contenido en todo el mundo, estos proveedores de baja escala estn intcrconcctados mediante proveedores de alta escala nacionales e internacionales, como Uunct y Sprint. Un proveedor ISP de alta escala consta de routers de alta velocidad interconectados mediante enlaces de fibra ptica de alta velocidad. Cada red de proveedor, ya sea de alta o baja escala, se gestiona independientemente, ejecuta el protocolo IP (vase ms adelante), y cumple ciertas convenciones de nombrado y direccionamiento. Se examinarn los proveedores ISP y su interconexin ms profundamente en la Seccin 1.5.

    Los sistemas terminales, los routers, y otros elementos de Internet, ejecutan protocolos que controlan el envo y la recepcin de informacin en Internet. TC P (protocolo de control de transmisin) e IP (protocolo Internet) son los dos protocolos ms importantes en Internet. El protocolo IP especifica el formato de los paquetes que son enviados y recibidos entre routers y sistemas terminales. Los protocolos ms importantes de Internet se conocen colectivamente como TCP/IP. Comenzamos examinando los protocolos en este captulo introductorio. Pero esto es slo el principio; gran parte del libro est relacionada con los protocolos de redes de computadores.

    Internet pblico (es decir, la red de redes global discutida anteriormente) es la red a la que normalmente uno se refiere como la Internet. Existen tambin muchas redes privadas, como redes corporativas o de gobierno, cuyos host no pueden intercambiar mensajes con host externos a la red privada (a menos que los mensajes pasen a travs de los llamados cortafuegos, que restringen el flujo de mensajes a y desde la red). Estas redes privadas se conocen frecuentemente como intranets, ya que utilizan los mismos tipos de host. routers. enlaces y protocolos que Internet pblico.

    A nivel tcnico y de desarrollo. Internet ha sido posible gracias a la creacin, prueba e implementacin de estndares de Internet. Estos estndares son desarrollados por el Internet Enginecring Task Forc (IETF)(IETF 2002]. Los documentos estndares de IETF se llaman R FC (solicitudes de comentarios). Las solicitudes RFC comenzaron como solicitudes de comentarios generales (de ah su nombre) para resolver los problemas de arquitectura a los que se enfrentaba el precursor de Internet. Las solicitudes RFC, aunque no son estndares formalmente, han evolucionado hasta el punto de que son citadas como tales. Las RFC tienden a ser completamente tcnicas y detalladas. Definen protocolos como TCP, IP. HTTP (para la Web) y SMTP (para estndares abiertos de correo electrnico). Hay ms de 3.000 solicitudes RFC diferentes.www.freelibros.org

  • 1.1.2. Descripcin del servicio

    La discusin precedente ha identificado muchas de las parles que forman Internet. Permitidnos ahora abandonar la descripcin prctica y tomar una visin orientada al servicio.

    Internet permite aplicaciones distribuidas que se ejecutan en sus propios sistemas terminales para intercambiar datos entre ellas. Estas aplicaciones incluyen remte login, correo electrnico, navegacin web. flujo de audio y video, telefona Internet, juegos distribuidos, comparticin de ficheros entre colegas (P2P) y muchas ms. Merece la pena enfatizar que la Web no es una red separada, sino ms bien una de las muchas aplicaciones distribuidas que utilizan los servicios de comunicacin proporcionados por Internet.

    Internet proporciona dos servicios a sus aplicaciones distribuidas: un servicio fiable orientado a conexin, y un servicio no fiable sin conexinHablando libremente, el serv icio fiable orientado a conexin garantiza que los datos transmitidos desde un emisor a un receptor sern entregados ev entualmente al receptor completamente y en orden. El servicio no fiable sin conexin no proporciona ninguna garanta sobre su eventual entrega. Por lo general, una aplicacin distribuida hace uso de uno o de otro de estos servicios (pero no de ambos).

    Actualmente, Internet no proporciona un servicio que haga promesas respecto a cunto tiempo se precisar para entregar los datos desde el emisor hasta al receptor. V. a no ser aumentando el ancho de banda del acceso a tu proveedor de servicios Internet, no puedes obtener un serv icio mejor (por ejemplo, retrasos limitados) pagando ms. una situacin que algunos (particularmente los americanos!) encuentran extraa. En el Capitulo 6 se har un repaso del estado del arte sobre la investigacin sobre Internet que apunta a cambiar esta situacin.

    Esta segunda descripcin de Internet, basada en los servicios que proporciona a las aplicaciones distribuidas, no es muy tradicional, pero s importante. Los avances en los componentes prcticos de Internet se estn dirigiendo cada vez ms a las necesidades de los usuarios. Por lo tanto, es importante mantener en mente que Internet es una infraestructura en la que constantemente se estn inventando y lanzando nuevas aplicaciones.

    Acabamos de ofrecer dos descripciones de Internet: una en relacin con sus componentes hardware y software, y otra en relacin con los servicios que proporciona a las aplicaciones distribuidas. Pero quiz todav a est confuso sobre qu es Internet, qu es la conmutacin de paquetes. TCP IP y el servicio orientado a la conexin, qu son routers, qu clases de enlaces de comunicacin estn presentes en Internet, o qu es una aplicacin distribuida. Si se siente un poco abrumado por todo esto, no se preocupe: el propsito de este libro es introducirle tanto en los aspectos prcticos de Internet, como en los principios que gobiernan cmo y por qu trabaja. Explicaremos estos conceptos y cuestiones importantes en las secciones y captulos siguientes.www.freelibros.org

  • i . i .o. cw ue es un proTOCOio?

    Ahora que nos hemos dado cuenta un poco de lo que es Internet, pasemos a considerar otra palabra de moda en redes de computadores: protocolo . Que1 es un protocolo? Qu es lo que hace en protocolo? Cmo podra usted reconocer un protocolo si se encuentra con uno?

    Una analoga humana

    Probablemente sea ms fcil entender la nocin de un protocolo de red considerando primero algunas analogas humanas, puesto que los humanos ejecutan protocolos continuamente. Consideremos qu es lo que hace cuando quiere preguntar a alguien la hora. Un intercambio tpico se ve en la Figura 1.2. F1 protocolo humano (o. al menos, las buenas maneras) dictan que uno da la bienvenida (el primer Hola de la Figura 1.2) para iniciar la comunicacin con alguien. 1.a respuesta tpica a un Hola es un mensaje de Hola devuelto. Implcitamente, se considera entonces un Hola" cordial de respuesta como una indicacin de que uno puede continuar y preguntar por la hora. Una respuesta diferente al Hola inicial (como No me moleste", "No hablo espaol, o alguna contestacin impublicable) podra indicar una indisposicin o incapacidad para comunicar. F.n este caso, el protocolo humano no sera para preguntar por la hora. A veces uno no consi-

    Tiempo Tiempo Tiempo

    R g u ro 1.2 . Un p ro to co lo h u m a n o y un p o to c o to d o 'Od.www.freelibros.org

  • guc ninguna respuesta a una pregunta, en cuyo caso normalmente deja de preguntar la hora. Dse cuenta de que en nuestro protocolo humano hay mensajes especficos que enviamos y acciones especificas que tomamos como respuesta a los mensajes de contestacin u otros eventos (como ninguna contestacin recibida en un plazo de tiempo determinado).

    Evidentemente, los mensajes enviados y recibidos y las acciones que se toman cuando estos mensajes son enviados o recibidos y ocurren otros eventos, juegan un papel fundamental en un protocolo humano. Si la gente utilizara protocolos diferentes (por ejemplo, si una persona tuviera educacin pero la otra no. o si uno entendiera el concepto de tiempo pero el otro no), los protocolos no interoperaran. y no se podra llevar a cabo ningn trabajo habitual. Esto es cierto en redes, si se consideran dos (o ms) entidades que se comunican ejecutando el mismo protocolo con el fin de realizar una tarca.

    Permtanos considerar una segunda analoga humana. Supongamos que est en una clase de un instituto (por ejemplo, una clase de redes). El profesor est hablando con tono montono sobre protocolos, y usted est confundido. El profesor se detiene para preguntar: Hay alguna pregunta?" (un mensaje que es transmi:ido para, y recibido por. todos los estudiantes que no estn durmiendo). Usted levanta su mano (transmitiendo un mensaje implcito al profesor). Su profesor le reconoce con una sonrisa, y dice: "Si? ..." un mensaje transmitido para animarle a que plantee su pregunta (a los profesores les encanta que les hagan preguntas), usted plantea entonces su pregunta (es decir, transmite su mensaje a su profesor). Su profesor escucha su pregunta (recibe su mensaje de pregunta) y responde (le transmite una respuesta). De nuevo, vemos que la transmisin y recepcin de mensajes, y el conjunto de acciones convencionales tomadas cuando son enviados y recibidos estos mensajes, son el corazn de este protocolo de preguntas y respuestas.

    Protocolos de red

    Un pro:ocolo de red es similar a un protocolo humano, excepto en el hecho de que las entidades que intercambian mensajes y toman acciones son componentes hardware y software de algn dispositivo (como un computador, un router, o algn otro dispositivo de red). Toda actividad de Internet que implica a dos o ms entidades remotas que se comunican est gobernada por un protocolo. Por ejemplo: los protocolos en routers determinan un recorrido de los paquetes desde la fuente hasta el destino: los protocolos implementados en hardware en las tarjetas de la interfaz de red de dos computadores conectados tsicamente controlan el flujo de bits en el cable entre las dos tarjetas de interfaz de red; los protocolos de control de congestin en los sistemas terminales controlan la tasa a la que se transmiten los paquetes entre el emisor y el receptor. En cualquier parte de Internet estn ejecutndose protocolos, y por lo tanto gran parte de este libro trata sobre protocolos de red.

    Como ejemplo de protocolo de red que probablemente conozca, considere qu sucede cuando hace una solicitud a un servidor web. es decir, cuando teclea el URL de una pgina web en su navegador web. El escenario se muestra en la mitad derecha de la Figura 1.2. Inicialmente, su computador enva un mensaje de "solicitud de conexin" al servidor web, y espera una contestacin. El servidor web

    www.freelibros.org

  • recibir eventualmente tu mensaje de solicitud de conexin y devolver un mensaje de contestacin de conexin. Sabiendo que ahora est dispuesto para solicitar el documento web, su computador enva entonces el nombre de la pgina web que quiere buscar del serv idor web en un mensaje GET. Por ltimo, el servidor web devuelve la pgina web (archivo) a su computador.

    Dados los ejemplos humano y de red anteriores, el intercambio de mensajes y las acciones tomadas cuando los mensajes son en\ iados y recibidos son los elementos clave para la definicin de un protocolo:

    Un protocolo define el formato y el orden de los mensajes intercambiadosentre dos o ms entidades que se comunican, as como las acciones que setoman en la transmisin y/o recepcin de un mensaje u otro evento.

    Internet, y las redes de computadores en general, hacen un uso extensivo de los protocolos. Se utilizan diferentes protocolos para llevar a cabo diferentes tareas de comunicacin. Leyendo el libro, aprender que algunos protocolos son sencillos y directos, mientras que otros son complejos e intelectualmcntc profundos. Llegar a dominar el campo de las redes es equivalente a comprender el qu, el porqu y el cmo de los protocolos de red.

    1.1.4. Algunos enlaces buenos

    Como saben todos los investigadores de Internet, parte de la informacin mejor y ms precisa sobre Internet y sus protocolos no est en los libros, publicaciones o rev istas. Parte del mejor material sobre Internet est en el propio Internet! Naturalmente. hay realmente mucho material que cribar, y a veces las gemas son pocas y difciles de encontrar. A continuacin, damos una lista de unos pocos sitios web. generalmente excelentes, para material sobre redes y relacionado con Internet. A lo largo del libro, presentaremos tambin material relevante, URL de alta calidad que proporcionan informacin original, de base o avanzada, relativa al tema particular objeto de estudio. Aqu tiene una serie de enlaces que puede consultar a medida que vaya avanzando en la lectura de este libro:

    Internet Enginecring Task Forc (IETF; http://www.ietf.org). El IETF es una comunidad internacional abierta preocupada por el desarrollo y operacin de Internet y su arquitectura. El IETF fue establecido formalmente por el Internet Architecture Board (IAB; http://www.iab.org) en 1986. El IETF se rene tres veces por ao. y mucho del trabajo en curso es llevado a cabo por los grupos de trabajo mediante listas de correo. El IETF es administrado por la Sociedad de Internet (Internet Society; http://www.isoc.org), cuyo sitio web contiene gran cantidad de material de alta calidad relacionado con Internet.

    El World Wide Web Consortium (W3C; http://www.w3.0fg). El W3C fue fundado en 1994 para desarrollar protocolos comunes para la evolucin de la World Wide Web. Es un sitio excelente, con informacin fascinante sobre tecnologas, protocolos y estndares emergentes web.

    Association for Computirg Machinery (AC.V1; http://www.acm.org), y Ins- titute o f Electrical and Electronics Engineers (IEEE; http://www.ieee.org).www.freelibros.org

  • Son las dos principales sociedades profesionales internacionales que tienen conferencias tcnicas, revistas y publicaciones en el rea de redes. F.l Grupo de Especial Inters de ACM sobre Comunicaciones de Datos (SIG-COMM; http://www.acm .org/sigcom m ), la Sociedad de Com unicaciones de IEEE (http://www.comsoc.org) y la IF.F.F Computer Society (http://w w w .com puter.org). son los grupos dentro de esas sociedades cuyos esfuerzos estn ms prximos a las redes.

    Redes de computadores: Una aproximacin de abajo arriba, teniendo como protagonista Internet (es decir, el sitio web de este libro de texto!): http://www.awl.com kurose-ross. Encontrar una gran cantidad de recursos en este sitio web, incluyendo hiperenlaces a pginas web relevantes, applcts Java ilustrando conceptos de redes, problemas de trabajo personal con respuestas. proyectos de programacin, lecturas en audio acopladas con transparencias. y mucho ms.

    El extremo de la red

    En las secciones previas hemos presentado un resumen de Internet y los protocolos de red. Ahora vamos a profundizar un poco ms en los componentes de una red (y de Internet en particular). Comenzaremos en esta seccin en el extremo de una red. y nos fijaremos los componentes con los que estamos ms familiarizados. es decir, los computadores que utilizamos diariamente. En la siguiente seccin nos moveremos desde el extremo de la red hasta el ncleo de la misma, y examinaremos la conmutacin y el rutado en las redes. Despus, en la Seccin 1.4. discutiremos los enlaces tsicos actuales que llevan las seales enviadas entre los computadores y los switches.

    1.2.1. Sistemas terminales, clientes y servidores

    Fn la jerga de redes, a los computadores conectados a Internet se les denomina a menudo sistem as term inales. Reciben este nombre porque estn situados en el extremo de Internet, como se ve en la Figura 1.3. Entre los sistemas terminales de Internet se incluyen muchos tipos diferentes de computadores. Los usuarios finales interaccionan directamente con alguno de estos computadores, como los com pradores de sobremesa (personales tipo PC. Mac o estaciones de trabajo basadas en UNIX de sobremesa) y los computadores mviles computadores porttiles y agendas porttiles (PDA) con conexiones a Internet sin cables . Dentro de los sistemas terminales de Internet tambin se incluyen computadores con los que los usuarios finales no interaccionan directamente, como los servidores web y de correo electrnico. Adems, un nmero creciente de dispositivos alternativos, como clientes ligeros y aparatos domsticos (Thinplanet 2002]. TV web y sel top boxes (Ncsbitt 2002], o cmaras digitales, estn siendo conectados a Internet como sistemas finales. Para discusiones interesantes sobre el futuro de los aparatos internet vase (Manelli 2001; Appliance 2001; Dertouzos 2001; Odlyzko 1999].

    Los sistemas terminales son llamados tambin anfitriones (host). porque alojan (es decir, ejecutan) programas de aplicacin, como navegadores web, lectores

    www.freelibros.org

  • Company N etw ork i . i.

    Figuro 1.3. Interaccin do ss emas ormrxjies.

    de correo electrnico, o servidores de correo. En este libro utilizaremos indistintamente los trminos anfitrin o sistema terminal: es decir, anfitrin = sistema terminal. Los anfitriones se dividen, a veces, en dos categoras: clientes y servidores. Informalmente, los clientes suelen ser computadores personales (PC) de mesa o porttiles. PDA y otros, mientras que los servidores suelen ser mquinas ms potentes que alojan servidores, como servidores web o de correo.

    En el contexto del software de redes, hay otra definicin de cliente y serv idor: una definicin a la que haremos referencia en este libro. Un program a clien te es un programa que se ejecuta en un sistema terminal que solicita y recibe un servicio de un program a servidor que se ejecuta en otro sistema terminal. Estudiado con detalle en el Captulo 2. este modelo cliente/servidor es indudablemente la estructura ms predominante en las aplicaciones internet. La Web. el correo electrnico, la transferencia de archivos, la entrada remota (por ejemplo, Telnet). los grupos de noticias, y muchas otras aplicaciones populares, adoptan el modelo cliente serv idor. Puesto que un programa cliente normalmente se ejecuta en un computador y el servidor en otro, las aplicaciones internet cliente/servidor son, por definicin, aplicaciones distribuidas. Los programas cliente y servidor nteract- an entre si envindose mensajes sobre Internet. En este nivel de abstraccin, loswww.freelibros.org

  • routcrs, enlaces y otros aspectos prcticos de Internet son como una caja negra que transfiere mensajes entre los componentes distribuidos que se comunican en una aplicacin internet. Este es el nivel de abstraccin representado en la Figura 1.3. No todas las aplicaciones de Internet constan ahora de programas clientes puros que interaccionen con programas servidor puro Por ejemplo, con las aplicaciones populares que comparten archivos entre colegas (Napster, Gnutella. KaZaA, y otros), la aplicacin entre colegas en los sistemas terminales acta indistintamente como programa cliente o como servidor, t i programa que se ejecuta en un colega (es decir, en una mquina de usuario) acta como cliente cuando solicita un archivo de otro colega, y como servidor cuando enva un archivo a otro colega.

    C*4*>

    BSQUEDA DE VIDA EXTRATERRESTRE

    Una de las aplicaciones ms geniales de Internet es el proyecto SETI@bome [SETIQhome 2002], un experimento que usa computadores conectados mediante Internet en la bsqueda de irteligenca extraterrestre (SETJ). Cualquiera puede participar ejecutando un programa diente libre que descarga y analiza datos de radiotelescopios. El objetivo del proyecto es encontrar en los datos del radiotelescopio seales creadas por vida extraterrestre.

    SETIOhome busca signos de vida inteligente analizando las seales de radio que son recocidas desde Arecibo. el radiotelescopio ms grande del mundo, ubicado en las colmas del norte de Puerto Rico. Cantidades masivas de datos de radio son recogidas en cintas y enviadas a Berkeley cada semana. En Berkeley, los datos son divididos en unidades de unos 300 Kbytes. que son almacenadas en un servidor central de SETKWwme. Para participar en este proyecto, un usuario de Internet (por ejemplo t) descarga pnmero un programa diente de SFH@home que se ejecuta en segundo plano (backgrourxf) en una mquina husped (por ejemplo tu PC). El programa cliente Inicia una conexin TCP al servidor central, obtiene una unidad de trabajo, y cierra la conexin. Una vez que el computador ha obtenido una unidad de trabajo, procesa loe datos la mayora clculos FFT (transformada rpida de Fourier) . lo cual le puede llevar de una hora a varios das, dependiendo de la potencia y el uso de la mquina. Cuando los clculos han finalizado, el programa cliente reconecta con el servidor central, enva de vuelta los resultados, y consigue una nueva unidad de trabajo. Hasta hoy. unos 3 millones de usuarios de mas de 200 pases han descargado y ejecutado el programa.En un da tpico, las mquinas realizan conjuntamente unos 20 billones de operaciones de coma flotante por segundo, ms de lo que podra hacer el mayor de los supercomputadores.Y el proyecto SET)@home es slo la punta del iceberg de la computacin cientfica basada en colegas Si el 10 por ciento de los aproximadamente mil millones de mquinas conectadas a Internet participaran en proyectos de computacin basada en colegas, habra suficiente potencia para 100 proyectos del tamao de SETT@home (Anderson 2001].

    1.2.2. Servicio sin conexin y orientado a conexin

    Los sistemas terminales utilizan Internet para comunicarse con otros sistemas. Especficamente, los programas de sistemas terminales utilizan los servicios de Internet para enviarse mensajes entre ellos. Los enlaces, routers y otras partes de Internet proporcionan el medio para transportar estos mensajes entre los programas de los sistemas terminales. Pero, cules son las caractersticas de los serv icios de comunicacin que proporciona Internet a sus sistemas terminales?

    www.freelibros.org

  • Las redes TCP/IP, y en particular Internet, proporcionan dos tipos de servicios a las aplicaciones de los sistemas terminales: servicio sin conexin y servicio orien tado a la conexin Un desarrollador que cree una aplicacin internet (por ejemplo, una aplicacin de correo electrnico, una de transferencia de archivos, una aplicacin web. o una aplicacin de telfono a travs de Internet) debe disear la aplicacin para utilizar uno de estos dos servicios. (Estos dos servicios se discutirn con ms detalle en el Capitulo 3. que trata de los protocolos de la capa de transporte.)

    Servicio orientado a conexin

    Cuando una aplicacin utiliza un servicio orientado a conexin, el programa cliente y el serv idor (que residen en diferentes sistemas finales) se envan paquetes de control antes de enviar paquetes con datos reales (tales como mensajes de correo electrnico). El llamado procedimiento de acuerdo alerta al cliente y al servidor, permitindoles prepararse para una avalancha de paquetes. Una vez acabado el procedimiento de acuerdo, se dice que se ha establecido una conexin entre los dos sistemas terminales.

    Es interesante sealar que este procedim iento de acuerdo inicial es similar al protocolo utilizado en la interaccin humana. El intercambio de holas" que se vea en la Figura 1.2 es un ejemplo de un protocolo de acuerdo humano (incluso aunque el acuerdo no tenga lugar literalmente entre dos personas). Para la interaccin web mostrada tambin en la Figura 1.2, los dos primeros mensajes intercambiados son tambin mensajes de acuerdo. Los dos mensajes subsiguientes (el mensaje GET y el mensaje de rspuesta que contiene el archivo) incluyen datos reales, y se envan nicamente despus de que se haya establecido la conexin.

    Por qu se usa la expresin serv icio orientado a la conexin", y no simplemente servicio con conexin? Esta terminologa se debe al hecho de que los sistemas terminales estn conectados de forma ligera. En particular, nicamente los sistemas terminales mismos son conscientes de esa conexin los switches de paquetes (es decir, los routers) en Internet son completamente inconscientes de dicha conexin. De hecho, una conexin en Internet no consta nada ms que de bfe- res reservados y variables de estado en los sistemas terminales; los switches de paquetes que interv ienen no mantienen ninguna informacin del estado.

    El servicio orientado a conexin de Internet llega ligado a otros serv icios distintos. como la transferencia fiable de datos, el control del flujo, y el control de congestin. Con la expresin "transferencia fiable de datos", queremos decir que una aplicacin puede confiar en la conexin para entregar todos sus datos sin error y en el orden adecuado. La fiabilidad en Internet se consigue a travs del uso de reconocimientos y retransmisiones. Para conseguir un sentido preliminar de cmo Internet implementa un servicio de transporte fiable, consideremos una aplicacin que ha establecido una conexin entre los sistemas terminales A y B. Cuando el sistema terminal H recibe un paquete de .4. enva una confirmacin; cuando el sistema terminal .4 recibe la confirmacin sabe que el paquete correspondiente ha sido recibido definitivamente. Cuando el sistema .4 no recibe la confirmacin, supone que el paquete env iado no ha sido recibido por B, y por tanto vuelve a transmitir.

    www.freelibros.org

  • El control de flujo hace que ninguno de los lados de una conexin abrume al otro enviando demasiados paquetes demasiado rpidamente. Por tanto, hay un riesgo de que el receptor no sea capaz de mantener el ritmo al que el emisor enva los paquetes. F.1 servicio de control de flujo fuerza al sistema terminal emisor a reducir su tasa de envo cuando existe dicho riesgo. En el Capitulo 3 se ver cmo implementa Internet el servicio de control del flujo utilizando bferes emisores y receptores en los sistemas terminales de comunicacin.

    El servicio de control de congestin de Internet ayuda a prevenir la posibilidad de que Internet entre en un estado de colapso. Cuando un router se congestiona. sus bferes pueden rebosar, y puede producirse una prdida de paquetes. En estas circunstancias, si cada par de sistemas terminales de comunicacin contina bombeando paquetes en la red tan rpido como pueda, comienza el colapso, y pocos paquetes sern entregados en su destino. Internet evita este problema forzando a los sistema terminales a disminuir la tasa con la que se entregan a la red paquetes durante los periodos de congestin. Los sistemas terminales son alertados de la existencia de un congestin severa cuando dejan de recibir confirmaciones de los paquetes que han enviado.

    Aqji se hace hincapi en que aunque el servicio orientado a conexin de Internet llega ligado con transferencia de datos, control de flujo y de congestin fiables, estas tres caractersticas no tienen por qu ser componentes esenciales de un servicio orientado a conexin. Otro tipo diferente de red puede proporcionar un servicio orientado a conexin a sus aplicaciones sin disponer de una o varias de esas caractersticas. De hecho, cualquier protocolo que realiza acuerdos entre entidades que se comunican antes de transferir datos es un servicio orientado a conexin [lien 1999J.

    El servicio orientado a conexin de Internet tiene un nombre; TCP ( Transmis- sion Control Protocol)\ la versin inicial del protocolo TCP est definida en la solicitud de propuesta (Request fo r Comments) RFC 793 [RFC 793]. El servicio que TCP proporciona a una aplicacin incluye transporte fiable, control de tlujo. y control de congestin. Es importante sealar que una aplicacin necesita slo tener cuidado de los servicios que se proporcionan; no necesita preocuparse de cmo TCP implementa la fiabilidad, el control de flujo, o el control de congestin. Nosotros. naturalmente, estamos muy interesados en cmo implementa TCP estos servicios, y se tratarn estos temas con detalle en el Capitulo 3.

    Servicio sin conexin

    No hay acuerdo en relacin con el servicio sin conexin de Internet. Cuando un lado de una aplicacin quiere enviar paquetes al otro lado de la aplicacin, el programa emisor enva slo los paquetes. Puesto que no hay procedimiento de acuerdo anterior a la transmisin de paquetes de datos, los datos pueden ser entregados rpidamente. Pero no hay transferencia fiable de datos, y por tanto una fuente nunca est segura de qu paquetes han llegado al destino. Adems, el servicio sin conexin de Internet no hace provisin de control de tlujo o de control de congestin. El servicio sin conexin de Internet se llama UDP (User Datagram Pro- tocol); UDP est definido en el solicitud de comentarios de internet RFC 768.

    La mayora de las aplicaciones ms familiares de Internet utilizan TCP. el servicio de Internet orientado a conexin; entre ellas Telnet (para loein remoto).

    www.freelibros.org

  • SMTP (para correo electrnico), FTP (para transferencia de archivos), y HTTP (para Web). No obstante. UDP. el servicio sin conexin de Internet, se utiliza en muchas aplicaciones, incluyendo muchas de las aplicaciones emergentes multimedia, como telfono internet y videoconferencia.

    El ncleo de la red

    Una vez examinados los sistemas terminales y el modelo de servicio de transporte terminal a terminal de Internet, permtanos ahondar ahora en el interior de la red. En esta seccin estudiamos el ncleo de la red: la malla de routers que inter- conectan los sistemas terminales de Internet. La Figura 1.4 destaca el ncleo de la red con lneas gruesas y sombreadas.

    1.3.1. Conmutacin de circuitos y conmutacin de paquetes

    Existen dos aproximaciones fundamentales para la construccin de un ncleo de red: conm utacin de circuitos, y conm utacin de paquetes. En las redes de conmutacin de circuitos, los recursos que se necesitan a lo largo de un recorrido (bferes, ancho de banda del enlace) para proporcionar la comunicacin entre los sistemas terminales estn reseados para la duracin de la sesin de comunicacin. En redes de conmutacin de paquetes no hay recursos reservados; los mensajes de la sesin utilizan los recursos bajo demanda, y en consecuencia pueden tener que esperar (es decir, encolarse) para acceder a los recursos del enlace de comunicacin.

    Como una analoga sencilla, consideremos dos restaurantes: uno que precisa reserva, y otro que ni precisa ni acepta reserva. Para el restaurante que precisa reserva, tenemos que pasar por el lo de llamar antes de salir de casa, pero cuando llegamos al restaurante podemos, en principio, comunicar inmediatamente con el camarero y pedir nuestra comida. Para el restaurante que 110 requiere reserva no necesitamos preocupamos de reservar una mesa, pero cuando lleguemos al restaurante, puede que tengamos que esperar mesa antes de comunicar con el camarero.

    Las ubicuas redes de telfono son ejemplos de redes de conmutacin de circuitos. Consideremos qu ocurre cuando una persona quiere enviar informacin (voz o fax) a otra a travs de la red. Antes de que el emisor pueda enviar informacin. la red debe establecer primero una conexin entre el emisor y el receptor. Por contraste con la conexin TCP discutida en la seccin anterior, existe una autntica conexin en la que los svvitches en el recorrido entre el emisor y el receptor mantienen el estado de dicha conexin. En la jerga de telefona, esta conexin se llama circuito. Cuando una red establece el circuito, tambin reserva una tasa de transmisin constante en los enlaces de red durante la duracin de la conexin. Puesto que se ha reservado ancho de banda para esta conexin emisor a receptor, el emisor puede transferir los datos al receptor a una tasa constante garantizada.

    A ctualm ente. Internet es la quintaesencia de una red de conm utacin de paquetes. C onsiderem os qu sucede cuando un com putador quiere env iar un

    www.freelibros.org

  • X

    V

    ISP reg iona l

    X

    Red de empresas i___ i .

    Figura 1.4. El ncleo de la red.

    paquete a otro com putador a travs de Internet. Com o ocurre con la conm utacin de circuitos, el paquete es transm itido sobre una serie de enlaces de comunicacin. Pero con la conm utacin de paquetes, el paquete es enviado a la red sin reservar en absoluto ningn ancho de banda. Si uno de los enlaces est congestionado porque otros paquetes necesitan transm itir sobre el enlace al mismo tiem po, entonces nuestro paquete tendr que esperar en un bfer en el lado del em isor del enlace de transm isin y sufrir un retraso. Internet hace todo lo posible por entregar paquetes de una m anera oportuna, pero no da ninguna garanta.

    No todas las redes de telecomunicaciones pueden ser claramente clasificadas como puras de conmutacin de circuitos o puras de conmutacin de paquetes. Por ejemplo, en redes basadas en la tecnologa de nnnlo de transferencia asincrona (ATM) (un tema que tratamos en el Capitulo 5). aunque una conexin haga una reserva puede que sus mensajes tengan que esperar por los recursos congestionados. Sin embargo, esta clasificacin fundamental en redes de conmutacin de paquetes y de circuitos es un punto de partida excelente para comprender la tecnologa de las redes de telecomunicaciones.

    www.freelibros.org

  • Conmutacin d circuitos

    Este libro trata sobre redes de computadores. Internet y conmutacin de paquetes, no sobre redes de telfono y conmutacin de circuitos. Sin embargo, es importante comprender por qu Internet y otras redes de computadores utilizan conmutacin de paquetes en lugar de la tecnologa ms tradicional de conmutacin de circuitos utilizada en las redes telefnicas. Por esta razn se proporciona una breve visin general de conmutacin de circuitos.

    La Figura 1.5 muestra una red de conmutacin de circuitos. En esta red, los cuatro switches de circuitos estn interconectados por cuatro enlaces. Cada uno de estos enlaces tiene n circuitos, por lo que cada enlace puede soportar n conexiones simultneas. Los nodos (por ejemplo. PC y estaciones de trabajo) estn conectados directamente a uno de los switches. Cuando dos nodos quieren comunicarse. la red establece una conexin terminal-a-terminal dedicada entre las dos nodos. (Las llamadas de conferencia entre dos o ms dispositivos son tambin posibles, naturalmente, pero para simplificar las cosas, vamos a suponer, por ahora, que slo hay dos mquinas por cada conexin.) Por tanto, para que el nodo A enve mensajes al nodo B , la red debe resear primero un circuito en cada uno de los dos enlaces. Como cada enlace tiene n circuitos, por cada enlace utilizado en la conexin terminal-a-terminal, la conexin conseguir la fraccin \ln del ancho de banda del enlace para la duracin de la conexin.

    Cada enlace consta de n circuitos (TD M oFD M ) -

    Conexin term nal a-term inal entre los hosts A y B, u tilizando un circuito en cada uno de los enlaces

    Wl Host BLeyenda.

    Host Switch de circuitos

    Figura 1.5. Una red sencilla de con m jta c i n de cxcuitos form oda pcx cuatro swtichos y cuatro mocos.

    www.freelibros.org

  • Multlplexado n redes de conmutacin de circuitos

    Un circuito es un enlace implemcntado con m ultplcxudo por divisin de frecuencia (FDM ), o bien con m ultiplexado por divisin de tiem po (TDM ). ConFDM, el espectro de frecuencia de un enlace es compartido entre las conexiones establecidas a lo largo del enlace. Especficamente, el enlace dedica una banda de frecuencia para conexin durante la duracin de la misma. En redes telefnicas, esta banda de frecuencia tiene tpicamente un ancho de banda de 4 kH / (es decir. 4.000 Hertz, o 4.000 ciclos por segundo). El ancho de esta banda se llama, lgicamente. ancho de banda. Las estaciones de radio FM utilizan tambin FDM para compartir el espectro de frecuencias de las microondas.

    La tendencia en la telefona moderna es reemplazar FDM con TDM. La mayora de los enlaces en la mayora de los sistemas telefnicos de los pases desarrollados emplean actualmente TDM. Para un enlace TDM. el tiempo est dividido en marcos de duracin fija, y cada marco est dividido en un nmero fijo de particiones (slots). Cuando la red establece una conexin sobre el enlace, dedica una particin de tiempo en cada marco de la conexin. Estas particiones estn dedicadas para uso exclusivo de dicha conexin, con una particin de tiempo disponible para utilizar (en cada marco) para transmitir los datos de la conexin.

    La Figura 1.6 muestra FDM y TDM para un enlace de red especfico que soporta hasta 4 circuitos. Para FDM. el dominio de frecuencia est segmentado en cuatro bandas, cada una con un ancho de banda de 4KHz. Para TDM, el dominio del tiempo est segmentado en marcos, con cuatro particiones de tiempo en cada marco: cada circuito es asignado a la misma franja dedicada en la vuelta de los marcos TDM. Para TDM, la tasa de transmisin de un circuito es igual a la tasa de marcos multiplicada por el nmero de bits en una particin. Por ejemplo, si el enlace transmite 8.000 marcos por segundo y cada particin consta de 8 bits, entonces la tasa de transmisin de un circuito es de 64 Kbps.

    FDM

    TDMr

    1 2 3 4 1 2 3 4 1 1 2 3 4 1 1 2 3 4

    Particin

    Leyenda:

    Marco Tiempo

    m J J Todos Us p a rt< o n e s etiquetadas con ' 2 'K j estn dedicadas a un par especifico

    em isor-receptor

    Figura 1.6. Con FDM. co d a crcufto consigue continuamente una traccin del ancoo oebanda. Con TDM. co d a circu lo consigue todo el ancho de bdnda peridicamente duan to preves nfervaios do nempo (es decir, durante las particiones)

    www.freelibros.org

  • Los defensores de la conmutacin de paquetes siempre han argumentado que la conmutacin de circuitos es cerrochadora. porque los circuitos dedicados estn vacos durante los perodos de silencio. Por ejemplo, cuando una persona en una llamada telefnica deja de hablar, los recursos de red vacos (bandas de frecuencia o particiones en los enlaces de la ruta de conexin) no pueden ser utilizados por otras conexiones en curso. Para otro ejemplo de cmo se pueden infrautilizar estos recursos, consideremos un radilogo que utiliza una red de conmutacin de circuitos para acceder de forma remota a una serie de radiografas. El radilogo prepara la conexin, solicita una imagen, contempla la imagen, y entonces solicita una nueva imagen. Los recursos de red son desperdiciados durante los periodos de contemplacin del radilogo. Los defensores de la conmutacin de paquetes disfrutan tambin sealando que el establecimiento de circuitos y la reserva de ancho de banda terminal-a-terminal es complicado y requiere un software de seal complejo para coordinar la cooperacin a lo largo de todo el recorrido terminal- a-terminal.

    Antes de acabar nuestra discusin sobre conmutacin de circuitos, vamos a trabajar sobre un ejemplo numrico que nos aclare cualquier duda sobre el tema. Vamos a considerar cunto tiempo lleva enviar una archivo de 640.000 bits desde el nodo A hasta el nodo B a travs de una red de conmutacin de circuitos. Supongamos que todos los enlaces de la red son TDM con 24 particiones, y tienen una tasa de 1,5436 Mbps. Supongamos tambin que se precisan 500 mseg para establecer un circuito terminal-a-terminal antes de que el nodo A empiece a transmitir el archivo. Cunto tiempo lleva enviar el archivo? Cada circuito tiene una tasa de transmisin de (1,536 Mbps)/24 = 64 Kbps, por lo que se precisan (640.000 bits)/(64 Kbps) = 10 segundos para transmitir el archivo. A estos 10 segundos debemos aadir el tiempo de establecimiento de circuito, lo que da10,5 segundos para enviar el archivo. Hay que tener en cuenta que el tiempo de transmisin es independiente del nmero de circuitos: el tiempo de transmisin seria de 10 segundos independientemente de si el circuito terminal-a-terminal pasara a travs de un enlace o de 100 enlaces. (El retraso terminal-a-terminal incluye tambin el de propagacin; vase la Seccin 1.6.)

    Conmutacin de paquetes

    En la Seccin 1.1 dijimos que las aplicaciones intercambian m ensajes mientras llevan a cabo su tarea. Los mensajes pueden contener cualquier cosa que quiera el diseador del protocolo. Los mensajes pueden realizar una funcin de control (por ejemplo, los mensajes de "Hola" en nuestro ejemplo de acuerdo), o pueden contener datos, como un mensaje de correo electrnico, una imagen JPF.G, o un fichero de audio MP3. En las redes de computadores modernas, la fuente divide los mensajes largos en trozos ms pequeos de datos, conocidos como paquetes. Entre fuente y destino, cada uno de estos paquetes viaja a travs de los enlaces de comunicacin y sw itches de paquetes (tambin conocidos como routers). Los paquetes se transmiten sobre cada enlace de comunicacin a una tasa igual a la tasa total de transmisin del enlace. La mayora de los switches de paquetes utilizan transm isin alm acenar-y-rcenviar para las entradas a los enlaces. La transmisin almacenar-y-reenviar significa que el switch debe recibir el paquete completo antes de poder empezar a transmitir el primer bit del paquete hacia el

    www.freelibros.org

  • siguiente enlace. Por tanto, los switehes de paquetes introducen un retardo de alma- cenar-y-reenviar en la entrada de cada enlace a lo largo del camino de los paquetes. Este retardo es proporcional a la longitud del paquete en bits. En particular, si un paquete consta de L bits, y el paquete se va a reenviar a un enlace posterior de R bps. entonces el retardo de almacenar-y-reenviar en el switch es de U R segundos.

    Cada router tiene mltiples enlaces adscritos a l. Por cada enlace adscrito, el router tiene un bfer de salida (tambin llamado cola de salida), que almacena los paquetes que el router va a enviar hacia el enlace. Los bferes de salida juegan un papel fundamental en la conmutacin de paquetes. Si un paquete que llega necesita ser transmitido hacia el enlace, pero encuentra el enlace ocupado con la transmisin de otro paquete, el paquete que llega debe esperar en el bfer de salida. Por tanto, adems de los retardos de almacenar-y-reenviar. los paquetes sufren retardos de cola en el bfer de salida. Estos retardos son variables, y dependen del nivel de congestin en la red. Puesto que la cantidad de espacio del bfer es finito, un paquete que llega puede encontrarse con que el bfer est completamente lleno con otros paquetes que esperan por la transmisin. En este caso, ocurrir la prd ida de paquetes: alguno de los paquetes que llegan, o uno de los paquetes ya encolados, sern abandonados. Volviendo a nuestra analoga del restaurante anteriormente citada en esta seccin, el retardo de cola equivale a la cantidad de tiempo que se gasta esperando en el bar del restaurante a que una mesa quede libre. La prdida de paquetes equivale a ser invitado por el camarero a abandonar el establecimiento porque ya existen otras muchas personas esperando en el bar por una mesa.

    La Figura 1.7 muestra una red de conmutacin de paquetes sencilla. En esta y posteriores figuras, los paquetes estn representados por bloques de tres dimensiones. El ancho del bloque representa la longitud del paquete. En esta figura, todos los paquetes tienen el mismo ancho, y por tanto la misma longitud. Supongamos que los nodos A y B estn enviando paquetes al nodo E. Los nodos A y B envan inicialmente sus paquetes sobre enlaces Ethernet de 10 Mbps hacia el primer switch de paquetes. El switch de paquetes dirige estos paquetes al enlace de1.5 Mbps. Si hay congestin en este enlace, los paquetes sern encolados en el buffet de salida del enlace antes de ser transmitidos sobre el enlace. Supongamos ahora que los paquetes de los nodos A y B son transmitidos sobre este enlace. Como se ha mostrado en la Figura 1.7, la secuencia de paquetes A y B no sigue un patrn fijo; por el contrano, la ordenacin es aleatoria, porque los paquetes se envan una vez que estn presentes en el enlace. Por esta ordenacin aleatoria, se dice a menudo que la conmutacin de paquetes utiliza multiplexado estadstico. F.1 multiplexado estadstico contrasta con el multiplexado por divisin de tiempo (TDM) en conmutacin de circuitos, en la que cada nodo consigue la misma particin en un marco rotatorio TDM.

    Vamos a considerar ahora cunto tiempo lleva enviar un paquete de L bits desde un nodo hasta el otro sobre una red de conmutacin de paquetes. Supongamos que hay Q enlaces entre los dos nodos, cada uno con una tasa de R bps. Suponemos que los retardos de cola de propagacin terminal-a-terminal son despreciables. y que no hay establecimiento de conexin. El paquete es transmitido inicialmente hacia el primer enlace existente desde el nodo A\ esto supone U R segundos. Se debe transmitir sobre cada uno de los Q - 1 enlaces restantes; es decir, debe ser almacenado y reenviado (7-1 veces. Por tanto, el retardo total es de QL/R.ww