1 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
1.1 Escenario de la asignatura – Visión global
– Internet y TCP/IP
– Acceso a Internet (LAN y WAN) 1.2 Herramientas de monitorización 1.3 Repaso
– Ethernet – Punto-a-punto
1ª sesión de clase de
laborotario 1ª clase de
teoría
Tema 1: Introducció
transparencias basadas en http://people.ac.upc.es/joseb/
STD-José M. Barceló
2 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Sociedad de la información
Source: www.telefonica.es/sociedaddelainformacion
3 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Las redes
• Las redes se han convertido en una parte fundamental de las comunicaciones en los sistemas de información
– Objetivos?
– Necesidades?
– Solución?
Las redes
– Objetivos:
• Intercambiar información entre computadoras que esten situadas en cualquier entorno informático
– Distinto Sistema Operativo (Windows NT, UNIX, ...) – Distintas tecnología de red (LAN y WAN)
– Aplicaciones variadas (acceso remoto, email., news, ...)
– Necesidades:
• Encapsular la información en un formato “fácil” de manipular
• Entregar la información con ciertos parámetros de calidad (QoS: Quality of Service)
– Gestionar errores, retardos, información prioritaria, ...
• Identificar la computadora remota en el conjunto de computadoras
• Identificar la aplicación en el conjunto de aplicaciones
• Llegar a la computadora remota (routing y forwarding) – Solución
• Pila de protocolos TCP/IP: cubre todas estas necesidades
5 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
¿Internet?
• “Internet is a modern distributed communications medium”
• “The global Internet consists of tens of thousands of autonomous but interconnected networks run by ISP’s, individual companies, universities, Governments, etc.”
• Debido a su estructura, en internet centenares de organizaciones y compañias diferentes toman
decisiones relacionadas con el desarrollo de internet.
• Internet resources– ICANN, Regional Internet Registries
• Internet standards– IETF, W3C, IEEE
• Internet infrastructure– Root server operators
6 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Internet y organismos de std.
IRTF
IESG IANA IANA
RFC
area area area
Internet Society
IAB
7 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
¿Cómo surgieron los protocolos TCP/IP?
• En 1957 la URSS lanza el Sputnik 1.
• En 1958 los EE. UU. crean el DARPA (Defense Advanced Research Projects Agency).
• En 1969 se crea ARPANET, una WAN experimental que usa Conmutación de Paquetes. En Francia se pone en marcha la red CYCLADES.
¿Cómo surgieron los protocolos TCP/IP?
• A mediados de los años ‘70 se diseñan los protocolos TCP/IP para interconectar redes heterogéneas (ARPANET y ARPA Packet Radio Network).
(Cerf y Kahn, “A Protocol for Packet Network
Intercommunication”, IEEE Transactions on Communications, 1974).
• En 1977 se realizan las primeras pruebas con TCP/IP
• Principios 80s estandarización (RFCs) de los protocolos TCP, IP
• Principio de los 90s, introducción de los navegadores (CERN)
9 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
La arquitectura de protocolos TCP/IP
• Las principales restricciones de diseño eran las siguientes:
1. La comunicación debería mantenerse aun en el caso de que parte de la internet estuviera dañada (¡Guerra fría!) 2. Debería soportar diferentes tipo de servicio (Fiable y no
fiable)
3. Debería adaptarse a diferentes redes ya existentes previamente
(ref. D. D. Clark, “The Design Philosophy of the DARPA Internet Protocols”, SIGCOMM’88)
10 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
La arquitectura de protocolos TCP/IP
• Principales requisitos en el diseño de la pila TCP/IP
– Robusta: la conectividad debe continuar a pesar de que fallen redes y routers
– Heterogeneidad (servicios): debe soportar multiples tipos de servicios de comunicaciones
– Heterogeneidad (Redes): su arquitectura debe acomodar gran cantidad de redes
– Coste: barata
– Fácil de conectarse: debe permitir que los hots se conecten fácilmente
– Contabilidad: los recursos deben ser contables
11 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
La arquitectura de protocolos TCP/IP
• Principales decisiones en el diseño original de la pila TCP/IP
– Si algún punto de la red falla debe ser capaz de seguir funcionando
– Uso de comunicaciones fiables y no fiables a nivel de transporte:
• TCP: detección y control de errores y control de flujo y de la congestión extremo a extremo (para aplicaciones de datos)
• UDP: sólo detección de errores extremo a extremo (para aplicaciones en tiempo real como son audio y vídeo)
– Multiplexación/demultiplexación de aplicaciones en transporte (concepto de puertos como identificador de las aplicaciones)
– Uso de sistemas no orientados a la conexión dentro de la red (en los routers): IP es datagrama
– Definición de un esquema de direcciones jerárquico (@IP)
Arquitectura de Internet
• “layering principle”: usar un sistema de niveles que facilite las tareas de comunicación Æ dividir las tareas en subtareas
• “end-to-end principle” Æ
– la responsabilidad de las comunicaciones está en los sistemas finales (TCP)
– Soft state Æ no mantener información dentro de la red
• IP es no orientado a conexión
• En telefonia los routers mantienen información
13 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Arquitectura de Internet
– “the goal is connectivity, the tool is the Internet protocol, and the intelligence is end-to-end rather than hidden in the network” (B. Carpenter in “RFC 1958”)
– “network architecture is a set of high-level design principles that guides the technical design of a network, especially the engineering of its protocols and algorithms” (B. Braden, D.
Clark, ...) Æ
– “operations inside the network depends as little as possible on persistent parameter settings withing the network”
(CSTB)
– “Soft states should be maintained only in endpoints, in such a way that the state can only be destroyed when the endpoint itself breaks” (B. Carpenter)
• “Fate-sharing” defined by D. Clark – Packet-switched network
– Control of the network is fully distributed and descentraliced – Main job of IP: transmit packets as efficient and flexible as
possible
14 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Estructura de internet
• Internet = red de redes: un paquete pasa a través de varias redes
Tier 1 ISP
Tier 1 ISP
Tier 1 ISP Tier-2 ISP Tier-2 ISP
Tier-2 ISP Tier-2 ISP
Tier-2 ISP local
local ISP ISP
local ISP
local ISP
local
ISP Tier 3 ISP
local ISP
local ISP
local ISP
15 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Números en internet
• Números en Internet:
– Número de hosts conectados: 100.000.000 – Número de redes: 120.000
– Número de AS’s: 10.000
– Tecnologías de red: muy variadas
• Cableadas (wired)
• No cableadas (wireless)
• Satélite
– Anchos de banda: rango de kbps a Gbps – Rango de aplicaciones: voz, vídeo y datos
Modelo de referencia OSI
• Años 80
– El aumento del número de redes y su tamaño, que empleaban especificaciones diferentes, hacían las comunicaciones difíciles.
– En 1984 la Organización Internacional de Normalización (ISO) lanzo el modelo OSI
– La intención era definir una arquitectura de red y
un conjunto de protocolos que fueran utilizados de
forma extensiva en la comunicación de datos.
17 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Modelo de referencia OSI
• El modelo OSI describe como se desplaza la información desde los programas de aplicación de distintos ordenadores en un medio de la red.
• Cada capa utiliza su propio protocolo de capa para comunicarse con su capa de igual del otro sistema.
18 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Modelo de referencia OSI
• Modelo de ref. OSI (Open System Interconection)
– Modelo universal que permite definir una red genérica – 7 niveles (A-P-S-T-R-E-F)
1 2 3 4 5 6 7
Transmisión de bits Físico
Acceso al medio, entramado Enlace
Direcciones lógicas y encaminamiento Red
Conexión extremo a extremo Transporte
Diálogo entre sesiones (clientes) Sesión
Representación de datos, voz, vídeo, imág.
Presentación
Relaciona aplic. de computador con aplic.
de red Aplicación
19 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Modelo de referencia OSI
(c) http://people.ac.upc.es/jsunyol
Modelo de referencia OSI
21 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Modelo de referencia OSI
• Algunos Problemas de OSI
(M. Rose, "the Open Book") – Problemas de implementación y eficiencia– La estructura de las capas de aplicación es demasiado compleja pues está orientada a resolver de forma general problemas que no siempre se presentan
– El proceso de estandarización fue demasiado largo. Cuando todavía se trabajaba en la definición de OSI, existían
implementaciones completas y gratuitas de TCP/IP (ej: UNIX BSD) y aplicaciones (e-mail, telnet, ftp, ...)
22 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Arquitectura TCP/IP
• Arquitectura de protocolos comerciales (e.g.
TCP/IP)
– 5 niveles (nivel de aplicación engloba los niveles de 5,6 y 7 OSI)
– Protocolos comerciales que se extendieron rápidamente – Define dos protocolos de transporte
• TCP (Transmission Control Protocol): es un protocolo de transporte fiable (pide retransmisiones) y que efectúa control de flujo y de la congestión
• UDP (User Datagram Protocol): es un protocolo no fiable (no se retransmite la información)
– Define un protocolo de Interconexión
• IP (Internet Protocol): se ocupa de dar un espacio de direcciones lógicas (jeráquicas)
– Define protocolos asociados:
• Encaminamiento (RIP, OSPF ...), mapeo de direcciones lógicas en físicas (ARP), control de errores (ICMP), ....
23 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Arquitectura TCP/IP
• Arquitectura TCP/IP vs OSI
(c) http://people.ac.upc.es/jsunyol
Arquitectura TCP/IP
Computador A
Red
Interficie de red
Computador B
Router Aplicación
Transporte
Red Interficie de red
Proceso Proceso
Proceso Proceso
TCP UDP
ICMP IP
ARP Driver
RARP
Aplicación
Transporte
Red Interficie de red
Red Red
25 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Arquitectura TCP/IP
• Arquitectura de protocolos comerciales (e.g.
TCP/IP)
– Define en aplicación
• Usa APIs (Aplication Protocol Interface): conjunto de llamadas al sistema que dependen del SO y que permiten programar clientes y servidores sobre un protocolo de transporte (TCP o UDP)
• Crean una tubería de comunicaciones extremo a extremo (“socket” en UNIX) a nivel de transporte (tubería o
“socket” TCP o UDP)
• Cada aplicación de red tiene un número asociado llamado puerto que permite al protocolo de transporte identificala. E.g. ftp=20, telnet=23, http=80 ....
26 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Arquitectura TCP/IP
Tarjeta ethernet TCP/UPD
IP Driver Sistema
Operativo
Aplicación (FTP, Telnet, etc.) APIs (e.g. Socket)
Usuario
Red ethernet
Cabez.
Ether. Cabez.
IP Cabez.
TCP Datos
aplicación Cabez.
IP Cabez.
TCP Datos
aplicación Cabez.
TCP Datos
aplicación Buffer
Rx read()
Buffer Tx write() TCP
aplicación
IP
driver
27 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Terminología
• Dispositivos/elementos en Redes
– Nivel Físico (1):
• Hubs Ethernet (LANs), MAUs Token Ring (LANs)
• Multiplexores, modems, conmutadores de circuitos (WANs) – Nivel Enlace (2):
• Tarjetas de red Ethernet
• Switches Ethernet y Token Ring (LANs)
• Switches de conmutación de paquetes Frame Relay o ATM (WANs)
– Nivel Red (3):
• Routers
– Nivel Transporte (4):
• No suele haber dispositivos de nivel 4 (transporte implementado en terminales: clientes y servidores junto al nivel de aplicación)
– Nivel Aplicación(7):
• Terminales (clientes y servidores)
• Gateways de aplicación
Acceso a Internet
ISP
ISP ISP Modem ISP
LAN Backbone
operadora telecomucaciones
29 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Acceso a internet
– Usuarios disponen de un terminal
• Conectado a una LAN
• Conectado a una WAN mediante un modem (convencional, ADSL, ISDN, ...)
– Las LANs están conectadas a una WAN – Dos posibilidades:
• La conexión a la WAN es para conectarse a un ISP (Internet Service Provider) que te proporciona una dirección IP (caso de modems y algunas LANs). El ISP te proporciona un router de salida para comunicarte con el exterior
• La propia LAN es un ISP que te proporciona la @IP y dispone de un router de salida que gestiona la salida al exterior (routing)
30 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Acceso a internet
• Acceso desde una LAN
Hub
10BaseT Switch Router WAN Frame Relay
10BaseT Router
Cliente
A T R E
F F
E F
R E F
E F
E F
R E F
Enlace: Encapsulamiento Ethernet
Red: Encapsulamiento IP Red: Encapsulamiento IP Enlace: Encapsulamiento
Frame Relay
31 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Acceso a internet
• Acceso desde un modem
Router WAN Frame Relay Router Cliente
A T R E
F F
R E F
E F
E F
R E F
Enlace: Encapsulamiento PPP
Red: Encapsulamiento IP Red: Encapsulamiento IP
Enlace: Encapsulamiento Frame Relay Modem
F F
WAN conm. circuitos
• Herramientas de monitorización
– Se encargan de capturar tramas de nivel 2, paquetes de nivel 3 o segmentos de nivel 4 y analizan su contenido
– E.g. En UNIX tenemos tcpdump
– Ejemplo uso de “tcpdump” (hay que ser root)
tcpdump [ -adeflnNOpqStvx ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ expression ]
1.2 Monitorització
33 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Herramientas de monitorización
• Formato de salida de “tcpdump”
fecha src > dst: flags data-sqno ack window urgent options
¾ fecha nos da la hora en que se produjo el evento en formato hora:minutos:segundos.
microsegundos (o milisegundos dependiendo de la resolución del reloj)
¾ src y dst son las direcciones IP y puertos TCP/UDP de las conexiones fuente y destino
¾ flags son una combinación de los posibles flgas de un segmento/datagrama TCP/UDP: S (SYN), F (FIN), P (PUSH), R (RST) y ‘.’ (no flags)
¾ data-sqno describe el número de secuencia de la porción de datos TCP
¾ ack es el número de secuencia del próximo byte que espera recibir el otro extremo TCP/UDP
¾ window es el tamaño de la ventana que advierte el receptor al transmisor
¾ urgent indica que hay datos urgentes en ese segmento/datagrama
¾ options son las opciones TCP que suelen estar entre corchetes del tipo < >, por ejemplo el tamaño máximo del segmento (e.g. <mss 1024>)
34 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Herramientas de monitorización
• Ejemplo de una salida tcpdump (hay que ser root)
prompt% tcpdump –i eth0 dst host aucanada
15:58:42.484200 rogent.ac.upc.es.46445 > aucanada.ac.upc.es.telnet: . 0:0(0) ack 82 win 8760 (DF)
15:58:42.583554 rogent.ac.upc.es.46445 > aucanada.ac.upc.es.telnet: . 0:0(0) ack 432 win 8760 (DF)
15:58:42.683110 rogent.ac.upc.es.46445 > aucanada.ac.upc.es.telnet: . 0:0(0) ack 531 win 8760 (DF)
35 UPC-DAC/FIB-STD Jordi Torres; v1.0-02/04
Herramientas de monitorización
• Ejemplo de una salida tcpdump
prompt% tcpdump –i eth0 –x –s64 dst host aucanada
15:53:06.239222 rogent.ac.upc.es.46445 > aucanada.ac.upc.es.telnet: . 0:0(0) ack 822 win 8760 (DF)
4500 0028 af64 4000 fe06 64a5 9353 1f07 9353 2318 b56d 0017 c0b2 4aad e287 8721 5010 2238 fa48 0000 5555 5555 5555 8608 ecf6 ffbf f22f 0b08 a875 8508 903e 5108
15:53:06.339193 rogent.ac.upc.es.46445 > aucanada.ac.upc.es.telnet: . 0:0(0) ack 1067 win 8760 (DF)
4500 0028 af65 4000 fe06 64a4 9353 1f07 9353 2318 b56d 0017 c0b2 4aad e287 8816 5010 2238 f953 0000 5555 5555 5555 8608 ecf6 ffbf f22f 0b08 a875 8508 903e 5108
Herramientas de monitorización
• Otros monitorizadores de red (para Windows) – Los hay privados (hay que pagar)
– Los hay públicos (cargar de Internet)
• Windump (versión MSDOS del tcpdump)
• Ethereal (Windows)
• Analyser (University of Torino)
• Hay páginas de Internet donde podeis encontrar gran cantidad de herraminentas de monitorización de redes que podeis instalaros para capturar paquetes de red
• http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html
• Hay decenas de links ha herramientas de monitorización de redes