Tema I. Introducción Desarrollo de Aplicaciones para Internet Curso 12|13 Miguel Reboiro Jato Índice 1. Historia de Internet 2. Internet en Números 3. Internet 4. Desarrollo para Internet 5. Referencias Índice 1. Historia de Internet 2. Internet en Números 3. Internet 4. Desarrollo para Internet 5. Referencias Historia Internet 1961: Primer documento sobre la teoría de conmutación de paquetes 1966: El ARPA, dependiente del DoD, comienza el proyecto ARPANET 1969: ARPANET se crea con 4 nodos en universidades – Primer mensaje entre UCLA y el Stanford Research Institute Primer RFC 1970: Primer protocolo host-a-host (Network Control Program, NPC) Historia Internet 1971: Se inventa el e-mail 1972: Primera demostración pública de ARPANET con 40 ordenadores RFC 318 – Telnet 1973: Primera conexión internacional (Reino Unido y Noruega) RFC 354 – File Transfer Protocol (FTP) 1974: Especificación TCP – Transferencia por paquetes 1976: Publicación de UUCP (Unix-to-Unix CoPy) 1977: RFC 733 – Mail (Network Text Messages) Se rompe la barrera de los 100 hosts Historia Internet Fuente de la imagen: http://upload.wikimedia.org/wikipedia/commons/b/bf/Arpanet_logical_map%2C_mar ch_1977.png?uselang=es Historia Internet 1979: USENET/Newsgroup Primer MUD (Multi User Dungeon) 1981: Redes BITNET y CSNET 1982: TCP/IP se convierte en la base de Internet RFC 827 – Exterior Gateway Protocol (EGP) RFC 821 – Simple Mail Transfer Protocol (SMTP) 1983: RFC 882 – Domain Name System (DNS) MILNET se separa de ARPANET 1984: Comienza a usarse el DNS Más de 1.000 hosts 1985: Se registra el primer dominio (symbolics.com) Historia de Internet Estado de Internet en 1986 Fuente de la imagen: http://en.wikipedia.org/wiki/File:InetCirca85.jpg Historia Internet 1987: UUNET, primera comercialización de Internet 1988: El primer gusano infecta a 6.000 de los 60.000 hosts de Internet (Morris Worm) – Primera condena por la ley de fraudes informáticos ISO/IEC 7498: Open Systems Interconnection (OSI) Se crea la Internet Assigned Numbers Authority (IANA) 1989: Se crean la Internet Engineering Task Force (IETF) y la Internet Research Task Force (IRTF) Más de 100.000 hosts 1990: ARPANET desaparece Archie: Primer motor de búsqueda. Permitía buscar ficheros sobre FTP GOSIP (Government Open System Interconnection Profile) sin TCP/IP Nace IMDb (Internet Movie Database) Más de 300.000 hosts y 1.000 grupos de noticias Historia Internet 1991: Gopher: Interfaz de texto basada en menús para acceder a recursos World Wide Web (WWW) nace en el CERN Pretty Good Privacy (PGP) 1992: Se crea la Internet Society (ISOC) Más de 1.000.000 hosts Jean Armour Polly utiliza la expresión “Navegar por Internet” por primera vez 1993: Los medios de comunicación y las empresas empiezan a tener en cuenta a Internet Mosaic: Navegador web que popularizó Internet Nuevos gusanos y aparecen spiders, crawlers, etc. Historia Internet 1994: Se crea el World Wide Web Consortium (W3C) RFC 1738 – Uniform Resource Locator (URL) Comunidades locales comienzan a ser enlazadas directamente a Internet Pizza Hut permite pedir pizzas on-line WWW es el segundo servicio más importante de Internet (después de FTP) La empresa de abogados Canter & Siegel inunda Internet con emails no solicitados (spam) Más de 3.000.000 hosts, 10.000 sitios web y 10.000 grupos de noticias 1995: GOSIP ahora permite TCP/IP Propuesta de IPv6 WWW es el primer servicio de Internet El registro de nombres ya no es libre (50$/año) Se lanza Java (applets) Popularización de los motores de búsqueda (AltaVista, Yahoo!, Go.com, Lycos, etc.) Nacen Amazon.com y eBay Comienza la burbuja .com (aproximado) Historia Internet 1996: RFC 1945 – HyperText Transfer Protocol (HTTP) Protocolo H.323 – Primer protocolo VoIP importante Las empresas de telecomunicaciones piden al congreso de los EE.UU. que se prohíba la telefonía por Internet Comienza la guerra de navegadores: Netscape vs Microsoft EE.UU. prohíbe la distribución de material obsceno por Internet 1997: La Corte Suprema de EE.UU. declara inconstitucional la ley que prohíbe la distribución de material obsceno El dominio business.com se compra por 150.000$ 1998: Se crea la Internet Corporation for Assigned Names and Numbers (ICANN) RFC 2460 - IPv6 Nacen Google Inc. y PayPal Historia Internet 1999: IEEE 802.11b Wireless Networking Se crea Napster, P2P para compartir MP3 Se crea el First Internet Bank of Indiana, que solo opera por Internet La ISOC crea la Internet Societal Task Force (ISTF) El dominio business.com se vende por 7.500.000$ 2000: Efecto 2000 Primeros ataques importantes de denegación de servicio (Yahoo, Amazon, eBay...) La burbuja de las .com estalla 2001: Los gusanos maliciosos Code Red I, Code Red II y Nimda se infiltran en miles de ordenadores RFC 3093 – Firewall Enhacement Protocol (FEP) Se crea BitTorrent, P2P para ficheros Tener blog mola (al menos en EE.UU.) Historia Internet 2002: Publicación de Tor 2003: El gusano SQL Slammer deja fuera de servicio a 5 de los 13 DNS raíz y a decenas de miles de servidores, la mayor parte, en apenas 10 minutos Se crea Skype, servicio de VoIP (Voice over IP) 2004: Se utiliza el término podcast por primera vez Se crea Facebook 2005: Se crea YouTube (streaming de vídeo) Standard OpenID 2006: Comienza el desarrollo de OAuth Se crea Twitter 2008: Amazon EC2 (Cloud Computing) El crawler de Google llega a 1 billón de páginas 2010: RFC 5849 – OAuth 1.0 2011: Empieza a introducirse HTML5 Índice 1. Historia de Internet 2. Internet en Números 3. Internet 4. Desarrollo para Internet 5. Referencias Internet en Números (2010) Porcentaje de Penetración de Internet Fuente de la imagen: http://en.wikipedia.org/wiki/File:InternetPenetrationWorldMap.svg Internet en Números (2011) Internet en Números (2012) Número Total de Sitios en Todos los Dominios (escala logarítmica) Fuente de la imagen: http://news.netcraft.com/archives/2012/08/02/august-2012-web-server-survey.html Internet en Números (2012) Número Total de Sitios en Todos los Dominios (escala logarítmica) Fuente de la imagen: http://news.netcraft.com/archives/2012/08/02/august-2012-web-server-survey.html Internet en Números (2011) ● ● Email – 3.146 millones de cuentas – 71% del correo es spam – 19% de correos spam pasan los filtros empresariales – 44.25$ de retorno por cada 1$ invertido en márketing por email (estimado) Sitios Web – 555 millones – 300 millones creados en el 2011 Internet en Números (2012) Imagen: http://www.domo.com/blog/2012/06/how-much-data-is-created-every-minute/ Índice 1. Historia de Internet 2. Internet en Números 3. Internet 4. Desarrollo para Internet 5. Referencias ¿Qué es Internet? ● ● ● ● Internet es un conjunto de redes descentralizado y heterogéneo Está compuesto por muchas redes LAN y WAN unidas por dispositivos de conexión y de conmutación Actualmente, la mayoría de los usuarios finales se conectan a Internet a través de un proveedor de servicios de Internet (ISP) Está completamente basada en protocolos (especialmente TCP/IP) y estándares ● Orientado al paradigma cliente/servidor ● Basado en la conmutación de paquetes Conmutación de Paquetes ● Es un método de envío de datos entre computadoras ● Los datos se dividen en paquetes o datagramas ● Cada paquete tiene dos partes ● ● – Cabecera: Contiene información de control – Cuerpo: Contiene los datos Los paquetes tienen un límite de tamaño Si los datos que se quieren enviar no caben en un paquete, se dividen en varios paquetes Pila de Protocolos Tipos de Comunicación Protocolos ● Internet Protocol (IP) – Nivel de red – No orientado a conexión – No hay control de errores – No hay control de flujo – Cabecera: Entre 20 y 60 bytes – Longitud máxima: 65535 bytes (aunque Ethernet solo permite tramas de 46 a 1500 bytes) Protocolos ● User Datagram Protocol (UDP) – Nivel de transporte – No orientado a conexión – No hay control de flujo – Control de errores mínimo – Cabecera: 8 bytes – Longitud máxima: 65535 bytes (nunca se va a alcanzar porque depende del protocolo IP subyacente) – Suele emplearse para comunicaciones sencillas y cortas – Protocolos y puertos bien conocidos que usan UDP: Echo (7), Discard (9), Daytime (13), TFTP (69), RPC (111), NTP (123), etc. Protocolos ● Transfer Control Protocol (TCP) – Nivel de transporte – Orientado a conexión – Fiable ● ● Control de flujo Control de errores – Cabecera: Entre 20 y 60 bytes – Longitud máxima: 65535 bytes (realmente es el tamaño máximo de la ventada de recepción) – Suele emplearse para comunicaciones largas o con grandes volúmenes de datos – Protocolos y puertos bien conocidos que usan TCP: Echo (7), Discard (9), Daytime (13), FTP (20/21), Telnet (23), SMTP (25), DNS (53), HTTP (80), RPC (111), etc. Índice 1. Historia de Internet 2. Internet en Números 3. Internet 4. Desarrollo para Internet 5. Referencias Desarrollo para Internet ● Principales requisitos de las aplicaciones – [A.R.] Almacenamiento remoto de información – [M.C.] Múltiples clientes (Web, aplicaciones, servicios web, etc.) – [Seg.] Seguridad ● ● Control de acceso Transacciones – [A.D.] Alta disponibilidad – [Esc.] Escalabilidad – [T.F.] Tolerancia a fallos – [I.T.] Integración de tecnologías – [Ub.] Ubicuidad Desarrollo para Internet ● Principales tecnologías de las aplicaciones – Invocación Remota de Métodos: Medio para la integración de aplicaciones, incluso con distintas tecnologías [M.C., I.T.] – Multihilo: Permite dar servicio a varios clientes de forma simultánea [A.D.] – Bases de Datos: Permiten almacenar la información de forma central [A.R.] – Transacciones: Protección de datos frente a accesos simultáneos no deseados o tolerancia ante fallos [T.F.,Seg.] – Seguridad: Actualmente la seguridad abarca un amplio abanico de tecnologías [Seg.] – Registro de sucesos (log) y auditoría: Los registros (logs) permiten, por ejemplo, analizar la causa de errores o identificar el origen de un ataque [Seg.] Desarrollo para Internet ● Principales tecnologías de las aplicaciones – Sistemas Distribuidos: Sistemas compuestos por varias computadoras separadas físicamente y conectadas por una red de comunicaciones [Esc., A.D.] – Gestión de Recursos (Resource Pooling): Cuando los recursos disponibles son limitados (p.ej. conexiones a una B.D., CPUs, etc.) se debe controlar su asignación [A.D.] – Caché: Evita repetir cálculos innecesariamente [A.D.] – Cloud Computing: Sistema informático de gran capacidad y flexibilidad que se ofrece como un servicio [Ub., A.D., Esc.] ¿Qué tecnologías vamos a ver? ● ● ● ● Sockets: Base para la comunicación entre aplicaciones Multihilo: Aplicado a la creación de servidores no bloqueantes XML: Como método de creación de documentos estructurados y como medio de comunicación Servicios Web: Para la integración de aplicaciones (invocación remóta de métodos) ¿Qué tecnologías vamos a ver? ● ● ● Bases de Datos: Para el almacenamiento de información en el servidor Mensajería: Protocolo XMPP para la comunicación usuario a usuario (o servidor a usuario) Seguridad: OpenID, para la identificación descentralizada, y OpenAuth, para la autorización entre aplicaciones Índice 1. Historia de Internet 2. Internet en Números 3. Internet 4. Desarrollo para Internet 5. Referencias Referencias ● ● ● ● ● ● Hobbes' Internet Timeline 10.2 [ http://www.zakon.org/robert/internet/timeline/ - Última Visita 07/09/2012] History of Internet – Wikipedia [ http://en.wikipedia.org/wiki/History_of_the_Internet - Última Visita 07/09/2012] August 2012 Web Server Survey - Netcraft [ http://news.netcraft.com/archives/category/web-server-survey/ - Última Visita 07/09/2012] Internet 2011 in Numbers – Pingdom [ http://royal.pingdom.com/2012/01/17/internet-2011-in-numbers/ - Última Visita 07/09/2012] Reboiro-Jato, M., López-Fernández, H. “Entorno Tecnológico (Alternativas)”. Comercio y Negocio Electrónico, 3ª Edición. Universidad de Salamanca (2011) Forouzan, B. A. Transmisión de Datos y Redes de Comunicaciones, 4ª Edición. McGraw Hill (2007)