28 de abril de 2011

Richard Stallman

“Richard Matthew Stallman (nacido en Manhattan, Nueva York, 16 de marzo de 1953), con frecuencia abreviado como "rms", es un programador estadounidense y fundador del movimiento por el software libre en el mundo”.

Entre sus logros destacados como programador se incluye la realización del editor de texto GNU Emacs, el compilador GCC, y el depurador GDB, bajo la rúbrica del Proyecto GNU. Sin embargo, es principalmente conocido por el establecimiento de un marco de referencia moral, político y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución del software no libre o privativo.

Es también inventor del concepto de copyleft (aunque no del término), un método para licenciar software de tal forma que su uso y modificación permanezcan siempre libres y queden en la comunidad.

 

Biografía de Richard Stallman

Richard Stallman En 1971, siendo estudiante de primer año de Física en la Universidad Harvard, Stallman se convirtió en un hacker del Laboratorio de Inteligencia Artificial del Instituto Tecnológico de Massachusetts (MIT). En los años 1980, la cultura hacker que constituía la vida de Stallman empezó a disolverse bajo la presión de la comercialización en la industria del software. En particular, otros hackers del laboratorio de IA fundaron la compañía Symbolics, la cual intentaba activamente reemplazar el software libre del Laboratorio con su propio software privativo.

Entre 1982 a 1983, Stallman por sí solo duplicó los esfuerzos de los programadores de Symbolics para impedir que adquirieran un monopolio sobre los ordenadores del laboratorio. Por ese entonces, sin embargo, él era el último de su generación de hackers en el laboratorio.

Se le pidió que firmara un acuerdo de no divulgación (non-disclosure agreement) y llevara a cabo otras acciones que él consideró traiciones a sus principios. El 27 de septiembre de 1983 Stallman anunció en varios grupos de noticias de Usenet el inicio del proyecto GNU que perseguía crear un sistema operativo completamente libre.

El proyecto GNU

Al anuncio inicial del proyecto GNU siguió, en 1985, la publicación del Manifiesto GNU, en el cual Stallman declaraba sus intenciones y motivaciones para crear una alternativa libre al sistema operativo Unix, al que denominó GNU (GNU No es Unix), pronunciado de forma parecida a ñu, en inglés (de ahí los dibujos-logotipos que lo representan).

Poco tiempo después fundó la organización sin ánimo de lucro Free Software Foundation para coordinar el esfuerzo. Inventó el concepto de copyleft, que fue utilizado en la Licencia Pública General GNU (conocida generalmente como la "GPL") en 1989. La mayor parte del sistema GNU, excepto el núcleo, se completó aproximadamente al mismo tiempo. En 1991, Linus Torvalds liberó el núcleo Linux bajo los términos de la GPL, completando un sistema GNU completo y operativo, el sistema operativo GNU/Linux.

Richard Stallman en Wikimanía 2005

Audio Pulse “Play” para escuchar el audio. 

“Discurso de Richard Stallman explicando los motivos por los cuales se debe utilizar y apoyar el software libre”

La personalidad de Richard Stallman

Las motivaciones políticas y morales de Richard Stallman lo han convertido en una figura controvertida. Muchos programadores influyentes que se encuentran de acuerdo con el concepto de compartir el código, difieren con las posturas morales, filosofía personal o el lenguaje que utiliza Stallman para describir sus posiciones. Un resultado de estas disputas condujo al establecimiento de una alternativa al movimiento del software libre, el movimiento de código abierto.

"Que las empresas tengan especial influencia en la política significa que la democracia está enferma. El propósito de la democracia es asegurarse de que los ricos no tengan una influencia proporcional a su riqueza. Y si tienen más influencia que tú o que yo, eso significa que la democracia está fallando. Las leyes que obtienen de esta forma no tienen autoridad moral, sino la capacidad de hacer daño."

Richard Stallman

En 1999 promovió la creación de una enciclopedia libre, la GNUPedia, considerada como un antecedente directo de la Wikipedia.

En la actualidad, Stallman se encarga de difundir la ideología GNU en todo el mundo mediante charlas y conferencias. Esto hace que algunos le consideren como un profeta o gurú. Stallman habla español de manera fluida, y ha dado numerosas conferencias en países de habla hispana como: Argentina, Bolivia, Colombia, Ecuador, Cuba, España, México, Perú, Uruguay, Venezuela. Durante sus charlas aparece con una segunda personalidad que corresponde a San Ignucio en la que suele bendecir las computadoras de las personas.

Su aparentemente descuidada imagen y sus manías extravagantes (no utiliza teléfono móvil, siempre va acompañado de su computadora portátil, no duerme en hoteles, etc.) le han hecho ser blanco de numerosos chistes y bromas, llegando a aparecer en tiras cómicas.

“Canción realizada por Richard Stallman, diciendo las cosas positivas del software libre y las cosas negativas del software no libre, en especial, critica mucho las patentes (en inglés)”.

Audio  ***Pulse “Play” para escuchar la canción***

Richard Stallman disfrazado de San IGNU “Richard Stallman disfrazado de St.IGNU-cius, un santo de la Iglesia de Emacs. La aureola es un disco duro antiguo”.

Distinciones para Richard Stallman

Stallman ha recibido numerosos premios y reconocimientos por su trabajo, entre ellos:

  • Una membresía en la MacArthur Foundation en 1990.
  • El Grace Hopper Award de la Association for Computing Machinery en 1991 por su trabajo en el editor Emacs original.
  • Un Doctorado Honoris Causa del Royal Institute of Technology de Suecia en 1996.
  • El Pioneer award de la Electronic Frontier Foundation en 1998.
  • El Yuri Rubinsky memorial award en 1999.
  • El Takeda award en 2001.
  • En 2004 recibió un Doctorado Honoris Causa otorgado por la Universidad de Salta (Argentina).
  • Primer galardonado con el Premio Internacional Extremadura de Conocimiento Libre que concedió la Junta de Extremadura el 7 de febrero de 2007 en Badajoz en el marco de la III Conferencia Internacional de Software Libre.
  • Doctor Honoris Causa de la Universidad de Los Ángeles de Chimbote, en Perú en 2007
  • Doctor Honoris Causa de la Universidad de Pavia, en 2007
  • Doctor Honoris Causa de la Universidad Nacional de Trujillo, en Perú en 2008
  • Doctorado Honorario en Ciencias en la Universidad de Lakehead en Canadá en 2009

 

Publicaciones de Richard Stallman

Stallman ha realizado publicaciones de varios tipos, entre ellas se destacan las siguientes:

Artículos en revistas científicas:
  • Stallman, Richard M; Sussman, Gerald J (November de 1975). Heuristic Techniques in Computer-Aided Circuit Analysis. CAS-22 (11). IEEE Transactions on Circuits and Systems.
  • Stallman, Richard M; Sussman, Gerald J (1977). Forward Reasoning and Dependency-Directed Backtracking In a System for Computer-Aided Circuit analysis. Artificial Intelligence 9. pp. 135–196.
Manuales:
  • Stallman, Richard M (1981). EMACS: The Extensible, Customizable, Self-Documenting Display Editor. Cambridge Massachusetts: MIT: MIT Artificial Intelligence Laboratory publication. AIM-519A.
  • Stallman, Richard M (2002). GNU Emacs Manual: Sixteenth edition for GNU Emacs Version 21. Boston, Massachusetts: GNU Press.
  • Stallman, Richard M; McGrath, Roland; & Smith, Paul D (2004). GNU Make: A Program for Directed Compilation. Boston, Massachusetts: GNU Press.
Recopilaciones de ensayos:
Biografía:

-------------------------------

Fuente: Wikipedia

Web oficial: http://www.stallman.org/

Seguir leyendo...

20 de abril de 2011

El Sistema Operativo UNIX

“Unix (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy”.

Hasta 2009, el propietario de la marca UNIX® fue The Open Group, un consorcio de normalización industrial. A partir de marzo de 2010 y tras una larga batalla legal, esta ha pasado nuevamente a ser propiedad de Novell, Inc. Sólo los sistemas totalmente compatibles y que se encuentran certificados por la especificación Single UNIX Specification pueden ser denominados "UNIX®" (otros reciben la denominación "similar a un sistema Unix" o "similar a Unix"). En ocasiones, suele usarse el término "Unix tradicional" para referirse a Unix o a un sistema operativo que cuenta con las características de UNIX Versión 7 o UNIX System V.

 

La Historia de UNIX

Ken Thompson y Dennis Ritchie, creadores de Unix.

A finales de 1960, el Instituto Tecnológico de Massachusetts, los Laboratorios Bell de AT&T y General Electric trabajaban en un sistema operativo experimental llamado Multics (Multiplexed Information and Computing System), desarrollado para ejecutarse en una computadora central (mainframe) modelo GE-645. El objetivo del proyecto era desarrollar un gran sistema operativo interactivo que contase con muchas innovaciones, entre ellas mejoras en las políticas de seguridad. El proyecto consiguió dar a luz versiones para producción, pero las primeras versiones contaban con un pobre rendimiento. Los laboratorios Bell de AT&T decidieron desvincularse y dedicar sus recursos a otros proyectos.

Uno de los programadores de los laboratorios Bell, Ken Thompson, siguió trabajando para la computadora GE-635 y escribió un juego llamado Space Travel, (Viaje espacial). Sin embargo, descubrió que el juego era lento en la máquina de General Electric y resultaba realmente caro, algo así como 75 dólares de EE.UU. por cada partida.

De este modo, Thompson escribió nuevamente el programa, con ayuda de Dennis Ritchie, en lenguaje ensamblador, para que se ejecutase en una computadora DEC PDP-7. Esta experiencia, junto al trabajo que desarrolló para el proyecto Multics, condujo a Thompson a iniciar la creación de un nuevo sistema operativo para la DEC PDP-7. Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd Canaday, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros, como el sistema operativo multitarea en sí.

A lo anterior, agregaron un intérprete de órdenes (o intérprete de comandos) y un pequeño conjunto de programas. El proyecto fue bautizado UNICS, como acrónimo Uniplexed Information and Computing System, pues sólo prestaba servicios a dos usuarios (de acuerdo con Andrew Tanenbaum, era sólo a un usuario). La autoría de esta sigla se le atribuye a Brian Kernighan, ya que era un hack de Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a UNICS un sistema MULTICS castrado (pues eunuchs, en inglés, es un homófono de UNICS), se cambió el nombre a UNIX, dando origen al legado que llega hasta nuestros días.

Hasta ese instante, no había existido apoyo económico por parte de los laboratorios Bell, pero eso cambió cuando el Grupo de Investigación en Ciencias de la Computación decidió utilizar UNIX en una máquina superior a la PDP-7. Thompson y Ritchie lograron cumplir con la solicitud de agregar herramientas que permitieran el procesamiento de textos a UNIX en una máquina PDP-11/20, y como consecuencia de ello consiguieron el apoyo económico de los laboratorios Bell.

Fue así como por vez primera, en 1970, se habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se incluía en él un programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20.

Este "sistema de procesamiento de texto" inicial, compuesto tanto por el sistema operativo como de runoff y el editor de texto, fue utilizado en los laboratorios Bell para procesar las solicitudes de patentes que ellos recibían. Pronto, runoff evolucionó hasta convertirse en troff, el primer programa de edición electrónica que permitía realizar composición tipográfica. El 3 de noviembre de 1971 Thomson y Ritchie publicaron un manual de programación de UNIX (título original en inglés: "UNIX Programmer's Manual").

En 1972 se tomó la decisión de escribir nuevamente UNIX, pero esta vez en el lenguaje de programación C. Este cambio significaba que UNIX podría ser fácilmente modificado para funcionar en otras computadoras (de esta manera, se volvía portable) y así otras variaciones podían ser desarrolladas por otros programadores. Ahora, el código era más conciso y compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposición de universidades y compañías, también al gobierno de los Estados Unidos, a través de licencias.

Una de estas licencias fue otorgada al Departamento de Computación de la Universidad de California, con sede en Berkeley. En 1975 esta institución desarrolló y publicó su propio sucedáneo de UNIX, conocida como Berkeley Software Distribution (BSD), que se convirtió en una fuerte competencia para la familia UNIX de AT&T.

Mientras tanto, AT&T creó una división comercial denominada Unix Systems Laboratories para la explotación comercial del sistema operativo. El desarrollo prosiguió, con la entrega de las versiones 4, 5 y 6 en el transcurso de 1975. Estas versiones incluían los pipes o tuberías, lo que permitió dar al desarrollo una orientación modular respecto a la base del código, consiguiendo aumentar aún más la velocidad de desarrollo. Ya en 1978, cerca de 600 o más máquinas estaban ejecutándose con alguna de las distintas encarnaciones de UNIX.

La versión 7, la última versión del UNIX original con amplia distribución, entró en circulación en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la década de 1980, pero su circulación se limitó a unas cuantas universidades, a pesar de que se publicaron los informes que describían el nuevo trabajo. Los resultados de esta investigación sirvieron de base para la creación de Plan 9 from Bell Labs, un nuevo sistema operativo portable y distribuido, diseñado para ser el sucesor de UNIX en investigación por los Laboratorios Bell.

UNIX: Éste sería el aspecto de UNIX sobre los fines de la década de 1980 utilizando X Window System creado por el MIT

Éste sería el aspecto de UNIX sobre los fines de la década de 1980 utilizando X Window System creado por el MIT

AT&T entonces inició el desarrollo de UNIX System III, basado en la versión 7, como una variante de tinte comercial y así vendía el producto de manera directa. La primera versión se lanzó en 1981. A pesar de lo anterior, la empresa subsidiaria Western Electric seguía vendiendo versiones antiguas de Unix basadas en las distintas versiones hasta la séptima. Para finalizar con la confusión con todas las versiones divergentes, AT&T decidió combinar varias versiones desarrolladas en distintas universidades y empresas, dando origen en 1983 al Unix System V Release 1. Esta versión presentó características tales como el editor Vi y la biblioteca curses, desarrolladas por Berkeley Software Distribution en la Universidad de California, Berkeley. También contaba con compatibilidad con las máquinas VAX de la compañía DEC.

Hacia 1991, un estudiante de ciencias de la computación de la Universidad de Helsinki, llamado Linus Torvalds desarrolló un núcleo para computadoras con arquitectura x86 de Intel que emulaba muchas de las funcionalidades de UNIX y lo lanzó en forma de código abierto en 1991, bajo el nombre de Linux. En 1992, el Proyecto GNU comenzó a utilizar el núcleo Linux junto a sus programas.

En 1993, la compañía Novell adquirió la división Unix Systems Laboratories de AT&T junto con su propiedad intelectual. Esto ocurrió en un momento delicado en el que Unix Systems Laboratories disputaba una demanda en los tribunales contra BSD por infracción de los derechos de copyright, revelación de secretos y violación de marca de mercado.

Aunque BSD ganó el juicio, Novell descubrió que gran parte del código de BSD fue copiada ilegalmente en UNIX System V. En realidad, la propiedad intelectual de Novell se reducía a unos cuantos archivos fuente. La correspondiente contra-demanda acabó en un acuerdo extrajudicial cuyos términos permanecen bajo secreto a petición de Novell.

En 1995, Novell vendió su división UNIX comercial (es decir, la antigua Unix Systems Laboratories) a Santa Cruz Operation (SCO) reservándose, aparentemente, algunos derechos de propiedad intelectual sobre el software. SCO continúa la comercialización de System V en su producto UnixWare, que durante cierto tiempo pasó a denominarse OpenUnix, aunque ha retomado de nuevo el nombre de UnixWare.

 

Familias UNIX

Como se puede deducir de esta breve reseña histórica, existen varias familias del sistema operativo UNIX, que han evolucionado de manera independiente a lo largo de los años. Cada familia se distingue no tanto por sus diferencias técnicas como por sus diferencias en propiedad intelectual. Se observa que todas las familias se han visto contaminadas, directa o indirectamente, por otras familias.

Historia de UNIX

Familias UNIX más significativas
  • AT&T: la familia que tuvo su origen en el UNIX de AT&T. Considerada la familia UNIX "pura" y original. Sus sistemas operativos más significativos son UNIX System III y UNIX System V.
  • BSD: familia originada por el licenciamiento de UNIX a Berkely. BSD se reescribió para no incorporar propiedad intelectual originaria de AT&T en la versión 4. La primera implementación de los protocolos TCP/IP que dieron origen a Internet son la pila (stack) TCP/IP BSD.
  • AIX: Esta familia surge por el licenciamiento de UNIX System III a IBM.
  • Xenix: familia derivada de la adquisición de los derechos originales de AT&T primero por parte de Microsoft y de esta los vendió a SCO.
  • GNU: En 1983, Richard Stallman anunció el Proyecto GNU, un ambicioso esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido libremente. El software desarrollado por este proyecto -por ejemplo, GNU Emacs y GCC - también han sido parte fundamental de otros sistemas UNIX.
  • Linux: En 1991, cuando Linus Torvalds empezó a proponer el núcleo Linux y a reunir colaboradores, las herramientas GNU eran la elección perfecta. Al combinarse ambos elementos, conformaron la base del sistema operativo (basado en POSIX) que hoy se conoce como GNU/Linux. Las distribuciones basadas en el núcleo, el software GNU y otros agregados entre las que se pueden mencionar a Slackware Linux, Red Hat Linux y Debian GNU/Linux se han hecho populares tanto entre los aficionados a la computación como en el mundo empresarial. Obsérvese que Linux tiene un origen independiente, por lo que se considera un 'clónico' de UNIX y no un UNIX en el sentido histórico.

Las interrelaciones entre estas familias son las siguientes, aproximadamente en orden cronológico:

  • La familia BSD surge del licenciamiento del UNIX original de AT&T.
  • Xenix también surge por licenciamiento del UNIX original de AT&T, aunque aún no era propiedad de SCO.
  • AIX surge por licenciamiento de UNIX System III, pero también incorpora propiedad intelectual de BSD.
  • La familia original AT&T incorpora ilegalmente propiedad intelectual de BSD en UNIX System III r3.
  • La familia AIX vuelve a incorporar propiedad intelectual de la familia AT&T, esta vez procedente de UNIX System V.
  • Linux incorpora propiedad intelectual de BSD, gracias a que éste también se libera con una licencia de código abierto denominada Open-source BSD.
  • Según SCO Group, Linux incorpora propiedad intelectual procedente de AIX, gracias a la colaboración de IBM en la versión 2.4, más aún no está demostrado, hay un proceso judicial al respecto.

 

La marca UNIX

UNIX es una marca registrada de The Open Group en Estados Unidos y otros países. Esta marca sólo se puede aplicar a los sistemas operativos que cumplen la "Single Unix Specification" de esta organización y han pagado las regalías establecidas.

En la práctica, el término UNIX se utiliza en su acepción de familia. Se aplica también a sistemas multiusuario basados en POSIX (tales como GNU/Linux, Mac OS X [el cual, en su versión 10.5 ya ha alcanzado la certificación UNIX], FreeBSD, NetBSD, OpenBSD), los cuales no buscan la certificación UNIX por resultar cara para productos destinados al consumidor final o que se distribuyen libremente en Internet.

En estos casos, el término se suele escribir como "UN*X", "UNIX*", "*NIX", o "*N?X". Para referirse a ellos (tanto a Unix, como a los sistema basados en Unix/POSIX) también se utiliza "Unixes", pero "Unices" (que trata la palabra Unix como un nombre latino de la tercera declinación) es asimismo popular.

 

Implementaciones más importantes de UNIX

A lo largo de la historia ha surgido una gran multitud de implementaciones comerciales de UNIX. Sin embargo, un conjunto reducido de productos han consolidado el mercado y prevalecen gracias a un continuo esfuerzo de desarrollo por parte de sus fabricantes. Los más importantes son:

  • Solaris de Sun Microsystems: Uno de los sistemas operativos Unix más difundidos en el entorno empresarial y conocido por su gran estabilidad. Parte del código fuente de Solaris se ha liberado con licencia de fuentes abiertas (OpenSolaris).
  • AIX de IBM: El UNIX "propietario" de IBM ha cumplido 20 años de vida en el 2006 y continúa en pleno desarrollo, con una perceptible herencia del mainframe en campos como la virtualización o la RAS de los servicios, heredada de sus "hermanos mayores".
  • HP-UX de Hewlett-Packard: Este sistema operativo también nació ligado a las computadoras departamentales de este fabricante. También es un sistema operativo estable que continua en desarrollo.
  • Mac OS X: Curiosamente sus propios usuarios suelen desconocer que se trata de un UNIX completo, aprobado por The Open Group. Su diferencia marcada es que posee una interfaz gráfica propietaria llamada Aqua, y es principalmente desarrollada en Objective-C en lugar de C o C++.

Existen sistemas operativos basados en el núcleo Linux, y el conjunto de aplicaciones GNU (también denominado GNU/Linux), entre las más utilizadas encontramos:

  • Red Hat Enterprise Linux: Cuyo fabricante Red Hat es conocido por su amplia gama de soluciones y aportes al desarrollo de software libre. Apoya el proyecto Fedora del cual se beneficia y de ella se derivan distribuciones compatibles como Oracle Enterprise Linux y CentOS, también distribuciones como Mandriva Linux, se basó en una de sus primeras versiones.
  • SUSE Linux de Novell: Originalmente liberado por la compañía alemana SuSE. Es popular por sus herramientas de administración centralizada. De manera análoga a RedHat con Fedora, apoya el proyecto openSUSE.
  • Debian GNU/Linux: Con una de las comunidades más grandes y antiguas del movimiento de software libre, es base para distribuciones como Xandros, Mepis, Linspire y Ubuntu.

También son populares los sistemas operativos descendientes del 4.4BSD:

  • FreeBSD: Quizá el sistema operativo más popular de la familia, de propósito múltiple. Con una implementación SMP muy elaborada, es el sistema operativo utilizado por los servidores de Yahoo. Y base de muchos sistemas operativos entre ellos Mac OS X de Apple.
  • OpenBSD: Ampliamente reconocida por su seguridad proactiva y auditoría permanente del código fuente. Es utilizada en ambientes donde la seguridad prima sobre todo, es usual encontrarlo instalado en servidores que actúan como Firewall, VPN o Proxy.
  • NetBSD: Se le conoce por su portabilidad, a octubre de 2008: 53 arquitecturas soportadas. La NASA lo ha utilizado para la investigación en redes TCP/IP satelitales, al igual que para reciclar computadoras viejas con software moderno.

Las siguientes implementaciones de UNIX tienen importancia desde el punto de vista histórico, no obstante, actualmente están en desuso:

  • Tru64 UNIX actualmente de Hewlett-Packard (antes de Compaq y originalmente de Digital Equipment Corporation).
  • UnixWare y SCO OpenServer anteriormente de Santa Cruz Operation y ahora de SCO Group.
  • UX/4800 de NEC.
  • IRIX de Silicon Graphics Inc..
Fuente: Wikipedia
Seguir leyendo...

13 de abril de 2011

La Red ARPANET

La red de computadoras Advanced Research Projects Agency Network (ARPANET) fue creada por encargo del Departamento de Defensa de los Estados Unidos ("DOD" por sus siglas en inglés) como medio de comunicación para los diferentes organismos del país. El primer nodo se creó en la Universidad de California, Los Ángeles y fue la espina dorsal de Internet hasta 1990, tras finalizar la transición al protocolo TCP/IP iniciada en 1983.

El concepto de una red de computadoras capaz de comunicar usuarios en distintas computadoras fue formulado por J.C.R. Licklider de Bolt, Beranek and Newman (BBN) en agosto de 1962, en una serie de notas que discutían la idea de "Red Galáctica".

En octubre del mismo año, Licklider fue convocado por ARPA (Agencia de Investigación de Proyectos Avanzados) perteneciente al Departamento de Defensa de los Estados Unidos. En este foro, convenció a Ivan Sutherland y Bob Taylor de la importancia del concepto antes de abandonar la agencia, y antes de que se iniciara trabajo alguno.

Mientras tanto, Paul Baran estaba trabajando desde 1959 en la RAND Corporation en una red segura de comunicaciones capaz de sobrevivir a un ataque con armas nucleares, con fines militares.

Sus resultados se publicaron a partir de 1960, y en ellos se describían dos ideas clave:

  • El uso de una red descentralizada con múltiples caminos entre dos puntos.
  • La división de mensajes completos en fragmentos que seguirían caminos distintos. La red estaría capacitada para responder ante sus propios fallos.

El resumen final de este esquema se presentó en 1962 y se publicó en 1964.

En la misma época, Leonard Kleinrock ya trabajaba en el concepto de almacenar y reenviar mensajes en su tesis doctoral en el MIT. Esto incluía un importante análisis de la teoría de colas aplicada a las redes de comunicaciones (publicado como libro en 1964). Su trabajo aún no incluía la idea de fragmentación en paquetes.

Por último, Donald Davies, del Laboratorio Nacional de Física comenzó a relacionar todos estos conceptos en 1965, después de asistir a una conferencia en el Reino Unido sobre multiplexación en el tiempo. Su investigación tuvo lugar independientemente de los trabajos de Baran, de los que no tuvo conocimiento hasta 1966. Casualmente, fue Davies quien empezó a usar el término "paquete".

En este estado de las cosas, cuatro centros de investigación independientes (DARPA, la corporación RAND, el MIT y NPL en el Reino Unido) acabarían convirtiéndose en los primeros nodos experimentales de ARPANET.

Mapa lógico de ARPANET - Marzo de 1977  

Orígenes de ARPANET

Mientras todo esto ocurría, ARPA y Taylor seguían interesados en crear una red de ordenadores. Al final de 1986, Taylor contactó a Lawrence G. Roberts (del Laboratorio Lincoln, en el MIT) con el objeto de que liderase el proyecto de creación de la nueva red. Roberts ya conocía a Davies gracias a la mencionada conferencia sobre multiplexación en el tiempo.

El concepto original de Roberts consistía en utilizar la técnica de multiplexación en el tiempo, uniendo máquinas directamente con cables telefónicos. En una de las primeras reuniones (de 1967), muchos participantes no estaban dispuestos a que sus computadoras tuvieran que gestionar líneas telefónicas. Uno de estos participantes, Wesley A. Clark, tuvo la idea de usar pequeños ordenadores separados sólo para gestionar los enlaces de comunicaciones. Esta idea permitió descargar de trabajo a las computadoras principales, además de aislar la red de la distinta naturaleza de cada computadora.

Sobre esta base comenzó el diseño inicial de ARPANET. Roberts presentó su primer plan en un simposio de 1967. En este mismo evento se encontraba presente Roger Scantlebury, colaborador de Davies. Gracias a este encuentro discutieron la idea de la conmutación de paquetes, y permitió a Roberts conocer el trabajo de Baran.holll

 

Nacimiento de ARPANET

En el verano de 1968 ya existía un plan completo y aprobado por ARPA. De manera que se celebró un concurso con 140 potenciales proveedores. Sin embargo, solamente 12 de ellos presentaron propuestas. En 1969, el contrato se adjudicó a BBN (donde había trabajado Licklider, creador del concepto de Red Galáctica).

El 29-10-1969 se transmite el primer mensaje a través de ARPANET y en menos de un mes (el 21-11-1969) se establece el primer enlace entre las universidades de Standford y la UCLA.

La oferta de BBN seguía el plan de Roberts rápidamente. Los pequeños ordenadores se denominaron Procesadores de la interfaz de mensajes (IMPs). Éstos implementaban la técnica de almacenar y reenviar y utilizaban un módem telefónico para conectarse a otros equipos (a una velocidad de 50 kbits por segundo). Los ordenadores centrales se conectaban a los IMPs mediante interfaces serie a medida.

Los IMP se implementaron inicialmente con ordenadores DDP-516 de Honeywell. Contaban con 24 kilobytes de memoria principal con capacidad para conectar un máximo de cuatro ordenadores centrales, y comunicarlos con otros seis IMP remotos. BBN tuvo disponible todo el hardware y el software necesario en tan sólo nueve meses.

 

Primer despliegue

La ARPANET inicial consistía en cuatro IMPs instalados en:

  • UCLA, donde Kleinrock creó el Centro de medición de red. Un ordenador SDS Sigma 7 fue el primero en conectarse.
  • El Augmentation Research Center en el Instituto de investigación de Stanford, donde Doug Engelbart creó el novedoso sistema NLS, un incipiente sistema de hipertexto. Un ordenador SDS 940 fue el primero en conectarse.
  • La Universidad de California, con una IBM 360.
  • El Departamento Gráfico de la Universidad de Utah, donde Ivan Sutherland se trasladó. Con un PDP-10 inicialmente conectado.

El primer enlace de ARPANET se estableció el 21 de noviembre de 1969 entre UCLA y Stanford. el 5 de diciembre del mismo año, toda la red inicial estaba lista.

En marzo de 1970 ARPANET cruzó hasta la costa Este cuando la propia BBN se unió a la red. En 1971 ya existían 24 ordenadores conectados, pertenecientes a universidades y centros de investigación. Este número creció hasta 213 ordenadores en 1981 con una nueva incorporación cada 20 días en media y llegar a alcanzar los 500 ordenadores conectados en 1983.

 

Software desarrollado

En 1972, Ray Tomlinson de la BBN inventó el correo electrónico. En 1973, el protocolo FTP ya estaba definido e implementado, facilitando el movimiento de ficheros en ARPANET. Para entonces el 75% del tráfico ya se debía al éxito del correo electrónico. También se especificó un protocolo para transmisión de voz (RFC 741), que llegó a implementarse pero fue un fracaso por motivos técnicos. Esto no vería la luz hasta varias décadas más tarde.

 

El mito de los ataques nucleares

El mito de que ARPANET se construyó para sobrevivir a ataques nucleares sigue siendo muy popular. Sin embargo, este no fue el motivo. Si bien es cierto que ARPANET fue diseñada para sobrevivir a fallos en la red, la verdadera razón para ello era que los nodos de conmutación eran poco fiables, tal y como se atestigua en la siguiente cita:

A raíz de un estudio de RAND, se extendió el falso rumor de que ARPANET fue diseñada para resistir un ataque nuclear. Esto nunca fue cierto, solamente un estudio de RAND, no relacionado con ARPANET, consideraba la guerra nuclear en la transmisión segura de comunicaciones de voz. Sin embargo, trabajos posteriores enfatizaron la robustez y capacidad de supervivencia de grandes porciones de las redes subyacentes. (Internet Society, A Brief History of the Internet)

 

Fuente: Wikipedia

Seguir leyendo...

7 de abril de 2011

¿Que es Ethernet? Definición e Historia

Definición de Ethernet:

Ethernet es un estándar de redes de área local para computadores con acceso al medio por contienda CSMA/CD. ("Acceso Múltiple por Detección de Portadora con Detección de Colisiones"), es una técnica usada en redes Ethernet para mejorar sus prestaciones. El nombre viene del concepto físico de ether.

Ethernet define las características de cableado y señalización de nivel físico y los formatos de tramas de datos del nivel de enlace de datos del modelo OSI.

La Ethernet se tomó como base para la redacción del estándar internacional IEEE 802.3. Usualmente se toman Ethernet e IEEE 802.3 como sinónimos. Ambas se diferencian en uno de los campos de la trama de datos. Las tramas Ethernet e IEEE 802.3 pueden coexistir en la misma red.

 

Historia de la Ethernet

En 1970 mientras Abramson montaba la red ALOHA en Hawái, un estudiante recién graduado en el MIT llamado Robert Metcalfe se encontraba realizando sus estudios de doctorado en la Universidad de Harvard trabajando para ARPANET, que era el tema de investigación candente en aquellos días. En un viaje a Washington, Metcalfe estuvo en casa de Steve Crocker (el inventor de los RFCs de Internet) donde éste lo dejó dormir en el sofá. Para poder conciliar el sueño Metcalfe empezó a leer una revista científica donde encontró un artículo de Norm Abramson acerca de la red Aloha. Metcalfe pensó cómo se podía mejorar el protocolo utilizado por Abramson, y escribió un artículo describiendo un protocolo que mejoraba sustancialmente el rendimiento de Aloha.

Tarjeta de red ISA

Ese artículo se convertiría en su tesis doctoral, que presentó en 1973. La idea básica era muy simple: las estaciones antes de transmitir deberían detectar si el canal ya estaba en uso (es decir si ya había 'portadora'), en cuyo caso esperarían a que la estación activa terminara. Además, cada estación mientras transmitiera estaría continuamente vigilando el medio físico por si se producía alguna colisión, en cuyo caso se pararía y retransmitiría más tarde. Este protocolo MAC recibiría más tarde la denominación Acceso Múltiple con Detección de Portadora y Detección de Colisiones, o más brevemente CSMA/CD (Carrier Sense Multiple Access / Collision Detection).

En 1972 Metcalfe se mudó a California para trabajar en el Centro de Investigación de Xerox en Palo Alto llamado Xerox PARC (Palo Alto Research Center). Allí se estaba diseñando lo que se consideraba la 'oficina del futuro' y Metcalfe encontró un ambiente perfecto para desarrollar sus inquietudes. Se estaban probando unas computadoras denominadas Alto, que ya disponían de capacidades gráficas y ratón y fueron consideradas los primeros ordenadores personales. También se estaban fabricando las primeras impresoras láser.

Se quería conectar las computadoras entre sí para compartir ficheros y las impresoras. La comunicación tenía que ser de muy alta velocidad, del orden de megabits por segundo, ya que la cantidad de información a enviar a las impresoras era enorme (tenían una resolución y velocidad comparables a una impresora láser actual). Estas ideas que hoy parecen obvias eran completamente revolucionarias en 1973.

A Metcalfe, el especialista en comunicaciones del equipo con 27 años de edad, se le encomendó la tarea de diseñar y construir la red que uniera todo aquello. Contaba para ello con la ayuda de un estudiante de doctorado de Stanford llamado David Boggs. Las primeras experiencias de la red, que denominaron 'Alto Aloha Network', las llevaron a cabo en 1972. Fueron mejorando gradualmente el prototipo hasta que el 22 de mayo de 1973 Metcalfe escribió un memorándum interno en el que informaba de la nueva red.

Para evitar que se pudiera pensar que sólo servía para conectar computadoras Alto cambió el nombre de la red por el de Ethernet, que hacía referencia a la teoría de la física hoy ya abandonada según la cual las ondas electromagnéticas viajaban por un fluido denominado éter que se suponía llenaba todo el espacio (para Metcalfe el 'éter' era el cable coaxial por el que iba la señal). Las dos computadoras Alto utilizadas para las primeras pruebas de Ethernet fueron rebautizadas con los nombres Michelson y Morley, en alusión a los dos físicos que demostraron en 1887 la inexistencia del éter mediante el famoso experimento que lleva su nombre.

La red de 1973 ya tenía todas las características esenciales de la Ethernet actual. Empleaba CSMA/CD para minimizar la probabilidad de colisión, y en caso de que ésta se produjera se ponía en marcha un mecanismo denominado retroceso exponencial binario para reducir gradualmente la ‘agresividad’ del emisor, con lo que éste se adaptaba a situaciones de muy diverso nivel de tráfico.

Tenía topología de bus y funcionaba a 2,94 Mb/s sobre un segmento de cable coaxial de 1,6 km de longitud. Las direcciones eran de 8 bits y el CRC de las tramas de 16 bits. El protocolo utilizado al nivel de red era el PUP (Parc Universal Packet) que luego evolucionaría hasta convertirse en el que luego fue XNS (Xerox Network System), antecesor a su vez de IPX (Netware de Novell).

En vez de utilizar el cable coaxial de 75 ohms de las redes de televisión por cable, se optó por emplear cable de 50 ohms que producía menos reflexiones de la señal, a las cuales Ethernet era muy sensible por transmitir la señal en banda base (es decir sin modulación). Cada empalme del cable y cada 'pincho' vampiro (transceiver) instalado producía la reflexión de una parte de la señal transmitida. En la práctica el número máximo de 'pinchos' vampiro, y por tanto el número máximo de estaciones en un segmento de cable coaxial, venía limitado por la máxima intensidad de señal reflejada tolerable.

Cable Ethernet

En 1975 Metcalfe y Boggs describieron Ethernet en un artículo que enviaron a Communications of the ACM (Association for Computing Machinery), publicado en 1976. En él ya describían el uso de repetidores para aumentar el alcance de la red. En 1977 Metcalfe, Boggs y otros dos ingenieros de Xerox recibieron una patente por la tecnología básica de Ethernet, y en 1978 Metcalfe y Boggs recibieron otra por el repetidor. En esta época todo el sistema Ethernet era propiedad de Xerox.

Conviene destacar que David Boggs construyó en el año 1975 durante su estancia en Xerox PARC el primer router y el primer servidor de nombres de Internet.

La primera versión fue un intento de estandarizar ethernet aunque hubo un campo de la cabecera que se definió de forma diferente, posteriormente ha habido ampliaciones sucesivas al estándar que cubrieron las ampliaciones de velocidad (Fast Ethernet, Gigabit Ethernet y el de 10 Gigabits), redes virtuales, hubs, conmutadores y distintos tipos de medios, tanto de fibra óptica como de cables de cobre (tanto par trenzado como coaxial).

Los estándares de este grupo no reflejan necesariamente lo que se usa en la práctica, aunque a diferencia de otros grupos este suele estar cerca de la realidad.

 

Versiones de 802.3

Estándar Ethernet, Fecha y Descripción
  • Ethernet experimental 1972 (patentado en 1978) 2,85 Mbit/s sobre cable coaxial en topología de bus.
  • Ethernet II (DIX v2.0) 1982 10 Mbit/s sobre coaxial fino (thinnet) - La trama tiene un campo de tipo de paquete. El protocolo IP usa este formato de trama sobre cualquier medio.
  • IEEE 802.3 1983 10BASE5 10 Mbit/s sobre coaxial grueso (thicknet). Longitud máxima del segmento 500 metros - Igual que DIX salvo que el campo de Tipo se substituye por la longitud.
  • 802.3a 1985 10BASE2 10 Mbit/s sobre coaxial fino (thinnet o cheapernet). Longitud máxima del segmento 185 m
  • 802.3b 1985 10BROAD36
  • 802.3c 1985 Especificación de repetidores de 10 Mbit/s
  • 802.3d 1987 FOIRL (Fiber-Optic Inter-Repeater Link) enlace de fibra óptica entre repetidores.
  • 802.3e 1987 1BASE5 o StarLAN
  • 802.3i 1990 10BASE-T 10 Mbit/s sobre par trenzado no apantallado (UTP). Longitud máxima del segmento 100 metros.
  • 802.3j 1993 10BASE-F 10 Mbit/s sobre fibra óptica. Longitud máxima del segmento 1000 metros.
  • 802.3u 1995 100BASE-TX, 100BASE-T4, 100BASE-FX Fast Ethernet a 100 Mbit/s con auto-negociación de velocidad.
  • 802.3x 1997 Full Duplex (Transmisión y recepción simultáneos) y control de flujo.
  • 802.3y 1998 100BASE-T2 100 Mbit/s sobre par trenzado no apantallado(UTP). Longitud máxima del segmento 100 metros
  • 802.3z 1998 1000BASE-X Ethernet de 1 Gbit/s sobre fibra óptica.
  • 802.3ab 1999 1000BASE-T Ethernet de 1 Gbit/s sobre par trenzado no apantallado
  • 802.3ac 1998 Extensión de la trama máxima a 1522 bytes (para permitir las "Q-tag") Las Q-tag incluyen información para *802.1Q VLAN y manejan prioridades según el estandar 802.1p.
  • 802.3ad 2000 Agregación de enlaces paralelos (Trunking).
  • 802.3ae 2003 Ethernet a 10 Gbit/s ; 10GBASE-SR, 10GBASE-LR
  • IEEE 802.3af 2003 Alimentación sobre Ethernet (PoE).
  • 802.3ah 2004 Ethernet en la última milla.
  • 802.3ak 2004 10GBASE-CX4 Ethernet a 10 Gbit/s sobre cable bi-axial.
  • 802.3an 2006 10GBASE-T Ethernet a 10 Gbit/s sobre par trenzado no apantallado (UTP)
  • 802.3ap en proceso (draf) Ethernet de 1 y 10 Gbit/s sobre circuito impreso.
  • 802.3aq en proceso (draf) 10GBASE-LRM Ethernet a 10 Gbit/s sobre fibra óptica multinodo.
  • 802.3ar en proceso (draf) Gestión de Congestión
  • 802.3as en proceso (draf) Extensión de la trama

Conectores de una tarjeta de red Ethernet

Formato de la trama Ethernet

Campo de 32 bits (4 bytes) que contiene un valor de verificación CRC (Control de redundancia cíclica). El emisor calcula el CRC de toda la trama, desde el campo destino al campo CRC suponiendo que vale 0. El receptor lo recalcula, si el valor calculado es 0 la trama es valida.

Tecnología y velocidad de Ethernet

Hace ya mucho tiempo que Ethernet consiguió situarse como el principal protocolo del nivel de enlace. Ethernet 10Base2 consiguió, ya en la década de los 90s, una gran aceptación en el sector. Hoy por hoy, 10Base2 se considera como una "tecnología de legado" respecto a 100BaseT. Hoy los fabricantes ya han desarrollado adaptadores capaces de trabajar tanto con la tecnología 10baseT como la 100BaseT y esto ayuda a una mejor adaptación y transición.

Las tecnologías Ethernet que existen se diferencian en estos conceptos:

Velocidad de transmisión:

- Velocidad a la que transmite la tecnología:

Tipo de cable:

- Tecnología del nivel físico que usa la tecnología:

Longitud máxima:

- Distancia máxima que puede haber entre dos nodos adyacentes (sin estaciones repetidoras).

Topología:

- Determina la forma física de la red. Bus si se usan conectores T (hoy sólo usados con las tecnologías más antiguas) y estrella si se usan hubs (estrella de difusión) o switches (estrella conmutada).

A continuación se especifican los anteriores conceptos en las tecnologías más importantes:

Comparación entre Verificación de Trama

 

Tecnología Velocidad de transmisión Tipo de cable Distancia máxima Topología
10Base2 10 Mbps Coaxial 185 m Bus (Conector T)
10BaseT 10 Mbps Par Trenzado 100 m Estrella (Hub o Switch)
10BaseF 10 Mbps Fibra óptica 2000 m Estrella (Hub o Switch)
100BaseT4 100Mbps Par Trenzado (categoría 3UTP) 100 m Estrella. Half Duplex (hub) y Full Duplex (switch)
100BaseTX 100Mbps Par Trenzado (categoría 5UTP) 100 m Estrella. Half Duplex (hub) y Full Duplex (switch)
100BaseFX 100Mbps Fibra óptica 2000 m No permite el uso de hubs
1000BaseT 1000Mbps 4 pares trenzado (categoría 5e ó 6UTP ) 100 m Estrella. Full Duplex (switch)
1000BaseSX 1000Mbps Fibra óptica (multimodo) 5500 m Estrella. Full Duplex (switch)
1000BaseLX 1000Mbps Fibra óptica (monomodo) 5000 m Estrella. Full Duplex (switch)

Hardware comúnmente usado en una red Ethernet

Los elementos de una red Ethernet son: tarjeta de red, repetidores, concentradores, puentes, los conmutadores, los nodos de red y el medio de interconexión. Los nodos de red pueden clasificarse en dos grandes grupos: equipo terminal de datos (DTE) y equipo de comunicación de datos (DCE).

Los DTE son dispositivos de red que generan el destino de los datos: los PC, routers, las estaciones de trabajo, los servidores de archivos, los servidores de impresión; todos son parte del grupo de las estaciones finales. Los DCE son los dispositivos de red intermediarios que reciben y retransmiten las tramas dentro de la red; pueden ser: conmutadores (switch), concentradores (hub), repetidores o interfaces de comunicación. Por ejemplo: un módem o una tarjeta de interfaz.

  • NIC, o Tarjeta de Interfaz de Red - permite que una computadora acceda a una red local. Cada tarjeta tiene una única dirección MAC que la identifica en la red. Una computadora conectada a una red se denomina nodo.
  • Repetidor o repeater - aumenta el alcance de una conexión física, recibiendo las señales y retransmitiéndolas, para evitar su degradación, a través del medio de transmisión, lográndose un alcance mayor. Usualmente se usa para unir dos áreas locales de igual tecnología y sólo tiene dos puertos. Opera en la capa física del modelo OSI.
  • Concentrador o hub - funciona como un repetidor pero permite la interconexión de múltiples nodos. Su funcionamiento es relativamente simple pues recibe una trama de ethernet, por uno de sus puertos, y la repite por todos sus puertos restantes sin ejecutar ningún proceso sobre las mismas. Opera en la capa física del modelo OSI.
  • Puente o bridge - interconecta segmentos de red haciendo el cambio de frames (tramas) entre las redes de acuerdo con una tabla de direcciones que le dice en qué segmento está ubicada una dirección MAC dada. Se diseñan para uso entre LAN's que usan protocolos idénticos en la capa física y MAC (de acceso al medio). Aunque existen bridges más sofisticados que permiten la conversión de formatos MAC diferentes (Ethernet-Token Ring por ejemplo).
Conexiones en un switch Ethernet
  • Conmutador o Switch - funciona como el bridge, pero permite la interconexión de múltiples segmentos de red, funciona en velocidades más rápidas y es más sofisticado. Los switches pueden tener otras funcionalidades, como Redes virtuales , y permiten su configuración a través de la propia red. Funciona básicamente en la capa 2 del modelo OSI (enlace de datos). Por esto son capaces de procesar información de las tramas; su funcionalidad más importante es en las tablas de dirección. Por ejemplo, una computadora conectada al puerto 1 del conmutador envía una trama a otra computadora conectada al puerto 2; el switch recibe la trama y la transmite a todos sus puertos, excepto aquel por donde la recibió; la computadora 2 recibirá el mensaje y eventualmente lo responderá, generando tráfico en el sentido contrario; ahora el switch conocerá las direcciones MAC de las computadoras en el puerto 1 y 2; cuando reciba otra trama con dirección de destino de alguna de ellas, sólo transmitirá la trama a dicho puerto disminuyendo así el tráfico de la red y contribuyendo al buen funcionamiento de la misma.
Presente y futuro de Ethernet

Ethernet se planteó en un principio como un protocolo destinado a cubrir las necesidades de las redes LAN. A partir de 2001 Ethernet alcanzó los 10 Gbps lo que dio mucha más popularidad a la tecnología. Dentro del sector se planteaba a ATM como la total encargada de los niveles superiores de la red, pero el estándar 802.3ae (Ethernet Gigabit 10) se ha situado en una buena posición para extenderse al nivel WAN.

Conecciones en un Switch Ethernet

Fuente: Wikipedia

Seguir leyendo...