Aprendizaje Electrónico y Autoevaluación de TCP/IP.

Anuncio
Universidad Nacional del Nordeste
Facultad de Ciencias Exactas, Naturales y Agrimensura
Trabajo Final de Aplicación
“El Aprendizaje Electrónico y Auto-Evaluación de
TCP/IP”
Alumna: Silvana María Marino Pezzarini
LU: 30590
Prof. Coordinador: Agr. Castor F. Hermann
Prof. Orientador: Mgter. David L. la Red Martínez
Licenciatura en Sistemas de Información
Corrientes - Argentina
2007
A Mamá y a Papá, por la precencia, el esfuerzo, el
sacrificio, el honor... con Amor.
A mi esposo, por el apoyo y la presencia incondicional...
por el futuro juntos.
A mi hija, Ana Paula... por su vida.
PREFACIO
En muchos países, Internet es ya un término doméstico.
Mientras la sociedad comienza a emplear el término de superautopistas de
la información, las computadoras interconectadas son ya algo cotidiano. De
alguna manera se está desarrollando la “Cultura de Internet”: todo el mundo
habla de ella.
Por supuesto, las redes han existido desde mucho antes. La conexión de
computadoras para formar una red local se hace habitual desde hace mucho,
bien para pequeñas instalaciones, o bien para grandes empresas que intercomunican sus redes locales usando líneas de comunicación proporcionadas por
compañías telefónicas.
Internet se ha convertido en una forma de vida para facilitar el crecimiento
empresarial ante todo.
Hablar de redes siempre implica hablar de Protocolos de Comunicación.
Por supuesto, el más importante es TCP/IP.
Partiendo de esta realidad, e intentando trasladarla a la educación; para
este trabajo se realizó un análisis sobre los requerimientos de un alumno interesado en el protocolo, fundamentando la aplicación mediante la utilización
de metodología UML (Lenguaje Unificado Modificado).
Respecto de la implementación del sistema; el mismo parte del estudio de
software de base que permite el desarrollo de aplicaciones Web multiplataforma con acceso a bases de datos y el desarrollo de una aplicación Web de
autoevaluación, seguimiento de exámenes propios y aplicación de la tecnología
e-learning. El alumno podrá acceder al sistema aplicativo y hacer uso de éste
fácil y rápidamente.
Se encarga del registro de las evaluaciones, es decir la información que
brinda el registro de los alumnos, evaluaciones y notas que se generan en las
mismas.
Objetivos
El objetivo inicialmente planteado fue la realización de una aplicación Web
multiplataforma desarrollada en Java, mediante la cual el alumno interesado
en TCP/IP pudiera contar con un medio de ayuda para evaluar a distancia
su nivel, mediante autoevaluaciones, sobre conocimientos propios o los que
v
pudiera incorporar o ampliar a través de temas que la aplicación le ofrece.
Etapas de Desarrollo
• Se ha efectuado una amplia recopilación bibliográfica específica de la metodología para el análisis de requerimientos, y los productos de software
que se emplearon para la concreción del Trabajo Final.
• Basados en la metodología de análisis UML, se utilizaron Diagramas de
Casos de Uso y Enterprise Architect como Herramienta Case, para los
que se han realizado los estudios necesarios y así emplearlos de forma
correcta.
• Como consecuencia de las gestiones realizadas por el Profesor Orientador
ante IBM Argentina se han recibido materiales tanto en CD’s como en
libros de dicha empresa, en el marco del Scholars Program de la misma,
necesarios para la realización del presente Trabajo Final los referentes
a productos de software tales como el WebSphere Studio Application
Developer versión 5.0 y 5.1.2, como así también el DB2 UDB WorkGroup
Server Edition versión 8.1.0 y DB2 UDB Personal Edition versión 8.1.0.
• Se ha realizado un detallado estudio del lenguaje Java, utilizándose la
versión JDK 1.5.
• Se ha estudiado el entorno de trabajo Scientific WorkPlace 2.5.0 para la
escritura del libro correspondiente al informe final.
• Se ha hecho un estudio de la plataforma integrada de desarrollo de aplicaciones Web, WebSphere Studio Application Developer.
• Se ha realizado el estudio del Manejador de Bases de Datos (DBMS)
multiplataforma DB2 UDB.
• Se ha realizado el desarrollo de la aplicación utilizando páginas HTML
y Servlets de Java en el marco de la herramienta WebSphere Studio
Application Developer en el entorno Windows.
• Se ha comprobado el correcto testeo de la aplicación, utilizando una
máquina como servidor y otra como cliente.
• Al concluir el trabajo se realizó la grabación de un DVD del material
correspondiente al trabajo final: una versión de la aplicación, otra del
libro en formato LaTex y el PDF generado, el análisis realizado y el
diagrama presentado en la Herramienta CASE elegida.
vi
• Se anexaron los instaladores de los productos utilizados para el desarrollo de la aplicación, siendo estos: DB2 UDB y WebSphere Studio
Application Developer.
Objetivos Logrados
Las expectativas han sido satisfechas cumpliendo así con el objetivo inicial
planteado para este trabajo.
Organización del Informe Final
Para el informe final se ha impreso un libro y grabado un DVD, a los que
se anexan un resumen y un resumen extendido.
La impresión del libro está constituida en seis (6) capítulos, indicados a
continuación:
Capitulo 1 - Introducción a la Familia TCP/IP: Contempla la historia del
protocolo, y sus temas relacionados.
Capitulo 2 - Introducción al e-learning: Se señalan los principales conceptos referidos a e-learning.
Capitulo 3 - Familia de Protocolos TCP/IP: Se hace referencia al protocolo
TCP/IP específicamente.
Capitulo 4 - Protocolos más Importantes de TCP/IP: Se señalan todos los
aspectos y características que describen al protocolo TCP y al protocolo IP.
Capitulo 5 - Análisis de Seguridad en TCP/IP: Se detallan las falencias
del protocolo con respecto a la seguridad, los tipos de ataque y sus soluciones.
Capitulo 6 - Descripción del Sistema: Se detallan los aspectos más significativos de la aplicación desarrollada.
Capitulo 7 - Conclusiones: Se presentan las conclusiones a las que se han
llegado al finalizar el trabajo y las posibles líneas futuras.
El DVD, adjunto al libro impreso, contiene:
• Instaladores del software utilizado.
• Resúmenes del trabajo realizado.
• Libro del informe final.
vii
• Presentación para la defensa final.
• Copia de seguridad de la base de datos de la aplicación.
• Aplicación desarrollada.
Marino Pezzarini, Silvana María
Licenciatura en Sistemas de Información
Universidad Nacional del Nordeste
Corrientes; 25 de septiembre 2007
viii
Índice General
1 Introducción
1.1 ¿Cómo surge TCP/IP? . . . . . . . . . . . . .
1.1.1 Interredes . . . . . . . . . . . . . . . .
1.1.2 Internet en Japón . . . . . . . . . . .
1.1.3 Uso Comercial de Internet . . . . . . .
1.1.4 La Super Autopista de la Información
1.2 Conocimientos Básicos . . . . . . . . . . . . .
1.2.1 Puertos y Zócalos . . . . . . . . . . . .
1.2.2 Puentes, “Routers” y Pasarelas . . . .
1.2.3 Modelo OSI . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
8
9
10
11
11
13
15
2 Introducción al E-LEARNING
21
2.1 Definición de Aprendizaje Electrónico . . . . . . . . . . . . . . 21
2.1.1 Ventajas del e-learning . . . . . . . . . . . . . . . . . . . 22
2.1.2 ¿Tendencias Futuras del e-learning? . . . . . . . . . . . 24
2.1.3 La Gestión del conocimiento . . . . . . . . . . . . . . . 24
2.1.4 Nuevas Formas de Enseñar . . . . . . . . . . . . . . . . 25
2.1.5 La Enseñanza Virtual . . . . . . . . . . . . . . . . . . . 25
2.1.6 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.7 Desafío . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.8 Solución . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.9 Capacitación . . . . . . . . . . . . . . . . . . . . . . . . 34
2.1.10 Ventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.11 Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.1.12 El Uso de Tecnologías de Aprendizaje Electrónico para
Ayudar a Mejorar el Desempeño . . . . . . . . . . . . . 36
3 Familia TCP/IP
47
3.1 ¿Qué es TCP/IP? . . . . . . . . . . . . . . . . . . . . . . . . . 47
ix
x
ÍNDICE GENERAL
3.1.1 Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 Estructura Interna . . . . . . . . . . . . . . . . . . . . .
Protocolos de Aplicación . . . . . . . . . . . . . . . . . . . . . .
48
50
52
3.2.1 Características de las Aplicaciones [7] . . . . . . .
3.2.2 TELNET (“Emulación de Terminal”) . . . . . . .
3.2.3 FTP (“Transferencia de Ficheros”) . . . . . . . . .
3.2.4 DNS (“Domian Name Service”) . . . . . . . . . . .
3.2.5 SMTP (“Simple Mail Transfer Protocol”) . . . . .
3.2.6 MIME (“Multipurpose Internet Mail Extensions”)
3.2.7 Protocolos Para el Acceso a Internet . . . . . . . .
3.2.8 Protocolos Para La Gestión de Red . . . . . . . . .
3.2.9 Otros Protocolos de Aplicación . . . . . . . . . . .
Protocolos de la Capa de Enlace [11] . . . . . . . . . . . .
3.3.1 La Capa de Enlace de Datos en Internet . . . . . .
3.3.2 Ejemplos de Protocolos de Enlace de Datos . . . .
.
.
.
.
.
.
.
.
.
.
.
.
52
52
53
54
57
59
61
68
77
81
81
82
4 Protocolos de TCP/IP
4.1 Protocolos de la Capa de Transporte . . . . . . . . . . . . . . .
4.1.1 UDP: “Protocolo de Datagrama de Usuario” . . . . . .
4.1.2 TCP: “Protocolo de Control de Transporte” . . . . . . .
4.2 Protocolos de la Capa de Interred . . . . . . . . . . . . . . . . .
4.2.1 ARP: “Protocolo de Resolución de Direcciones” . . . . .
4.2.2 RARP “Protocolo de Resolución de Direcciones Inverso”
4.2.3 IP: “Protocolo de Internet” . . . . . . . . . . . . . . . .
4.3 TCPMON: “Analizador de Protocolos TCP/IP” . . . . . . . .
4.3.1 Motivación . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Estructura Interna de TCPMON . . . . . . . . . . . . .
4.3.3 Características del PC . . . . . . . . . . . . . . . . . . .
4.3.4 Características del Programa Analizador TCP/IP . . .
4.3.5 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . .
85
85
85
86
104
104
110
112
143
143
144
146
146
148
5 Análisis de Seguridad de TCP/IP [9]
5.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 IP Versión 6 . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Historias de las vulnerabilidades . . . . . . . . . . . . . .
5.4 Vulnerabilidades Genéricas . . . . . . . . . . . . . . . . .
5.4.1 Footprinting . . . . . . . . . . . . . . . . . . . . .
5.4.2 Fingerprinting . . . . . . . . . . . . . . . . . . . .
5.4.3 Escaneo de Puertos-Vulnerabilidades . . . . . . . .
5.4.4 Escaneo de Puertos Basado en el Protocolo ICMP
151
151
152
153
155
156
157
158
160
3.2
3.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ÍNDICE GENERAL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
162
163
163
164
164
165
166
167
168
169
169
170
171
171
172
173
174
6 Descripción del Sistema
6.1 Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 UML (Lenguaje Unificado de Modelado) . . . . . . . . .
6.1.2 Herramienta CASE (Ingeniería de Software Asistida por
Computador): Entreprise Architect . . . . . . . . . . . .
6.2 Desarrollo: Sistema de Autoevaluación sobre TCP/IP . . . . .
6.2.1 Módulos del Sistema de Autoevaluación . . . . . . . . .
6.2.2 Estructuras de Datos Utilizadas . . . . . . . . . . . . . .
6.2.3 Código Fuente Utilizados: Ejemplos . . . . . . . . . . .
177
177
177
5.5
5.6
5.7
5.4.5 Sniffing . . . . . . . . . . . . . . . . . .
5.4.6 TCP Initial Sequence Number . . . . .
5.4.7 DNS . . . . . . . . . . . . . . . . . . . .
5.4.8 IPSec . . . . . . . . . . . . . . . . . . .
5.4.9 Comunicaciones Inalámbricas: Wireless
Protecciones y Herramientas . . . . . . . . . . .
5.5.1 Footprinting . . . . . . . . . . . . . . .
5.5.2 Fingerprinting . . . . . . . . . . . . . .
5.5.3 Escaneo de Puertos-Vulnerabilidades . .
5.5.4 Escaneo Basado en el Protocolo ICMP .
5.5.5 Sniffing, Eavesdropping y Snooping . . .
5.5.6 IP Spoofing . . . . . . . . . . . . . . . .
5.5.7 TCP Initial Sequence Numbers . . . . .
5.5.8 DNS . . . . . . . . . . . . . . . . . . . .
5.5.9 IPSec . . . . . . . . . . . . . . . . . . .
Futuro . . . . . . . . . . . . . . . . . . . . . . .
Conclusiones . . . . . . . . . . . . . . . . . . .
xi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
183
186
188
199
202
7 Conclusión
225
7.1 Conclusiones del Trabajo realizado . . . . . . . . . . . . . . . . 225
7.2 Líneas Futuras de Acción . . . . . . . . . . . . . . . . . . . . . 226
Bibliografía
227
Índice de Materias
229
Índice de Figuras
1.1
1.2
1.3
1.4
Llamadas del sistema para zócalos para un protocolo orientado
a conexión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modelo de Capas: OSI . . . . . . . . . . . . . . . . . . . . . . .
Cabeceras Multiples Anidadas. . . . . . . . . . . . . . . . . . .
Correlación de capas TCP y OSI . . . . . . . . . . . . . . . . .
14
16
17
19
2.1
2.2
2.3
2.4
2.5
Personas practicando E-Learning. . . . .
El Mundo Conectado . . . . . . . . . . .
Formarse es parte de la solución . . . .
Productos para e-learning. . . . . . . . .
Organización que trabaja con e-learning.
.
.
.
.
.
22
25
34
40
45
3.1
Dos conjuntos interconectados de redes, cada uno visto
una red lógica. . . . . . . . . . . . . . . . . . . . . . . .
Capas y Protocolos del Modelo TCP/IP. . . . . . . . . .
Modelo SMTP . . . . . . . . . . . . . . . . . . . . . . .
SMTP-RSCS/NJE Mail Gateway. . . . . . . . . . . . . .
MIME (Multipurpose Internet Mail Extensions) . . . . .
Firewall: Proxy . . . . . . . . . . . . . . . . . . . . . . .
Topología Típica . . . . . . . . . . . . . . . . . . . . . .
Definición de un objeto contenido en el MIB. . . . . . .
Definición de grupo. . . . . . . . . . . . . . . . . . . . .
Indetificador de Objetos. . . . . . . . . . . . . . . . . . .
Componentes de SNMP. . . . . . . . . . . . . . . . . . .
Componentes de CMIP sobre TCP/IP. . . . . . . . . . .
LPP (Lightweight Presentation Protocol). . . . . . . . .
Descripción del DPI de SNMP. . . . . . . . . . . . . . .
Formato del Mensaje SNMPv2. . . . . . . . . . . . . . .
Componentes del Protocolo NDB. . . . . . . . . . . . .
como
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
49
51
59
59
60
66
67
69
71
72
73
74
75
76
78
79
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
xiii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xiv
ÍNDICE DE FIGURAS
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
4.31
4.32
4.33
4.34
4.35
4.36
Conexión TCP- Procesos X e Y se comunican sobre una conexión TCP que emplea datagramas IP. . . . . . . . . . . . . . .
El Principio de la Ventana . . . . . . . . . . . . . . . . . . . . .
El Principio de la Ventana Aplicado a TCP. . . . . . . . . . . .
Segmento TCP- Encapsulado en un datagrama IP- . . . . . . .
Formato del Segmento TCP. . . . . . . . . . . . . . . . . . . . .
Establecimiento de la Conexión. . . . . . . . . . . . . . . . . . .
Finalización de la Conexión. . . . . . . . . . . . . . . . . . . . .
Notación tcpdump. . . . . . . . . . . . . . . . . . . . . . . . . .
Salida tcpdump. . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP Half-Close. . . . . . . . . . . . . . . . . . . . . . . . . . .
Ejemplo TCP Half-Close. . . . . . . . . . . . . . . . . . . . . .
Estados TCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estados durante un Establecimiento y Finalización. . . . . . . .
Nomenclatura. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama de Transición entre Estados. . . . . . . . . . . . . . .
Diagrama de Transición entre Estados. . . . . . . . . . . . . . .
Apertura Simultánea. . . . . . . . . . . . . . . . . . . . . . . .
Finalización Simultánea. . . . . . . . . . . . . . . . . . . . . . .
Protocolo ARP. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paquete de Petición/Respuesta ARP. . . . . . . . . . . . . . . .
Recepción del Paquete ARP. . . . . . . . . . . . . . . . . . . .
Host interconextados por un router. . . . . . . . . . . . . . . .
Router Proxy-ARP. . . . . . . . . . . . . . . . . . . . . . . . . .
Protocolo RARP. . . . . . . . . . . . . . . . . . . . . . . . . . .
Paquete de Petición/Respuesta ARP. . . . . . . . . . . . . . . .
El Protocolo IP . . . . . . . . . . . . . . . . . . . . . . . . . . .
El Datagrama IP. . . . . . . . . . . . . . . . . . . . . . . . . . .
Formato del Datagrama. . . . . . . . . . . . . . . . . . . . . . .
Precedencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flag IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Un Sólo Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Más de un Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ambos Casos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algoritmo de Encaminamiento IP. . . . . . . . . . . . . . . . .
El problema de la cuenta hasta infinito- Todos los enlaces tienen
una métrica de 1 excepto por la ruta indierecta C a D que tiene
de métrica 0- . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rutas de cada pasarela a la Red de Destino. . . . . . . . . . . .
87
90
91
92
93
94
95
96
96
97
98
99
99
100
100
101
103
103
104
106
107
109
110
111
112
113
114
115
115
116
118
118
119
124
126
127
ÍNDICE DE FIGURAS
xv
4.37 El problema de la cuenta hasta infinito. . . . . . . . . . . . . .
4.38 Ejemplo de tabla de encaminamiento IP. . . . . . . . . . . . . .
4.39 Rutas IP- El host A tiene una ruta directa con B y D, y una
indierecta con C. El host D es un router entre las redes 129.1 y
129.2- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.40 Opción LSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.41 Opción SSR. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.42 Opción RR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.43 Opción IT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.44 Arquitectura de Red de Windows9x. . . . . . . . . . . . . . . .
4.45 Configuración de la Captura. . . . . . . . . . . . . . . . . . . .
128
137
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
182
182
183
185
186
187
189
190
191
192
193
194
195
196
197
198
Diagrama de Casos de Uso-Actores . . . . . . .
Diagramas de Casos de Uso-Caso de Uso . . . .
Entreprise Architect . . . . . . . . . . . . . . .
Actor-Enterprise Arquitect . . . . . . . . . . .
Caso de Uso-Enterprise Arquitect . . . . . . . .
Diagrama de Casos de Uso-Enterprise Architect
Sistema de Autoevaluación-Página Principal . .
Alumno-Identificación . . . . . . . . . . . . . .
Profesor-Identificación . . . . . . . . . . . . . .
Profesor-Ingreso de Datos . . . . . . . . . . . .
Profesor-Modificación de Preguntas . . . . . . .
Profesor-Tratamiento de Preguntas . . . . . . .
Evaluación-Elección de tema . . . . . . . . . .
Autoevaluación-Multiplechoise . . . . . . . . .
Autoevaluación-Resultado del Exámen . . . . .
Apuntes-Temas . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
138
139
141
141
142
145
147
Capítulo 1
Introducción a la Familia
TCP/IP
1.1
1.1.1
¿Cómo surge TCP/IP?
Interredes
Los diseñadores originales de la pila de protocolos ARPANET, subvencionados
por DARPA (“Defense Advanced Research Projects Agency”) introdujeron
conceptos fundamentales tales como la estructura de capas y el de virtualidad
en el mundo de las redes, bastante antes de que ISO se interesase en las
redes [11] [5].
El organismo oficial de esos investigadores fue el grupo de trabajo en red
(“Network Working Group”) llamado ARPANET, que tuvo su última reunión
general en octubre de 1971.
DARPA ha continuado su investigación en busca de una pila de protocolos
de red, desde el protocolo host-a-host NCP ( “Network Control Program”) a
la pila de protocolos TCP/IP, que adoptó la forma que tiene en la actualidad
alrededor de 1978. En esa época, DARPA era un organismo famoso por ser
pionero en la conmutación de paquetes a través de redes de radio y canales de
satélite.
La primera implementación real de Internet se produjo sobre 1980, cuando
1
2
CAPÍTULO 1. INTRODUCCIÓN
DARPA comenzó a convertir las máquinas de su red de trabajo (ARPANET) a
los nuevos protocolos de TCP/IP. En 1983 la transición fue completa y DARPA exigió que todos los ordenadores que quisieran conectarse a ARPANET
usaran TCP/IP.
DARPA contrató además a Bolt, Beranek, y Newman (BNN) para desarrollar una implementación de los protocolos TCP/IP para el UNIX de Berkeley
sobre el VAX y dotaron a la Universidad de California en Berkeley para que
distribuyese ese código de modo gratuito con su sistema operativo UNIX.
El primer lanzamiento de la distribución del sistema de Berkeley que incluyó el protocolo TCP/IP estuvo disponible en 1983 (BSD 4.2). Desde ese
momento, TCP/IP se ha difundido rápidamente entre universidades y centros
de investigación y se ha convertido en el estándar de subsistemas de comunicación basados en UNIX.
El segundo lanzamiento (BSD 4.3) se distribuyó en 1986, que se actualizó
en 1988 (BSD 4.3 Tahoe) y en 1990 (BSD 4.3 Reno). BSD 4.4 fue distribuido
en 1993. Debido a limitaciones de fondos, el BSD 4.4 será la última distribución que hará el grupo de investigación de sistemas informáticos (“Computer
Systems Research Group”) de la Universidad de California en Berkeley.
A medida que TCP/IP se extendía rápidamente, nuevas WANs se fueron
creando y uniendo a ARPANET en los Estados Unidos. Por otro lado, redes de
otros tipos, no necesariamente basadas en TCP/IP, se añadieron al conjunto
de redes interconectadas. El resultado fue lo que hoy se conoce como Internet.
Distintos ejemplos de redes que han jugado papeles clave en este desarrollo se
describen en las siguientes secciones.
Internet
¿Qué es exactamente?. En primer lugar, la palabra Internet es simplemente
una contracción de la frase red interconectada. Sin embargo, escrita con mayúscula hace referencia a un conjunto mundial de redes interconectadas, de
tal forma que Internet es una red interconectada, aunque no a la inversa. A
Internet se le llama a veces “Interred Conectada” (“Connected Internet”).
Internet está constituída por los siguientes grupos de redes:
• Troncales: grandes redes que existen principalmente para interconec-
1.1. ¿CÓMO SURGE TCP/IP?
3
tar otras redes. Actualmente las redes troncales son NSFNET en US,
EBONE en Europa y las grandes redes troncales comerciales.
• Redes regionales: conectan, por ejemplo, universidades y colegios.
• Redes comerciales: suministran acceso a troncales y suscriptores, y redes
propiedad de organizaciones comerciales para uso interno que también
tienen conexión con Internet.
• Redes locales: como por ejemplo, redes a nivel de campus universitario.
En muchos casos, particularmente en redes de tipo comercial, militar y
gubernamental, el tráfico entre éstas y el resto de Internet está restringido.
Esto conduce a la pregunta: ¿cómo sé si estoy conectado a Internet?.
Un enfoque viable es preguntarse: ¿puedo hacer un ping al host ds.internic.net?.
El ping es un programa usado para determinar si un host de una red es alcanzable; está implementado en cualquier plataforma TCP/IP.
Si la respuesta es no, entonces no se está conectado.
Esta definición no implica necesariamente que se esté totalmente aislado
de Internet: muchos sistemas que fallarían en este test tienen, por ejemplo,
pasarelas de correo electrónico a Internet.
NSFNET
NSFNET (“National Science Foundation Network”), es una red de tres niveles
situada en los Estados Unidos y consistente en:
• Una troncal : una red que conecta redes de nivel medio administradas
y operadas por separado y centros de superordenadores fundados por
el NSF. Esta troncal tiene además enlaces transcontinentales con otras
redes como por ejemplo EBONE, la red troncal europea de IP.
• Redes de nivel medio: de tres clases (regionales, basadas en una disciplina
y redes formadas por un consorcio de superordenadores).
• Redes de campus: tanto académicas como comerciales, conectadas a las
de nivel medio.
4
CAPÍTULO 1. INTRODUCCIÓN
La Primera Troncal
Establecida originalmente por el NSF (“National Science Foundation”) como una red de comunicaciones para investigadores y científicos para acceder a
los superordenadores del NSF, la primera troncal de NSFNET usaba seis microordenadores DEC LSI/11 como conmutadores de paquetes, interconectados
por líneas arrendadas de 56Kbps.
Existía una interconexión primaria entre la troncal de NSFNET y ARPANET en el Carnegie Mellon, que permitía el encaminamiento de datagramas
entre usuarios conectados a esas redes.
La Segunda Troncal
La necesidad de una nueva troncal se manifestó en 1987, cuando la primera
quedó sobrecargada en pocos meses (el crecimiento estimado en ese momento
fue de un 100% anual).
El NSF y Merit Inc., un consorcio de redes de ordenadores de ocho universidades estatales de Michigan, acordaron desarrollar y gestionar una nueva
troncal de alta velocidad con mayores capacidades de transmisión y de conmutación.
Para gestionarla definieron el IS (“Information Services”) que está compuesto del Centro de Información y el Grupo de Soporte Técnico.
El Centro de Información es responsable de distribuir información, la gestión de recursos informativos y la comunicación electrónica.
El grupo de soporte técnico proporciona apoyo técnico directamente sobre
el campo de trabajo.
El propósito de esto es suministrar un sistema integrado de información
con interfaces fáciles de usar y administrar, accesible desde cualquier punto de
la red y apoyado por toda una serie de servicios de formación.
MERIT y NSF dirigieron este proyecto con IBM y MCI.
IBM proporcionó el software, equipo para la conmutación de paquetes y la
gestión de redes, mientras que MCI aportó la infraestructura para el transporte
a largas distancias.
Instalada en 1988, la nueva red usaba inicialmente circuitos arrendados
de 448 Kbps para interconectar 13 sistemas nodales de conmutación (NSS )
1.1. ¿CÓMO SURGE TCP/IP?
5
suministrados por IBM.
Cada NSS estaba compuesto de nueve sistemas RT de IBM (que usaban
una versión IBM del BSD 4.3) conectados a través de dos redes en anillo de
IBM (por redundancia).
En cada una de las 13 localizaciones se instaló un IDNX (“Integrated
Digital Network Exchange”) de IBM, para permitir:
• Encaminamiento dinámico alternativo.
• Reserva dinámica de ancho de banda.
La Tercera Troncal
En 1989, la topología de los circuitos de NFSNET fue reconfigurada después de haber medido el tráfico y la velocidad de las líneas arrendadas se
incrementó a T1 (1.544 Mbps) usando principalmente fibra óptica.
Debido a la necesidad constantemente creciente de mejoras en la conmutación de paquetes y en la transmisión, se añadieron tres NSSs a la troncal y
se actualizó la velocidad de las conexiones.
La migración de NFSNET de T1 a T3 (45Mbps) se completo a finales de
1992.
Advanced Network & Services Inc. (compañía fundada por IBM, MCI,
Merit Inc.) es en la actualidad el organismo proveedor y gestor de NFSNET.
La migración a niveles de gigabits ya ha empezado.
EBONE
EBONE (“Pan-European Multi-Protocol Backbone”) juega en el tráfico de Internet en Europa el mismo papel que NSFNET en US.
EBONE tiene conexiones a nivel de kilobit y megabit entre cinco grandes
centros.
6
CAPÍTULO 1. INTRODUCCIÓN
CREN
Completado en octubre de 1989, el organismo fusionador de las dos famosas
redes CSNET (“Computer + Science Network”) y BITNET (“Because It’s
Time Network”) formó el CREN (“Corporation for Research and Educational
Networking”).
CREN abarca la familia de servicios históricas de CSNET y BITNET para
proporcionar una rica variedad de opciones en la conexión de redes.
X.25 Net
Es una red de CSNET conectada a Internet que suministra un servicio completo, usa protocolo TCP/IP sobre X.25 [7] [5].
Es habitual que los miembros internacionales se conecten a CSNET, ya
que pueden usar su red pública de datos (“Public Data Network”) X.25 para
alcanzar a Telenet en US.
Aporta transferencia de ficheros, telnet, así como servicio inmediato de
correo electrónico entre host de X.25Net.
Cypress
Cypress es una red sobre líneas arrendadas que permite tener un sistema de
conmutación de paquetes de bajo coste e independiente del protocolo, usado
principalmente para interconectar sitios pequeños a redes de Internet sobre
TCP/IP.
Establecido en origen como parte de un proyecto de investigación conjunto
con CSNET, ahora es independiente de CSNET.
No hay restricciones sobre su uso, aparte de las impuestas por otras redes.
De este modo el tráfico comercial puede pasar entre dos sitios industriales a
traves de Cypress.
Los sitios industriales no pueden pasar tráfico comercial sobre Internet
debido a restricciones impuestas por agencias gubernamentales que controlan
las redes troncales (por ejemplo, NFSET).
1.1. ¿CÓMO SURGE TCP/IP?
7
DRI
TWN (“Terrestrial Wideband Network”) o Red Terrestre de Banda Ancha
es una WAN con el propósito de proporcionar una plataforma para la investigación con protocolos y aplicaciones en redes de alta velocidad (papel
representado inicialmente por ARPANET).
Este sistema incluye servicios tanto orientados a conexión como no orientados a conexión, broadcast y conferencia en tiempo real.
La TWN fue construida y puesta en marcha por BNN Systems y Technologies Corporation durante la primera mitad de 1989 como parte de la fase
inicial del DRI (“Defense Research Internet”).
Su principal finalidad era transportar a lo largo y ancho del país el tráfico
de datagramas asociado a proyectos subvencionados por DARPA.
Estaba compuesto de pasarelas de Internet y conmutadores de paquetes
WPSs (“Terrestrial Wideband Network packet switches”) que se comunicaban
entre sí usando el HAP (“Host Access Protocol”) especificado en RFC 1221.
Se usó el WB-MON (“Wideband Monitoring Protocol”) entre los WPSs y
el centro de monitorización.
La troncal soportaba también un entorno de investigación para conferencia
multimedia y conferencia con voz y vídeo empleando pasarelas que utilizaban
un protocolo orientado a conexión en tiempo real (ST-II - Stream Protocol RFC 1190) sobre un red no orientada a conexión.
EARN
EARN (“European Academic Research Network”) iniciada en 1983, fue la primera y mayor red en dar servicio a instituciones académicas y de investigación
en Europa, Oriente Medio y África.
EARN comenzó su trayectoria con la ayuda de IBM. Evolucionó para convertirse en una red sin ánimo de lucro y basada en tráfico no comercial que da
servicio a instituciones académicas y de investigación.
8
CAPÍTULO 1. INTRODUCCIÓN
RARE
RARE (“Réseaux Associés pour la Recherche”) fundada en 1986, es la asociación de organizaciones de redes europeas y sus usuarios.
La asociación tiene 20 FNM (“Full National Members”; todos países europeos), numerosos ASN (“Associate National Members”; algunos países europeos y asiáticos), IM (“International Members”; por ejemplo EARN) y LM
(“Liason Members”; por ejemplo CREN).
Soporta los principios de los sistemas abiertos tal como se definen en ISO
además de un número de grupos principalmente europeos, como el EWOS
(“European Workshop for Open Systems”) y el ETSI (“European Telecommunications Standards Institute”).
RIPE
El “Réseaux IP Européens” (RIPE) coordina las redes TCP/IP para la comunidad científica en Europa.
Opera bajo los auspicios de RARE. RIPE lleva funcionando desde 1989.
A comienzos de los ’90 más de 60 organizaciones participaban en este trabajo.
El objetivo de RIPE es asegurar la coordinación administrativa y técnica
necesaria para permitir el funcionamiento de la red IP pan-Europea. Se debe notar que RIPE no gestiona ninguna red de su propiedad. RIPE puede
definirse como la actividad IP de RARE.
Una de las actividades de RIPE es mantener una base de datos de redes IP
europeas, dominios DNS y sus contactos. El contenido de esta base de datos
se considera de dominio público.
1.1.2
Internet en Japón
Japón tiene muchas redes distintas. Las siguientes son algunas de las principales:
• La BITNET japonesa comenzó a funcionar en 1985. Fue fundada por
la Universidad de la Ciencia de Tokyo y parte de sus miembros. Esta
1.1. ¿CÓMO SURGE TCP/IP?
9
red conecta con CUNY (“City University of New York”) a través de un
enlace a 56 Kbps.
• N-1net es gestionada por el NACSIS (“National Center for Science and
Information Systems”), un instituto de investigación fundado por el Ministerio de Educación de Japón. Empezó a funcionar en 1980 usando
una red de conmutación de paquetes X.25. N-1net tiene una conexión
de 50 Kbps con el NSF en Washington.
• El TISN (“International Science Network”) de Todai es usado por físicos
y químicos. TISN tiene un enlace de 128 Kbps entre Todai y Hawaii.
• WIDE (“Widely Integrated Distributed Environment”) es la versión japonesa de Internet. Comenzó como un proyecto de investigación en
1986.
1.1.3
Uso Comercial de Internet
En años recientes Internet ha crecido en tamaño y extensión a una ritmo mayor de lo que nadie podría haber previsto. En particular, más de la mitad
de los hosts conectados hoy a Internet son de carácter comercial. Esta es un
área conflictiva, potencial y realmente, con los objetivos iniciales de Internet,
que eran favorecer y cuidar del desarrollo de las comunicaciones abiertas entre instituciones académicas y de investigacién. Sin embargo, el crecimiento
continuado en el uso comercial de Internet es inevitable por lo que será útil
explicar como está teniendo lugar esta evolución.
Una iniciativa importante a tener en cuenta es la de AUP (“Acceptable Use
Policy”).
La primera de estas políticas se introdujo en 1992 y se aplica al uso de
NSFNET.
En el fondo AUP es un compromiso “para apoyar la investigación y la
educación abierta”. Bajo “usos inaceptables” está la prohibición de “uso para
actividades lucrativas”, a menos que se hallen incluidas en el Principio General
o como un uso específico aceptable.
Sin embargo, a pesar de estas instancias aparentemente restrictivas, NSFNET se ha ido usando cada vez más para un amplio abanico de actividades,
incluyendo muchas de naturaleza comercial.
10
CAPÍTULO 1. INTRODUCCIÓN
Aparte del AUP de NSFNET, muchas de las redes conectadas a NSFNET
mantienen sus propios AUPs. Algunos de ellos son relativamente restrictivos
en su tratamiento de las actividades comerciales mientras que otros son relativamente liberales. Lo importante es que los AUP tendrán que evolucionar
mientras continúe el inevitable crecimiento comercial en Internet.
Se considerará ahora a los proveedores de servicios en Internet que han
desarrollado mayor actividad en la introducción de usos comerciales de Internet. Dos dignos de mencionar son PSINet y UUNET, que a finales de los ’80
comenzaron a ofrecer acceso a Internet tanto a negocios como a individuos.
Una compañía sin ánimo de lucro, ANS (“Advance Network and Services
”), fue formada por IBM, MCI y Merit,Inc. con el fin de operar conexiones
troncales T1 para NSFNT. Este grupo ha permanecido activo e incrementando
su presencia comercial en Internet.
ANS formó también una subsidiaria orientada comercialmente denominada
ANS CO+RE para proporcionar enlaces entre clientes comerciales y dominios
educacionales y de investigación. ANS CO+RE suministra además acceso
libre de AUPs a NSFNET al estar conectada a CIX.
1.1.4
La Super Autopista de la Información
Una importante iniciativa ha sido la creación del Consejo Estadounidense de
Asesoramiento sobre la Infraestructura Nacional de Información (“US Advisory Council on the National Information Infrastructure”) dirigido por Al
Gore.
En esencia, la iniciativa hace de la creación de una “red de redes” una
prioridad nacional. Esta red debería ser similar a Internet en algunos aspectos,
pero con el gobierno y la industria contribuyendo cada uno con lo mejor de sí
mismo.
Desde una perspectiva más internacional, el Grupo de los Siete (“The
Group of Seven (G7)”) ministros se reunió en Bruselas en febrero de 1995
para discutir sobre la incipiente GII (“Global Information Infrastructure”).
Los ministros de tecnología y economía de Canadá, el Reino Unido, Francia, Japón, Alemania, Italia, y los Estado Unidos acudieron a la conferencia,
y se concentraron en las implicaciones tecnologicas, culturales y económicas
concernientes al desarrollo de la infraestructura nacional.
1.2. CONOCIMIENTOS BÁSICOS
11
Una revista electrónica gratuita llamada G7 Live se utilizó para hacer
llegar diariamente a los usuarios de Internet los comentarios y noticias sobre
la conferencia.
Aspectos específicos cubiertos por G7 Live incluyen los derechos de la propiedad intelectual, construcción de infraestructuras, consideraciones culturales
y legislativas, y descripciones de las más de 100 exhibiciones tecnológicas presentes en la conferencia.
Tanto el NII como el GII descritos anteriormente son iniciativas importantes que en última instancia deberían conducir a la “super autopista de la
información” que es en la actualidad el objeto de tanta discusión en los medios
de comunicación.
1.2
1.2.1
Conocimientos Básicos
Puertos y Zócalos
Puertos
Cada proceso que se desea comunicar con otro se identifica en la pila de protocolos TCP/IP con uno o más puertos. Un puerto es un númro de 16 bits,
empleado por un protocolo host - a host para identificar a qué protocolo del
nivel superior o programa de aplicación se deben entregar los mensajer recibidos [6].
Como algunas aplicaciones son ya de por sí protocolos estandarizados,
como TELNET y FTP, emplean el mismo número de puerto en todas las
implementaciones TCP/IP.
Estos puertos “asignados” se conocen como puertos bien conocidos, y a sus
aplicaciones, aplicaciones bien conocidas.
Estos puertos son controlados y asignados por IANA (“Internet Assigned
Numbers Authority”) y en la mayoría de los sistemas sólo los pueden utilizar
los procesos del sistema o del programa que ejecutan los usuarios privilegiados.
Ocupan número de puerto comprendidos en el rango de 0-1023. Los puertos
con números en el rango de 1024 a 65535 no los controla IANA y en la mayor
parte de los sistemas los pueden usar programas de usuario.
12
CAPÍTULO 1. INTRODUCCIÓN
La confusión que se produce cuando dos aplicaciones distintan intentan
usar los mismos puertos en un host se evita haciendo que soliciten un puerto
disponible a TCP/IP. Como este número se asigna dinámicamente, puede ser
diferente en cada ejecución de una misma aplicación.
UDP, TCP, y ISO TP-4 están todos basados en el mismo principio de uso
de los puertos. En la misma medida de lo posible, se usan los mismos números
para los servicios situados sobre UDP, TCP y ISO TP-4.
Zócalos
En primer lugar, conviene definir los siguientes términos [6]:
• Un zócalo es un tipo especial de descriptor de ficheros que un proceso
usa para solicitar servicios de red al sistema operativo.
• Una dirección de zócalos es la tripleta: {protocolo, dirección local, proceso local}.
• Una conversación es el enlace de comunicaciones entre dos procesos.
• Una asociación es la quintupla que especifica completamente los dos procesos comprendidos en una conexión: {protocolo, dirección local, proceso
local ,dirección exterior, preceso exterior}.
• Una medio-asociación es: {protocolo, direción local, proceso local}.
• La medio asociación se denomina también zócalo o dirección de transporte. Es decir, un zócalo es una de tantas APIs con los protocolos
de comunicación. Se introdujo por primera vez en el UNIC BSDD 4.2.
Aunque no ha sido estandarizada, se ha convertido en un estándar de
facto.
Llamadas Básicas de Zócalos A continuación se muestran algunas llamadas básicas de la interfaz de zócalos:
• Inicializar un zócalo.
• Registrar un zócalo en una dirección de puerto.
1.2. CONOCIMIENTOS BÁSICOS
13
• Indica disponibilidad para recibir conexiones.
• Acepta una conexión.
• Solicita la conexión con el servidor.
• Envía o recibe datos.
• Cierra un zócalo.
Ejemplo: considérese las llamadas del sistema de zócalos para un protocolo
orientado a conexión (ver figura 1.1 de la pág. 14).
1.2.2
Puentes, “Routers” y Pasarelas
La formación de una red conectando múltiples redes se consigue por medio de
los “routers”. Es importante distinguir entre un “router”, un puente y una
pasarela [6].
Puente
Interconecta segmentos de LAN a nivel de interfaz de red y envía tramas entre
ellos.
Un puente realiza la función de retransmisión MAC, y es independiente
de cualquier capa superior (incluyendo el enlace lógico). Proporciona, si se
necesita, conversión de protocolo a nivel MAC.
Un puente es transparente para IP. Es decir, cuando un host envía un
datagrama a otro host en una red con el que se conecta a través de un puente,
envía el datagrama al host y el dar cruza el puente sin que el emisor se dé
cuenta.
Router
Interconecta redes en el nivel de red y encamina paquetes entre ellas.
Debe comprender la estructura de direccionamiento asociada con los protocolos que soporta y tomar la decisión de si se han de enviar, y cómo se ha
de hacer, los paquetes.
14
CAPÍTULO 1. INTRODUCCIÓN
Figura 1.1: Llamadas del sistema para zócalos para un protocolo orientado a
conexión.
1.2. CONOCIMIENTOS BÁSICOS
15
Los “routers” son capaces de elegir las mejores rutas de transmisión así como tamaños óptimos para los paquetes. La función básica de encaminamiento
está implementada en la capa IP. Por lo tanto, cualquier estación de trabajo
que ejecute TCP/IP se puede usar como “router”.
Un “router” es visible para IP. Es decir, cuando un host envía un dar
IP a otro host en una red conectada por un “router”, envía el datagrama al
“router” y no directamente al host de destino.
Pasarela
Interconecta redes a niveles superiores que los puentes y los “routers”.
Una pasarela suele soportar el mapeado de direcciones de una red a otra,
así como la transformación de datos entre distintos entornos para conseguir
conectividad entre los extremos de la comunicación.
Las pasarelas limitan típicamente la conectividad de dos redes a un subconjunto de los protocolos de aplicación soportados en cada una de ellas.
Una pasarela es opaca para IP. Es decir, un host no puede enviar un
datagrama IP a través de una pasarela: sólo puede enviarlo a la pasarela.
La pasarela se ocupa de transmitirlo a la otra red con la información de los
protocolos de alto nivel que vaya en él.
Estrechamente ligado al concepto de pasarela, está el de cortafuegos (“firewall”) o pasarela cortafuegos, que se usa para restringir el acceso desde
Internet a una red o un grupo de ellas, controladas por una organización, por
motivos de seguridad.
1.2.3
Modelo OSI
¿Qué es OSI?
Se han diseñado varias herramientas para ayudar a los diseñadores de protocolos a entender las partes del problema de la comunicación y planear la familia
de protocolos.
Una de estas herramientas y muy importante es el modelo de capas esto es
solo una manera de dividir el problema de la comunicación en partes llamadas
16
CAPÍTULO 1. INTRODUCCIÓN
capas.
La familia de protocolos puede diseñarse especificando un protocolo que
corresponda a cada capa.
Así, la Organización Internacional de Normalización ISO definió uno de
los modelos más importantes y muy utilizado Modelo de Capas: OSI (ver
figura 1.2 de la pág. 16).
Figura 1.2: Modelo de Capas: OSI
Este modelo es conocido porque ofrece una explicación sencilla de la relación entre los complejos componentes del hardware y de protocolo de red. En
él la capa inferior corresponde al hardware y las capas sucesivas al software
que usa la red.
Pilas: Software en Capas
Cuando se diseña de acuerdo a un modelo de capas, el protocolo se apega a la
organización en capas.
El protocolo de cada computadora se divide en módulos, de los que cada
1.2. CONOCIMIENTOS BÁSICOS
17
uno corresponde a cada capa. Es más, las capas determinan las interacciones
entre los módulos; en teoría cuando el software de protocolo envía o recibe
datos, cada módulo sólo se comunica con el módulo de la siguiente capa más
alta y el de la siguiente más baja.
Así, los datos de salida pasan hacia abajo en cada capa y los de entrada
suben por cada capa.
Cada computadora contiene el software de una familia de protocolos. Los
proveedores usan el término pila para referirse a este software, puesto que el
modelo de capas del que se construye muchas veces se fibuja como un grupo
de rectángulos.
Como se ha dicho anteriormente cada capa de software de protocolo resuelve una parte del problema de comunicación, para hacerlo, el software de
cada capa de la computadora transmisora también agrega información a los
datos de salida y el sofware de la misma capa de la computadora receptora
usa la información adicional para procesar los datos de entradas.
En general, cada capa contiene información adicional en la cabecera antes
de enviar los datos a una capa inferior, por lo tanto un cuadro que viaja por
una red contiene una serie de cabeceras anidadas como se ilustra a continuación
(ver figura 1.3 de la pág. 17).
Figura 1.3: Cabeceras Multiples Anidadas.
18
CAPÍTULO 1. INTRODUCCIÓN
TCP/IP y OSI
Diferencias El modelo de internet sólo puede equipararse funcionalmente
al modelo OSI de ISO, ya que existen diferencias básicas tales como:
• En la pila de protocolos de internet, una capa representa un encapsulamiento de una función. La presepectiva de ISO, por otro lado, trata a
las capas como grupos funcionales bastante reducidos, intentando forzar
la modularidad al requerir capas adicionales para funciones adicionales.
en los protocoos TCP/IP, un protocolo dado puede ser usado otros protocolos en la misma capa, mientras que en el modelo OSI se definiría dos
capas en las mismas circunstancias.
• Eficiencia y viabilidad. Las normas de OSI tienden a ser prescriptivas,
mientras que los protocolos de TCP/IP tienden a ser descriptivos, y dejan un máximo de libertad a los implementadores. Una de las ventajas
del enfoque de TCP/IP es que cada implementación concreta puede explotar características dependientes del sistema, de lo que suele derivarse
una mayor eficacia, al mismo tiempo que asegura la interoperabilidad
con otras aplicaciones. Otra forma de ver esto es que la mayoría de protocols de internet se han desarrollado primero antes de ser descritos lo
que muestra claramente su viabilidad.
Consideraciones con Respecto a la Comparación de TCP/IP y OSI
• Se basan en el concepto de un gran Nro. de protocolos independientes.
• Las capas por encima de la de transporte, incluída ésta, deben prestar
un servicio de transporte de extremo a extremo.
• Las capas sobre la de transporte son ususarios del servicio de transporte
orientado a aplicaciones.
• En OSI son fundamentales los conceptos de servicios, interfaces y protocolos.
• Las ideas y conceptos fundamentales de OSI ajustan muy bien con las
ideas modernas acerca de la Programación Orientada a Objetos.
• TCP/IP originalmente no distinguía claramente entre servicio, interfaz
y protocolo, pero luego se fue ajustando y se hizo más similar a OSI.
1.2. CONOCIMIENTOS BÁSICOS
19
• En OSI, se ocultan mejor los protocolos que en TCP/IP y se pueden
reemplazar con relativa facilidad al cambiar la tecnología.
• OSI se desarrolló antes que los protocolos: no se orientó a ningún protocolo y se ganó en generalidad, hubo dificultades para definir qué funcionalidad poner en cada capa.
• TCP/IP se desarrolló después de los protocolos: no hubo que ajustar los
protocolos al modelo, el modelo no se ajustaba a ninguna otra pila de
protocolos por lo que se no gano en generalidad (ver figura 1.4 de pág.
19).
Figura 1.4: Correlación de capas TCP y OSI
Capítulo 2
Introducción al
E-LEARNING
2.1
Definición de Aprendizaje Electrónico
El término e-learning viene de dos siglas en inglés la e de e-learning se corresponde a la palabra electronic en inglés, así forma un sustantivo compuesto
cuyo núcleo es la palabra learning que se traduce como aprendizaje [2] [8].
Ante esta combinación el término se traduce de manera apropiada como
Aprendizaje Electrónico o aprendizaje por medios electrónicos [2].
Este nuevo concepto hace referencia al aprendizaje por medio de equipos
electrónicos, como una computadora, el correo electrónico, equipos y servicios
relacionados, la red WWW y la tecnología del CD-ROM; ofreciendo de esta
forma, una nueva y mejor posibilidad de capacitar a los alumnos y al personal de una determinada organización, que necesitan aprender rápidamente
nuevas técnicas y asimilar nueva información, para competir eficazmente en la
actualidad y no mantenerse aislados.
También es una de las formas que ha adoptado la llamada educación a
distancia, al desarrollarse y masificarse las intranets y redes de área amplia,
como es la Red Internet. (ver figura 2.1 de la pág. 22)
21
22
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
Figura 2.1: Personas practicando E-Learning.
2.1.1
Ventajas del e-learning
Las principales ventajas se señalan a continuación:
• Puede ampliar el aprendizaje a toda la organización. Con las tecnologías
de aprendizaje electrónico, se puede llegar al personal gerencial y administrativo de todos los niveles con el mismo contenido de capacitación y
apoyo educativo. Por ejemplo, al descentralizar sus servicios, las organizaciones tienen que desarrollar la capacidad del personal a nivel distrital
y local. Con la infraestructura física adecuada, los administradores de
esos niveles pueden recibir la capacitación y las herramientas gerenciales
necesarias.
• Puede llegar a un gran número de alumnos. El desarrollo gerencial y administrativo a menudo requiere que un gran número de administradores
instituyan prácticas y técnicas nuevas. Las tecnologías de aprendizaje electrónico potencialmente pueden llegar y ayudar a capacitar, en el
corto plazo, a esa masa crítica de administradores necesarios para un
desarrollo eficaz.
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
23
• Puede adecuar las actividades de aprendizaje electrónico a la medida de
los individuos. La instrucción que emplea una estrategia basada en el
aprendizaje electrónico puede organizarse para permitir que los alumnos
avancen a su propio ritmo, concentrándose en temas que se adecúen a
sus necesidades individuales. Se pueden saltar las partes con las que ya
están familiarizados o repetir las partes difíciles.
• Puede facilitar ayuda por instructores entre sus colegas. Muchos creen
que los tutores deben ser personas cuyo ejemplo se debe seguir, y éste es
uno de los componentes más importantes en el desarrollo gerencial y de
liderazgo. En los programas de las carreras universitarias tradicionales,
los tutores actúan como tutores y las relaciones que se establecen con los
estudiantes de por vida constituyen una base clave para desarrollar el
potencial de liderazgo. El aprendizaje electrónico y las comunicaciones
electrónicas brindan una mayor posibilidad de desarrollar relaciones a
largo plazo entre los alumnos y sus educadores.
• Puede facilitar los vínculos institucionales y profesionales. El intercambio profesional y el hecho de compartir experiencias son elementos cruciales para el desarrollo gerencial y el liderazgo. El aprendizaje electrónico
proporciona una oportunidad para romper el aislamiento a nivel local,
regional o en todo el país y suministrar y recibir información referente a
las iniciativas de mejoras gerenciales exitosas.
• Puede introducir herramientas gerenciales nuevas al software disponible.
Así, fortalece las aptitudes del personal con respecto al uso de tecnologías de computación y de la Internet. Al utilizar herramientas gerenciales estandarizadas suministradas a través del programa de aprendizaje
electrónico, las organizaciones pueden desarrollar una serie de aptitudes
comunes y estandarizar los procedimientos y prácticas gerenciales. Las
tecnologías de aprendizaje electrónico ofrecen los medios para:
-Apoyar la capacitación e información para operaciones de sistemas.
-Apoyar continuamente (por ejemplo, herramientas gerenciales suministradas a través de la Internet) con el fin de lograr mejoras gerenciales y administrativas.
• Mejorar la calidad de los programas de capacitación. Mediante el uso de
herramientas estandarizadas, probadas en el campo, en lugar de confiar
en las intervenciones locales ad hoc.
24
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
2.1.2
¿Tendencias Futuras del e-learning?
Hoy los educadores se debaten sobre la verdadera eficacia de las tecnologías
de aprendizaje electrónico basadas en las computadoras. Por la evidencia
existente se sugiere que los metodos de aprendizaje electrónico son tan eficaces
para la enseñanza o aún más, que las aulas tradicionales.
Más allá de esto, queda claro que las tecnologías de aprendizaje electrónico
pueden proporcionar oportunidades de aprendizaje para personas que de otra
manera no tendrían acceso a nuevos conocimientos.
Los métodos de aprendizaje electrónico pueden ser más eficaces que otros
para la enseñanza de algunos tipos de contenidos. Las combinaciones de aprendizaje en aulas y aprendizaje electrónico podrían constituir la mejor estrategia
educativa.
El e-learning es el negocio del futuro. Esto no significa la muerte de la
educación presencial, ésta con el entrenamiento a distancia, siempre van a
coexistir, pero en proporciones diferentes.
Se está apostando fuertemente a las ventajas del e-learning, siendo las más
relevantes las siguientes:
• Aprovechar mejor el tiempo disponible.
• Optimizar los procesos de aprendizaje.
• Maximizar los resultados utilizando adecuadamente los recursos tecnológicos.
• Quebrar las barrreras geográficas.
2.1.3
La Gestión del conocimiento
Una forma destada mediante la cual las instituciones académicas materializan
la gestión del conocimiento es a través de la enseñanza virtual porque permite
colaborar, innovar y tener la capacidad de respuesta ante los cambios que se
están produciendo en la sociedad. (ver figura 2.2 de la pág. 25 [8]
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
25
Figura 2.2: El Mundo Conectado
2.1.4
Nuevas Formas de Enseñar
Se considera que la enseñanza tradicional debe evolucionar a la velocidad
que lo hacen las tecnologías de la información, pero generalmente no es así,
entonces es necesaria una nueva forma de enseñanza que manteniendo las
ventajas de la enseñanza tradicional pueda satisfacer las nuevas demandas de
la sociedad. [2]
2.1.5
La Enseñanza Virtual
Con el transcurso de los años las formas alternativas de enseñanza, como la
enseñanza a distancia, han evolucionado de los cursos por correspondencia a
los cursos por videoconferencia o satélite. Sin embargo, nunca han llegado
a los niveles de refinamiento de la enseñanza impartida en las aulas. Las
posibilidades de conexión a Internet y una nueva generación de programas
informáticos hacen posible un nuevo modelo de enseñanza en línea de mucha
mayor calidad y flexibilidad que podría recibir el nombre, más apropiado de
enseñanza virtual.
26
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
La enseñanza virtual, en la que participan tecnologías diversas, métodos de
enseñanza, técnicas de colaboración e instructores ,̇ eleva la enseñanza virtual
a niveles inalcanzables con los métodos tradicionales, sobre todo en lo que
respecta a la flexibilidad y a disponibilidd.
Esta nueva enseñanza permite entre otras cosas, crear material didáctico
interactivo para apoyar la educación en cualquier tipo de escuela, por ejemplo,
en el caso de los institutos de idiomas se pueden poner al alcance de los alumnos
las mismas lecciones que se ven en clase o complementarias y así además crear
un valor agregado en su servicio apoyando actividades de refuerzo a las clases.
Esta una nueva opción de educación vía Web alcanza su máximo, si se
desarrolla la tecnología hasta el punto en que pueda integrar los tres métodos
de enseñanza: asíncrona, síncrona y autoformación.
La Enseñanza Asíncrona
Es el método de enseñanaza más flexible porque no impone horarios ya que
los eventos ocurren en momentos distintos. La enseñanza asíncrona con instructor es mucho más eficaz que las iniciativas autodidactas, ya que estimula
la comunicación entre el alumnado en todo momento mediante:
• La celebración de debates.
• La asignación de tareas grupales.
• El contacto personalizado con los instructores.
Esto se produce en un entorno que no impone horarios, ni espacios, sólo
se necesita que en algún momento, tanto alumnos como instructores estén
conectados a la red de comunicaciones. De esta forma empuja a los alumnos
a tomar las riendas de su educación y ser más aplicados.
El taller colaborativo asincrónico reúne a los alumnos y al instructor en la
pantalla de la computadora, pero no es necesario que todos ellos estén en línea
al mismo tiempo. El taller asincrónico brinda un foro conveniente para grupos
de alumnos que viven en regiones con distintos husos horarios alrededor del
mundo, porque les permite aprender en sus propios horarios.
La capacitación asincrónica basada en la Red combina tecnologías como
el correo electrónico, los grupos de discusión por correo electrónico, páginas
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
27
de la Red y programas para autodidactas para que los alumnos e instructores
se comuniquen entre sí. Este tipo de capacitación es adecuado para sostenes discusiones, hacer presentaciones y realizar investigaciones, evaluaciones y
proyectos de equipo con base en la Red.
La Enseñanza Síncrona
Es la más parecida a la enseñanza tradicional por que colabora y genera contacto entre los alumnos y profesores, pero difiere de ella en que las actividades
docentes se producen sin que los alumnos concurran en un mismo sitio.
El instructor y los alumnos interactúan entre sí en el mismo momento en
un taller sincrónico. Este tipo de taller “en tiempo real” generalmente requiere
de equipos especializados como micrófonos, cámaras de video, y programas de
computación especiales.
La computadora debe tener una conexión rápida con la Red Internet, lo que
significa que la conexión debe tener una mayor amplitud de banda o capacidad
para transmitir la información electrónica.
La interacción en “vivo” entre los participantes en un taller virtual simula la interacción personal entre los estudiantes en un aula convencional. Loas
alumnos deben estar preparados para interactuar oportunamente con sus compañeros de clase, de manera que el equipo especial y la amplitud de banda son
vitales para mantener la agilidad de esta interacción.
Conectándose unos con otros a través de sus computadoras, los alumnos
participan en actividades como resolución de problemas, lluvias de ideas, debates, demostracines, presentaciones y dramatizaciones.
Gracias a los nuevos avances tecnológicos se hace más factible la posibilidad
de aprender en un aula virtual.
Las herramientas que más se utilizan para este tipo de enseñanza son:
• Audio y videoconferencia.
• Pizarras electrónicas .
• Compartimiento de aplicaciones.
• Contenidos multimedia basados en Web.
28
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
• Conversaciones privadas y otras funciones de este tipo.
• Salones de charla o chat rooms.
• Los instructores controlan las presentaciones, formulan preguntas a los
alumnos, los orientan y dirigen la comunicación durante la clase.
Con estas tecnologías colaborativas los alumnos pueden expresar sus puntos
de vista y compartir información o aplicaciones a través de ellas.
Una pizarra blanca, es un tipo de tecnología que forma parte de un aula
sincrónica. Es el equivalente electrónico de un pizarrón en un aula tradicional.
La pizarra blanca es la pantalla sobre la cual los participantes y el instructor pueden turnarse para escribir sus mensajes y presentar información con
una pizarra blanca para las actividades del grupo. Por ejemplo, un grupo de
estudiantes, y su intructor pueden ingresar datos en una hoja de cálculo desde
diferentes lugares alrededor del mundo.
Al trabajar en línea al mismo tiempo, las personas pueden llenar celdas,
corregir fórmulas, o modificar los encabezados de las columnas, mientras cada
integrante del grupo pude ver exactamente lo que los demás están haciendo.
Los salones de charla ofrecen medios estructurados para que los alumnos
sostengan un diálogo escribiendo sus comentarios durante una discusión continua en línea a través del correo electrónico. Este tipo de capacitación basada
en la Red permite que los grupos discutan, reflexionen problemas en foma
conjunta a través del aprendizaje en tiempo real.
Las video-conferencias y las audio-conferencias basadas en la Red son tecnologías empleadas en un aula sincrónica y conceptualmente son similares
a la comunicación a través de imágnes visuales y sonido en las conferencias
tradicionales. Ambas permiten que los alumnos se comuniquen de manera
interactiva y escuchen y/o vean a otros participantes y a los instructores. Estas tecnologías permiten que los participantes tomen parte en los ejercicios de
dramatización, que de otra manera no sería posible.
La Autoformación
Es el tipo de formación que eligen las personas que se instruyen a sí mismas
empleando todo tipo de medios:
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
29
• Libros.
• Videos.
• Casetes.
• Material informático.
Actualmente uno de los sitios que reúne todos estos medios en uno es la
World Wide Web, siendo otra posibilidad la utilización de Intranets.
Productos y Servicios de la Enseñanza Virtual
La enseñanza virtual se está configurando como una herramienta de gran utilidad porque presenta productos formativos:
• Interactivos: Donde el usuario puede adoptar un papel activo en relación
al ritmo y nivel de trabajo.
• Multimedia: Por que incorpora textos, imágenes fijas, animaciones, videos, sonidos.
• Abiertos: por que permite una actualización de los contenidos y de las actividades de forma permanente, lo que contrasta con el carácter estático
del material impreso.
• Sincrónicos y Asincrónicos: Por que permite que los alumnos puedan
participar en tareas o actividades en el mismo momento independientemente del lugar en que se encuentren (sincrónico), o bien la realización
de trabajo y estudio individual en el tiempo particular de cada alumno
(asincrónico).
• Accesibles: Lo que significa que no existen limitaciones geográficas, por
que utiliza todas las potencialidades de la red Internet, de manera que
los mercados de la formación sean abiertos.
• Con recursos on-line: Que los alumnos puedan retomar sus aprendizajes
en sus propios ordenadores personales.
• Distribuidos: De manera que los recursos para la formación no tienen por
qué concentrarse en un único espacio o institución. Las potencialidades
30
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
de la red permiten que los alumnos puedan utilizar recursos y materiales
didácticos esparcidos por el mundo en diferentes servidores de Internet.
Tambi´én permite poder recurrir a formadores que no necesariamente
tienen que estar en el mismo espacio geográfico donde se dicte el curso.
• Con un alto seguimiento: Del trabajo de los alumnos, ya que los formadores organizan la formación en base a tareas que los alumnos deben
realizar y remitir en tiempo y forma establecida.
• Comunicación horizontal : Entre los alumnos, debido a que la colaboración forma parte de las técnicas de formación.
Ventajas de la Enseñanza Virtual
Para el Alumno:
• El trato es personalizado entre el profesor y sus compañeros.
• Puede adaptar el estudio a su horario personal.
• Puede participar de forma meditada gracias a la posibilidad de trabajar
off-line.
• El ritmo de trabajo marcado por sus profesores y sus compañeros puede
seguirse, terminado el dictado.
• El alumno tiene un papel activo, por que no se limita a recibir información
sino que forma parte de su propia formación.
• Todos los alumnos tienen acceso a la enseñanza, ya que no se perjudican
aquellos que no pueden acudir periódicamente a clase por motivos como
el trabajo, la distancia, etc.
• Existe un feed-back de información, de manera que el profesor conoce si el
alumno responde al método y alcanza los objetivos fijados inicialmente.
• Se beneficia de las ventajas de los distintos métodos de enseñanza y medios didácticos tradicionales, evitando los inconvenientes de los mismos.
Para la Universidad:
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
31
• Hace posible que se brinde formación a la sociedad sin los costos que
suponen los desplazamientos, alojamientos y viáticos de sus empleados.
• Permite ampliar su oferta de formación a aquellas personas o trabajadores que no pueden acceder a los cursos presenciales.
• Hace posible que se supere la calidad de los cursos presenciales.
• Aumenta la efectividad de los presupuestos que se destinan a la educación: En varios países los presupuestos de educación están congelados
aunque la demanda aumenta. Mientras que la financiación disminuye,
los gobiernos piden niveles más altos y mayor relevancia del factor profesionalizador de los cursos.
• Responsabilidad del sistema educativo: Los gobiernos no sólo esperan
que las instituciones educativas mejoren su relación costoeficacia, sino
que también esperan que éstas justifiquen el uso que hacen del dinero
público.
La Enseñanza Virtual, los Empleos y el País.
Debe hacerse mucho esfuerzo en varios países, en lo que respecta a la educación,
para poder conseguir dar mejores condiciones de vida en esos países. Educar
es una de esas palabras que permite crear esperanzas.
La esperanza en algo, siempre es el mejor argumento de mercadeo disponible.
La realidad es que hoy día lamentablemente, tener una profesión no garantiza que se conseguirá un trabajo. Por que en los tiempos en que vivimos,
se dice que un profesional tendrá que cambiar de actividad por lo menos dos
veces, para lograr subsistir adecuadamente. [1]
2.1.6
Antecedentes
Los últimos años del siglo XX han visto la apertura de la economía global y
el comienzo de la era de la información. Si bien se fomenta un crecimiento
sin precedentes, fusiones y adquisiciones, la reciente eliminación de las barreras comerciales y los rápidos avances en tecnología han aumentado también
drásticamente la volatilidad del mercado mundial.
32
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
Las compañías que desean seguir siendo competitivas deben responder eficazmente al cambio. Para ello, necesitan asegurarse de que los empleados
puedan aprender rápidamente nuevas técnicas, actualizar las antiguas y asimilar grandes cantidades de información acerca de nuevos productos, mercados
y competencias.
El aprendizaje electrónico es una forma revolucionaria de dotar a la mano
de obra con las técnicas y el conocimiento que necesitan para avanzar al mismo
paso que los rápidos cambios del mercado. Las personas, las empresas y los
países con mayores conocimientos, técnicas y capacidad de crear y compartir
eficazmente la información son los que más probablemente alcancen el éxito
en la economía de Internet basada en el conocimiento.
2.1.7
Desafío
Las últimas dos décadas han demostrado la explosión de Internet, desde una
pequeña red que enlazaba a científicos hasta el mayor forum de intercambio
de ideas que la humanidad ha visto nunca. Para competir eficazmente en la
actualidad, los hombres de negocios deben absorber grandes cantidades de
información. Si bien Internet ofrece grandísimas también presenta desafíos:
¿Cómo puede una organización aprovechar a Internet antes que su competencia?.
¿Cómo puede cerrar las lagunas que dejan los métodos tradicionales de
formación en los empleados?.
Cuando hacen frente al rápido desarrollo tecnológico, a la desregulación de
muchas industrias y a las presiones de la globalización, los ejecutivos deben
preguntarse, tarde o temprano:
¿Pueden mis empleados hacer frente al ritmo de los cambios?.
El reto para los ejecutivos es garantizar que los empleados puedan gestionar
los cambios y no ser víctimas de ellos.
Los empleados necesitan aprender rápidamente nuevas técnicas y asimilar
nueva información, pero los métodos de formación tradicionales no son lo bastante flexibles para alcanzar los niveles de actualización permanente requeridos
por el desarrollo acelerado de las nuevas técnicas y conocimientos.
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
2.1.8
33
Solución
El aprendizaje electrónico es la solución a los desafíos de formación y comunicación que ha creado la economía de Internet, porque hace referencia a la
educación que se mejora o proporciona a través de Internet. Comenzó en los
departamentos de formación corporativos, escuelas y universidades como un
suplemento a los métodos de enseñanza tradicionales.
En la actualidad, abarca un gran grupo de soluciones que pueden usarse en
toda una organización, desde las comunicaciones corporativas y el marketing
a la documentación técnica, soporte al cliente, control de calidad, fabricación,
ingeniería, relaciones públicas y relaciones de análisis para compartir información, experiencia e ideas.
El aprendizaje electrónico puede ofrecer a los empleados la capacidad de
transformar los cambios en ventajas aprovechando los recursos de conocimiento existentes y preparándolos en un formato centrado en el empleado, más
personalizado y accesible.
Los antiguos modelos de aprendizaje no se ajustan para satisfacer los nuevos desafíos del aprendizaje mundial. Los sistemas de aprendizaje electrónico
pueden mejorar (en lugar de sustituir) los métodos y materiales de enseñanza
tradicionales. Los sistemas de aprendizaje electrónico pueden incluir elementos como:
• Objetos de contenido: El material se puede desarrollar en un formato
modular, dividido en objetos que se extraen de una base de datos, se los
trabaja para su aprendizaje y los resultados del mismo, se evalúan en una
prueba interactiva. El resultado es un ruta de aprendizaje personalizada:
los estudiantes sólo obtienen lo que necesitan y estudian a su propio
ritmo.
• Comunidades: Los estudiantes pueden desarrollar comunidades en línea
para proporcionarse ayuda mutua y compartir información.
• Experiencia en línea: Puede haber tutores o expertos disponibles en
línea para ofrecer información y orientación a los educandos, responder
preguntas y mediar las discusiones.
• Oportunidades de colaboración: El software de reunión en línea permite un aprendizaje en colaboración sincrónico a través de distancias
geográficas.
34
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
Figura 2.3: Formarse es parte de la solución
• Multimedia: Las tecnologías de audio y video bajo demanda pueden
presentar el material de una forma estimulante para cautivar activamente
a los estudiantes. (ver figura 2.3 de la página 34)
2.1.9
Capacitación
En esta nueva y cambiante economía global, todos los empresarios quieren
garantizar competitividad en el mercado. Por ello, precisan invertir en actualización, entrenamiento y perfeccionamiento constante de los directivos y
empleados, condicionarlos para el mejor desenvolvimiento, evitar rotación de
personal y conseguir retener los talentos.
Esta visión generó en los Estados Unidos una forma de conseguirlo por
medio de la educación a distancia, especialmente desde 1997, utilizando las
nuevas tecnologías telemáticas, con eficiencia y a muy bajo costo. El e-learning
es una de las formas que ha adoptado la llamada educación a distancia, para
actualizar personal, como complemento al aprendizaje presencial. Se ofrecen
revistas digitales, cursos virtuales de diversos temas, entre otros.
Las empresas de esta forma utilizan Internet para la capacitación y el
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
35
entrenamiento de personal.
Cuando los primeros sistemas de e-learning se lanzaron en 1999 en Argentina, el mayor desafío fue la resistencia al cambio, tanto de las empresas como
de los funcionarios. En el 2000, las inversiones en tecnologías de aprendizaje
electrónico (e-learning) fueron muy bajas en comparación con otros segmentos
de las Tecnologías de Información (TI).
Para los próximos años se tienen expectativas mayores de inversión en
e-learning, consiguiendo así, una expansión considerable, que beneficiará en
forma decisiva el progreso de los negocios y del país. La conveniencia y flexibilidad de horarios del aprendizaje virtual, así como la ventaja de no exigir
el traslado de los capacitandos, en un contexto amplio, son los beneficios más
aparentes de esta forma de aprendizaje.
Los empresarios ya conocen que la capacitación continua es fundamental
para el éxito de las empresas, y que es una importante forma de mantener
la competitividad de los negocios a largo plazo. Todas las empresas tienen
ahora esa posibilidad con las facilidades que esa capacitación continua puede
ser hecha por medio de Intranets o de la Internet.
2.1.10
Ventajas
En todas las múltiples formas, el aprendizaje electrónico ofrece una multitud
de beneficios de incalculable valor para los empleados y quienes les contratan:
• Experiencia de aprendizaje personalizada: Las opciones de aprendizaje
autodidacta permiten a los estudiantes avanzar a su propio ritmo, seleccionar el tipo de contenido y los vehículos de entrega con base en las
preferencias individuales y ensamblar módulos de contenidos apropiados
a sus necesidades.
• Reducción de costos: Las empresas pueden reducir, e incluso suprimir,
los gastos de viaje para formación, eliminar los costos de las aulas y
reducir el tiempo que los empleados pierden lejos de la oficina y de sus
obligaciones normales.
• Acceso: Los usuarios pueden acceder a los contenidos en cualquier lugar
que tenga una conexión a Internet. Esto significa que los contenidos
de aprendizaje electrónico pueden llegar a una audiencia prácticamente
36
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
ilimitada y los estudiantes no están forzados por las diferencias en las
zonas horarias.
• Aprendizaje colaborativo: El aprendizaje electrónico tiene en cuenta la
exposición del conocimiento y el soporte entre los grupos.
• Responsabilidad: El seguimiento de graduación, prueba, evaluación y
certificación están automatizados, de forma que todos los participantes
puedan hacerse cargo de las responsabilidades en los procesos de aprendizaje.
2.1.11
Desventajas
El reto que confronta todo consultor o nuevo líder, cuando quiere hacer mejoran en una organización es modificar una cultura arraigada que no se ajusta
a las nuevas circunstancias comerciales o tecnológicas. Las culturas organizacionales demasiado arraigadas son una carga para la empresa que pretende
adaptarse a los cambios del mercado y de entornos.
Las culturas organizacionales profundamente arraigadas dan a las personas
que se encuentran dentro de ellas una gran seguridad.
Frente a cualquier cambio que se proponga por mínimo que sea, que modifique la cultura establecida, confronta rechazos inmediatos, aunque son para
el beneficio de todos.
La mayoría opina que es posible cambiar la cultura de una organización,
pero es un proceso lento que puede durar muchos años, incluso si el cambio se
llega a producir reconocen que será parcial.
2.1.12
El Uso de Tecnologías de Aprendizaje Electrónico para
Ayudar a Mejorar el Desempeño
Se puede tomar parte en el aprendizaje electrónico de muchas maneras, utilizando una computadora y la Red WWW . Se puede obtener información
de una amplia gama de fuentes. Se puede intercambiar opiniones con otras
personas en uno o varios grupos de discusión, y se puede inscribir a diversos
tipos de talleres o “aulas virtuales” basadas en la Red. [1]
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
37
Con un CD-ROM y una computadora se puede también practicar nuevas
aptitudes según convenga empleando tutorías para autodidactas.
También se describe cómo se puede:
• Acceder a recursos de información para la adopción de acciones administrativas.
• Practicar métodos autodidactas de aprendizaje.
• Colaborar en varios tipos de talleres.
• Utilizar entrenadores electrónicos para mejorar los talleres reales “cara
a cara”.
• Beneficiarse de las prácticas de aprendizaje electrónico.
1. Accesos a los recursos para adoptar acciones administrativas.
2. Colaboración en los talleres basados en aomputadora.
3. Dirigir y guiar como instructor para mejorar la capacitación en
persona “cara a cara”.
4. Sesiones prácticas de aprendizaje electrónico.
Planificar e Implementar una Actividad de E-learning
Suponiendo que la organización apoya los objeticos de aprendizaje electrónico,
y que las condiciones en el lugar de trabajo son adecuadas para implementar
una iniciativa de aprendizaje electrónico, se decide añadir un componente de
aprendizaje electrónico al programa de capacitación [?].
Se pretende saber:
¿Cómo adoptar cursos de acción?
¿En qué se debería pensar?
Entonces las siguientes preguntas ayudan a planificar e implementar una
iniciativa de aprendizaje electrónico para una organización, con cinco pasos:
1. Determinar qué tipo de aprendizaje electrónico se podría ofrecer a la
organización.
38
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
2. Preparar a la organización para las actividades de aprendizaje electrónico.
3. Formar un equipo de aprendizaje electrónico.
4. Evaluar la experiencia con el aprendizaje electrónico.
Determinación del Tipo de Aprendizaje Electrónico que se Puede
Ofrecer a la Organización
El aprendizaje electrónico trata primero y primordialmente sobre aprendizaje.
Antes de introducir el aprendizaje electrónico a la organización, se debe
determinar si el entorno de trabajo apoya el aprendizaje en el lugar de trabajo
y en qué forma el aprendizaje electrónico puede appoyar los objetivos de capacitación y educación de la organización. Para comenzar el proceso se debe
responder a:
• ¿Fortalecería el aprendizaje electrónico al programa de capacitación de
laorganización?. ¿Por qué?.
• ¿Mejoraría el aprendizaje electrónico la calidad de laexperiencia de aprendizaje?. Si así fuera, ¿en qué forma?.
• ¿Simplificaría el aprendizaje electrónico proporcionar instruccción que
no estaría disponible de otra manera?.
• ¿Reduciría el aprendizaje electrónico los costos de capcitación?.
Preparar una Organización para el Aprendizaje Electrónico
Para introducir efectivamente las actividades de aprendizaje electrónico a una
organización, se debe lpreparar tanto al personal como a la organización en sí.
El aprendizaje electróncio es un esfuerzo colaborativo y cooperativo, de
manera que el personal debe comprender a fondo el propósito y el uso al cual
está destinada la actividad de aprendizaje electróncio.
La organización se responsabilizará de introducir la enseñanza electrónica a personal y explicar en qué forma puede ayudar a cubrir las necesidades
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
39
de capacitación y desarrollo profesional. Para que el aprendizaje electrónico sea introducido exitosamente, se deben instituir políticas nuevas, normas
diferentes y un conjunto nuevo de recompensas.
La organización debe encarar también otros aspectos como el acceso a las
computadoras, la compra de equipos, la capacitación en el uso de tecnologías
informáticas y el desarrollo de servicios de apoyo para las comunicaciones y la
información con el objeto de obtener y mantener la infraestructura informática
y de ocmputación así como una conexión a Internet.
Tecnologías y Servicios Necesarios para el Aprendizaje Electrónico
Debido a que las diferentes formas de aprendizaje electrónico requieren de
distintas tecnologías, se debe identificar cuáles de los siguientes componentes
estarían disponibles para una organización antes de seleccionar un enfoque de
aprendizaje electronico específico.
Actividades de Aprendizaje basadas en el Correo Electrónico
• Servicio telefónico y suministro de energía eléctrica seguros.
• Una computadora personal equipada con un programa de corereo electrónico.
• Un modem para traducir las señales electrónicas entre la computadora
y e sistema de telefonía.
• Un proveedor de servicios de Internet, para transmitir y recibir los mensajes de correo electrónico y direcciones para la organización del personal.
• Una impresora para imprimir los mensajes y otros documentos.
Actividades de Aprendizaje basadas en el CD-ROM
• Servicio telefónico y suministro de energía seguros.
• Una computadora personal con un lector de CD-ROM, una tarjeta de
sonido, una tarfeta de video y el softuare requerido para que éstos funcionen.
40
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
Actividades de Aprendizaje basados en la Red
• Todos los compnentes detallados bajo las actividades de aprendizaje basados en el correo electrónico.
• Una conexión a Internet de un PSI con una velocidad media.
• Un navegador para explotar la Red.
• Equipo de computación y software para generar y/o recibir señales de
audio y video, para las actividades de aprendizaje con multimedia.
(ver figura2.4 de la pág. 40)
Figura 2.4: Productos para e-learning.
Formación del Equipo de Aprendizaje Electrónico
Para que el aprendizaje electrónico tenga éxito se requiere de un buen lider que
comprenda y apoye el aprendizaje electrónico, así como un equipo eficaz de
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
41
profesionales seleccionados estratégicamente de los varios departamentos. El
equipo de aprendizaje electrónico debería incluir representantes de los departamentos de capacitación, tecnología y finanzas de la organización, así como
uno o dos de los partricipantes potenciales de la actividad de aprendizaje electronico.
El equipo se responsabiliza de dirigir el esfuerzo y deberá:
1. Decidir cómo el aprendizaje electrónico beneficiará a la organización,
paralelamente con la actividad de capacitación actual.
2. Establecer un proceso claro para la toma de decisiones referentes al
aprendizaje electrónico.
3. Desarrollar un plan y un presupuesto para una actividad piloto de aprendizaje electrónico.
4. Seleccionar y dirigir la actividad piloto de aprendizaje electrónico.
5. Evaluar la experiencia que se logró con el aprendizaje electrónico.
Dirección de la Primera Actividad de Aprendizaje Electrónico.
Una buena manera de introducir el aprendizaje electróncio a una organización consiste en dirigir una actividad piloto de aprendizaje electrónico, con la
ayuda de un equipo de aprendizaje electrónico recientemente conformado. Así
se estará en condiciones de experimentar el aprendizaje electrónico desde la
perspectiva de un alumno así como de un administrador.
Para desarrollar el proyecto piloto de aprendizaje electrónico, se debe:
• Determinar las necesidades de mejoramiento del desempeño de una organización.
• Identificar los objetivos para la capacitación del personal que ayudarán
a encarar las necesidades.
• Determinar cómo el aprendizaje electrónico podría apoyar y ampliar los
objetivos de capacitación.
• Seleccionar las actividades de aprendizafe electrónico apropiadas para
las tareas y para el entorno de trabajo.
42
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
Una vez seleccionada la actividad, se podrá organizar al personal clave que
participará en el evento de aprenizaje apropiado.
Selección de los programas de aprendizaje electrónico: Cuando se trabaja
en la Red, es fácil perder de vista la distinción entre la comunicación y el
aprendizaje. La mayoría de las páginas Web son similares a revistas, que son
comunicadores de una sola dirección para un lector pasivo. Los productos de
aprendizaje electrónico, por otro lado, son herramientas de comunicación de
dos vías: logran la participación activa de los alumnos haciéndose tomar parte
en el proceso de aprendizaje. En el mejor de los casos, el aprendizaje electrónico hace posible que los alumnos practiquen y apliquen nuevas aptitudes
bajo la supervisión de un instructor experimentado.
Al seleccionar un taller de aprendizaje electrónico o un curso en la Red, se
debe considerar los objetivos de aprendizaje. Se puede emplear los siguientes
criterios para seleccionar tecnologías y servicios de aprendizaje electrónico.
Idealmente, las tecnologías y servicios de aprendizaje electrónico deberían:
• Hacer participar activamente al alumno y basarse en el mismo.
• Funcionar fluidamente con la infraestructura y la tecnología disponible.
• Proporcionar ayuda en línea.
• Incluir ejemplos que sean significativos para los alumnos.
• Seguir estrategias de aprendizaje que se adecúen a los objetivos de Instrucción.
• Funcionar a distintos niveles de aprendizafe, dependiendo de las necesidades e intereses de los alumnos.
• Ser de uso fácil para el ususario.
• Incluir los medios para evaluar la experiencia de aprendizaje.
• Presentar conceptos en una diversidad de medios para adecuarse a los
diferentes estilos de aprendizaje.
• Tener una eficacia demostrada en escenarios similares a los de la organización.
Los cursos adecuados basados en la Red generalmente:
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
43
• Permiten que los alumnos sostengan conferencias regulares con los instructores y otros expertos.
• Apoyan la colaboraciónentre los diferentes alumnos.
• Proporcionan vínculos con otras páginas de la Red que tienen un contenido afin.
Evaluación de la Experiencia de Aprendizafe Electrónico
El paso final para incoporar el aprendizaje electrónico al programa de capacitación de la organización consiste en evaluar el proyecto piloto. Se deben
evaluar tres aspectos de la actividad:
• En primer lugar, ¿fue efectiva la capacitación en términos de los objetivos
y medida a través de los resultados actuales del aprendizaje electrónico
y el impacto real de la actividad sobre el desempeño del personal?
• En segundo lugar, ¿era la tecnología de aprendizaje electrónico apropiada
para la tarea y funcionó correctamente?.
• En tercer lugar, si los profesores o instructores estuvieron directamente
involucrados, ¿proporcionaron instrucción y apoyo adecuados durante el
curso?
Empleo del Aprendizaje Electróncio para Encarar Retos Gerenciales
En el entorno económico actual de los servicios de aulas, con costos operativos crecientes y demandas que compiten por los recursos presupuestarios,
los administradores deben encontrar nuevas solucines para mantenerse al día
con respecto a los conociemientos nuevos y seguir cubriendo las necesidades
cambiantes de los clientes.
Comunicaciones innovadoras están trayendo consigo nuevos recursos al alcance de la educación continua y del desarrolo profesional. Estos recursos
ofrecen nuevas oportunidades a medida que se encuentran a disposición en
44
CAPÍTULO 2. INTRODUCCIÓN AL E-LEARNING
el lugar de trabajo, para mejorar la prestación de srvicios y otros aspectos
relativos al desempeño.
La organización se puede beneficiar de estos recursos nuevos creando iniciativas de aprendizaje electrónico, para ayudar a desarrollar nuevas aptitudes
y a tomar decisiones informadas. La calidad de los servicios puede mejorar, y
la organización estará en mejores condiciones de lograr la misión. Al fin y la
cabo, ése es el objetivo final de la iniciativa de aprendizaje electrónico.
Lista de Verificación para una Actividad Piloto de Aprendizaje Electrónico
La lista debería incluir lo siguiente:
1. Determinar en qué manera el aprendizaje electrónico podría mejorar el
programa de capacitación de una organización.
2. Evaluar el estado de preparación tecnológica de la organización para un
programa de aprendizaje electrónico. Tener el equipo de computación,
software, los servicios de apoyo y la planta física de oficina requeridos.
3. Evaluar el estado de preparación de los colegas para comprometerse a actividades de aprendizaje electrónico. Tener aptitudes comprometedoras
adecuadas así como una actitud y motivación apropiadas.
4. Establecer un equipo de aprendizaje electrónico, compuesto por personal de los departamento de capacitación, tecnología, informática y de
finanzas y los participantes potenciales para el aprendizaje electrónico.
5. Hacer que el equipo organice e implemente un programa piloto de aprendizaje electrónico según los siguientes lineamientos:
Paso 1 : Determinar las necesidades del desempeño en la organización.
Paso 2 : Identificar los objetivos para la capacitación de personal que
podría ayudar a encarar las necesidades.
Paso 3 : Determinar en qué forma el aprendizaje electrónico apropiadas
para las tareas y para el entorno de trabajo.
Paso 4 : Seleccionar las actividades de aprendizaje electrónico apropiadas para las tareas y para el entorno de trabajo.
Paso 5 : Dirigir la implementación de la actividad piloto.
2.1. DEFINICIÓN DE APRENDIZAJE ELECTRÓNICO
45
6. Evaluar la experiencia piloto con un equipo, incluyendolaefectividad del
aprendizaje y la relación costo-beneficio de los esfuerzos organizacionales.
7. Considerar la formulación de plazos incorporar actividades de aprendizaje electrónico que beneficiarían mejor al programa de capcitación de
la organización y al programa regular de trabajo. (ver figura 2.5 de la
página 45)
Figura 2.5: Organización que trabaja con e-learning.
Capítulo 3
Familia de Protocolos
TCP/IP
3.1
¿Qué es TCP/IP?
La pila TCP/IP se llama así por dos de sus protocolos más importantes:
• TCP: Protocolo de Control de Transporte. [11]
• IP: Protocolo de Internet.
Otro nombre es Pila de Protocolos de Internet, y es la frase oficial usada
en documentos oficiales de estándares. En este documento utilizaremos el
término TCP/IP.
La familia de Protocolos TCP/IP caracteriza un estándar de protocolos
de comunicaciones entre sistemas informáticos. El protocolo TCP/IP actualmente constituye la infraestructura tecnológica más extendida y desarrollada
sobre la que circulan las comunicaciones electrónicas (datos, voz, multimedia...). Su expansión se ha debido principalmente al desarrollo exponencial de
la red mundial Internet.
Dentro de los equipos que poseen una implementación de la pila de protocolos TCP/IP, se distinguen de forma más detallada dos grupos:
47
48
CAPÍTULO 3. FAMILIA TCP/IP
• Sistemas: Son los equipos que engloban tanto a los clientes de un servicio o comunicación, ya sean PCs de sobremesa o estaciones de trabajo
(que ejecutarán un sistema operativo cliente: Windows, Unix, MacOs...)
así como dispositivos móviles (PDAs, teléfonos móviles,....), como a los
servidores que proporcionan el servicio, típicamente ejecutando un sistema operativo servidor: Unix (incluyendo todas sus variantes: HP-UX,
Linux, Solaris, AIX, ...), AS/400, Windows NT/2000, Novell Netware.
Principalmente serán estos últimos el objetivo de los hackers, al contener
información relevante.
• Dispositivos de red: Son los encargados de que el tráfico de red fluya
dentro o entre redes. Por tanto, engloban a los repetidores, puentes o
bridges, concentradores o hubs, conmutadores o switches, encaminadores
o routers, cortafuegos o firewalls, servidores de terminales y acceso (RAS)
(que contienen un conjunto de módems o accesos RDSI), dispositivos
de almacenamiento (storage appliance)...; los principales fabricantes son
Cisco, 3com, Lucent, Nort, HP...
TCP/IP está diseñado según una estructura de capas, fundamentada en el
estándar de los protocolos de comunicaciones que diseñó la organización ISO,
denominado OSI [9].
Cada una de las capas es responsable de llevar a cabo una tarea específica
de la comunicación.
3.1.1
Redes
La primera meta de diseño de TCP/IP fue construir una interconexión de
redes que proporcionase servicios de comunicación universales: una red, o
Internet.
Cada red física tiene su propia interfaz de comunicaciones dependiente de
la tecnología que la implementa, en la forma de una interfaz de programación
que proporciona funciones básicas de comunicación (primitivas).
Las comunicaciones entre servicios las proporciona el software que se ejecuta entre la red física y la aplicación de usuario, y da a estas aplicaciones una
interfaz común, independiente de la estructura de la red física subyacente. La
arquitectura de las redes físicas es transparente al usuario.
3.1. ¿QUÉ ES TCP/IP?
49
El segundo objetivo es interconectar distintas redes físicas para formar lo
que al usuario le parece una única y gran red. Tal conjunto de redes interconectadas se denomina “Internetwork” o Internet.
Para poder interconectar dos redes, se necesita un ordenador que esté
conectado a ambas redes y que pueda retransmitir paquetes de una a la otra;
tal máquina es un “router”. El término “router” en IP también se usa porque
la función de encaminamiento es parte de la capa IP de la pila TCP/IP (ver
figura 3.1 de la página 49).
Figura 3.1: Dos conjuntos interconectados de redes, cada uno visto como una
red lógica.
Las propiedades básicas de un “router” son:
• Desde el punto de vista de la red, es un host normal.
• Desde el punto de vista del usuario, es invisible. El usuario sólo ve una
gran red.
50
CAPÍTULO 3. FAMILIA TCP/IP
Para ser capaz de identificar un host en la red, a cada se le asigna una
dirección, la dirección IP.
Cuando un host tiene múltiples adaptadores de red, cada adaptador tiene
una dirección IP separada. La dirección IP consta de dos partes:
dirección IP = <número de red><número de host>
El número de red lo asigna una autoridad central y es unívoco en Internet.
La autoridad para asignar el número de host reside en la organización que
controla la red identificada por el número de red.
3.1.2
Estructura Interna
El modelo básico de Internet es el modelo Cliente / Servidor .
Modelo Cliente / Servidor [11]
TCP es un protocolo orientado a conexión. No hay relaciones maestro/esclavo.
Las aplicaciones, sin embargo, utilizan un modelo Cliente / Servidor en las
comunicaciones.
Un Servidor es una aplicación que ofrece un servicio a usuarios de Internet;
un Cliente es el que pide ese servicio.
Una aplicación consta de una parte de servidor y una de cliente, que se
pueden ejecutar en el mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicación, que construye una
solicitud para ese servicio y se la envía al servidor de la aplicación que usa
TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el servicio
requerido y devuelve los resultados en forma de una respuesta. Generalmente
un servidor puede tratar múltiples peticiones (múltiples clientes) al mismo
tiempo.
La arquitectura de Internet está basada en capas. Esto hace más fácil implemetar nuevos protocolos. El conjunto de protocolos de TCP/IP, al estar
integrado plenamente en Internet, también dispone de este tipo de arquitectura.
3.1. ¿QUÉ ES TCP/IP?
51
Según se ha desarrollado en el capítulo 1 el modelo de capas TCP/IP es
algo diferente al propuesto por el modelo OSI.
Su representación conduce al término pila de protocolos. Se puede usar
para situar pero no para comparar funcionalmente TCP/IP con otras pilas
como SNA y OSI.
Capas de TCP/IP [10]
La arquitectura de Internet está basada en capas. Esto hace más fácil de
implementar nuevos protocolos. El conjunto de protocolos TCP/IP, al estar
integrado plenamente en Internet, también dispone de este tipo de arquitectura.
El modelo de capas de TCP/IP es algo diferente al propuesto por ISO (International Standard Organization) para la interconexión de sistemas abiertos
OSI.
Esta representación conduce al término pila de protocolos. Se puede usar
para situar, pero no para comparar funcionalmente TCP/IP con otras pilas
como SNA y OSI (ver figura 3.2 de la página 51).
Figura 3.2: Capas y Protocolos del Modelo TCP/IP.
52
CAPÍTULO 3. FAMILIA TCP/IP
3.2
3.2.1
Protocolos de Aplicación
Características de las Aplicaciones [7]
Todos los protocolos de alto nivel tienen algunas características en común:
• Pueden ser aplicaciones escritas por el usuario o aplicaciones estandarizadas y distribuidas con un producto TCP/IP. De hecho, la pila TCP/IP
incluye protocolos de aplicación tales como:
— TELNET para el acceso interactivo de una terminal a un host remoto.
— FTP (“File Transfer Protocol”) para transferencias de alta velocidad de un disco a otro.
— SMTP (“Simple Mail Tranfer Protocol”) como sistema de correo de
Internet. Esas son aplicaciones implementadas más ampliamente,
pero existen muchas otras.
• Usan UDP o TCP como mecanismo de transporte. Recordar que UDP
no es fiable ni ofrece control de flujo, por lo que en este caso la aplicación
ha de proporcionar sus propias rutinas de recuperación de errores y de
control de flujo. Suele ser más fácil desarrollar aplicaciones sobre TCP,
un protocolo fiable, orientado a conexión.
La mayoría de los protocolos de aplicación utilizan TCP, pero algunas
aplicaciones se construyen sobre UDP para proporcionar un mejor rendimiento
reduciendo la carga del sistema que genera el protocolo.
La mayoría de ellas usa el modelo de interacción Cliente/Servidor.
3.2.2
TELNET (“Emulación de Terminal”)
Una de las primeras utilidades que se encuentra a la interconexión de ordenadores es la posibilidad de acceder desde un único teclado y un único monitor
(por comodidad), y con un único cable, a varios ordenadores, alguno de los
cuales puede estar bastante distante (de manera que ciudadanos de un lado
de un continente puedan acceder sin desplazarse a superordenadores especializados).
3.2. PROTOCOLOS DE APLICACIÓN
53
El estándar en acceso remoto es TELNET.
Define un Terminal Virtual (NVT) y al inicio de la conexión negocia simétricamente (no hay cliente ni servidor en el protocolo, el cliente TELNET
y el servidor se tratan como iguales) opciones del mismo, tales como Terminal
Speed (1907), Terminal Type (1091), variables de entorno (1408). De esta
manera en cada sentido se envía mensajes DL/WILL, DON‘T/WONT .
Aunque pueda no parecerlo, se trata de un protocolo complejo (por su
flexibilidad) aunque muy bien diseñado.
Permite emular cualquier tipo de terminal, adaptándose a sus peculiaridades: manejo de la pantalla de distintos tamaños y con secuencias de control
diferentes, manejo del teclado, juegos de caracteres, velocidades y temporizadores.
De hecho probablemente en DARPA, cuando surge el proyecto Internet,
vieran como un beneficio a corto plazo el simplificar sus complejas instalaciones
con tantos ordenadores de tantas marcas.
Utiliza NVT ASCII (7 bits), aunque hay opción para usar 8 bits. Las
emulaciones más frecuentes son las (digital), y también es frecuente la IBM
TN 3270 (que usa EBCDIC y zonas reservadas en pantalla).
Hay muchas emulaciones para PC con distintas emulaciones de terminales
concretos, definición de teclas de función, etc.
Existe un carácter especial seleccionable para pasar a modo comando.
Los comandos son close, open, mode, display, set echo...
Se basa en TCP, soporta datos fuera de banda y utiliza el algoritmo de
NAGLE (nunca más de un segmento sin asentir).
3.2.3
FTP (“Transferencia de Ficheros”)
Permite intercambiar sobre TCP ficheros entre ordenadores con sistemas
operativos diferentes UNIX, VMS, NT, DOS.
Existen otras aplicaciones más simples como RCP (Remote Copy) o TFTP(sobre
UDP, para cargar workstations sin disco).
Pero FTP no es una simple aplicación de uso de TCP, tiene su complejidad
54
CAPÍTULO 3. FAMILIA TCP/IP
al tener un interfaz de usuario (con comandos o gráfico) y haber de manejar
distintos sistemas de ficheros (con sus directorios/.., ficheros de caracteres (de
7, 8 o 9 bits) u organizados en registros) y mecanismos de control de acceso.
Tiene dos conexiones: Una es para transferir comandos de control (al
puerto 21), gestionada por un autómata de estados, por lo que se procesa una
transferencia de cada vez, y se establece otra en sentido opuesto (se debe tener
cuidado con los firewalls) por cada fichero.
El interfaz de usuario permite ejecutar comandos de conexión: open,
close, user, password, de navegación por el sistema de directorio y transferencia.
Algunos se transforman en órdenes para el servidor y otros son órdenes
para ejecutar localmente.
La semántica de las operaciones hay que entenderla desde el cliente:
• get: traer al ordenador donde se está ejecutando el cliente.
• put: para enviar un fichero local hacia el servidor comando.
En general se supone que se está en el sistema de ficheros remoto:
• dir: para obtener el contenido de un directorio del servidor.
Hay versiones que permiten intercambio de ficheros entre dos máquinas remotas, sin pasar por el cliente, y la mayoría de los servidores recientes aceptan
la orden reconnect, de manera que si se corta una transferencia, no es necesario
empezar desde el principio.
3.2.4
DNS (“Domian Name Service”)
Muchos usuarios prefieren utilizar un nombre que sea más fácil de recordar
que una dirección numérica. Para hacer esto, un servidor debe transformar el
nombre en la dirección correcta.
Esto se hacía originalmente en Internet mediante una tabla única situada
en un servidor central, donde estaban contenidos todos los nombres de host.
3.2. PROTOCOLOS DE APLICACIÓN
55
Esto era posible debido a que sólo existían unos cientos de servidores, pero
debido a un gran aumento del número de servidores, fue necesario descentralizar el servidor de nombres y dividirlo en múltiples DNS (Servidores de
Nombres de Dominio).
Esto redujo el tiempo de respuesta del servidor, y disminuyó el tráfico en
la red.
La estructura del sistema de dominios es similar a la estructura de directorios del DOS o del UNIX. Es decir, es una estructura en forma de árbol, y
los archivos están identificados con una ruta de acceso.
La diferencia es que en el DNS la ruta empieza con el nombre del nodo en
vez del directorio raíz. Además, las rutas en un servidor DNS se escriben en
sentido inverso a las del DOS.
Desde el punto de vista de un programa el funcionamiento de este servicio
en muy simple. El programa proporciona un nombre de dominio, y el DNS le
devuelve su direccion IP.
Nombres de Dominio
El programa de usuario proporciona el nombre de dominio como una secuencia de palabras. Las palabras están listadas de izquierda a derecha, y la
que representa la zona más cercana al usuario es la primera.
Los programas DNS manipulan el nombre del dominio proporcionado por
el usuario de manera que sea fácilmente interpretado por otros programas.
Para los programas, cada nombre de dominio contiene una secuencia de
etiquetas, y cada etiqueta contiene un octeto de longitud seguido por una
cadena de caracteres de un subconjunto de caracteres . Este subconjunto está
formado por caracteres alfa (A-Z), dígitos (0-9) y un signo menos (-).
Arquitectura del DNS
DNS es un protocolo de la capa de aplicación y está clasificado como una
utilidad por convenio entre los usuarios y el administrador del sistema, en vez
de una parte integrada en los servicios de usuario.
Elementos de Programas de DNS
Siguiendo el modelo Cliente / Servidor, DNS consiste en un usuario, un
cliente, un servidor de nombres local y un servidor de nombres remoto. En
56
CAPÍTULO 3. FAMILIA TCP/IP
términos de las especificaciones, DNS consiste en un programa de usuario, un
cliente, un servidor de nombres, y un servidor de nombres remoto.
Cada host debe implementar un mecanismo utilizando el cliente DNS para
convertir nombres de host en direcciones IP.
Elementos de Datos de DNS
Un nodo DNS se representa por una etiqueta en el interior del nombre
de dominio, y todos los nodos tienen unos Archivos de Recursos (Resource
Records (RRs)) que contienen información que habilita el programa DNS para
encontrar el nombre de dominio solicitado.
Funcionamiento del DNS
Un programa manda una solicitud a un cliente (resolver) que contiene un
nombre de dominio para el cual se quiere la dirección IP asociada.
La solicitud se suele hacer con una subrutina, o un puntero hacia el nombre
de dominio en la pila del sistema. Los nombres de dominio en el cache del
Resolver (cliente) están en un formato estándar contenido en RRs.
Existen tres posibles respuestas de un Resolver al programa de usuario:
• Uno o más RRs conteniendo la dirección IP solicitada. En el caso de
que el nombre proporcionado fuera un alias, el Resolver simplemente
devuelve el nombre de dominio al que hace referencia el alias.
• Un mensaje de error en el nombre, que significa que el nombre proporcionado no existe.
• Un error de datos no encontrado, que significa que el nombre proporcionado existe, pero no se refiere a ninguna dirección IP.
Formato de un Mensaje DNS
El Protocolo DNS utiliza mensajes enviados por el UDP para trasladar
solicitudes y respuestas entre servidores de nombres.
La transferencia de zonas completas la hace el TCP.
El formato de un mensaje DNS tiene cinco partes:
• Cabecera define el formato de las otras partes.
3.2. PROTOCOLOS DE APLICACIÓN
57
• Pregunta es el objetivo a resolver.
• Respuesta es la resolución del objetivo.
• Autoridad es la referencia a un servidor autorizado.
• Adicional es información relacionada, pero no la respuesta.
3.2.5
SMTP (“Simple Mail Transfer Protocol”)
El corre electrónico (E-Mail) es probablemente la aplicación TCP/IP más
usada. Los protocolos de correos básicos proporcionan intercambio de correo
y mensajes entre hosts TCP/IP; se han añadido servicios para la transmición
de datos que no se pueden representar con texto ASCII de 7 bits.
Hay tres protocolos estándares que se aplican a este tipo de correo. Todos
son recomendados.
El término SMTP se emplea con frecuencia para referirse a la combinación
de los tres protocolos, por su estrecha interrelación, pero estrictamente hablando, SMTP es sólo uno de los tres. Normalmente, el contexto hace evidente de
cuál de los tres se está hablando. Cuando haya ambiguedad, se emplearán los
números STD o RFC. Los tres estándares son:
• Un estándar para el intercambio de correo entre dos ordenadores que
especifica el protocolo usado para enviar correo entre hosts TCP/IP.
Este estándar es SMTP.
• Un estándar para el formato de los mensajes de correo, contenido en dos
RFCs. Uno de ellos describe la sintaxis de las cabeceras y su interpretación, otro describe como un conjunto de documentos de tipos diferentes
del texto ASCII plano se pueden usar en el cuerpo del correo.
El nombre oficial para este estándar es MAIL.
• Un estándar para el encaminamiento de correo usando el DNS . El nombre oficial del protocolo para éste es DNS-MX.
El STD 10/RFC 821 establece que los dos datos enviados por SMTP son
ASCII de 7 bits, con el bit de orden superior a cero. Esto es adecuado para
58
CAPÍTULO 3. FAMILIA TCP/IP
mensajes en inglés, pero no para otros lenguajes o datos que no sean texto.
Hay dos estrategias para superar estas limitaciones:
• MIME (“Multipurpose Internet Mail Extensions”), definido en los RFCs
1521 y 1522, que especifica un mecanismo para codificar texto y datos
binarios en ASCII de 7 bits.
• SMTPSE (“SMTP Servie Extensions”), que define un mecanismo para
extender las posibilidades de SMTP más allá de las limitaciones impuestas por RFC 821.
Cómo funciona SMTP
SMTP está basado en la entrega punto a punto; un cliente SMTP contactará con el servidor SMTP del host de destino directamente para entregar el
correo. Guardará el correo hasta que se haya copiado con éxito en el receptor.
Esto difiere del principio de retransmisión común a muchos sistemas de
correo en las que el correo atraviesa un número de host intermedios de la
misma red y donde una transmisión con éxito implica sólo que el correo ha
alcanzado el host correspondiente al siguiente salto.
En varias implementaciones, existe la posibilidad de intercambiar correo
entre los sistemas de correo locales y SMTP. Estas aplicaciones se denominan
pasarelas o puentes de correo. Enviar correo a través de una pasarela puede
alterar la entrega punto a punto, ya que SMTP sólo garantiza la entrega fiable
a la pasarela, no al host de destino, más allá de la red local. La transmisión
punto SMTP en estos casos es host-pasarela, pasarela-host o pasarela-pasarela.
SMTP no define lo que ocurre más allá de la pasarela.
CSNET proporciona un interesante ejemplo de servicio de pasarela de
correo. Diseñada en principio como un servicio barato para interconectar
centros científicos y de investigación, CSNET opera una pasarela que permite
a sus suscriptores enviar y recibir correo en Internet con sólo un módem con
dial. La pasarela sondea a los suscriptores a intervalos regulares, les entrega
su correo y recoge el correo de salida. A pesar de no ser una entrega punto-a
-punto, ha demostrado ser un sistema muy útil (ver figura 3.3 de la página
59).
Pasarela SMTP
3.2. PROTOCOLOS DE APLICACIÓN
59
Figura 3.3: Modelo SMTP
Una pasarela SMTP es un host con dos conexiones a redes distintas. Las
pasarelas SMTP se pueden implementar de forma que conecten distintos tipos
de redes.
Una pasarela SMTP-RSCS/NJE se configura utilizando un fichero de configuración SMTP como el que se muestra abajo. Para configurar un host que
no es pasarela, no se debe especificar la sentencia GATEWAY (ver figura 3.4
de la página 59).
Figura 3.4: SMTP-RSCS/NJE Mail Gateway.
60
CAPÍTULO 3. FAMILIA TCP/IP
Figura 3.5: MIME (Multipurpose Internet Mail Extensions)
3.2.6
MIME (“Multipurpose Internet Mail Extensions”)
MIME es un estándar que incluye mecanismos para resolver estos problemas
en una forma con un alto grado de compatibilidad con los estándares RFC
822.
Como el correo atraviesa una pasarela se puede dirigir a otras pasarelas,
que pueden usar distintos protocolos de mensajería, en el caso general al emisor
no le es posible determinar el mínimo común denominador de las capacidades
de cada una de las etapas que atraviesa el mensaje. Por este motivo, MIME
asume el caso: transporte ASCII de 7 bits, que puede no seguir estrictamente
el RFC 821.
No define ninguna extensión al RFC 821, sino que se limita sólo a las
extensiones incluidas en el RFC 822. De esta forma, un mensaje MIME puede
ser enrutado a través de cualquier número de redes capaces de transmitir
mensajes RFC 821. Se describe en dos partes:
• Protocolos para incluir objetos distintos de los mensajes de correo US
ASCII , dentro de mensajes RFC 822. El RFC 1521 los describe.
• Un protocolo para codificar texto no US ASCII en los campos de cabecera según el RFC 822. El RFC 1522 lo describe.
Aunque el RFC 1521 proporciona un mecanismo adecuado para describir
dato de texto de mensajes X.400 en una forma no compatible con el RFC 822
3.2. PROTOCOLOS DE APLICACIÓN
61
no dice cómo se han de mapear las partes de los mensajes X.400 a las de los
mensajes MIME. Esta conversión está definida en los RFCs 1494, 1496 que
actualizan los protocolos de conversión de RFC 822 a X.400.
El MIME es un borrador. Su status es electivo.
¿Cómo funciona MIME?
Un mensaje MIME debe contener un campo de cabecera con el siguiente
texto:
MIME-Version: 1.0
Como en el caso de las cabeceras RFC 822, los nombres de los campos de la
cabecera MIME no son sensibles a mayúsculas y minúsculas, pero los valores
de los campos pueden serlo, según su nombre y contexto. Los valores de los
campos MIME señalados abajo no lo son, a menos que se diga lo contrario.
La sintaxis general para los campos de la cabecera MIME es la misma que
en RFC 822, por lo que el siguiente campo: MIME-Version: 1.0 (comentario).
Es válido ya que las frases entre paréntesis se tratan como comentarios y
se ignoran.
En MIME se definen cinco campos de cabecera.
3.2.7
Protocolos Para el Acceso a Internet
WWW (World Wide Web) [11]
Es un sistema de información hipermedia que ha revolucionado Internet en los
años 90.
Se basa en un protocolo de transferencia de información (HTTP), que utilizan los programas cliente (navegador o browser) para recuperar datos en
forma de páginas en un formato normalizado (HTTP) provenientes de servidores dispersos por Internet.
El usuario puede seleccionar otras páginas definidas mediante URLs que
aparecen resaltadas en las páginas como hiperenlaces mediante un interfaz
amigable.
La publicación es un método rápido (porque la actualización tiene efectos
62
CAPÍTULO 3. FAMILIA TCP/IP
inmediatos en quienes acceden a la información) y económico de poner información a disposición de cualquiera (en todo el mundo) que toma la iniciativa
(igualdad de oportunidades) de pedirla.
El modelo inicial de navegar de página en página buscando información
se ha enriquecido con la proliferación de herramientas de búsqueda (spiders,
crawlers, robots) así como el acceso a páginas generadas dinámicamente como
respuesta a consultas interactivas (CGI).
Las capacidades iniciales de visualización se han extendido con la evolución de HTML y la aparición de otros lenguajes para representación de objetos
tridimensionales (VRML), ejecución en local de aplicaciones (JAVA) aumentando la interactividad.
La riqueza del entorno ha provocado una demanda para incorporarle características de seguridad mejorada (SSL) que permitan extender el modelo de
acceso a la información a aspectos que pueden cambiar tanto el mundo como
el comercio electrónico (SET).
Protocolo HTTP (HyperText Transfer Protocol)
Es un protocolo sin estado: el servidor no conoce anteriores consultas del
clientes. No sabe qué ha pedido antes, ni qué puede pedir en el futuro.
Para guardar el estado hay que usar cookies.
El cliente navega libremente y en cada transacción trae un documento:
• Inicia una conexión .
• Se trae (si puede) el documento.
• Cierra la conexión.
Si la página tiene varios componentes (gráficos), cada uno supone una conexión (por defecto hacen 4 concurrentes) aunque sea contra el mismo servidor.
Está pensado para sistemas de información hipermedia distribuido y colaborativo, aunque su uso se extiende a otras aplicaciones. Surge en WWW en
1990.
La primera versión permitía simplemente transferencia de datos en bruto
por Internet, HTTP siguiente mejora al incorporar formato tipo MIME con
3.2. PROTOCOLOS DE APLICACIÓN
63
metainformación respecto de los datos y modificadores en la semántica petición
/ respuesta.
Pero causa problemas de prestaciones en el servidor backoff de cada conexión, una conexión por elemento de la página en lugar de una única.
El cliente envía un método, URI y versión del protocolo, y después pueden
ir modificadores de la petición en formato MIME con información sobre las
capacidades del cliente y el posible contenido del cuerpo. Acaba la petición
una línea en blanco.
La evolución es constante, incorporando cosas como que el cliente no tenga que esperar a recibir una respuesta del servidor para enviar una nueva
petición, que las cookies se normalicen o que se propongan un mecanismo de
autenticación mediante extracto.
Aunque no ha tenido mucha difusión, SUN propuso WebNFS, un protocolo
alternativo para descargar bajo demanda sólo partes de la página a visualizar
de manera que según el usuario avanza va descargando más partes del documento (con HTTP han de bajarse completas, y si los gráficos no tienen su
tamaño definido, los visores no visualizan nada hasta tenerlos. Por todo ello,
se recomienda que las páginas sean pequeñas y que para documentos grandes
se emplee Acrobat o Envoy).
HTTP es un protocolo rico y complejo que sigue en evolución. HTTPng
tendrá características que permitan utilizarlo para aplicaciones distribuidas de
otros tipos, con redirección a otros protocolos para audio/video (no necesariamente sobre transporte TCP) y con nivel de presentación.
Protocolo HTML (Hyper Text MarkUp Lenguaje)
Es un lenguaje basado en marcas para identificar las partes del documento.
Define la estructura del documento, no su apariencia. El programa cliente
interprerta el documento recibido (y recupera todos sus componentes gráficos
sino se ha optado por prescindir de las imágenes) y lo visualiza, por lo que es
el navegador quien decide la apariencia final.
No todos los navegadores muestran igual documento. Es más, algunos si
detectan algún defecto en la secuencia de códigos HTML de la página optan
por no visualizarla.
La documentación se genera con editores (basta uno de texto plano, aunque
64
CAPÍTULO 3. FAMILIA TCP/IP
conforme se añade riqueza van siendo necesarios otros especializados y con
capacidad de gestionar el conjunto de las páginas).
Se almacena en los servidores y los clientes solicitan, recuperan y muestran
el documento elegido. Además también pueden recuperarse para otros fines,
como indexar la información.
Es un meta-lenguaje formal sin semántica, que se concreta mediante DTDs
(Document Type Definitions) que definen la información de estilo para formatear su presentación.
Los datos y la estructura son independientes, esto es bueno cuando grupos
de personas colaboran en introducir información que debe tener apariencia
similar, a diferencia de los procesadores WYSIWYG.
Extendiendo HTML
Los documentos se pueden clasificar en:
• Estáticos: Sólo cambian cuando el autor modifica el fichero.
• Dinámicos: Páginas creadas por el servidor en el momento que le llega
la petición, por programa que se ejecutan en el servidor (CGI), y que
toman información, de una base de datos y la muestran mediante una
página HTML.
• Activos: Una aplicación en el cliente actualiza la presentación. La aplicación se descarga desde el servidor, con el que interactúa.
Hay un tag para forzar que se refresque el contenido periódicamente (el
browser vuelva a cargar las páginas). Puede utilizarse para recuperar páginas estáticas que se sabe que el servidor cambia cada cierto tiempo pero que
no se generan dinámicamente en cada petición (por ejemplo, un servidor de
teletipos). Alto gasto de ancho de banda.
La generación de documentos activos se basa en que al descargarla se
bajan instrucciones interpretadas por el navegador (scripts) o aplicaciones
ejecutables.
Los scripts permiten crear sencillas aplicaciones que respondan a ciertos
eventos que captura el navegador y tienen el control sobre lo que visualiza o
invoca.
3.2. PROTOCOLOS DE APLICACIÓN
65
Netscape incorporó a su navegador LiveScript, que junto con SUN hizo
que evolucionara comercialmente a JavaScript. Sólo se parece a JAVA en la
sintaxis y el nombre.
Las instrucciones vienen en la propia página HTML en tags que solo interpretan algunos navegadores.
La alternativa de Microsoft es VBScript. EXMAscript parece ser la vía
hacia la normalización de esta rápida forma de aportar interactividad.
Protocolo Firewalls (Cortafuegos)
Uno de los principales problemas de seguridad son los accesos externos no autorizados a la información almacenada en los ordenadores, ya estén dedicados
a servir información a Internet o bien estén en las redes privadas conectadas
a Internet aunque sin intención de ser accedidos desde ella. Por ello hay que
definir una política de accesos e implementarla, a ser posible en un punto único
(es más fácil vigilar una puerta que cien) que deseablemente debe ser invisible
e inaccesible desde el exterior.
Los cortafuegos (firewalls) son sistemas o grupos de sistemas que implementan una política de control de acceso entre dos redes, prohibiendo o permitiendo explícitamente una determinada comunicación, en función del lugar
de procedencia, el tipo de servicio o los parámetros que se configuren.
Estos dispositivos se colocan en el acceso de una red considerada segura a
otra que se considera insegura (como Internet), de modo que se controlan los
mensajes que pasan de una a otra y se permite su progresión o no.
Este control se realiza de muy diversas maneras (por tipo de servicio, por
usuario, por direcciones de origen y/o destino) Además, la mayoría de los
cortafuegos informan de los intentos de acceso no permitido, estableciendo acciones de alarma al detectarse actividades sospechosas, y generan estadísticas
varias.
El firewall constituye un punto único donde fijar toda la seguridad, en
lugar de obligar a una más cuidadosa gestión de todos los sistemas, por ello
debe ser un elemento de la máxima confianza, cuestión fundamental a la hora
de su elección.
Por ser los elementos más expuestos a ataques (deberían ser transparentes
66
CAPÍTULO 3. FAMILIA TCP/IP
para evitarlo),deben someterse a auditorías periódicas, de manera que sean
realmente eficaces en una detección precoz de problemas que puedan afectar
la integridad (accesos fraudulentos) o a las prestaciones (tráfico que deteriore
la capacidad del enlace con Internet).
Tipos de Cortafuegos (Firewalls)
Se podrían clasificar de la siguiente manera (aunque los productos concretos pueden cumplir varias de estas funciones simultáneamente):
• Filtrado de paquetes: se trata de routers con reglas que permiten o
impiden pasar a datagramas según ciertas características (entrantes, a
puertos o deseados). Son muy rápidos (trabajan a muy bajo nivel). Los
más sofisticados incluso entienden los protocolos FTP comprobando la
secuencia de mensajes y el estado de las conexiones. Los routers bien
configurados hacen esto:
Nivel de aplicación (proxies): un host con dos interfaces (dual comed)
pero que no encamina ofrece información al exterior y realiza las consultas
que solicitan los clientes de la red privada como si partieran de él. Al ser
intermediarios a muy alto nivel, han de configurarse para cada aplicación, y
se consideran más seguros, seguramente porque un fallo por omisión supone
una falta de servicio, no una filtración (ver figura 3.6 de la pág. 66).
Figura 3.6: Firewall: Proxy
Topología Típica
Aspectos Fundamentales
Los aspectos principales son:
3.2. PROTOCOLOS DE APLICACIÓN
67
Figura 3.7: Topología Típica
• El firewall debe ser invisible (no se ataca lo inalcanzable).
• Debe estar bien configurado (dado que confiamos en su buena configuración en lugar de en la configuración máquina por máquina): deshabilitarlo todo y luego ir habilitando lo que vaya haciendo falta:
— A qué máquinas se puede acceder desde fuera (rutas, listas de control de acceso).
— Qué servicios ofrecen las máquinas accesibles y desde dónde.
— Quiénes pueden salir y cómo (proxies, socks). Las direcciones origen, incluso desde la red privada, deben ser direcciones InterNIC.
— Pasarela de correo electrónico.
• Monitorizar el tráfico para detectar plantillas de ataques.
• Almacenar logs de acceso y comprobarlos. (Si ocurre lo peor, aún serlo
más si no sabés cuánto te ha afectado). Suele ser necesario un filtrado
automático y programar eventos.
• Definir procedimientos de auditoría y ejecutarlos periódicamente.
68
CAPÍTULO 3. FAMILIA TCP/IP
Protocolo GOPHER (Navegación por menús)
Desarrollado en Minnesota, pretende ofrecer un acceso homogéneo a recursos
distribuidos por la red. En esa universidad que tiene por mascota unas ardillas
locales (), querían un interfaz sencillo para que los nuevos alumnos pudiesen
acceder a toda información (directorios CSO, normas, etc). Y crearon este sistema para que fuera por (go fer) la información sin necesidad de entrenamiento
previo.
Su novedad es que su interfaz senillo abstrae recursos físicos.
Objetos tipados distribuidos, seleccionados desde menú, con un visor para
cada uno, se ven igual.
Este objetivo de permitir un acceso homogéneo a recursos de red de tipos
variados es similar (y coetáneo) al de Berners-Lee con su WWW. Pero en este
caso el interfaz del cliente está basado en menús: basta seleccionar el número
de la opción elegida.
Fuerza una estructura jerárquica de la información: hay que registrar cada
servidor para que aparezca en el menú y lo puedan elegir (quién es administrado, localización, tema), lo que supone, salvo que se pida lo contrario, ser
enlazado en Verónica.
La universidad de Minnesota es la autoridad mundial. En Europa el enganche principal está en funet.fi.
También se parece en que maneja objetos tipados, pero o son directorios
o son información, no mezcla contenido con referencias (y menos con gráficos
entre enlaces). Tiene incluso bookmark para que anote sus enlaces favoritos,
y no es case sensitive (no distingue mayúsculas de minúsculas). Hay clientes
con capacidad gráfica y muestran cada objeto final en una ventana ( como
WWW en su origen).
Incluso en 1992 se incorpora con Gopher + que al seguir un enlace se pueda
traer información con el tipo que quiera (texto, Postscript). Pero, igualmente
no se compara con WWW, es mucho rival.
3.2. PROTOCOLOS DE APLICACIÓN
3.2.8
69
Protocolos Para La Gestión de Red
SMI (“Structure and Identification of Management Information”)
El SMI define las reglas para describir los objetos gestionados y cómo los
protocolos sometidos a la gestión pueden acceder a ellos. La descripción de los
objetos gestionados se hace utilizandos un subconjuneto de ASN.1 (“Abstract
Syntax Notation 1”, Estándar ISO 8824) es un lenguaje de descripción de
datos. La definición del tipo de objeto consta de cinco campos:
• Objeto: Nombre textual, llamado descriptor del objeto, para el tipo del
objeto, junto con su correspondiente identificador de objeto definido abajo.
• Sintaxis: La sintaxis abstracta para el tipo de objeto. Las opciones
son SimpleSyntax (entero, octeto de caracteres, identificador de objeto,
Null), ApplicationSyntax (dirección de red, contador, escala, tick, opaco)
y otro tipo de sintaxis de aplicación.
• Definición: Descripción textual de la semántica del tipo.
• Acceso: Sólo lectura, sólo escritura, lectura-escritura o inaccesible.
• Status: obligatorio, opcional u obsoleto.
Como ejemplo podemos tener: (ver figura 3.8 de la página 69)
Este ejemplo muestra la definición de un objeto contenido en el MIB(“Management
Information Base”). Su nombre es sysDescr y pertenece al grupo sistema.
Un objeto gestionado no sólo ha de ser descrito, también debe ser identificado. Esto se hace utilizando el Identificador de Objetos (“Object Identifier”)
ASN.1 como si fuera un número de teléfono, reservando grupos de números
para distintas localizaciones. En el caso de la gestión de red para TCP/IP,
el número fue 1.3.6.1.2 y SMI lo usa como base para la definición de nuevos
objetos.
Este número se obtiene al unir a grupos de números con el siguiente significado:
• El primer grupo define al nodo administrador:
70
CAPÍTULO 3. FAMILIA TCP/IP
Figura 3.8: Definición de un objeto contenido en el MIB.
— (1) para ISO.
— (2) para CCITT.
— (3) para la unión ISO-CCITT.
• El segundo grupo para el nodo administrador ISO define (3) para su uso
por parte de otras organizaciones.
• El tercer grupo define (6) para su uso por parte del DoS (“U.S. Departament of Defense”).
• En el cuarto grupo, el DoD no ha indicado cómo ha de gestionarse su
grupo correspondiente por lo que la comunidad de Internet ha asumido
(1).
• El quinto grupo fue aprobado por el IAB para ser:
—
—
—
—
(1)
(2)
(3)
(4)
para
para
para
para
el uso del directorio OSI en Internet.
la identificación de objetos con propósitos de gestión.
la identificación de objetos con fines experimentales.
la identificación de objetos para uso privado.
MIB (“Management Information Base”)
El MIB define los objetos que pueden ser gestionados para cada capa en el
protocolo TCP/IP. Hay dos versiones, MIB-I and MIB-II, está clasificado
3.2. PROTOCOLOS DE APLICACIÓN
71
ahora como protocolo histórico con status no recomendado ( ver figura 3.9 de
la página 71)
Figura 3.9: Definición de grupo.
Cada nodo gestionado soporta sólo los grupos apropiados. Por ejemplo, si
no hay pasarela, el grupo EGP(“Protocolo de Puerta de Enlace Exterior”) no
tiene por qué estar incluido. Pero si un grupo es apropiado, todos los objetos
en ese grupo deben estar soportados.
La lista de objetos gestionados definidos deriva de aquellos elementos considerados esenciales. Este enfoque; consistente en tomar sólo los objetos esenciales no es restrictivo, ya que el SMI proporciona mecanismos de extensibilidad
tales como la definición de una nueva versión de MIB o de objetos privados o
no estandarizados.
El grupo de interfaces contiene dos objetos de nivel superior: el número de
interfaces del nodo (ifNumber) y una tabla con información de estas (ifTable).
Cada entrada de la tabla (ifentry) contienen los objetos de esa interfaz. Entre
ellos, el tipo de interfaz (iftype) se identifica en el árbol MIB con notación
ASN.1 como 1.3.6.1.2.1.2.2.1.3 (ver figura 3.10 de la página 72)
72
CAPÍTULO 3. FAMILIA TCP/IP
Figura 3.10: Indetificador de Objetos.
3.2. PROTOCOLOS DE APLICACIÓN
73
SNMP (“Simple Network Management Protocol”)
SNMP añadió las mejoras de muchos años de experiencia con SGMP y le
permitió trabajar con los objetos definidos en el MIB con la representación
del SIM.
NMS (“Network Management Station”) se define como una estación que
ejecuta aplicaciones de gestión de red (NMA) que monitorizan y controlan
elementos de red (NE) como hosts, pasarelas, y servidores de terminales.
Estos elementos usan un agente de gestión (MA) para realizar estas funciones. El SNMP para la comunicación de información entre las NMS y los
MA (ver figura 3.11 de la página 73).
Figura 3.11: Componentes de SNMP.
Todas las funciones de los MA son sólo alteraciones (set) o consultas (get)
de variables, limitando así el número de funciones esenciales a dos simplificando el protocolo. En la comunicación NE-NMS, se utlizan un número limitado
de mensajes no solicitados (traps) para informar de eventos asíncronos. Del
74
CAPÍTULO 3. FAMILIA TCP/IP
mismo modo, en un intento de mantener la sencillez, el intercambio de información requiere sólo un servicio de datagramas y cada mensaje se envía en
un único datagrama. Esto significa que SNMP es adecuado para una gran
vairedad de protocolos de transporte.
Las entidades que residen en las NMS y los elementos de red que se comunican con otros a través de SNMP se denominan entidades de . Los procesos
que las implementan son las entidades de protocolo. Un agente SNMP con
un conjunto arbitrario de entidades es una comunidad SNMP, en la que cada entidad se nombra con un ristra de bytes que debe ser unívoca para esa
comunidad.
CMOT (“Common Management Information Protocol over TCP/IP”)
CMOT es la arquitectura de gestión de red desarrollada con vistas a mantener una relación más estrecha con el CMIP (“Common Management Information Protocol”) de OSI (“Open System Interconnection”). Con esta premisa,
CMOT se divide en un modelo organizacional, funcional e informacional.
En los dos primeros el mismo concepto de OSI se usa en CMOT y SNMP.
La identificación de objetos se efectúa empleando el subarbol relacionado con
DoD(“U.S. Departament of Defense”) con subdivisiones en lo que respecta
a gestión, derectorio, experimental y privado. Todos los objetos de gestión
se definen en el MIB (“Management Information Base”), y se representan
con el SMI (“Structure and Identification of Management Information”), un
subconjunto de ASN.1 (“Abstract Syntax Notation 1 de OSI”) (ver figura 3.12
de la página 74).
En el mundo OSI, la gestión sólo se puede producir sobre conexiones establecidas por completo entre managers y agentes. CMOT permite el intercambio de información de gestión usando servicios no orientados a conexión
(datagramas). Pero para mantener la misma interfaz del servicio que requiere CMIP, llamada CMIS (“Common Management Information Services”) la
arquitectura de CMOT define una nueva capa, el LPP (“Lightweigt Presentation Protocol”). Esta capa se ha definido para proporcionar los servicios de
presentación quenecestia CMIP de tal forma que la totalidad de los estándares
OSI para la gestión de red se adapten a la arquitectura TCP/IP de CMOT
(ver figura 3.13 de la página 75).
3.2. PROTOCOLOS DE APLICACIÓN
Figura 3.12: Componentes de CMIP sobre TCP/IP.
Figura 3.13: LPP (Lightweight Presentation Protocol).
75
76
CAPÍTULO 3. FAMILIA TCP/IP
El DPI de SNMP (“Dsitributed Programming Interface”)+
SNMP define un protocolo que permite efectuar operaciones en una serie de
variables. Este conjunto de variables (el MIB) y un conjunto básico o núcleo
está predefinidas. Sin embargo, el diseño del MIB cuenta con la posibilidad de
expandir este núcleo. Desafortunadamente, las implementaciones convencionales de agentes SNMP no suministrarán mecanismos para que el usuario cree
nuevas variables convencionales de agentes SNMP no suministran mecanismos
para que el usuario cree nuevas varibales.
El DPI enfoca esta cuestión proporcionando mecanismos que permiten al
usuario añadir, borrar o reemplazr dinámicamente variables en el MIB local sin
tener que recompilar el agente SNMP. Esto es posible gracias a un subagente
que se comunica con el agente a través del DPI.
El DPI de SNMP habilita a un proceso para registrar la existencia de
una variable MIB en el agente SNMP, que pasará la solicitud al subagente. El
subagente devuelve a su vez al respuesta apropiada al agente. Éste, finalmente,
empaqueta una respuesta SNMP y envía la respuesta a la NMS que inició la
solicitud. El subagente es completamente invisible (transparente) para la NMS
(ver figura 3.14 de la página 76).
La comunicación entre el agente SNMP y sus clientes (subagentes) tiene
lugar sobre un canal. Típicamente se trata de una conexión TCP, pero se
pueden emplear otros protocolos de transporte orientados a conexión.
SNMPv2 (“Simple Netword Management Protocol Version 2”)
La infraestructura de la versión 2 de SNMP se publicó en abril de 1993 es un
stándar con status electivo.
Esta infraestrcutura consta de las siguientes disciplinas:
• SMI (“structure of Management Information”): Definición del subconjunto de ASN.1 para la creación de módulos MIB.
• Convenios textuales: Definiciión del conjunto inicial de convenios textuales disponible para todos los módulos MIB.
• Operaciones del protocolo: Definición de las operaciones del protocolo
con respecto a las PDUs enviadas y recividas en el RFC 1448.
3.2. PROTOCOLOS DE APLICACIÓN
77
Figura 3.14: Descripción del DPI de SNMP.
• Mapeados de transporte: Este MIB define los objetos gestionados que
determinan el comportamiento de la entidad SNMPv2.
El Nuevo Modelo Administrativo
Uno de los propósitos del modelo admistrativo para SNMP v2 es definir como la
infraestructura administrativa se aplica para llevar a cabo una administración
de red efectiva en diversas configuraciones y entornos.
El modelo administrativo implica el uso de diferentes entidades en el intercambio de mensajes. De esta forma, representa abandonar el basado en
comunidades del SNMP v1 original. Al identificar sin ambiguedad al emisor y
al receptor de cada mensaje, esta nueva estrategia mejora el esquema histórico
de comunidades ya que permite un diseño de control de acceso a los datos más
conveniente así como el empleo de protocolos de seguridad asimétricos (con
llave pública) en el futuro (ver figura 3.15 de la página 78).
78
CAPÍTULO 3. FAMILIA TCP/IP
Figura 3.15: Formato del Mensaje SNMPv2.
3.2.9
Otros Protocolos de Aplicación
Hay una serie de otros protocolos de aplicación que no están documentados
en los RFCs, pero que se implementan en diversos productos. Los siguientes
secciones describen algunos de estos protocolos.
NDB (“Network Database”)
El protocolo NDB (“Netwoek Database”) no es un estándar de Internet.
NDB define un protocolo para orientado a sistemas de bases de datos
relacionales en entorno TCP/IP. Tiene los siguientes objetivos:
• Permitir a los usuarios y aplicaciones de cualquier estación de trabajo o
mainframe lanzar sentencias SQL, bien de modo interactivo o embebidas
en los programas de aplicación, para acceder a cualquier base de datos
de cualquier sistema operativo.
• Distribuir las aplicaciones de la base de datos de un host a una máquina
concreta.
NDB se construye sobre RPC (“Remote Procedure Call”), en cualquiera
3.2. PROTOCOLOS DE APLICACIÓN
79
de sus implementaciones, utilizando el modelo Cliente / Servidor (ver figura
3.16 de la página 79).
Figura 3.16: Componentes del Protocolo NDB.
1. La capa del Cliente / Servidor RPC : Se ocupa del transporte de datos a
través de redes TCP/IP: creación de zócalos, interfaces con PORTMAP,
enviar y recibir datos.
2. La capa del Cliente / Servidor NetDB: gestiona Unidades de Trabajo
(“Units of Work”, UOWs), multi-hilos, además de conversión de datos
del/al formato ASN.1 (“Abstract Syntax Notation 1”).
3. La capa de la utilidad DB: Sirve de interfaz con la base de datos real.
NIS (“Network Information Systems”)
El NIS no es un estándar de Internet. Fue desarrollado por Sun Microsystems.
Originalmente se le conocía como las Páginas Amarillas.
Es un sistema de bases de datos distribuidas que permite compartir la
información del sistema de entornos basados en UNIX o AIX. Sus ventajas
son:
• Proporcina un espacio de nombres consistente para los identificadores de
usuario y grupo en un elevado número de sistemas.
80
CAPÍTULO 3. FAMILIA TCP/IP
• Reduce el tiempo y esfuerzo del usuario para la gestión de IDs de usuarios
y grupo, así como de la propiedad de sistemas de ficheros NFS.
• Reduce el tiempo y esfuerzo de los administradores del sistema para la
gestión de IDs de usuario y grupo, así como de la propiedad de sistemas
de ficheros NFS.
NIS utiliza el modelo Cliente / Servidor. Un dominio NIS es una colección
de sistemas consistente en:
Servidor NIS maestro:
Mantiene Mapas, o bases de datos, que contienen información del sistema
tal como passwords y nombres de hosts.
Servidor(es) NIS esclavo(s):
Se pueden definir para aliviar al servidor NIS maestro de su carga de
trabajo o cuando este no está disponible.
Cliente(s) NIS:
Son el resto de los sistemas servidos por serviores NIS.
Los clientes NIS no mantienen mapas NIS, interrogan a los servidores NIS
acerca de la información del sistema. Cualquier cambio en el mapa NIS de un
sistema se efectúa sólo en el servidor NIS maestro, que a su vez propaga los
cambios a los servidores NIS esclavos.
La velocidad de una red determina el rendimiento y disponibilidad de los
mapas NIS. Al usar NIS, se debería ajustar el número de esclavos con el fin
de optimizar estos parámetros.
Intefaz de zócalos CICS
El CCICS (“Customes Information Control System”) es un sistema de procesamiento de alto rendimiento. Se desarrolló en IBM.
CICS es el sistema OLTP (“Online Transaction Processing”) más usado
del mercado en la actualidad. Proporciona a los programas de transacciones
para comunicaciones de datos (con SNA) y bases de datos (con VSAM, IMS
o DB2 ).
3.3. PROTOCOLOS DE LA CAPA DE ENLACE [?]
81
Dada la necesisdad de interoperabilidad entre protocolos de red heterogéneos, existe el requerimiento de mejorar la interfaz CICS de comunicación
de datos para incluir soporte para TCP/IP además de SNA.
RFC 1006
Los programas escritos originalmente para el XTI (“X/Open Transport Interface”) pueden usarse con la pila TCP/IP. El RFC 1006 define un componente
para el mapeo entre protocolos de modo que estos programas se puedan utilizar
en una red TCP/IP.
3.3
3.3.1
Protocolos de la Capa de Enlace [11]
La Capa de Enlace de Datos en Internet
Internet consiste en máquinas individuales (hosts y enrutadores) y la infraestructura de comunicación que las conecta. Dentro de un solo edificio, las LANs
se usan ampliamente para la interconexión, pero la mayor parte de la infraestructura de área amplia está construida a partir de líneas alquiladas punto a
punto.
En la práctica, la comunicación punto a punto se utiliza principalmente en
dos situaciones.
Primero, miles de organizaciones tienene una o más LANs, cada una con
cierta cantidad de hosts (computadoras personales, estaciones de trabajo, servidores y otros) junto con un enrutador (o un puente que funcionalmente
es parecido). Con frecuencia, los enrutadores se interconectan mediante una
LAN de red dorsal. Por lo general, todas las conexiones al mundo exterior
pasan a través de uno o dos enrutadores que tienen líneas alquiladas punto a
punto a enrutadores distantes. Son estos enrutadores y sus líneas arrendadas
las que conforman las subredes de comunicación sobre las que está cosntruida
Internet.
La segunda situación en la que las líneas punto a punto desempeñan un
papel importante en Internet son los millones de personas que tienen conexiones domésticas a Internet a través de módems y líneas de acceso telefónico.
Generalmente lo que ocurre es que la PC doméstica del usuarios llama a un
82
CAPÍTULO 3. FAMILIA TCP/IP
enrutador del proveedor de servicios de Internet y luego actúa como host de
Internet.
Este método de operación no es diferente de tener una línea alquilada entre
la PC y el enrutador excepto que la conexión se termina cuando el usuario
termina la sesión.
Tanto para la conexión por línea alquilada de enrutador a enrutador como
para la conexión de acceso telefónico de host a enrutador, en la línea se requiere
un protocolo de enlace de datos punto a punto para el entramado, el control
de errores y las demás funciones de la capa de enlace de datos que se describe
en este capítulo. El que se utiliza en Internet se conoce como PPP (Protocolo
Punto a Punto).
3.3.2
Ejemplos de Protocolos de Enlace de Datos
HDLC: Control de Enlace de Datos de Alto Nivel
En esta sección examinaremos un grupo de protocolos íntimamentene relacionados que, a pesar de ser un poco antiguos se siguen utilizando ampliamente
en redes de todo el mundo. Todas se derivan del primer portocolo de enlace de
datos usado en los mainframes de IBM : el protocolo SDLC (Control Síncrono
de Enlace de Datos). Después de desarrollar SDLC, IBM lo sometió al ANSI
y a la ISO para su aceptación como estándar de EE.UU. e internacional, respectivamente. El ANSI lo modificó convirtiéndolo en ADCCP (Procedimiento
Avanzado de Control de Comunicación de Datos), y la ISO lo modificó para
convertirlo en HDLC (Control de Enlace de Datos de Alto Nivel).
Lo agradable de los estándares es que hay muchos de donde escoger.
Todos estos protocolos se basan en el mismo principio. Todos son orientados a bits y usan el relleno de bits para lograr la transparencia de los datos.
Difieren sólo en aspectos menores, aunque irritantes. El análisis de protocolos
orientados a bits que se hará a continuación pretende ser una introducción
general.
El campo de dirección es de importancia primordial en las líneas con múltiples terminales, pues sirve para identificar una de las terminales. En líneas
punto a punto a veces se usan para distinguir los comandos de las respuestas.
El campo control se utiliza para números de secuencia, confirmaciones de
3.3. PROTOCOLOS DE LA CAPA DE ENLACE [?]
83
recepción y otros propósitos.
El campo de datos puede obntener cualquier información y puede tener una
longitud arbitraria, aunque la eficiencia de la suma de verificación dismunuye
conforme al tamaño de la tram aumente, debido a lamayor probabilidad de
múltipels errores en ráfaga.
El campo suma de verificación es un código de redundancia cíclica.
La trama está delimitada por otra secuencia de bandera (01111110). En
líneas punto a punto inactivas se transmiten secuencias de bandera continuamente. La trama mínima contiene tres campos y un total de 32 bits, y excluye
a las banderas de ambos lados.
Hay tres tipos de tramas: de información, de supervisión y no numeradas.
El protocolo emplea una ventana corrediza, con un número de secuencia de 3
bits. En cualquier momento pueden estar pendientes hasta siete tramas sin
confirmación de recepción.
El campo secuencia es el número de secuencia de la trama. El campo siguiente es una confirmación de recepción superpuesta. Sin embargo, todos los
protocolos se apegan a la convención de que, en lugar de superponer el número de la última trama recibida correctamente, usan el número de la primera
trama no recibida (es decir, la trama esperada). La desición de utilizar la
última trama recibida o la siguiente trama esperada es arbitraria; no importa
la convención que se utilice, siempre y cuando se use con consistencia.
figuraaaaa3-25
El bit P/F (S/F) significa Sondeo / Final (Poll / Final). Se utiliza cuando una computadora o concentrador está sondeado un grupo de terminales.
Cuando se usa como P, la computadora está invitando a la terminal a enviar
datos. Todas las tramas enviadas por la terminal, excepto la última, tienen el
bit P/F establecido en P. El último se establece en F.
En alguno protocolos el bit P/F sirve para obligar a la otra máquina a
enviar de inmediato una trama de supervisión, en lugar de esperar tráfico de
regreso al cual superponer la información de la ventana. El bit también tiene
algunos usos menores en conexión con las tramas sin número.
84
CAPÍTULO 3. FAMILIA TCP/IP
PPP: Protocolo Punto a Punto
Internet necesita de un protocolo punto a punto para diversos propósitos,
entre ellos para el tráfico enrutador a enrutador. Este protocolo PPP, realiza
detección de errores, soporta múltiples protocolos, permite la negociación de
direcciones de IP en el momento de la conexión, permite la autenticación y
tiene muchas otras funciones.
PPP proporciona tres características:
1. Un método de entramado que delinea sin ambiguedades el final de una
tama y el inicio de la siguiente. El formato de trama también maneja la
detección de errores.
2. Un protocolo de control de enlace para activar líneas, probarlas, negociar
opciones y desactivarlas ordenadamente cuando ya no son necesarias.
Este protocolo se llama .LCP (Protocolo de Control de Enlace) Admite
circuitos síncronos y asíncronos y codificaciones orientadas a bits y a
caracteres.
3. Un mecanismo para negociar opciones de capa de red con independencia
del protocolo de red usado. El método escogido consiste en tener un NCP
(Protocolo de Control de Red) distinto para cada protocolo de capa de
red soportado.
El formato de trama de PPP se escogió de modo que fuera muy parecido
al de HDLC, ya que no había razón para reinventar la rueda. La diferencia
principal entre PPP y HDLC es que el primero está orientado a caracteres,
no a bits. En particular, PPP usa el relleno de bytes en las líneas de acceso
telefónico con módems, por lo que todas las tramas tienen un número entero
de bytes. No es posible enviar una trama de 30.25 bytes, como con HDLC. No
sólo pueden mandarse tramas PPP a través de línea de acceso telefónico, sino
que también pueden enviarse a través de SONET o de líneas HDLC auténticas
oritnadas a bits.
Las fases por las que pasa una línea son: activada, usada y desactivada.
Esta secuencia, se aplica tanto a las conexiones por módem como a las de
enrutador a enrutador.
Se comienza con estado MUERTA, lo que significa que no hay una portadora de capa física y que no existe una conexión de capa física. Una vez
3.3. PROTOCOLOS DE LA CAPA DE ENLACE [?]
85
establecida la conexión física, la línea pasa a ESTABLECER. En ese punto
comienza la negociación se opciones LCP (Protocolo de Control de Enlace),
que de tener éxito, conduce a AUTENTICAR, ahora las dos partes pueden
verificar la identidad del otro, si lo desean.
Al entrar en la fase red, se invoca a NCP (Protocolo de Control de Red)
para configurar la capa de red. Si la configuración tiene éxito se llega a ABRIR
y puede comenzar el transporte de datos. Al terminar el transporte, la linea
pasa a la fase TERMINAR, de donde regresea a MUERTA al liberarse la
portadora.
Capítulo 4
Los Protocolos Más
Importantes de TCP/IP.
4.1
4.1.1
Protocolos de la Capa de Transporte
UDP: “Protocolo de Datagrama de Usuario”
El Protocolo UDP (User Datagram Protocol), proporciona aplicaciones con un
tipo de servicio de datagrama orientado a transacciones.
El servicio es muy parecido al protocolo IP en el sentido de que no es fiable
y no está orientado a la conexión.
El UDP es muy simple, eficiente e ideal para aplicaciones como el TFTP y
el DNS . Una dirección IP sirve para dirigir el datagrama hacia una máquina en
particular, y el número de puerto de destino en la cabecera UDP se utiliza para
dirigir el datagrama UDP a un proceso específico localizado en la cabecera IP.
La cabecera UDP también contiene un número de puerto origen que permite
al proceso recibido conocer como responder al datagrama.
Formato del Mensaje
El datagrama UDP contiene cuatro campos, que son Número del Puerto Origen, Número del Puerto de destino, Longitud del Mensaje y Checksum.
87
88
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Números de Puerto de Origen y Destino
Estos números, junto con las direcciones IP definen el punto final de la
comunicación. El número del puerto de origen, puede tener valor cero si no se
usa. El número del puerto de destino sólo tiene sentido en el contexto de un
datagram UDP y una dirección IP en particular.
El número de puerto de origen es un campo de 16 bits. El puerto de destino
tiene la misma longitud.
Longitud del Mensaje
Este campo tiene una longitud de 16 bits y contiene el número total de
octetos que forman el datagrama, incluída la cabecera.
Checksum
El uso de checksum es opcional, y este campo debe ponerse a cero si no es
utilizado.
Mientras que el checksum del datagrama IP sólo tiene en cuenta la cabecera
del mensaje, el UDP tiene su propio checksum para garantizar la integridad
de los datos. La longitud de este campo es de 16 bits, y está formado por la
suma de los campos del UDP, y algunos campos del IP.
Para incluir los campos IP, se construye una pseudo cabecera UDP. Esta
pseudo cabecera de 12 octetos se utiliza únicamente a efectos de calcular la
suma. [5]
4.1.2
TCP: “Protocolo de Control de Transporte”
TCP es un protocolo estándar. Su status es recomendado, pero en la práctica
cualquier implementación de TCP/IP que no se use exclusivamente para el
encaminamiento incluirá TCP. [5]
TCP proporciona una cantidad considerablemente mayor de servicios a
las aplicaciones que UDP, notablemente, la recuperación de errores, control
de flujo y fiabilidad.
Se trata de un protocolo orientado a conexión a diferencia de UDP. La
mayoría de los protocolos de aplicación de usuario, como TELNET y FTP,
usan TCP.
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
89
Zócalos
Dos procesos se comunican a través de zócalos TCP. El modelo de zócalo
proporciona a un proceso una conexión con un flujo full duplex de bytes con
otro proceso.
La aplicación no necesita preocuparse de la gestión de este canal, estos
servicios son suministrados por TCP.
TCP usa el mismo principio de puerto que UDP para conseguir multiplexación. Al igual que UDP, TCP utiliza puertos efímeros y bien conocidos.
Cada extremo de una conexión TCP tiene un zócalo que puede identificarse
con una medio asociación. Si dos procesos se están comunicando sobre TCP,
tendrán una conexión lógica identificable unívocamente por medio de los dos
zócalos implicados, es decir, con la combinación =TCP, dirección IP local
puerto local, dirección IP remota, puerto remoto=. (ver figura 4.1 de la página
87)
Figura 4.1: Conexión TCP- Procesos X e Y se comunican sobre una conexión
TCP que emplea datagramas IP.
90
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Concepto de TCP
El principal propósito de TCP es proporcionar una conexión lógica fiable entre
parejas de procesos.
No asume fiablididad de protocolos de niveles inferiores como IP, por lo
que debe ocuparse de garantizarla.
Básicamente lo podemos definir como:
Un protocolo orientado a conexión que proporciona un servicio de transporte fiable de un flujo de bytes entre aplicaciones. Es orientado a conexión o
sea que previo al intercambio de datos los extremos tienen que establecer una
conexión; fiable, porque garantiza la entrega ordenada del flujo de bytes entre
los extremos. [3]
TCP se puede caracterizar por los siguientes servicios que suministra a las
aplicaciones que lo usan.
• Transferencia de datos a través de un canal: Desde el punto de
vista de la aplicación, TCP transfiere un flujo continuo de bytes a través
de Internet. La aplicación no ha de preocuparese de trocear los datos en
bloques o en datagramas. TCP se encarga de esto al agrupar los bytes
en segmentos TCP, que se pasan a IP para ser retransmitidos al destino.
Además, TCP decide por sí mismo cómo segmentar los datos y puede
enviarlos del modo que más le parezca convenientes.
A veces, una aplicación necesita estar segura de que todos los datos pasados
a TCP han sido transmitidos efectivamente al destino. Por esta razón, se
define la función “push”. Esta función mandará todos los segmentos que sigan
almacenados al host de destino.
El cierre normal de la conexión también provoca que se llame a esta función,
para evitar que la transmisión quede incompleta.
• Fiabilidad: TCP asigna un número de secuencia a cada byte transmitido, y espera reconocimietno afirmativo ACK del TCP receptor. Si el
ACK no se recibe dentro de un intervalo de timeout, los datos se retransmiten. Como los datos se transmiten en bloques (segmentos TCP),
al host destino sólo se le envía el número de secuencia del byte de cada
segmento.
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
91
El TCP receptor utiliza los número de secuencia para organizar los segmentos cuando llegan fuera de orden, así como para eliminar segmentos duplicados.
• Crontrol de Flujo: El TCP receptor, al enviar un ACK al emisor,
indica también el número de bytes que puede recibir aún, sin que se
produzca sobrecarga y desbordamiento de sus buffers internos. Este
valor se envía en el ACK en la forma del número de secuencia más
elevado que se pueda recibir sin problemas. Este mecanismo se conoce
también como “mecanismo de ventanas” y se estudiará posteriormente
en este capítulo.
• Multiplexación: Se consigue usando puertos, al igual que en UDP.
• Conexiones lógicas: La fiabilidad y el control de flujo descriptos más
arriba requieren que TCP inicialice y mantenga cierta información de
estado para cada canal. La combinación de este estado, incluyendo zócalos, números de secuencia y tamaños de ventanas, se denomina conexión
lógica. Cada conexión se identifica unívocamente por el par de zócalos
del emisor y el receptor.
• Full Duplex: TCP garantiza la concurrencia de los flujos de datos en
ambos sentidos de la conexión.
El Principio de la Ventana
Un simple protocolo de transporte podría emplear el siguiente principio: enviar un paquete, y esperar un reconocimiento del receptor antes de enviar
el siguiente. Si el ACK no se recibe dentro de cierto límite de tiempo, se
retransmite. (ver figura 4.2 de la página 90)
Aunque este mecanismo asegura fiabilidad, sólo usa una parte del ancho
de banda de la red que está disponible.
Y utiliza las siguientes reglas:
• El emisor puede enviar todos los paquetes dentro de la ventana sin recibir
un ACK, pero no debe disparar un cronómetro para el timeout para cada
uno de ellos.
• El receptor debe reconocer cada paquete recibido, indicando el número
de secuencia del último paquete bien recibido.
92
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.2: El Principio de la Ventana
• El emisor desliza la ventana para cada ACK recibido.
Casos Especiales
• El paquete 2 se pierde: el emisor no recibirá ACK 2, por lo que su
ventana permancerá en posición 1. De hecho, como el receptor no recibió
el paquete 2, reconocerá los paquetes 3, 4, 5 con un ACK 1, que fueron
los últimos paquetes recibidos en secuencia. En el extremo del emisor,
al final se producirá un timeout para el paquete 2 y se retransmitirá.
La recepción de este paquete en el receptor generará un ACK 5, ya que
habrán recibido con éxito los paquetes del 1 al 5, y la ventana del emisor
se deslizará cuatro posiciones al recibir el ACK 5.
• El paquete 2 llegó, pero el reconocimiento se perdió: el emisor no recibe
ACK 2, pero recibe ACK 3, ACK 3 es un reconocimiento de todos los
paquetes hasta el 3 (incluyendo el 2) y el emisor ya puede desllizar su
ventana hasta el paquete 4.
Conclusiones
Este mecanismo de ventanas asegura:
• Transmisión fiable.
• Mejor aprovechamiento del ancho de banda (mejora del flujo).
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
93
• Control de flujo, ya que el receptor puede retrasar la respuesta a un
paquete con un reconocimiento, conociendo los buffers libres de los que
dispone y el tamaño de la ventana de comunicación.
El principio de la Ventana Aplicado a TCP. El mecanismo mostrado
más arriba se utilliza en TCP, pero con unas cuantas diferencias:
• Como TCP, proporciona una conexión con un flujo de bytes, los números
de secuencia se asignan a cada byte del canal, TCP divide el flujo de
bytes en segmentos. El principio de la ventana se aplica a nivel de bytes,
es decir, los segmentos enviados y los ACKs recibidos llevarán números
de secuencia de forma que el tamaño de la ventana se exprese con un
número de bytes, en vez del de paquetes.
• El tamaño de la ventana lo determina el receptor, cuando se establece
la conexión, y puede variar durante la transmición de datos. Cada ACK
incluirá el tamaño de la ventana que acepta el receptor en ese momento.
Ahora el flujo de datos del emisor se puede ver como: (ver figura 4.3 de la
página 91)
Figura 4.3: El Principio de la Ventana Aplicado a TCP.
94
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Formato de Segmento TCP Los segmentos TCP se encapsulan en
datagramas IP : (ver figura 4.4 de la página 92) [4]
Figura 4.4: Segmento TCP- Encapsulado en un datagrama IPFormato del Segmento TCP (ver figura 4.5 de la página 93)
Campos Cabecera TCP
• Puertos de Origen y Destino: Indican la conexión lógica entre las dos
aplicaciones que se están comunicando (FTP , TELNET , SMTP , etc.)
• Números de Secuencia: Posición del primero octeto en el campo de datos
en realación con la secuencia original.
• Números de Asentimiento: Número de secuencia siguiente al octeto confirmado, indica la posición que ocuparía el próximo octeto que se espera
recibir.
• Longitud de Cabecera: Número de palabras de 32 bits que componen la
cabecera.
• Reservado: Reservados para uso futuro, deben estar a cero.
• Flags:
— URG : Indica que el campo Puntero Datos Urgentes tiene validez.
— ACK: Indica que el campo Número de Asentimiento tiene validez.
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
95
Figura 4.5: Formato del Segmento TCP.
— PSH: Indica que el segmento requiere envío y entrega inmediata.
— RST: Indica aborto de la conexión.
— SYN: Sincroniza números de secuencia en el establecimiento de conexión. Confirmación con el ACK.
— FIN: Indica liberación de conexión. Confirmación con ACK.
• Tamaño de la Ventana: Indica e número de octetos, adicionales a apuntado por ACK, que está dispuesto a aceptar.
• Código de Redundancia: Campo obligatorio qe debe ser calculado por el
emisor y verificado por el receptor.
• Puntero de Datos Urgentes: Indica el offset (positivo) que debe ser añadido al número de secuencia dle segmento para obtener el número de secuencia del segmento para obtener el númeo de secuencia dle último
octeto de datos urgentes, válido si está activo el flag URG.
• Campos Opcionales: para incluir ociones.
— Tamaño Máximo de datos en un segmento (MSS - Maximun Segment Size): Utilizada en el establecimiento de la conexión. Indica
96
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
la longitud máxima de datos en un segmento que puede recibir un
extremo.
— Escala de la ventana: Expandir el tamaño de la ventana TCP.
• Datos: Opcional
Establecimiento de la Conexión.
• Uso de “three way handshake”.
• Se emplea el bit SYN en la solicitud de conexión y SYN ACK en la
respuesta. La respuesta es a su vez confirmada con ACK.
• Se fija el número de secuencia inicial en ambas direcciones.
(ver figura 4.6 de la página 94)
Figura 4.6: Establecimiento de la Conexión.
Finalización de la Conexión.
• Liberación ordenada e independiente por cada uno de los sentidos de
transmisión.
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
97
• El extremo que desea cesar de transmitir en segmento con FIN, que debe
ser confirmado por el corresponsal con FIN, ACK. (ver figura 4.7 de la
página 95)
Figura 4.7: Finalización de la Conexión.
Ejemplos:
• Notación tcpdump
Fuente > destino no secuencia inicial no secuencia final (no de octetos de
datos)
(ver figura 4.8 de la página 96)
• Salida tcpdump
(ver figura 4.9 de la página 96)
TCP Half-Close
• TCP, al establecer una conexión “full-duplex”, cada extremo puede finalizar la transmisión de datos de forma independiente.
98
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.8: Notación tcpdump.
Figura 4.9: Salida tcpdump.
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
99
• Pocas aplicaciones hacen uso de esta característica. (ver figura 4.10 de
la página 97)
Figura 4.10: TCP Half-Close.
Ejemplo (ver figura 4.11 de la página 98)
• Programa sort en bdi no puede generar ninguna salida hasta que no
haya recibido el fichero datafile.
• Cuando sun finaliza de transmitir el contenido del fichero realiza un
“half-close” de la conexión TCP.
• El host bdi envía la salida de sort a sun y cuando fnaliza cierra la
conexión TCP.
Tamaño Máximo de Segmentos.
• MSS: Longitud máxima de datos que se enviarán en un segmento al otro
extremo TCP.
100
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.11: Ejemplo TCP Half-Close.
• El datagrama IP resultante normalmente será 40 octetos mayor que este
valor.
• En el establecimiento de la conexión, cada extremo puede anunciar el
MSS que esperea recibir (si no se etablece, por defecto es 536 octetos).
— Se incluye como una opción en segmentos TCP SYN .
— MTU (Unidad Máxima de Transmisión) - Tamaño de cabecera IP
- Tamaño de cabecera TCP.
Estados de TCP
(ver figura 4.12 de la página 99)
Estados TCP en un Establecimiento y Finalización “Normal” de la
Conexión. (ver figura 4.13 de la página 99)
Nomenclatura:
(ver figura 4.14 de la página 100)
Diagrama de Transición entre Estados (ver figura 4.15 de la página
100)
(ver figura 4.16 de la página 101)
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
Figura 4.12: Estados TCP.
Figura 4.13: Estados durante un Establecimiento y Finalización.
101
102
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.14: Nomenclatura.
Figura 4.15: Diagrama de Transición entre Estados.
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
103
Figura 4.16: Diagrama de Transición entre Estados.
Estado “2MSL Wait State”
2MSL Wait State = TIME_WAIT
• TCP después de realizar un “active close” y enviar un ACK del FIN
debe esperar un tiempo TIME_WAIT.
• ¿Por qué?:
— Permite a TCP reenviar el ACK del FIN si éste se pierde (el otro
extremo, en este caso, reenviará el FIN cuando venza su extremo,
en este caso, reenviará el FIN cuando venza su temporizador)
• Hasta que no finalice este temporizador no se liberan el par de sockets
de la conexión.
• Cada implementación selecciona un valor de MSL (Maximun Segment
Lifetime): típicamente 2 minutos o 1 minuto o 30 segundos.
104
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
“Resetting” de Conexiones
• Se indica activando el flag RST.
• Normalmente generados automáticamente por el software TCP.
• ¿Cuándo se activa el flag RST ?
— Llega una petición de conexión y no existe un proceso servidor
escuchando en el puerto destino.
— Llega un segmento TCP que no corresponde con ninguna conexión
activa.
— Abortar una conexión a nivel aplicación (en vez de enviar un FIN
se envía un RST ):
1. El receptor tira todos los datos pendientes de transmisión.
2. No asiente el segmento RST.
3. Se finaliza la conexión.
Apertura Simultánea
• Dos aplicaciones realizan un “active open” simultáneamente.
• TCP está especialmente diseñado para que en este caso sólo se establezca
una conexión NO dos conexiones (otros protocolos crean dos conexiones).
• La apertura de la conexión requiere el intercambio de 4 segmentos, NO
3.
(ver figura 4.17 de la página 103)
Finalización Simultánea
• Dos aplicaciones realizan un “active close” simultáneamente.
• En la finalización de la conexión se siguen intercambiando 4 segmentos.
(ver figura 4.18 de la página 103)
4.1. PROTOCOLOS DE LA CAPA DE TRANSPORTE
Figura 4.17: Apertura Simultánea.
Figura 4.18: Finalización Simultánea.
105
106
4.2
4.2.1
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Protocolos de la Capa de Interred
ARP: “Protocolo de Resolución de Direcciones”
El protocolo ARP es un protocolo estándar específico de las redes. Su status
es electivo.
El Protocolo de Resolución de Direcciones es responsable de convertir las
direcciones de protocolos de alto nivel (direcciones IP) a direcciones de red
físicas [3]. (ver figura 4.19 de la página 104)
Figura 4.19: Protocolo ARP.
Descripción de ARP
En una sola red física, los hosts individuales se conocen en la red a través de
su dirección física.
Los protocolos de alto nivel direccionan a los hosts de destino con una
dirección simbólica (en este caso la dirección IP). Cuando tal protocolo quiere
enviar un datagrama a la dirección IP de destino w, x, y, z, el manejador de
dispositivo no entiende.
En consecuencia, se suministra un módulo (ARP) que traducirá la dirección
IP a la dirección física del host de destino. Utilizsa una tabla (llamada a veces
caché ARP) para realizar esta traducción.
Cuando la direción no se encuentra en la caché ARP, se envía un broadcast en la red, con un formato especial llamado petición ARP. Si una de las
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
107
máquinas en la red reconoce su propia dirección IP en la petición, devolverá
una respuesta ARP al host que la solicitó. La respuesta contendrá la dirección
física del hardware así como información de encaminamiento (si el paquete ha
atravesado puentes durante su trayecto) tanto esta dirección como la ruta se
almacenan en la caché del host solicitante.
Todos los posteriores datagramas enviados a esta dirección IP se podrán
asociar a la dirección física correspondientes, que será la que utilice el manejador de dispositivo para mandar el datagrama a la red.
ARP se diseñó para ser usado en redes que soportasen broadcast por hardware. Esto significa, por ejemplo, que ARP no funcionará en una red X.25.
Concepto detallado de ARP
ARP se emplea en redes IEEE 802 además de en las viejas redes DIX Ethernet
para mapear direcciones IP a dirección hardware. Para hacer esto, ha de estar
estrechamente relacionado con el manejador de dispositivo de red. De hecho,
las especificaciones de ARP en RFC 826 sólo describen su funcionalidad, no
su implementación, que depende en gran medida del manejador de dispositivo
para el tipo de red correspondiente, que suele estar codificado en el cicrocodigo
del adaptador.
Generación del paquete ARP
Si una aplicación desea enviar datos a una determinada dirección IP, el mecanismo de encaminamiento IP determina primero la dirección IP del siguiente
salto del paquete (que puede ser el propio host de destino o un router) y el dispositivo hardware al que se debería enviar. Si se trata de una red 802.3/4/5,
deberá consultarse el módulo ARP para mapear el par tipo de protocolo,
dirección de destino a una dirección física.
El módulo ARP intenta hallar la dirección en su caché. Si encuentra el par
buscado, devuelve la correspondiente dirección física de 48 bits al llamador
(el manejador de dispositivo). Si no lo encuentra, descarta el paquete (se
asume que al ser un protocolo de alto nivel volverá a transmitirlo) y genera un
broadcast de red para una solicitud ARP (ver figura 4.25 de la página 112).
Hardware Address Space:
108
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.20: Paquete de Petición/Respuesta ARP.
Especifica el tipo de hardware, ejemplos son Ethernet o Packet Radio Net.
Protocol Address Space:
Especifica el tipo de protocolo, el mismo que en el campo de tipo EtherType
en la cabecera de IEEE 802.
Hardware Address Length:
Especifica la longitud (en bytes) de la dirección hardware del paquete.
Para IEEE 802.3 e IEEE 802.5 será de 6.
Protocol Address Length:
Especifica la longitud (en bytes) de la dirección de protocolo en el paquete.
Para IP será de 4.
Operation Code:
Especifica si se trata de un petición (1) o una solicitud (2) ARP.
Source/Target Protocol Address:
Contiene las direcciones del protocolo. En TCP/IP sondirecciones IP de
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
109
32 bits.
Para el paquete de solicitd, la dirección hardware de desino es el único
campo indefinido del paquete.
Recepción del paquete ARP
Cuando un host recibe un paquete ARP (bien un broadcast o una respuesta a
punto), el dispositivo receptor le pasa el paquete al módulo ARP. (ver figura
4.21 de la página 107)
Figura 4.21: Recepción del Paquete ARP.
El host solicitante recibirá esta respuesta ARP, y seguirá el algoritmo ya
comentado, para tratarla. Como resultado, la tripleta =tipo de protocolo,
dirección de protocolo, dirección de hardware=, para el host en cuestión se
110
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
añadirá a la cahé ARP.
La próxima vez que un protocolo de nivel superior quiera enviar un paquete
a ese host, el módulo de ARP encontrará la dirección hardware, a la que se
enviará el paquete.
Notar que debido a que la petición ARP original fue un broadcast en la
red, todos los host en ella habrán actualizado la dirección del emisor en su
propia caché (sólo si preaviamente ya existía esa entrada) en la tabla.
ARP y Subredes
El protocolo ARP es el mismo aunque haya subredes. Recordar que cada
datagrama IP pasa primero por el algoritmo de encaminamiento IP. Este algoritmo selecciona el manajedor de dispositivo que debería enviar el paquete.
Sólo entonces se consulta al módulo ARP asociado con ese manejador.
Proxy-ARP o Subnetting Transparente
El Proxy-ARP se describe en el RFC 1027- Usando ARP para implementar pasarelas de subredes transparentes, que de hecho es un subconjunto del método
propuesto en el RFC 925- Resolución de direcciones Multi-LAN. Es otro método para construir subredes locales, sin necesidad de modificar el algoritmo de
encaminamiento IP, pero con modificaciones en los routers que interconectan
las subredes.
Concepto de Proxy-ARP
El protocolo ARP es un protocolo estándar específico de redes. Su status es
electivo.
Considerar una red IP, dividida en subredes, interconectadas por “routers”.
Utilizamos el algoritmo IP viejo, lo que significa que ningún host conoce la
existencia de múltiples redes físicas. Si se toman los hosts A y B, que se hallan
en distintas redes físicas dentro de la misma red IP, y un “router” entre las
dos subredes.
(ver figura 4.22 de la página 109)
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
111
Figura 4.22: Host interconextados por un router.
Cuando el host A quiere enviar un datagrama IP al host B, primero ha de
determinar la dirección de red física del host B usando ARP.
Como A no puede diferenciar entre las redes físicas, su algoritmo de encaminamiento IP piensa que el host B está en su misma red local y envía un
broadcast de petición ARP.
El host B no lo recibe, pero sí el router R.
R entiende de subredes, es decir, ejecuta la versión de subred del algoritmo
de encaminamiento y será capaz de ver que el destino de la apetición ARP (en
el campo de direcciónde protocolo distinto) está localizado en otra red física.
Si las tablas de encaminamiento de R especifican que el siguiente salto a otra
red se produce a través de un dispositivo diferente, replicará al ARP como si
fuera el host B, diciendo que la dirección de B es la del mismo router.
El host A recibe esta respuesta ARP, la introduce en su caché y enviará los
siguientes paquetes dirigidos a B al router R, que los retransmitirá a la subred
adecuada.
El resultado es Subnetting Transparente:
• Los host normales (como A y B) desconocen el subnetting, por lo que
usan el algoritmo de encaminamiento clásico.
• Los routers entre subredes:
(a) Utilizan el algoritmo IP para subredes.
112
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
(b) Usan un módulo ARP modificado, que puede responder en nombre
de otros hosts.
(ver figura 4.23 de la página 110)
Figura 4.23: Router Proxy-ARP.
4.2.2
RARP “Protocolo de Resolución de Direcciones Inverso”
(ver figura 4.24 de la página 111 de la página)
Descripción de RARP
Algunos hosts, como por ejemplo estaciones de trabajo, sin disco, desconocen su propia dirección IP cuando arrancan. Para determinarla, emplean un
mecanismo similar al ARP, pero ahora el parámetro conocido es la dirección
hardware el host y el requerido su dirección IP. La diferencia básica con ARP
es el hecho de que debe existir un hardware a direcciones de protocolo.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
113
Figura 4.24: Protocolo RARP.
Concepto de RARP
El cálculo de direcciones inversas se efectúa del mismo modo que en ARP. Se
usa el mismo formato de paquete. (ver figura 4.25 de la página 112)
Una excepción es el campo “operation code” que ahora toma los siguientes valores:
3
para la petición RARP.
4
para la respuesta RARP.
Y, por suspuesto, la cabecera física de la trama indicará ahora que RARP
es el protocolo de nivel superior en vez de ARP o IP en el campo EtherType.
El mismo concepto de RARP genera algunas diferencias:
• ARP asume sólo que cada host conoce el mapeado entre su propia dirección hardware y de protocolo. RARP requiere uno o más hosts en la red
para mantener una base de datos con los mapeados entre direcciones de
red, direcciones de protocolo de modo que serán capaces de responder a
solicitudes de los host clientes.
• Debido al tamaño que puede tomar esta base de datos, parte de las
funciones del servidor suelen implementarse fuera del microcódigo del
114
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.25: Paquete de Petición/Respuesta ARP.
adaptador, con la opción de una pequeña caché en el microcódigo, que
sólo es responsable de la recepción y transmisión de tramas RARP, estando el mapeado RARP en sí a cargo del software que se ejecuta en el
servidor como un proceso normal.
• La naturaleza de esta base de datos también requiere algún software para
crear y actualizar la base de datos manualmente.
• En caso de que haya múltiples servidores RARP en la red, el cliente
RARP sólo hará uso de la primera respuesta RARP que reciba a su
broadcast, y desechará las otras.
4.2.3
IP: “Protocolo de Internet”
IP es un protocolo estándar. Su status es requerido (ver figura 4.26 de la
página 113).
Es el protocolo que oculta la red física subyacente creando una vista de red
virtual.
Es un protocolo de entrega de paquetes no fiable y no orientado a conexión,
y se puede decir que aplica la ley del mínimo esfuerzo. [11] [5]
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
115
Figura 4.26: El Protocolo IP
No aporta fiabilidad, control de flujo o recuperación de errores a los protocolos de red inferiores.
Los paquetes (datagramas) que envía IP se pueden perder, desordenarse, o
incluso duplicarse, e IP no manejará estas situaciones. El proporcionar estos
servicios depende de protocolos superiores.
IP asume pocas cosas de las capas inferiores, sólo que los datagramas
probablemente serán transportados al host de destino.
El datagrama IP
Es la unidad de transferencia en la pila IP. Tiene una cabecera con información
para IP, y los datos relevantes para los protocolos superiores. (ver figura 4.27
de la página 114)
El datagrama IP está encapsulado en la trama de red subyacente, que suele
tener una longitud máxima, dependiendo del hardware usado.
En vez de limitar el datagrama a un tamaño máximo, IP puede tratar
la fragmentación y el re-ensamblado de sus datagramas. En particular, el IP
no impone un tamaño máximo, pero establece que todas las redes deberían
ser capaces de manejar al menos 576 bytes. Los fragmentos de datagramas
tienen todos una cabecera, copiadas básicamente del datagrama original, y de
los datos que la siguen. Se tratan como datagramas normales mientras son
transportados a su destino.
116
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.27: El Datagrama IP.
Sin embargo, sin uno de los fragmentos se pierde, todo el datagrama se
considerará perdido, y los restantes fragmentos se considerarán perdidos.
Formato del Datagrama IP La cabecera del datagrama IP es de un mínimo de 20 bytes de longitud:
(ver figura 4.28 de la página 115)
VERS: La versión del protocolo IP. La versión actual es la 5. La 6 es
IPng.
LEN: La longitud de la cabecera IP contada en cantidades de 32 bits.
Esto no incluye el campo de datos.
TYPE OF SERVICE: El tipo de servicio es una indicación de la calidad
del servicio solicitado para este datagrama IP.
Precedencia: Es una medida de la naturaleza y prioridad de este datagrama (ver figura 4.29 de la página 115).
000: Rutina.
001: Prioridad.
010: Inmediato.
011: “Flash”.
100: “Flash Override”.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
Figura 4.28: Formato del Datagrama.
Figura 4.29: Precedencia
117
118
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
101: Crítico.
100: Control de Red (“Internetwork Control”).
TOS: “Type Of Service”.
1000: Minimizar Retardo.
0100: Maximizar la densidad de flujo.
0010: Maximizar la fiabilidad.
0001: Minimizar el costo monetario.
0000: Servicio Normal.
MBZ: Reservado para uso futuro (debe ser cero, a menos que participe
en un experimento con IP que haga uso de este bit).
Total Length: La longitud del datagram, cabecera y datos, especificada
en bytes.
Identification: Un número único que asigna el emisor para ayudar a
reembolsar un datagrama fragmentado. Los fragmentos de un datagrama tendrán el mismo número de identificación.
Flags: Varios flags de control. (ver figura 4.30 de la página 116)
Figura 4.30: Flag IP.
Donde:
0: Reservado, debe ser cero.
DF: No fragmentar (“Don’t Fragment”) con 0 se permte la fragmentación,
con 1 no.
MF: Más fragmentos (More Fragments): con 0 significa que se trata del
último fragmento del datagram, 1 que no es el último.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
119
Fragment Offset: Usado con datagramas fragmentados, para ayudar al
reensamblado de todo el datagrama, el valor es el n´mero de partes de 64 bits.
Time To Live: Especifica el tiempo (en segundos) que se le permite
viajar a este datagrama. Cada “router” por el que pase este datagrama ha
de sustraer de este campo el tiempo tardado en procesarlo. En la realidad un
“router” es capaz de procesar un datagrama en menos de 1 segundo, por ello
restará uno de este campo y el TTL se convierte más en una cuenta de altos
queen unamétrica del tiempo. Cuando el vlaor alcanza cero, se asume que
este datagrama ha estado viajando en un bucle y se desecha. El valor inicial
lo debería fijar el protocolo de alto nivel que crea el datagram.
Protocolo Number Spotipprotn: Indica el protocolo de alto nivel al
que IP debería entregar los datos deldatagrama. Algunons valores imortantes
son:
o: Reservado
1: ICMP (“Internet Control Message Protocol”).
2: IGMP (“Internet Group Management Protocol”).
3: GGP (“Gateway-to-Gateway Protocol”).
4: IP (IP encapsulation).
5: Flujo (“Stream”).
6: TCP (“Transmission Control”).
8: EGP (“Exterior Gateway Protocol”).
9: PIRP (“Private Interior Routing Protocol”).
17: UCP (“User Datagram”).
89: OSPF (“Open Shortest Path First”).
Header Checksum: Es el checksum de la cabecera. Se calcula como el
complemetno a uno de la suma de los complementos a uno de todas las palabras
de 16 bits de la cabecera. Con el fin de este cálculo, el campo checksum
se supone cero. Si el checksum de la cabecera no se corresponde con los
contenidos, en el datagrama se desecha, ya que al menos un bit de la cabecera
está corrupto, y el datagrama podría haber llegado al destino equivocado.
120
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Source IP Address: La dirección IP de 32 bits del host emisor.
Destination IP Address: La dirección IP de 32 bits del host receptor.
Options: Longitud variable. No requiere que toda implementación de
IP sea capaz de generar ipciones en los datagrams que crea, pero sí que sea
capaz de procesar datagramas que contengan opciones. El campo Options
tiene longitud variable. Puede haber cero o más opciones. Hay dos formatos
para estas. El formato usado depende del valor del número de opción hallado
en el primer byte.
— Un byte de tipo (type byte) sólo. (ver figura 4.31 de la página 118)
Figura 4.31: Un Sólo Bit
— Un byte de tipo, un byte de longitud y uno o más bytes de opciones.
(ver figura 4.32 de la página 118)
Figura 4.32: Más de un Bit
El byte de tipo tiene la misma estructura en ambos casos: (ver figura 4.33
de la página 119)
Donde:
fc: “Flag copy”, que indica si el campo de opciones se ha de copiar (1) o
no (0) cuando el datagrama está fragmentado.
class:Un entero sin signo de 2 bits.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
121
Figura 4.33: Ambos Casos
0: Control
1: Reservado
2: Depurado y mediciones
3: Reservado
Option Number: Entero sin signo de 5 bits.
0: Fin de la lista de opciones, con class a cero, fc a cero, ysin byte de
longitud o de datos. Es decir, lalista termina con byte X‘00’. Sòlo se requiere
si la longitud de la cabecera IP (que es un múltiplo de 4 bits) no se corresponda
con la longitud real de las opciones.
1: No operación: Tiene class a cero, fc a cero y no hay byte de longitud
ni de datagramas. Es decir, un byte X‘01’ es NOP (No Operation). Se puede
usar para alinear campos en el datagrama.
2: Securidad: Tiene class a cero, fc a uno y el byte de longitud a 11 y
el de datos a 8. Se usa para la inforamción de seguridad que necesitan las
especificaciones del departamento de defensa de US.
3: LSR (“Loose Sourse Routing”): Tiene class a cero, fc a uno y hay un
campo de datos de longitud variable.
4: IT (“Internet Timestamp”): Tiene class a 2, fc a cero y hay un campo
de datos de longitud variable.
7: RR (“Record Route”): Tiene class a cero, fc a cero y hay un campo de
datos de longitud variable.
8: SID (“Stream ID”, o identificador de flujo): Tiene class a cero, fc a
uno y hay un byte de longitud a 4 y un byte de datos. Se usa con el sistema
SATNET.
122
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
9: SSR(“Strict Source Routing”): Tiene class a cero, fc a uno y hay un
campo de datos delongitud variable.
Length: Cuenta la longitud en bytes de la opción, inclulyendo los campos
detipo y longitud,
Option data: No contiene datos relevantes para la opción.
Padding: Si se usa una opción, el datagrama se rellena con bytes a cero
hasta la siguiente palabra de 32 bits.
Data: Los datos contenidos en el datagram se pasan a un protocolo de
nivel superior, como se especifica en el campo protocol.
Fragmentación Cuando un datagrama IP viaja de un host a otro puede
cruzar distintas redes físicas. Las redes físicas imponen un tamaño máximo
de trama, llamado MTU (“Maximum Transmission Unit”), que limita la longitud de un datagrama. Por ello, existe un mecanismo para fragmentar los
datagramas IP grandes en otros más pequeños, y luego reensamblarlos en el
host de destino.
IP requiere que cada enlace tenga un MTU de al menos 68 bytes, de
forma que si cualquier red proporciona un valor inferior, la fragamentación y
el reensamblado tendrán que implementarse en la capa de la interfaz de red
de forma transparente a IP.
68 es la suma de la mayor cabecera IP, de 60 bytes, y del tamaño mínimo
posible de los datos en un fragmento. Las implementaciones de IP no están
obligadas a manejar datagrama sin fragmentar mayores de 576 bytes, pero la
mayoría podrá manipular valores más grandes, ligeramente más de 8192 bytes,
o incluso mayores, y raramente menos de 1500.
Un datagrama sin fragmentar tiene a cero toda la información de fragmentación. Es decir, el flag fc y el fo (fragment offset) están a cero. Cuando se
ha de realizar la fragmentación, se ejecutan los siguientas pasos:
• Se chequea el bit de flag DF para ver si se permite fragmentación. Si
está a uno, el datagrama se desecha y se devuelve un error a emisor
usando ICMP.
• Basándose en el valor MTU, el campo de datos se divide en dos o más
partes.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
123
• Todas ls nuevas porciones de datos, excepto la úlima, se alinean a 8
bytes.
• Todas las porciones de datos, se colocan en datagamas IP. Las cabeceras
se copian de la cabecera original, con algunas modificaciones:
— El bit de flag mf (more fragments) se pone a uno en todos los
fragmentos, excepto en el último.
— El campo fo se pone al valor de la localización de la porción de
datos correspondiente en el at original, con respecto al comienzo
del mismo. Su valor se mide en unidades de 8 bytes.
— Si se incluyeron opciones en el datagrama original, el bit de orden
superior del byte “type option” determina si se copiarán o no en
todos los fragmentos y por tanto tendrán a uno este bit.
— Se inicializa el campo de longitud (length) del nuevo datagrama.
— Se inicializa el campo de longitud (length) total del nuevo datagrama.
— Se recalcula el checksum de la cabecera.
• Cada uno de estos datagramas se envía como un datagrama IP normal.
IP maneja cada fragmento de forma independiente, es decir, los fragmentos pueden atravezar diversas rutas hacia su destino, y pueden estar
sujetos a nuevas fragmentaciones si pasan por redes con MTUs inferiores.
En el host de destino, los datos se tienen que reensamblar. El host emisor
inicializó el campo ID a un número único (dentro de los límites impuestos por
el uso de un número de 16 bits). Como la fragmentación no altera este campo,
los fragmentos que le van llegando al destino se pueden identificar, si este ID
se usa junto con las direcciones IP fuente y destino (source, destination) del
datagrama. También chequea el campo de protocolo.
Con el fin de reensamblar los fragmentos, el receptor destina un buffer de
almacenamiento en cuanto llega el primer fragmento. Se inicia una rutina
para un contador. Cuando el contador da un timeout y no se han recibido
todos los datagramas, se desecha el datagrama. El valor inicial el contador
es el TTL (time-to-live). Depende de la implementación, y algunas permiten
configurarlo.
Cuando llegan los fragmetos siguientes, antes de que expire el tiempo, los
datagramas se copian al buffer en la localización indicada por el fo (fragment
124
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
offser). Cuando han llegado todos los datagramas, se restaura el datagrama
original y continúa su procesamiento.
IP no proporciona el contador de reensamblado. Tratará cada datagrama,
fragmentado o no, de la misma forma. Depende de una capa superior el
implementar un timeout y reconocer la pérdida de fragmentos. Esta capa
podría ser TCP para el transporte en una red orientada a conexión o UDP,
para el caso contrario.
Encaminamiento entre Redes [11]
Una función importante de la capa IP es el encaminamiento.
Proporciona los mecanismos básicos para interconectar distintas redes físicas. Esto significa que un host puede actuar simultáneamente como host
normal y como router.
El enrutamiento a través de una interred es parecido al enrutamiento en
una sola subred, pero con algunas complicaciones adicionales. Por ejemplo,
considere una interred en la que cinco redes están conectadas por seis enrutadores (posiblemente multiprotocolo). Realizar un modelo de grafo de esta
situación es complicado por el hecho de que cada enrutador multiprotocolo
puede acceder de manera directa a todos los demás enrutadores conectados a
cualquier red a la que esté conectado.
Una vez introducido el grafo, pueden aplicarse algoritmos de enrutamiento
conocidos, como el algoritmo de vector-distancia y el de estado del enlace, al
grupo de enrutadores multiprotocolo. Esto da un algoritmo de enrutamiento
de dos niveles: en cada red se utiliza un protocolo de puerta de enlace interior
(IGP), pero entre ellas se usa un protocolo de puerta de enlace exterior (EGP)
,(puerta de enlace es un término antiguo para enrutador).
De hecho, debido a que estas redes son independientes, cada una puede
utlilizar un algoritmo diferente del de la otra. Puesto que cada red de una
interred es independiente de las demás, con frecuencia se le llama Sistema
Autónomo (AS).
Un paquete de interred típico parte de su LAN hacia el enrutador multiprotocolo local. Al llegar ahí, el código de la capa de red decide por cuál
enrutador multiprotocolo reenviará el paquete, usando sus propias tablas de
enrutamiento. Si ese enrutador puede alcanzarse usando el protocolo de la red
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
125
nativa del paquete, éste se reenvía directamente ahí. De otra manera, se envía
por túnel, encapsulado en el protocolo requerido por la red que interviene.
Este proceso se repite hasta que el paquete llega a la red de destino.
Una de las diferencias del enrutamiento entre las redes y el enrutamiento
de las redes es que el primero con frecuencia requiere el cruce de fronteras
internacionales. De pronto, entran en escena varias leyes, como las estrictas
leyes suecas de confidencialidad sobre la exportación de datos personales de
ciudadanos suecos. Otro ejemplo es la ley canadience que indica que el tráfico
de datos que se origina en Canadá y llega a un destino en Canadá no puede
dejar el país.
Otra diferencia entre el enrutamiento interior y el enrutamiento exterior
es el costo. Dentro de una sola red, normalmente se aplica un solo algoritmo
de cargo. Sin embargo, redes diferentes puden estar bajo administraciones
diferentes, una ruta puede ser menos cara que otra. Del mismo modo, la
calidad de servicio ofrecida por diferentes redes puede ser distinta, y ésta
puede ser una razón para escoger una ruta y no otra.
Algoritmo de Encaminamiento IP De los principios ya comentados de
IP, es fácil deducir los pasos que IP debe tomar con el fin de determinar
la ruta para un datagrama de salida. Es lo que se denomina algoritmo de
encaminamiento IP.
Se trata de un algoritmo iterativo. Se aplica a todo host que maneje un
datagrama, exceptuando al host al que se entrega finalmente el datagrama.
(ver figura 4.34 de la página 124)
Tipos de Algoritmos Vector-Distancia
El término Vector-Distancia se refiere a una clase de algoritmos que usan
las pasarelas para actualizar su información de encaminamieto.
Cada router comienza con su conjunto de rutas para aquellas con las que está directamente conectado, y posiblemente algunos routers adicionales a otras
redes o hosts si la topología de la red es tal que el protocolo de encaminamiento no es capaz de producir el encaminamiento deseado. Esta lista se guarda
en una tabla de encaminamiento, en la que cada entrada identifica una red de
host de destino y a la distancia a ella. Esta distancia se denomina métrica y
se mide típicamente en saltos.
126
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.34: Algoritmo de Encaminamiento IP.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
127
Peródicamente cada router envía una copia de su tabla de encaminamiento
a cualquier otro router que pueda alcanzar directamente. Cuando un informe
le llega al router B del A, B examina el conjunto de destinos que recibe y la
distancia a cada uno. B actualizará su tabla de encaminamiento si:
• A conoce un camino más corto a cada destino.
• A lista un destino que B no tiene en su tabla.
• La distancia de A a un destino desde B pasando por A ha cambiado.
En esta clase de algoritmo es fácil de implementar, pero tiene un número
de desventajas:
• Cuando las rutas cambian rápidamente, es decir, aparece una nueva conexión o a una falla vieja, la topología de encaminamiento puede no
estabilizar la topología cambiada debido a que la información se propague lentamente y mientras se esté propagando, alguno routers tengan
información de encaminamiento incorrecta.
• Cada router tiene que enviar una copia de toda su tabla de encaminamiento a cada vecino a intervalos regulares. Por supuesto, se pueden
usar intervalos más largos para reducir la carga de la red pero eso introduce problemas relacionados con la respuesta de la red a cambios en la
topología.
Los algoritmos vector - distancia que usan la cuenta de saltos como métrica
no tienen en cuenta la velocidad o la fiabilidad del enlace.
La tarea más difícil en uno de estos algoritmos es prevenir la inestabilidad.
Existen distintas soluciones:
• Cuenta hasta infinito: Se elige un valor de 16 bits para representar
infinito. Suponer que una red se vuelve inestable, todos sus vecinos
generan un timeout y fijan la métrica de esa red a 16. Podemo considerar
que todos los routers vecinos tienen algún elemento hardware que los
conecta con la red desaparecida, con un coste de 16. Ya que se trata
de su única conexión con esa red, el resto de los router convergerá hacia
nuevas rutas que pasen por los vecinos con una conexión directa pero
128
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
no disponible. Una vez que se ha producido la convergencia, todos los
routers tendrán una métrica de 16 para la red desaparecida. Como 15
indica infinito, la red está inaccesible para todos.
La cuestión con algunos algoritmos vector-distancia no es si se producirá
la convergencia, sino cuánto tiempo llevará. (ver figura 4.35 de la página 126).
Figura 4.35: El problema de la cuenta hasta infinito- Todos los enlaces tienen
una métrica de 1 excepto por la ruta indierecta C a D que tiene de métrica 0Consideremos ahora sólo las rutas de cada pasarela a la red de destino.
(ver figura 4.36 de la página 127)
Consideremos ahora que el enlace de B a D falla. Las rutas se deberían
aujstar para utilizar el enlace de C a D. Los cambios en el encaminamiento
comienzan cunado B se da cuenta de que la ruta D ya no es utilizable. En
RIP (Protocolo de Información de Ruteo) esto sucede cuando B no recibe
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
129
Figura 4.36: Rutas de cada pasarela a la Red de Destino.
actualización de su enlace durante 180 segundos.
La siguiente imagen muestra la métrica para la red de destino, como aparece en la tabla de encaminamiento de cada pasarela (ver figura 4.37 de la
página 128).
El problema es que B se puede liberar de su ruta a (con un mecanimso
de timeout), pero quedan vestigios de esa ruta en el sistema durante mucho
tiempo (el tiempo entre iteraciones es de 30 segundos en RIP). Inicialmente,
A y C todavía piensan que pueden alcanzar a D vía B, así que siguen enviando
actualizaciones con métricas de 3, B las recibirá y, en la siguienrte iteración
dirá que puede llegar a D por A o por C. Por supuesto, no puede, lya que
las rutas dadas por A y C (D alcanzable vía B con métrica 3) ya no están,
pero no hay forma de saberlo aún. Incluso cuando descubren que sus rutas
por B han desaparecido, todavía piensan que hay una ruta disponible a través
del otro. Al final el sistema convergerá, cuando el enlace directo de C a D
tenga menor coste que el recibido (por C) de B a A. Pero el caso es cuando
una red se vuelve completamente inaccesible desde alguna parte del sistema:
en ese caso, las métricas se pueden incrementar lentamente de modo parecido
al indicado arriba hasta que finalmente alcance el valor infinito. Por esta
razón, el problema se llama cuenta hasta infinito. De esta forma, la elección
de la infinidad es un compromiso entre el tamaño de la red y la velocidad de
convergencia en el caso de que la cuenta se produzca. Esto explica por qué
130
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Figura 4.37: El problema de la cuenta hasta infinito.
se elige un valor tan bajo como 16, que es el usado por RIP (Protocolo de
Información de Ruteo).
Estado del enlace. Primero el Camino Más Corto
El crecimiento de las redes durante los últimos años ha forzado los IGPs
(Protocolos de Encaminamiento Interior) más allá de sus límites. La alternativa primaria a los esquemas vector-distancia es una clase de protocolos
conocida como Estado del Enlace, Primero el Camino Más Corto.
Sus características principales son:
• Un conjunto de redes físicas se divide en un número de áreas.
• Todos los routers dentro de un área tiene idénticas bases de datos.
• La base de datos de cada router describe la topología completa del dominio de encaminamiento (qué routers se conectan a qué redes). La topología de un área se representa en una base de datos denominada LSD
(“Link State Database”) que es una descripción de todos los enlaces de
los routers del área.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
131
• Cada router usa su base de datos para derivar el conjunto de caminos
mínimos a todos los destinos de los que construye su tabla. El algoritmo
usado para determinar los caminos óptimos se llama SPF (“Shortest
Path First”).
En general, un protocolo enlace estado trabaja del modo siguiente:
Cada router envía periódicamente una descripción, de su conexión (el estado de su enlace) a sus vecinos (aquellos conectados a la misma red). Esta
descripción llamada LSA (“Link State Advertisement”), incluye el coste de la
conexión. El LSA inunda el dominio del router. Cada router del dominio mantienen una copia idéntica y sincronizada de una base de datos compuesta de
la información del estado del enlace. Esta base de datos describe la topología
del dominio como las rutas a redes fuera del dominio como son rutas a redes
en otros AS (Sistemas Autónomos). Cada router ejecuta un algoritmo sobre
su base de datos resultando en un árbol del camino mínimo MST (“Mínimun
Spanning Tree”), que contiene la ruta más corta para cada oruter y red que
pueda alcanzar la pasarela. A partir de él, el coste hasta el destino y el salto siguiente para retransmitir un dato se utilizan para construir la tabla de
encaminamiento del router.
Este tipo de protocolo, en comparación con los protocolos vector-distancia,
envían actualizaciones cuando hay noticias, que pueden ser regulares para
asegurar a los vecinos que la conexión sigue activa. Lo que es más importante,
la información intercambiada es el estado del enlace, no los contenidos de
la tabla de encaminamiento. Esto significa que los algoritmos de estado del
enlace usan menos recursos que su contrapartida vector-distancia, sobre todo
cuando el encaminamiento es complejo o el AS grande. Sin embargo, tienen
un elevado coste computacional. A cambio, los usuarios consiguen respuesta a
los eventos de red más rápido, convergencia más veloz, y acceso a servicios de
red más avanzados.
Protocolo OSPF “Protocolos de Enrutamiento de Puerta de Enlace
Interior” El protocolo de puerta de enlace interior original de Internet era
un protocolo de vector-distancia RIP (“Routing Information Protocol”) basado en el algoritmo de Bellman-Ford heredado de ARPANET. Funcionó bien en
sistemas pequeños, pero no así conforme los sistemas autónomos (AS) fueron
más grandes.
También padeció el problema de la cuenta hasta infinito y la convergencia
132
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
generalmente lenta, por lo que se reemplazó en mayo de 1979 por un protocolo
de Estado del Enlace. En 1988, la Fuerza de Tarea de Ingeniería de Internet
empezó el trabajo en un sucesor. Ese sucesor, llamado OSPF (Abrir Primero
la Ruta más Corta), se volvió una norma en 1990. Ahora la mayoría de
vendedores de enrutadores lo apoyan, y se ha convertido en el protocolo de
puerta de enlace interior principal.
Dada la larga experiencia con otros protocolos de enrutamiento, el grupo
que diseñó el nuevo protocolo tenía una larga lista de requisitos que cumplir.
Primero, el algoritmo se tenía que publicar en la literatura abierta, de ahí
la “O” inicial de OSPF. Una solución patentada poseída por una compañía
no lo haría.
Segundo, el nuevo protocolo tenía que apoyar una variedad de métrica de
distancia, como la distancia física, retardo, etcétera.
Tercero, tenía que ser un algoritmo dinámico, uno que se adaptara automática y rápidamente a los cambios de topología.
Cuarto, y esto era nuevo para OSPF, tenía que apoyar el enrutamiento con
base en el tipo de servicio, el nuevo protocolo tenía que poder dirigir el tráfico
en tiempo real de una manera y el resto del tráfico de una manera diferente.
El protocolo IP tiene un campo Tipo de Servicio, pero ningún protocolo de
enrutamiento existente lo usó. Este campo estaba incluído en OSPF pero
tampoco se usó, y finalmente se lo eliminó.
Quinto, y relacionado con el anterior, el nuevo protocolo tenía que balancear la carga, dividiéndose en líneas múltiples. La mayoría de los protocolos
anteriores enviaban todos los paquetes por la mejor ruta. La mejor segunda ruta no se usó en absoluto. En muchos casos, dividir la carga en líneas
múltiples ofrece un mejor desempeño.
Sexto, se necesitó apoyo para los sistemas jerárquicos. En 1988 Internet
había crecido tanto que no se podía esperar que ningún enrutador conociera
toda la topología. Se tuvo que diseñar el nuevo protocolo de enrutamiento
para que ningún enrutador tuviera que conocerla.
Séptimo, se requirió una pizca de seguridad para impedir que se engañara
a los enrutadores enviándoles falsa información de enrutamiento.
Finalmente se necesitó una previsión para tratar con enrutadores que se
conectaban a Internet mediante un túnel. Los protocolos anteriores no mane-
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
133
jaron bien este aspecto.
OSPF soporta tres tipos de conexiones y redes:
• Las líneas punto a punto exactamente entre dos enrutadores.
• Redes multiacceso con difusión (por ejemplo, la mayoría de LANs).
• Redes multiacceso sin difusión (por ejemplo, la mayoría de WANs de
paquetes conmutados).
Una red de multiacceso es la que puede tener múltiples enrutadores, cada
uno de los cuales se puede comunicar directamente con todos los demás. Todas
las LANs y WANs tienen esta propiedad.
La figura.... muestra un Sistema Autónomo que contienen los tres tipos de
redes. Observe que en general los hosts no tienen un papel en OSPF.
OSPF funciona resumiendo la colección de redes reales, enrutadores y
líneas en un grafo dirigido en el que a cada arco se asigna un costo (distancia,
retardo, etcétera). Entonces calcula la ruta más corta con base en los pesos
de arcos. Una conexión en serie entre dos enrutadores se representa por un
par de arcos, uno en cada dirección. Sus pesos pueden ser diferentes. Una red
de multiacceso se representa con un nodo para la red en sí más un nodo para
cada enrutador. Los arcos del nodo de la red a los enrutadores tienen peso 0
y se omiten del grafo.
Los pesos son simétricos, a menos que se marcaran de otra manera. Lo
que OSPF hace fundamentalmente es representar la red real com un grafo y
entonces calcular el camino más corto de uno a otro enrutador.
Muchos de los Sistemas Autónomos en Internet son grandes por sí mismos y
nada sencillos de administrar. OSPF les permite dividirlos en áreas numeradas
donde un área es una red o un conjunto de redes inmediatas. Las áreas no
se traslapan ni la necesidad es exhaustiva, es decir, algunos enrutadores no
pueden pertenecer a área alguna. Un área es una generalización de una subred.
Fuera de un área, su topología y detalles no son visibles.
Cada Sistema Autónomo tienen un área de red dorsal, llamada 0. Todas
las áreas se conectan a la red dorsal, posiblemente por túneles, de modo que es
posible entrar desde cualquier área en el Sistema Autónomo a cualquier otra
área en el Sistema Autónomo mediante la red dorsal.
134
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
En el grafo un túnel se representa como un arco y tiene un costo. Cada
enrutador que se coneta a dos o más áreas es parte de la red dorsal. Como
con otras áreas, la topología de la red dorsal no es visible fuera de ésta.
Dentro de un área, cada enrutador tiene la misma base de datos del estado
del enlace y ejecutrá el mismo algoritmo de la ruta más corta. Su trabajo
principal es calcular el camino más corto desde sí mismo a cualquier otro
enrutador en el área, incluso es un enrutador que se coneta a la red dorsal,
de la que debe haber una por lo menos. Un enrutador que conecta dos áreas
necesita las bases de datos para las dos áreas y debe ejecutar el algoritmo de
la ruta más corta por separado.
Durante la operación normal, pueden necesitarse tres tipos de rutas: centro
del área, entre áreas y entre Sistemas Autónomos. Las rutas dentro del área
son las más fáciles, puesto que el enrutador de origen ya conoce el caminomás
corto al enrutador de destino. El enrutamiento entre áreas siempre procede
en tres pasos: va del origen a la red dorsal ; va a través de la red dorsal al área
de destino; va al destino. Este algoritmo forza una configuración de estrella
en OSPF con red dorsal actuando como concentrador y las otras áreas como
rayos. Los paquetes se enrutan del origen al destino “como están”. No se
encapsulan ni se entunelan, a menos que vayan a un área cuya única conexión
a la red dorsal sea un túnel. La figura 5-64 muestraparte de Internet con
sistemas autónomos y áreas.
OSPF distingue cuatro clases de enrutadores:
• Enrutadores internos que están totalmente dentro de un área.
• Enrutadores de límite de área que conectan dos o más áreas.
• Enrutadores de la red dorsal que están en la red dorsal.
• Enrutadores fronterizos de Sistemas Autónomos que se comunican con
los enrutadores de otros sistema autónomos.
Protocolo BGP “Protocolo de Puerta de Enlace de Frontera” Dentro de un sólo Sistema Autónomo, el protocolo de enrutamiento recomendado
es OSPF (aunque no es ciertamente el único en uso). Entre los sistemas autónomos se utiliza un protocolo diferente, el Protocolo de Puerta de Enlace de
Frontera (BGP).
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
135
Se necesita un protocolo diferente entre Sistemas Autónomos porque los
objetivos de un protocolo de puerta de enlace interior y un protocolo de puerta
de enlace exterior no son los mismos. Todo lo que tiene que hacer un protocolo
de puerta de enlace interior es mover lo más eficazmente posible los paquetes
del orihen al destino. No tiene que preocuparse por las políticas.
Los enrutadores de protocolo de puerta de enlace exterior tienen que preocuparse en gran manera por la política. Por ejemplo, un Sistema Autónomo
corporativo podría desear la habilidad para enviar paquetes a cualquier sitio
de Internet y recibir los paquetes de cualquier sitio de Internet. Sin embargo, podría no estar dispuesto a llevar paquetes de tránsito que se originan en
un Sistema Autónomo foráneo con destino a un Sistema Autónomo foráneo
diferente, aún cuando su propio Sistema Autónomo estaba en la ruta más
corta entre los dos Sistemas Autónomos foráneos (“Ése es su problema no el
nuestro”).
Por otro lado, podría estar dispuesto a llevar el tráfico del tránsito para sus
vecinos o incluso para otros Sistmas Autónomos específicos que pagaron por
este servicio. Por ejemplo, las compañías telefónicas podrían estar contentas
de actuar como empresas portadoras para sus clientes, pero no para otro. En
general, los protocolos de puerta de enlace exterior, y BGP en particular, se
han diseñado para permitir que se implementen mucho tipos de políticas de
enrutamiento en el tráfico entre Sistemas Autónomos.
Las políticas típicas implican consideraciones políticas, de seguridad o económicas. Las políticas en cada enrutador de BGP se configura manualmente.
No son parte del protocolo.
Desde el punto de vista de un enrutador de BGP, el mundo consiste en
Sistemas autónomos y las líneas que los conectan. Dos Sistemas Autónomos se
consideran conectados si hay una línea entre un enrutador fronterizo en cada
uno. Dado el especial interés de BGP en el transporte de tráfico, las redes
se agrupan en tres categorías. La primera son las redes stub, que tienen sólo
una conexión con el grafo de BGP. Éstas no se pueden usar para transportar
tráfico proque no hay nadie en el otro lado. Luego vienen las redes multiconectadas. Éstas podrían usarse parar el transporte de tráfico excepto que
lo rechacen. Finalmente, están las redes de tránsito, como redes dorsales, que
están dispuestas a ocuparse de paquetes de terceros, posiblemente con algunas
restricciones y normalmente por pago.
Los pares de enrutadores de BGP se comunican entre sí estableciendo co-
136
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
nexiones TCP. Operando de esta manera proporcionan comunicación confiable
y ocultan todo detalle de red que pase a través de ellos.
Básicamente, BGP es muy parecido a un protocolo de vector-distancia,
pero muy diferente de lamayoría de otros como RIP (Protocolo de Información
de Ruteo). En lugar de mantener el costo para cada destino, cada enrutador
de BGP guarda el registro de la ruta utilizada. por lo que se conoce como un
protocolo de vector de ruta. Del mismo modo, en lugar de darle a cada vecino
el costo de cada posible destino estimado periódicamente, cada enrutador de
BGP les dice el camino exacto que está usando.
Luego que han llegado todas las rutas de los vecinos, f lags examina para ver
cuál es la mejor. Desecha pronto las de I y E, porque pasan a través de la propia
F. La opción está entonces entre usar B y G. Cada enrutador BGP contiene
un módulo que examina las rutas a un destino dado y las califica, devolviendo
un número para la distancia a ese destino por cada ruta. Cualquier ruta que
viole una restricción de la política recibe automáticamente una calificación al
infinito. Entonces el enrutador adopta la ruta de la distancia más corta. La
función de calificar no es parte del protocolo de BGP y puede ser cualquier
función que el gerente de sistemas desee.figura
BGP resuelve fácilmente el problema de la cuenta hasta infinito que plaga
otros algoritmos de vector-distancia. Por ejemplo, suponga que G se congela o
que la línea FG se cae. Entonces F recibe las rutas de sus tres vecinos restantes.
Estas rutas son BCD, IFGCD Y EFGCD. Puede ver inmediatamente que las
dos últimas rutas son vanas, ya que atraviesan F, por lo que escoge FBCD como
su nueva ruta. A menudo otros algoritmos de vector-distancia hacen una mala
elección porque no saben queénes de sus vecinos tienen rutas independientes
al destino y quiénes no.
Tabla de Encaminamiento IP Cada host guarda el conjunto de mapeados
entre las direcciones IP de destino y las direcciones IP del siguiente salto para
ese destino en una tabla llamada tabla de encaminamiento IP.
Se puede decir que contiene información acerca de las redes conectadas localmente y de las direcciones IP de otros “routers” localizados en ellas, además
de las redes con las que están conectados. Se puede extender con información
de las redes IP que se hallan aún más lejos, y tener incluso una ruta por defecto, pero sigue representando una fracción de Internet. Por ello se le llama
“router con información parcial de encaminamiento”.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
137
A estos “routers” se les aplica algunas consideracines:
• No conocen todas las redes de Internet.
• Permiten la autonomía de sitios locales para establecer y modificar rutas.
• Una entrada de encaminamiento errónea en uno de los “routers” puede
introducir inconsistencias, haciendo por tanto que parte de la red sea
inalcanzable.
Deberían implementar algún mecanismo de informe de errores via ICMP
(“Internet Control Message Protocol”) . Los siguientes errores deberían poderse enviar al host fuente:
• Destino IP desconocido con un mensaje ICMP Destination Unreachable.
• Redirección del tráfico a “routers” más adecuados enviando mensajes
ICMP Redirect.
• Problemas de congestión (demasiados datagramas entrantes para el espacio disponible en el buffer) con el mensaje ICMP Source Quench.
• El campo TTL (“Time-to-Live”) de un datagrama IP ha llegado a cero.
Se comunica con el mensaje ICMP Time Exceeded.
• Además, se deberían soportar las siguientes operaciones y mensajes ICMP
básicos:
— Problema de parámetros.
— Máscara de dirección.
— TS (“Time stamp”).
— Solicitud/Respuesta de información.
— Solicitud/Respuesta de eco.
Hace falta un “router” más inteligente si:
• Ha de conocer las rutas a todas las posibles redes IP, como era el caso
de las pasarelas del núcleo de ARPANET.
138
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
• El “router” ha de tener tablas de encaminamiento dinámicas, que se
actualizan con poca o ninguna intervención manual.
• El “router” ha de anunciar los cambios locales a los otros “routers”.
Estas formas más avazadas de un “router” usan protocolo adicionales para
comunicarse:
• Usando la terminología de Internet, existe el concepto de AS (“Autonomous System”), o grupo de redes, que se administra como una unidad.
Los encaminamientos dentro y fuera de un AS se tratan como cuestiones
distintos y existen protocolos diferentes para cada uno.
• Durante unas dos décadas se probaron numerosos protocolos en Internet.
Algunos de ellos funcionaron bien, otros tuvieron que ser abandonados.
• La aparición de ASs de distintos tamaños requería diferentes soluciones
de protocolos basado en DV (“Distant Vector”). Sin embargo no funcionaban bien en redes grandes. Los protocolos LS (“Link State”) son
mucho más adecuados para estas redes.
• Para intercambiar información de encaminamiento entre ASs se desarollaron los protocolos de pasarelas fronterizas.
En la tabla se pueden encontrar tres tipos de mapeados:
(a) Rutas directas, para redes conectadas localmente.
(b) Rutas indirectas, para redes accesibles a través de uno o más routers.
(c) Una ruta por defecto, que contiene la ir IP de un “router” que todas
las direcciones IP no contempladas en las rutas directas e indirectas
han de usar. (ver figura 4.38 de la página 137)
La tabla de encaminamiento contiene las siguientes entradas:
destination
route via
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
139
Figura 4.38: Ejemplo de tabla de encaminamiento IP.
128.10
direct attachment
129.7
128.15.1.2
default
128.10.1.1
Destinos Directos e Indirectos Si el host de destino está conectado a una
red a la que también está conectado el host fuente, un datagrama IP puede
ser enviado directamente, simplemente encapsulando el datagrama IP en una
trama. Es lo que se llama encaminamiento directo.
El encaminamiento indirecto ocurre cuando el hsot de destino no está en
una red conectada directamente al host fuente. La única forma de alcanzar el
destino es a través de uno o más “routers”.
La dirección del primero de ellos (el primer salto) se llama ruta indirecta.
La dirección del primer salto es la única información que necesita el host
fuente: el router que reciba el datagrama se responsabiliza del segundo salto,
140
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
y así sucesivamente. (ver figura 4.39 de la página 138)
Figura 4.39: Rutas IP- El host A tiene una ruta directa con B y D, y una
indierecta con C. El host D es un router entre las redes 129.1 y 129.2Un host puede distinguir si una ruta es directa o indiracta examinando el
número de red y de subred de la dirección IP.
1. Si coinciden con una de las direcciones IP del host fuente, la ruta es
directa.
El host necesita ser capaz de direccionar correctamente el objetivo usando
un protocolo inferior a IP. Esto se puede hacer automáticamente, usando un
protocolo como ARP, que se usan en LANs con broadcast, o estáticamente y
configurando el host.
1. Para rutas indirectas, el único conocimiento requerido es la dirección IP
de un “router” que conduzca a la red de destino.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
141
Las implementaciones de IP pueden soportar también rutas explícitas, es
decir, una ruta a una dirección IP concreta. Esto es habitual en las conexiones
que usan SLIP (“Serial Line Internet Protocol”) que no proporciona un mecanismo para que dos hosts se informen mutuamente de sus direcciones IP. Tales
rutas pueden tener incluso el mismo número de red que el host, por ejemplo
en subredes compuestas de enlaces punto a punto. En general, sin embargo,
la información de encaminamiento se genera sólo mediante los números de red
y de subred.
Opciones de Encaminamiento del Datagrama IP El campo “options”
del datagrama IP admite dos métodos para que el generador del datagrama de
explícitamente información de encaminamiento y uno para que el datagrama
determine a ruta que va a emplear.
LSR (“Loose Source Routing”)
Esta opción, conocida también como LSRR (“Loose Source and Record
Route”), proporciona un medio para que la fuente del dar suministre información de encaminamiento explícita que usarán los “routers” que retransmiten
el datagrama, y para grabar la ruta seguida. (ver figura 4.40 de la página 139)
Figura 4.40: Opción LSR.
1000011: Es el valor del byte “option” para LSR.
Length: Contiene la longitud de este campo, incluyendo los campos “type” y “length”.
Pointer: Apunta a los datagramas de la opción en la siguiente dirección
IP a procesar. Es relativo a comienzo de la opción, por lo que su valor mínimo
es de cuatro. Si su valor supera la longitud de la opción, se alcanza el final
de la ruta de la fuente y el resto del encaminamiento se ha de basar en la
dirección IP de destino (como en los datagramas que no tiene esta opción).
Route Data: Es una serie de direcciones IP de 32 bits.
142
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Siempre que un datagrama llega a su destino y la ruta de la fuente no está
vacía (pointer‹length) el receptor:
• Tomará la siguiente dirección IP de este campo (el indicado por “pointer”
y lo pondrá en el campo de la dirección IP de destino el datagrama.
• Pondrá la dirección IP local en la SL (source list) en la localización a la
que apunte pointer. La dirección IP local es la correspondiente a la red
por la que se enviará el datagrama.
• Incremetará pointer en 4.
• Transmitirá eL datagrama a la nueva dirección IP de destino.
Este procedimiento asegura qeu la ruta de retorno se graba en “route datagram” (en orden inverso) de modo que el receptor use estos datagramas
para construir un LSR en el sentido inverso. Se denomina LSR (“Loose Source Route”) porque al router retransmisor se le permite usar cualquier ruta y
cualquier número de host intermedios para alcanzar la siguiente dirección de
la ruta.
El host emisor pone la dirección IP del primer router intermedio en el
campo dirección IP de destino y las direcciones de los demás routers de la
ruta, incluyendo el destino, en la opción “source route”. La ruta que hay
grabada en el datagrama cuando este llega al objetivo contiene las direcciones
IP de cada uno de los routers que retransmitió el datagrama.
SSR (“Strict Source Routing”)
Esta opción, llamada también SSRR (“Strict Source and Record Route”),
emplea el mismo principio que LSR (“Loose Source Route”) exceptuando que
el router intermedio debe enviar el datagrama a la siguiente dirección IP en la
ruta especificada por la fuente a través de una red conectada directamente y
no por medio de un router intermedio. Si no puede hacerlo envía un mensaje
ICMP “Destination Unreachable” (ver figura 4.41 de la página 141).
1001001: Es el valor del byte “option” para el método SSR.
Length: Tiene el mismo significado que para LSR.
Pointer: Tiene el mismo significado que para LSR.
Route Data: Es una serie de direcciones IP.
4.2. PROTOCOLOS DE LA CAPA DE INTERRED
143
Figura 4.41: Opción SSR.
RR (Record Route)
Esta opción proporciona un medio para grabar la ruta de un datagrama
IP. Funciona de modo similar al SSR (“Strict Source Routing”) anterior, pero
en este caso el host fuente deja el campo de datos de encaminamiento vacío,
que se irá llenando a medida que el datagrama viaja. El host fuente debe dejar
suficiente espacio para esta inforamción: si el campo se llena antes de que el
datagrama llegue a su destino, el datagrama se retransmitirá, pero se dejará
de grabar la ruta. (ver figura 4.42 de la página 141)
Figura 4.42: Opción RR.
0000111: Es el valor del byte option para el método RR.
Length: Tiene el mismo significado que para LSR.
Pointer: Tiene el mismo seginificado que para LSR.
Route Data: Su longitud es un múltiplo de cuatro bytes, y loelige el
generador del datagrama.
IT (“Internert Timestamp”)
El timestamp o sello de tiempo es una opción para forzar a algunos (o a
todos) de los routers de la ruta hacia el destino a poner un timestamp en los
datos de la opción.
Los timestamps se miden en segundos y se pueden usar para la depuración.
No se pueden emplear para medir el rendimiento por dos razones:
144
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
• No son lo bastante precisos porque la mayoría de los datagramas se
envían en menos de un segundo.
• No son lo bastante precisos porque los routers no han de tener relojes
sincronizados. (ver figura 4.43 de la página 142)
Figura 4.43: Opción IT.
Donde:
01000100: Es el valor del byte option para IT.
Length: Contiene la longitud total de esta opción, incluyendo los campos
type y length.
Pointer: Apunta al siguiente timestamp a procesar (el primero que esté
disponible).
Oflew (overflow):Es un entero sin signo de 4 bits que indica el núemro
de módulo IP, que no pueden registrar timestamps, por falta de espacio en el
campo de datos.
Flag: Es un valor de 4 bits que indica cómo se han de registrar los timestamps. Los valores posibles son:
0: Sólo timestamps almacenados en palabras consecutivas de 32 bits.
1: Cada timestamps se precede con la dirección IP del módulo que efectúa
el registro.
2: La dirección IP se pre-especifica y un módulo IP sólo realiza el registro
4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP”
145
cuando encuentra su propia dirección en la lista.
Timestamp: Un timestamp de 32 bits medido en milisegundos desde la
medianoche según UT (GTM).
El host emisor debe compones esta opción con un área de datos bastante
grande para almacenar todos los timestamps. Si el área de los timestamps se
llena, no se añaden más.
4.3
TCPMON: “Analizador de Protocolos TCP/IP”
TCPMON es un programa analizador de Protocolos TCP/IP para ayuda en
la docencia de redes de computadores.
Diseñado e implementado por el departamento DISCA de la Universidad
Politécnica de Valencia para sus uso, principalmente, en la docencia de las
asignaturas de redes de computadores.
Es un programa para Windows 9x que permite capturar y analizar las
tramas que circulan por la red, lo cual es muy interesante para el estudiante
de estas materias.
TCPMON es también una poderosa herramienta para cualquier programador que desarrolle aplicaciones que utilicen la red.
4.3.1
Motivación
Un analizador de protocolos es una herramienta tradicional en el desarrollo y
depuración de protocolos y aplicaciones de red. Es un programa que permite
al ordenador capturar tramas de la red para, posteriormente o en tiempo real,
proceder a su análisis.
Por analizar se entiende que el programa es capaz de reconocer que la trama capturada transporta información asociada a un protocolo concreto (por
ejemplo a TCP, a ICMP,...) y muestra al ususario la información convenientemente decodificada. De esta manera el ususario puede, de forma cómoda,
ver qué es lo que está circulando por la red.
Esto es lo básico para un programador que esté desarrollando un protocolo
(o cualquier programa que transmita o reciba datos de la red) ya que le permite
146
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
comprobar qué es lo que realmente hace el programa.
Es también útil a un estudiante que desee experimentar / comprobar cómo
funcionan los protocolos tradicionales de red.
El esdudio de un protocolo puede resultar poco ameno al alumno, sobre
todo si el estudio se limita a la estructura y funcionalidad de las unidades
de datos que el protocolo intercambia. El uso de un analizador es muy útil
para clarificar la dinámica de un protocolo, al tiempo que refuerza la curiosidad del alumno por saber qué es lo que está pasando en la red. Además, le
permite comprobar la relación entre los diferentes protocolos, lo que facilita la
comprensión de su funcionamiento.
Existen distintos tipos de analizadores disponibles comercialmente, y de
distintos precios, pero normalmente son productos caros o muy caros. El
precio depende de la capacidad del análisis, de la tecnología de red soportadas
y de si se trata sólo de software o si es un equipo hardware especializado.
En cualquier caso, se ha considerado que es interesante desarrollar un analizador con fines docentes, de uso fácil y de libre distribución.
Por uso fácil queremos decir que el programa realiza excusivamente las
tareas que hemos considerado son las requeridas por nuestros alumnos. De
esta manera, las opciones de configuración del programa son las justas y no
requieren que el alumno sea, en ese momento, un experto capaz de entender
todas las operaciones posibles en un analizador comercial.
4.3.2
Estructura Interna de TCPMON
El programa se basa en la utilización de un Packet Driver que permite el
acceso a la interface NDIS de Windows, a su vez, virtualiza el nivel de acceso
a red, lo que permite desarrollar aplicaciones independientes del hardware de
red utilizado por el PC.
La figura 4.44 de la página 145muestra la arquitectura de red en Windows
y la ubicación de la interface NDIS y Packet Driver. La referencia a “Win32
application” puede ser cualquier programa Windows, y en nuestro caso es
TCPMON.
4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP”
Figura 4.44: Arquitectura de Red de Windows9x.
147
148
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
4.3.3
Características del PC
TCPMON es un programa para plataformas Windows 9x. Para su correcto
funcionamiento se requiere que el ordenador en el que se istale cumpla los
siguientes requiesitos:
1. PC compatible 486 o superior con, al menos, 32 Mbytes de RAM y 2
Mbytes libres de HD.
2. Sistmea Opertivo Windows 9x y ME.
3. Adaptadore de red con interface NDIS.
El programa analizador ha sido probado satisfactoriamente con tarjetas de
red Ethernet, Fast Ethernet y con el Acceso Telefónico a Redes.
La utilización de una CPU o una tarjeta de red poco potentes incrementa
la posiblidad de pérdida de tramas. Es decir, existe la posibilidad de que el
equipo no sea capaz de capturar todas las tramas que circulan por la red.
Esta circunstancia, aunque poco frecuente, puede darse incluso en equipos
muy potentes si el tráfico de la red es muy alto.
4.3.4
Características del Programa Analizador TCP/IP
• Captura de tramas (ver figura 4.45 de la página 147).
El proceso de captura pregunta al ususrio qué tipo de tramas desea capturar. El programa puede capturar todas, pero sólo almacena las tramas que
es capaz de analizar, y éstas son las que contienen protocolos:
— ARP y RARP.
— IP e ICMP.
— UDP y TCP.
— IGMP.
• Análisis de tramas.
4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP”
Figura 4.45: Configuración de la Captura.
149
150
CAPÍTULO 4. PROTOCOLOS DE TCP/IP
Esta función es activada autmáticamente tras la captura. También se
puede activar sobre una captura previa almacenada en disco.
El programa muestra la estructura de la trama y los protocolos en ella
contenidos. Por ejemplo, si se trata de una trama que contiene datos de una
aplicación sobre TCP, se muestra:
— Los campos de la trama.
— Los campos de datragrama IP.
— Los campos de segmento TCP, y finalmente..
— Los datos de la aplicación.
— Estadísticas de red.
El programa también suministrará estadísticas, en foramto numérico y en
formato gráfico del tráfico capturado. Existe la posibilidad de pedirle al programa que muestre estadísticas del tráfico actual sin quealmacene las tramas
que escucha.
• Otras características
Junto a las caracterísitcas prinicpales ya comentadas, el programa dispone
de un conjunto de facilidades básicas para hacerlo tatalmente funcional, como
son:
— Recuperación y almacenamiento en disco duro de sesiones capturadas.
— Opciones de búsqueda de una trama en una sesión de captura.
— Opciones para personlizar la presentación de la aplicación.
— Opciones de configuración. Selecionar de la tarjeta de red con la
que operará el analizado.
— Información sobre los parámetros operativos de la red.
4.3.5
Conclusiones
Esta “demo” presenta la aplicación TCPMON. Un analizador de protocolos
con fines docentes y de libre distribución.
4.3. TCPMON: “ANALIZADOR DE PROTOCOLOS TCP/IP”
151
Es una herramienta básica para cualquier alumno de asignaturas de redes
de computadores. El alumno puede utilizar TCPMON para observar la dináminca de los protocolos de red que estudia y también para depurar cualquier
desarrollo de programas que utilicen la red para transmitir y recibir datos.
TCPMON funciona sobre el interface de red NDIS. Puede ser utilizado con
el Acceso Telefónico a Reedes de Windows (Modems) y con cualquier tarjetra
de red. También es útil como analizador off-line para el estudio de una captura
previa.
Capítulo 5
Análisis de Seguridad de
TCP/IP [9]
5.1
Introducción
Este capítulo pretende analizar los aspectos asociados a la seguridad de la
familia de protocolos TCP/IP, así como de los servicios que se establecen
típicamente sobre esta pila de protocolos.
Hoy en día, el uso de TCP/IP se ha extendidio prácticamente a la totalidad
de las redes de comunicaciones de datos, potenciado fundamentalmente por
la expansión de Internet, así como de las redes corporativas y de cooperación
asociadas a esta tecnología: Intranets y Extranets.
Habitualmente el diseño de las redes se basaba en características como la
funcionalidad o la eficiencia, pero no en la seguridad, condiciones que son
rentables desde un punto de vista de negocio a corto plazo, pero que pueden
resultar caras a largo.
Para la realización del análisis de diseño de una red segura es necesario
conocer los detalles y características de los protocolos de comunicaciones subyacentes, que serán los encargados de transportar la información y datos que
desean distribuirse. A su vez, deberá analizarse los servicios que se proporcionan en dicha red y sus detalles de funcinamiento.
Aquí se profundizará en las vulnerabilidades existentes en los protoclos
153
154
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
desde un punto de vista teórico. Se complementa al capítulo con una visión
práctica proporcionada por las herramientas existentes para permitir o denegar
la ejecución de las mencionadas vulnerabilidades.
5.2
IP Versión 6
El rápido crecimiento de r, así como la existencia de numerosos dispositivos
que requieren comunicarse mediante TCP/IP: servidores, PCs, dispositivos
de red, PDAs, teléfonos móviles y otros dispositivos, inalámbricos, teléfonos
IP, equipos de electrónica: TV, videos, DVDs, está empujando al cambio de
IP versión 4, a IP versión 6 o IP Next Generation. La posibilidad de poder
escalar el número de direcciones IP, que escasea actualmente, es su propiedad
fundamental.
En lugar de los 32 bits de las direcciones en IPv4, se pasará a 128 bits en
IPv6.
El inmenso dominio de direcciones existentes no es su única característica,
su propiedad es su auto-configuración y auto-descubrimiento.
Las direcciones se asignarán en base a un identificador de interfaz como la
dirección MAC, y un prefijo de red. Asimismo, IPv6 introduce una arquitectura
P2P, que permite esquemas de direccionamiento globales extremo a extremo.
Esta tecnología sustituirá al NAT. A su vez, incluye características para dar
seguridad de servicio.
La definición e implementación del nuevo protocolo se está llevando a cabo
por el IETF junto con los fabricantes de equipos de red. Asimismo el IETF
posee grupos dedicados a la transición de la Internet actual, basada en la
versión 4, a la futura basada en la versión 6 como el llamado “NGtrans WG”.
Actualmaente existe una red basada en IPv6, sobre la Internet actual,
empleada para la realización de pruebas y mejoras del protocolos: 6Bone.
Esta red se basa principalmente en la creación de túneles que encapsulan el
tráfico IPv6 sobre las redes IPv4.
El otro protocolo que permitirá una correcta transición basada en la independencia de las dos versiones es MPLS, empleando ampliamente hoy en día
en las redes principales de los proveedores de comunicaciones.
Desde el punto de vista de los sistemas, una alternativa es la conocidacomo
5.3. HISTORIAS DE LAS VULNERABILIDADES
155
dual-stack, en el que un equipo posee dos pilas TCP/IP simultáneamente, una
para cada versión, pudiendo comunicarse con ambos tipos de redes y equipos.
5.3
Historias de las vulnerabilidades
En los primeros años, los ataques involucran poca sofisticación técnica.
Los ataques internos se basaban en utilizar los permisos para alterar la
información.
Los externos se basaban en acceder a la red simplemente averiguando una
clave válida.
A través de los años se han desarrollado formas cada vez más sofisticadas de
ataque para explotar vulnerabilidades en el diseño, configuración y operación
de los sistemas.
Esto permitió a los nuevos atacantes tomar control de sistemas completos
produciendo verdaderos desastres que en muchos casos llevaron a la desaparición de aquellas organizaciones o empresas con altísimo grado de dependencia
tecnológica (bancos, servicos automáticos, etc.).
Estos nuevos métodos de ataque han sido automatizados, por lo que en
muchos casos sólo se necesita conocimiento técnico básico para realizarlos. El
aprendiz de intruso, script-kiddie o ankle biter, o aprendiz de hacker, lamer
o wannabee, tiene acceso hoy en día a numerosos programas y scripts (explotis) que se aprovechan de las vulnerabilidades, disponibles desde numerosas
fuentes underground, como hacker newsgroups, mailing-lists y web sites, donde además encuentra todas las instrucciones para ejecturar ataques con las
herramientas disponibles.
Se han definido numerosos artículos, clasificando generaciones de ataques
en la red existentees a lo largo del tiempo:
• La primera generación: Ataque Físico.
Ataques que se centraban en los compnenetes electrónicos: ordenadores y
cables. El objetivo de los protocolos dsitribuidos y de la redundancia es la
tolerancia frente a un punto único de fallo. Son mayormente problemas para
los que actualmente se conoce la solución.
156
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
• La segunda genereción: Ataque Sintáctico (objeto del presente trabajo).
Las pasadas décadas se han caracterizado por ataques en contra la lógica operativa de los ordenadores y las redes, es decir, pretenden explotar las
vulnerabilidades de los programas, de los algoritmos de cifrado y de los protocolos, así como permitir la degeneración del servicio prestado, en este caso
se conoce le problema, y se está trabajando en encontrar soluciones cada vez
más eficaces.
• La tercera generación: Ataque Semántico.
Se basan en la manera en que los humanos asocian significado a un contenido. El hecho es que en la sociedad actual la gente tiende a creerse todo
lo que lee (medios informativos, libros, la Web...). El inicio de este tipo de
atques surgió con la colocación de información falsa en boletines informativos
o e-mail, por ejemplo, para beneficiarse de las inversiones dentro de la bolsa
financiera. También pueden llevarse a cabo modificando inmformación caduca.
Esta generación de ataques se lleva a su extremo si se modifica el contenido
de los datos de los programas de ordenador, que son incapaces de cotejar o
sospechar de su varacidad, como por ejemplo la manipulación del sistema de
control de tráfico aéreo, el control de un coche inteligente, la base de datos de
los libros más vendidos o de índices bursátiles como el NASDAQ.
Lo mismo es que estos ataques han existido fuera del entorno informático
desde hace años como estadísitcas manipuladas y falsos rumores..., pero es la
tecnología la que potencia su difusión.
La conclusión tras el análisis de la vulnerabilidad desde un punto de vista
operacional es que para evitarlas puedan definirse las tareas a realizar dentro
de un sistema de seguridad de tres etapas:
• Prevención: Implementada por dispositivos como firewalls.
• Detección: A través de sistemas como IDs (Instruction Detection Systems).
• Respuesta: Las acciones a tomas deben ser dirigidas por la parte humans
típicamente los administradores de la red.
5.4. VULNERABILIDADES GENÉRICAS
5.4
157
Vulnerabilidades Genéricas
Las vulnerabilidades pretenden describir las debilidades y los métodos más
comunes que se utliizan para perpetrar ataques a la seguridad de la familia
de protocolos TCP/IP (confidencialidad, integiridad y disponibilidad de la
información).
Los ataques pueden estar motivados por diversos objetivos, incluyendo
fraude, extorsión robo de información confidencial, venganza, acceso no autorizado a un sitema, anulación de un servicio o simplemente el desafío de
penetrar un sistem.
Éstos pueden provenir principalmente de dos fuentes:
• Usuarios autentificados, al menos a parte de la red, como por ejemplo
empleados internos o colaboradores externos con acceso a sistemas dentro
de la red de la empresa. También denominados insiders.
• Atacantes externos a la ubicación física de la orgaización, accediendo
remotamente. También denominados outsiders.
Los métodos de ataque descritos se han dividido en categorías que pueden
estar relacionadas entre sí, ya que el uso de un método permite o facilita el uso
de otros, en ocasiones, complementarios. Un ejemplo de ata que podría ser
la realización del análisis de un sistema, mediante fingerprinting, tras el cual
es posible explotar una vulnerabilidad como un buffer-overflow de un servicio
TCP/IP, enviando paquetes que parecen válidos mediante IP spoofing. Dentro
de los métodos no se han incluido ataques de alto nivel, como por ejemplo
la distribución y ejecución de virus a través del correo electrónico (protocolo
SNMP), ya que afectan a vulnerabilidades particulares de las aplicaciones y
los lenguajes de programación soportados por éstas.
En numerosas ocasiones se ha empleado inicialmente el término inglés para nombrar la vunerabilidad, ya que es como se conoce comúnmente, para
posteriormente asociarle su posible traducción al español.
Las vulnerabilidades pueden clasificarse según dos criterios:
• Número de paquetes a emplear en el ataque:
— Atomic: Se requiere un único paquete para llevarla a cabo.
158
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
— Composite: Son necesarios múltiples paquetes.
• Información necesaria para llevar a cabo el ataque:
— Context: Se requiere únicamente información de la cabecera del
protocolo.
— Content: Es necesario también el campo de datos o payload.
5.4.1
Footprinting
La regla número uno antes de planificar o analizar un posible ataque a un
sistema, o red, es conocer el objetivo, es decir, obtener su huella identificativa
o footprinting (el arte de extraer toda la información posible de la red objetivo
del ataque). Por tanto la primera tarea a realizar pasa por dedicar un esfuerzo
considerable a obtener y recolectar ésta información.
Existen numerosas utilidades para obtener la información de un sistema:
ping, whois, finger, rusers, nslookup, rcpinfo, telnet, dig, nmap...
El atacante podría comenzar por ejecutar un ping contra el sistema a
atacar:
$ ping www.sistema.es
Para comprobar sus existencia (también el uso de traceroute o de nslookup
permiten obetner información si los paquetes ICMP están deshabilitados).
Posteriormente podría intentar extraer información del sistema y sus usuarios
mediante la utilidad finger:
$ finger [email protected]
La primera etapa sería buscar inforamición general de la empresa en Internet. Los pasos que podrían ralizarse a continuación irían desde ralizar
búsquedas en ICANN para obtener el rango de redes asociado a la organización, como descubrir qué sistemas activos existen (mediante pings), para
posteriormente conocer los posibles servicios vulnerables, empleando para ello
la técnica de .escaneo de puertos.
Finalmente, a través de una conexión, por ejemplo mediante TELNET, al
puerto seleccionado se podrá obtener información en la mayoría de los casos,
como cadenas de texto, que identifiquen el servicio, y que permitirán conocer
5.4. VULNERABILIDADES GENÉRICAS
159
el tipo de servidor y su versión. Esta técnica puede aplicarse mediante el uso
de utilidades comoTELNET o NETCAT.
Traceroute
Toda red está caracterizada por una topología o distribución, tanto física como
lógica, concreta. Existe una herramienta que ayuda a la obtención de ésta:
traceroute, creada originalmente para solucionar problemas en una red. Esta
técnica permite saber todos los sistemas existentes en un camino entre dos
equipos.
Su funcionamiento se basa en el manejo del campo TTL (“Time To Live”)
de la cabecera IP de un paquete, de forma que es capaz de determinar uno a
uno los saltos por los que un determinado paquete avanza en la red. El campo
TTL actúa como un contador de saltos, viéndose decrementado en uno al ser
reenviado por cada router. Por tanto mediante esta utilidad de diagnóstico se
podrá obtener una lista de los elementos de red recorridos desde una ubicación
origen hasta un sistema destino. Los paquetes de conmprobación son enviados
de tres en tres.
El primero datagrama enviado tiene un TTL de valor 1, por lo que generará
en el primer salto un paquete ICMP Time Exceded. El siguiente datagrama
verá el valor del TTL incrementado en uno, por lo que será capaz de llegar un
salto más en la red que el datagrama anterior.
Debe tenerse en cuenta que el comportamiento de la herramienta puede
variar en función de la plataforma: el traceroute de Unix, por ejemplo Linux
o HP-UX, utiliza el protocolo UCP (pudiendo usar ICMP mediante la opción
“-I”). En el caso de Windows NT (tracert) se emplea el protocolo ICMP.
5.4.2
Fingerprinting
Una técnica más específica que permite extraer inforamción de un sistema
concreto es el fingerprintitng, es decir, la obtención de su huella identificativa
respecto a la pila TCP/IP. El objetivo principal suele ser el sistema operativo
que se ejecuta en la máquina destino de la inspección. Esta información junto
con la versión del servico o servidor facilitará la búsqueda de vulnerabilidades
asociadas al mismo.
160
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
Gran parte de lainformaicón de la pila TCP/IP puede obtenerse en base
al intercambio en tres pasos propio del protocolo TCP/IP (TCP/IP three-way
handshake).
La probabilidad de acierto del sistema operativo remoto es muy elevada, y
se basa en la identificación de las características propias de una implementación
de la pila TCP/IP frente a otra, ya que la interpretación de los RFCs no
concuerda siempre. Para poder aplicar esta técnica con precisión es necesario
disponer de un puerto abierto (TCP y/o UDP).
Las diferentes pruebas a realizar para diferenciar los sistemas opertivos
son:
• FIN probe.
• BOGUS flag probe.
• ISN sampling.
• Monitorización “Don’t fragment bit”.
• Tamaño de la ventana TCP inicial.
• Valor de ACK.
• Mensaje de error de ICMP quenching.
• ICMP message quoting.
• Mensaje de error de ICMP-integridad.
• TOS (Tipos de Servicio).
• Gestión de la fragmentación.
• Opciones TCP.
5.4.3
Escaneo de Puertos-Vulnerabilidades
Una vez que se dispone de los dispositivos a nivel IP activos en una red (por
ejemplo, mediante ICMP), puede aplicarse a cada uno de ellos una técnica,
centrada en la posterior búsqueda de vulnerabilidades, basada en una exploración de escaneo de puertos abiertos, tanto UDP como TCP.
5.4. VULNERABILIDADES GENÉRICAS
161
El escaneo es la determinación de las características de una red o sistema
remotos, con el objetivo de identificar los equipos disponibles y alcanzables
desde Internet, así como los servicios que ofrece cada uno. Permite saber los
sistemas existentes, los servicios ofrecidos por ellos, cómo están organizados
los equipos, qué sistemas operativos ejecutan, cuál es el propósitos de cada
uno.
De forma general, entre lo métodos de escaneo se incluyen técnicas como:
• Ping sweep.
• Escaneo de puertos.
• Firewalking.
• Trace Routing.
• Identificación de Sistema Operativo.
Al escanear puertos de los sistemas se descubren puntos de entrada a los
mismos, que abren la puertas a nuevas vunelrabilidades potenciales en base a
la implementación del servidor que escucha tras cada puerto. Además, esta
técnica también permite identificar el tipo de sistema existente, así como su
sistema operativo, y las aplicaciones que ofrecen un servicio en la red, así como
su versión asociada.
La herramienta por excelencia para realizar un escaneo de puertos es
NMAP. Las técnicas existentes en el proceso de escaneo emplean diferentes
procedimientos para descubrir la información del servicio:
• TCP Connect Scan: Mediante el establecimiento de una conexión TCP
completa.
• TCP SYN Scan: Se abren coneciones a medias, ya que simplemente se
envía el paquete SYN inicial, determinando la existencia de un servicio si
se recibe del sistema objetivo un SYN-ACK. Si, por el contrario, se recibe
un RST-ACK,es que no existe un servicio. En el caso de la existencia de
un servicio, se envía un RST-ACK para no establecer conexión alguna, y
no ser registrados por el sistema objetivo, a diferencia del caso anterior.
162
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
Estos dos tipos funcionarán en todods los sistemas con implementaciones
TCP/IP, mientras quelos siguientes variarán según la implementación particular:
• TCP FIN Scan: Al enviar un FIN a un puerto, debería recibirse como
resultado un paquete de reset si está cerrado (se aplica principalmente
a las pilas TCP/IP de Unix).
• TCP Xmas Tree Scan: Esta técnica es similar a la anterior, obteniéndose
como resutlado también un RST si el puerto está cerrado. En esta caso
se envían paquetes FIN, URG y PUSH.
• TCP Null Scan: En el caso de poner a cero todos los flags de la cabecera
TCP, debería recibirse de nuevo como resultado un paquete RST en los
puertos no activos.
• TCP ACK scan: Mediante éste de determina si un firewall es de filtro
de paquetes o si mantiene el estado.
• TCP Windows scan: Mediante una anomalía es como se muestra el
tamaño de la ventana TCP.
• TCP RPC scan: Es una técnica de Sistemas Unix para conocer puertos
de llamadas a procedimientos remotos.
• UDP scan: Al enviarse un paquete UDP a un puerto destino se obtiene
como resultado un paquete ICMP con lo que se determina que el puerto
no está activo. En caso contrario, no recibirá el mensaje.
5.4.4
Escaneo de Puertos Basado en el Protocolo ICMP
Una vez conocido el propósito original del protocolo ICMP, notificar errores,
y condiciones inusuales que requieren atención respecto de protocolo IP, y el
formato de sus paquetes, es necesario analizar los usos indebidos que se le
pueden dar, todos asociados al escaneo de un sistema remoto.
De manera excepcional, se incluirán en cada una de las técnicas basadas
en ICMP los métodos para su detección, en lugar de inclluirse en el apartado
de parotecciones.
5.4. VULNERABILIDADES GENÉRICAS
163
ICMP Echo (Ping Sweep):
Mediante esta técnica se pretenden identificar los equipor existentes en las
redes onjetivo de un ataque, típicamente accesibles desde Internet. Constituye
uno de los pasos principales en la obtención de información.
Empleando para ello los paquetes ICMP de tipo echo (8) y echo reply (0),
se sabrá si una determinada dirección IP está o no activa. Se envía un paquete
de tipo echo, y se se recibe el paquete de echo reply es que dicha dirección está
siendo utilizada.
La técnica envía numerosos paquetes de este estilo para conocer todos
los equipos disponibles en una subred. Existen numerosas herramientas que
implementan este proceso, como por ejemplo, fping, gping, el propio nmap, o
la utilidad pinger de Rhino9.
Para detectar este tipo de paquetes enviados de forma masiva puede analizarse el log del servidor DNS asociado al dominio escaneado, ya que aparecerán
múltiples intentos de resolución de nombres de direcciones IPs consecutivas.
Asimismo, se podrá obtener la dirección IP del atacante.
Los sistemas IDS también permiten su detección, tanto cuando se usa de
forma secuencial, como cuando se lanzan los pings en paralelo.
ICMP Broadcast
Cuando se envía un paquete ICMP echo a la dirección broadcast o a la dirección de red, con un único paquete enviado se consigue que todos los equipos
respondan con su echo reply asociado. Las implementaciones de los diferentes
sistemas operativos se comportan de manera diferente. Esta técnica puede
emplearse en las variantes de Unix, pero los SO de Microsoft, Windows, no
responden a este tipo de paquetes.
Existen técnicas de escaneo más avanzadas basadas en ICMP, pero NO en
los paquetes de tipo echo, podrían considerarse técnicas tanto de ICMP sweep
como de ICMP broadcast, pero con otros tipo de paquetes ICMP, no echo.
Algunas son:
• ICMP Timestamp.
• ICMP Information.
164
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
• ICMP Assress Mask.
Es posible emplear técnicas de detección de equipos másavanzadas, no ya
en función del tipo de paquete ICMP, sino en base al comportamiento de las
implementaciones del protocolo ICMP. Para ello, se analizarán los mensajes
de error de ICMP, generados desde las máquinas que sirven como prueba, lo
que no permitirá saber si existe algún dispositivo de filtrado presente, así como
descubrir la configuración de las listas de acceso empleadas.
De manera general los métodos a emplear ilcluyen:
— Modificación maliciosa de la cabecera IP de un paquete, por ejemplo cambiando el campo de la longitud, o los campo de opciones
del protocolo IP.
— Uso de valores inválidos en los campo de la cabecera IP.
— Posibilidad de abusar de la fragmentación.
— Emplear el método de escaneo basado en el protocolo UDP: es el
protocolo ICMP el que se encarga de notificar las anomalías de éste.
• IP Bad Headers Fields.
• IP Non-Valid Field Values.
• IP Fragmentation.
5.4.5
Sniffing
Un ataque realmente efectivo, ya que permite la obtención de gran cantidad de
información sensible enviada sin encriptar, como por ejemplo usuarios, direcciones de e-mail, claves, números de tarjetas de crédito..., es emplear sniffers y
olfateadores en entornos de red basados en difusión, como por ejemplo ethernet (mediante el uso de concentradores o hubs). El análisis de la información
transmitida permite a su vez extraer relaciones y topologías de las redes y
organizaciones.
Los sniffers operan acivando una de las interfaces de red del sistema en
modo promiscuo. En este modo de configuración, el sniffer almacenará en un
log todo el tráfico que circule por la tarjeta de red, ya sea destinado o generado
por el propio sistema o desde / hacia cualquiera de los sitemas existentes en
5.4. VULNERABILIDADES GENÉRICAS
165
el entorno de red compartido (segmento ethernet). Asimismo, pueden ser
instalados tanto en sistemas como en dispositivos de red.
La efectividad de esta técnica se basa en tener acceso (habitualmente es
necesario además disponer de dicho acceso como administrador o root) a un
sistema interno de la red, por tanto, no puede ser llevado a cabo desde el
exterior.
5.4.6
TCP Initial Sequence Number
El protocolo TCP genera un ISN, o número de secuecia inicial, para poder
realizar el control de flujo de la conexión. Este es uno de los ataques más
antiguos, data de 1985, y se basa en la utilización de pseudo-random number
generators (PRNGs) para la generación de los ISNs, Si los números de secuencia pueden ser predichos, puede llegar a ser posible el modificar la información
de la conexión, apoderándose de ella mediante hijaking o realizar blind spoofing
sobre futuras conexiones.
La modificación de los datos en la conexión puede realizarse inyectando
paquetes válidos, al conocerse el ISN inicial y el número de bytes intecambiado
y por tanto, el número de secuencia actual. Si no se conoce exactamente
este valor, peor sí de forma aproximada, puede enviarse tambíen un grupo
de paquetes en un rango de secuendia concreto (que vendrá limitado por el
tamaño de ventana TCP), con el objetivo de que alguno coincida con el número
de secuencia actual.
Inicialmente se modificaron las implementaciones para hacer lo más aleatoria posible la generación de estos números.
La generación de números aleatorios, tanto en los números de secuencia
iniciales de TCP, ISNs, como en los algoritmos de encriptación y generación
de claves, tiene un peso muy relevante respecto a la seguridad.
5.4.7
DNS
DIG es una utilidad para la obtención de información de servicio de nombres
DNS.
Como ya se mencionó en footprinting, DNS es una fuente de información
de red valiosa. La utilidad mencionada permite copiar una base de datos en-
166
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
tera de nombres (dominio) desde un servidor DNS, para su posterior análisis.
Asimismo sus caracterísiticas avanzadas faciliten extraer toda la información
asociada al protocolo DNS, no permitiendo únicamente la realización de peticiones como nslookup.
Existen páginas Web con sevicios basados en DIG.
5.4.8
IPSec
La seguridad del estándar IPSec ha sido analizada en numerosos estudios,
poniéndose en entre dicho como característica negativa la complejidad de sus
especificaciones y de propio protocolo.
Aunque el análisis también está enfocado desde un punto de vista político
centrado en el control de la encriptación, denota que es la implementación de
los diferentes fabricantes la que determinará su seguridad al 100%, en función
de si los estándares son respetados y la interoperatibilidad posible.
Los dispositivos que “hablan” IPSec pueden ser idenificados por tener el
puerto 500 escuchando, ya que es el asociado al estándar de intercambio de
claves o IKE, Inter Key Exchange protocol.
Por otro lado, la debilidad desde el punto de vista de la seguridad, no es
tanto la vunerabilidad del propio IPSec, como la de los algoritmos de encriptación asociados al mismo, como el RSA y RC-5. Debe tenerse en cuenta que
el intercambio de información mediante IP, gran parte de la información asociada a los protocolos es conocida, por lo que puede emplearse como texto en
claro para romper la encriptación mediante, por ejemplo, ataques estadísticos.
Existe un estudio detallado sobre las vulnerabilidades de protocolos de
túneles como PPTP. En éste se muestra la posibilidad de aplicar la técnica de
spoofing, para adquirir credenciales de autenticación en un entorno PPTP entre un cliente, ya conectado a Internet (no realizando una conexión conmutada
o de dial-up) y un servidor, no así entre servidores..
5.4.9
Comunicaciones Inalámbricas: Wireless
Las redes inalámbricas sobre la que seguirá hablándose TCP/IP serán objetivo
de hackers en un futuro no muy lejano. La facilidad de accesos a éstas, en
el caso de no encontrarse protegidas de forma adecuada, es mucho mayor que
5.5. PROTECCIONES Y HERRAMIENTAS
167
en el caso de las redes comunes, ya que no es necesario al obtener el punto
físico mediante la conexión a la red. Basta con disponer de una tarjeta de red
que hable el protocolo 802.1 1b y de un portátil para desplazarnos al área de
transmición de una red concreta y comenzar a indagar.
Existen herramientas que permiten escanear el “ambiente” en busca de
redes de este tipo como NumSubler.
5.5
Protecciones y Herramientas
Las protecciones especifican las técnicas y herramientas que se pueden implementar para la defensa frente a los ataques o vulnerabilidades presentados
previamente. Saber cómo pueden atacar (y desde dónde), es tan importante
como saber con qué soluciones se cuenta para prevenir, detectar y reparar un
ataque de red.
No se debe olvidar que éstas siempre son una combinación de herramientas
que tienen que ver con la tecnología, en la que se centra este estudio, y con los
recursos humanos (políticas, formación, concienciación, capacitación, tanto de
los usuarios como de los administradores de la red).
Los administradores de los sistemas disponen de herramientas para descubrir las vulnerabilidades existentes y para controlar que “todo vaya bien”, si
los procesos son los normalos o si hay movimientos sospechosos en la red o en
los sistemas. Por ejemplo, que un usuario esté recurriendo a vías de acceso
para los cuales no está autorizado o que alguien intente ingresar en un sistema
repetidas veces con claves erróneas que esté probando.
Debe tenerse en cuenta que muchas de las utilidades o técnicas presentadas
son a su vez empleadas por los atacantes o hackers, pero es este motivo el que
las hace realmente útiles desde el punto de vista de la protección, ya que uno
de los métodos más efectivos a la hora de proteger el entorno de red se basa en
la simulación de un ataque real de intrusión por parte de los administradores
“Penetration Test”. De esta forma podrá saberse hasta dónde puede llegar un
intruso que posea ciertas herramientas disponibles libremente en Internet.
Cabe comentar que una de las mayores protecciones existente hoy en día
frente al descubrimiento de nuevas vulnerabilidades son los parches software de
seguridad. Se trata de una distibución de software del fabricante de un equipo,
ya sea de un servicio o de la propia pila TCP/IP del sistema operativo, que
168
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
sustituye los archivos binarios por una nueva implementación que resuelve
una vulnerabilidad asociada al mismo. Por tanto, muchos de los problemas
de seguridad existentes actualmente se deben a que los administradores de
los sistemas no están al corriente de los avisos asociados al descubrimiento
de nuevas vulnerabilidades, que suelen ir acompañados de la información del
parche que las resuelve, por lo que existen infinidad de equipos con la versión
antigua en la que la vulnerabilidad puede ser reproducida.
Tras las protecciones se muestra una visión de futuro respecto a los protocolos asociados a la seguridad en TCP/IP, y a la evolución de ésta mediante
la versión 6: IPv6.
Existen herramientas genéricas de análisis de seguridad. Por ejemplo, para
los sistemas Unix, existe COPS, una utilidad (o colección de programas) para
comprobar la configuración del sistemas frente a los posibles problemas de las
diferentes áreas de seguridad que afecten a Unix. De iguales características
es otra utilidad como TIGER y su nueva versión TARA, Tiger Analytical
Research Assistant.
5.5.1
Footprinting
La primera filosofía de protección aplicable a esta técnica, y extensible a la
mayoría de vulnerabilidades, es aplicar la propia técnica sobre los sistemas a
defender, para obtener la información que está disponible desde el exterior.
Esta información debería controlarse lo más posible en base a las recomendaciones del RFC 2196.
Dentro de los sistemas IDs, se ha implementado la detección de muchas de
las técnicas comentadas en la adquisición de información de una red. Una de
las herramieteas más populares es Snort. Es fundamental el deshabilitar los
servicios que proporcionan información, como por ejemplo fingerd.
La forma directa de protegerse frente a adquisiciones de información de la
topología de una red, así como del descubrimiento de los sistemas activos pasa
por establecer filtros de paquetes para los protocolos UDP e ICMP.
Frente a la identificación de las cadenas de texto represetnativas de un
servicio y su versión, la técnica sdecuada es investigar e servicio y el modo de
modificar dicho texto, o incluso eliminarlo.
Asimismo, existe una herramienta denominada RotoRouter, cuyo objetivo
5.5. PROTECCIONES Y HERRAMIENTAS
169
es defender una red frente a adquisiciones de información basadas en traceroute. Al detectar peticiones de este tipo, genera respuestas falsas con el objetivo
de confundir al atacante.
5.5.2
Fingerprinting
La modificación de los fuentes asociados al subsistema de red, es decir la propia
implementación, variará el comportamiento habitual del sistema operativo.
Asimismo, ciertos parámetros configurables a nivel de kernel o de módulo de
red permiten conseguir este objetivo.
Debido a que las técnicas activas presentadas se basan en enviar paquetes
a sistema objetivo, puede ser sencillo para los IDS su detección, sin embargo, las técnicas pasivas no son detectables, salvo mediante la utlilización de
herramientas de detección de sniffers.
Una herramientea realmetea innovadorea para ocultar el comportamiento
característico de una implementación TCP/IP es IP Personality.
El parche de IP personality implementado en Linux, añade la posibilidad
de que la pila TCP/IP dispnga de diferentes personalidades, es decir, que
modifique las características de su tráfico de red, dependiendo de distintos
parámetros. Para ello, puede emplearse cualquier elemento que pueda ser
especificado en una regla de IPtables: dirección IP fuente y destino, puerto
TCP o UDP...
Por tanto pueden modificarse las siguientes características:
• Valor de los Initial Sequence Numbers de TCP.
• Tamaño de la ventana inicial de TCP.
• Opciones TCP: tanto su tipo como su orden en e paquete.
• Las respuestas a ciertos paquetes TCP empleados en el fingerprinting.
• Las respuestas a ciertos paquetes UDP.
Como puede verse es altamente configurable. La implementación del parche se basa en la infraestructura de red netfilter creada por Rusty Russel.
El objetivo de este sistema es defenderse antre el fingerprinting, ocultando el
170
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
comportamiento típico dle sistema en ejecución.. Asimismo, permite emular
el comportamiento de cualquiera de los sistemas contemplados en la base de
datos de la utilidad NMAP.
Se ha comprobado que el parche es capaz de engañar a la versión 2.53 de
NMAP, debido a su extensibilidad en la configuración, puede adaptarse para
otras herramientas.
Pese a ésto, la vieja regla de la seguridad “security through obscurity”
no debería se aplicada como primera medida defensiva, es decir, el que un
atacante conozca el sitema opertivo no debería facilitarle el acceso, ya que
otras medidas se encargarán de limitarlo.
5.5.3
Escaneo de Puertos-Vulnerabilidades
Al igual que con la mayoría de los ataques cuyo objetivo es obtener información
que permita identificar los sitemas y redes a atacar, la detecció pasa por la
utilización de sistemas IDS. dado que NMAP es una de las herramientas de
atque por excelencia, SNORT supone la competencia por parte de la defensa.
Desde el punto de vista de un sistema Unix, existen utilidades como scanlogd que permiten la detección de los escáneres de puertos. Dicho ataque debe
realizarse con cautela, ya que es muy sencillo determinar que se está produciendo, ya que bajo condiciones normales de funcionamietno no se relaiza un
acces secuencial a todos los posibles puertos en un rango determinado.
Asimismo, ecisten aplicaciones como PortSetry que pueden tanto detectar
el ataque como responder a él, por ejemplo, modificando el módulo de filtrado
del sistema atacado para desechar el tráfico provinente del sistema atacante.
Por otro lado, los firewalls suelen inluir un módulo de detección de ataques,
aunque no todos tienen la misma prioridad o validez. Por ejemplo, el escaneo
basado en SYN puede ser detectado, pero no así el basado en paquetes FIN.
Para poder detectrar estos ataques es necesario revisar el resultado de los logs
de los firewalls, cuyo tamaño suele ser elevado, por loque existen herramientas
que facilitan estas tareas. También se han creado utilidades que ejecutan sobre
productos de filtrado ya existentes, como la utilidad preparada pra Firewall-1
de Checkpoint.
Desde un punto de vista más general, la protección frente al escaneo de
puertos para por deshabilitar todos los servicios queno sean necesarios. A su
5.5. PROTECCIONES Y HERRAMIENTAS
171
vez en éstos sistemas es posible no realizar su activación mediante los scripts
de arranque. En Windows la tarea debe realizarse deshabilitando los servicios
bajo el Panel de Control Services.
Desde el punto de vista del escaneo de las vulnerabilidades, la mejor defensa
es disponer de las herramientas empleadas en un ataque para su descubrimiento y proceder de manera proactiva a solucionar o eliminar la existencia de la
vulnerabilidad, ya sea eliminando el servicio o sustituyéndolo por una versión
posterior corregida.
5.5.4
Escaneo Basado en el Protocolo ICMP
Para evitar las diferentes técnicas basadas en el protocolo ICMP, fundamenteadas en los distintos tipos de paquetes existentes en la especificación del
protocolo, lo mejor es filtrar todos aquellos tipos que no son necesarios para
la funcionalidad asociada a los servicios existentes en la red.
5.5.5
Sniffing, Eavesdropping y Snooping
La protección básica frente a al extracción mediante siniffers de la información que viaja en los paquetes de datos por la red se basa en la encriptación
de la información. A lo largo del texto se analizan diferentes protocolos de
comunicaciones que hacen uso de ésta: SSL, S/MIME, SSH, IPSec...
Existen herramientas que aunque su uso principal es otro, ayudan a la
detección de sniffers. Tripwir e, o sus derivados, genera una huella mediante
MD5 de los sistemas de ficheros de un host, y permite detectar cualquier
modificación sobre ficheros o directorios. Aunque pudiera parecer que se trata
de una herramienta más propia de la seguridad de un sistema que de la red,
permite la detección de ficheros log generados pro u sniffer.
Asimismo, existe una herramienta denominada CPM proporcionada por
el CERT, que permite detectar interfaces en modo promiscuo (signo habilutal
de existencia de un sniffer, aunque también pueden escuchar sólo el tráfico
destinado a la máquina en la que residen).
La capacidad intrínseca de los sniffers se encuentra en el proio diseño de
las redes de difusión, como por ejemplo Ethernet (CSMA/CD). En las redes
ethernet el tráfico viaja realmente por el mismo medio físico para todos los
172
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
equipos conectados al mismo segmento de red siendo el destinatario de la trama ethernet el encargado de retirarla del medio y extraer sus información. Los
interfaces en modo promiscuo realmente actúan como si fueran el destino de
todas las tramas, por lo que extraen la información de todas las comunicaciones.
Una protección frente a estsa situación se basa en emplear redes conmutadas en lugar de compartirlas, donde los elementos d red, en este caso los
switches, segmentean la red para cada uno de los puertos, es decir, que si se
dispone de un equipo por puerto (no existen hubs), un sniffer será capaz solo
de visualizar el tráfico destinado al sistema en el que está ubicado.
Estos equipos son capaces de crear segmentaciones de la red por grupos
de equipos, en base a una distribuición lógica en lugar de física, denominadas
redes locales virtuales, VLANs. En este caso, el sniffer sólo podría visualizar
el tráfico destinado a algún equipo de ese grupo o VLAN. Por último, debe
considerarse qeulos switches disponen de la posibilidad de confirurar un puerto
de monitorización mediante el cual se volvería a la situación anterior, en la
que sería posible visualizar el tráfico de todas las VLANs a través de un punto
mínimo.
5.5.6
IP Spoofing
Mediante la configuración de filtros de conexiones peritidas, especificando a
través de qué interfaces, en los dispositivos de interconcexión de varias redes
(firewalls, screening routers), se puede controlasr las direcciones IP fuente
permitidas, y por tatno evitar la técnica de IP spoofing.
Los organismos que realmente pueden evitar el uso de ésta técnica son los
propietarios de las redes troncales de comunicación, normalmente carriers u
operadores de telecomunicaciones (SP, Service Providers), ya que evitan desde
su origen que un agresor pueda hacerse pasar por otro usuario. Al actuar de
nexo de unión de las diferentes subredes, deben permitir únicamente que el
tráfico saliente de cada red al troncal lleve asociada una dirección propia de
red desde la que sale. Así se controla el punto de inicio de IP spoofing.
5.5. PROTECCIONES Y HERRAMIENTAS
5.5.7
173
TCP Initial Sequence Numbers
Los sistemas pueden protegerse de este ataque mediante la encriptación de
protocolo, con IPSec, o siguiendo las recomendaciones del RFC 1948.
En HP-UX, versiones 11 y 11i, debe aplicarse el parche de red PHNE_22397 :
por defecto emplea ISN aleatorios. En versiones anteriores, por ejemplo 10.20,
existe un parámetro para elegir el nivel de aleatoriedad en la creación de los
ISNs. Se introdujo con el parche PHNE_5361. Mediante la utilidad “nettune”
es posible modificarlo.
En la implementación TCP de Solaris, para cambiar el método utilizado
en la generación de números de secuencia de paquetes TCP (ISNs) y evitar
la suplantación de la dirección IP (IP Spoofing) se debe modificar el fichero
/etc/default/inetinit.
En el caso de Windows NT, hasta la versión 4.0 SP6 no se ha implementado
un genreador realmente aleatorio de ISNs en la pila TCP.
Existen sistemas como el Cisco PIX que permiten aleatorizar los ISNs de
los servidores que protege, luego en el caso de que el algoritmo de generación
de éstos no sea todo lo bueno que debería, se soluciona la situación.
5.5.8
DNS
Las protecciones de seguridad del servicio de nombres permiten controlar desde el fichero de configuración el comportamiento del servidor frente a los supuestos clientes y servidores, tanto secundarios como los asociados a otros
dominios.
Una de las medidas más sencillas para controlar las transferencias de zona
desde el punto de vista del firewall en lugar de desde la configuración del servicio, es permitir conexiones externas al DNS a través del puerto 53 sólo para
UDP, asociado a consultas individuales, y no a través de TCP, correspondiente
a las transferencias de zona.
Existen herramientas, principalmente IDSs, que son capaces de detectar
las peticiones afectuadas por DIG y avisar de éstas. Incluso algnas facilitan
el explotar DIG a través de una “buffer-overflow”.
174
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
5.5.9
IPSec
IPSec proporciona encriptación a nivel de la capa de red.
Este es uno de los protocolos de seguridad sobre los que se está desarollando
más actualmente. Aunque fue diseñado para IPv6, portándose posteriormente para IPv4. Los fabricantes de equipos de red como Cisco proporcionan
sistemas para el establecimiento de redes privadas virtuales o VPN, Virtual
Private Networks, mediante IPSec, tanto software cliente como servidor.
En IPSec, mediante el uso de fingerprints en los paquetes IP, generados a
través de una función hash basada en el uso de una clave compartida por ambos
extremos de la comunicación, se asegura la identificación (autenticación) del
emisor, por lo que intercabmiados mediante funciones hash.
Por otro lado, todos los protocolos de encriptación requieren una utilización mucho mayor de CPU, para ejecutar los algoritmos asociados a estos
procesos, por lo que facilitan la ejecución de ataques DoS. La utilización de
tarjetas específicas de encriptación libera a la CPU general de este proceso,
pero simplemente desplaza el punto débil asociado al consumo de procesamiento a otro componente. Este hecho ha dado lugar a que no se empleen en
IPSec firmas digitales completas.
IPSec dispone de dos servicios:
• AH : Authentication Header- asegura la autenticacion de la integridad.
• ESP: Ecapsulating Security Payload- asegura la confidencialidad, autenticación e integridad.
Los algoritmos de encriptación principales que se implementan son SHA-1,
MD-5, DES y 3DES, así como otros adicionales: IDEA, Blowfish y RC4.
Ambos servicios pueden trabajar en modo transporte, cuando los sistemas
finales de la comunicación manejan IPSec, o en modo túnel, cuando son los
equipos intermedios de entrada a la red (routers, firewalls...) los que gestionan
el tráfico IPSec.
Las relaciones entre dos equipos que desean hablar mediante el protocolo
IPSec vienen caracterizadas por el conjunto de parámetros que define todos
los aspectos a tener en cuenta, como los algoritmos de autenticación y en-
5.6. FUTURO
175
criptación, la longitud de las claves, el servicio (AH o ESP) a emplear...Este
conjunto de parámetros se conoce como SA, Security Association.
Dentro de las tecnologías empleadas para el establecimiento de VPNs, además de IPSec existen protocolos de creación de túneles, como L2TP, Layer 2
Tunneling Protocol, o PPTP, Point-to-Point Tunneling Protocol. La especificación de los mismos está disponible en el IETF. Asimismo, existen especificaciones de securización para éstos.
Un túnel determina la encapsulación de un protocolo en otro, ya sea de
forma encriptada o no:
• IPSec: IP en IP.
• PPTP: PPP en GRE.
Frente a ciertas vulnerabilidades encontrdas en el protocolo PPTP, Microsoft distribuyó parches de seguridad asociados a su resolución.
5.6
Futuro
El futuro de la seguridad pasa por la generación de herramientas de control
inteligentes, como los IDS basados en IA, Inteligenica Artificial, así como
por el desarrollo de sistemas de seguridad de comunicaciones diseñados con la
seguridad como característica fundamental, como es el caso de IPv6.
La incroporación y el desarrollo de las denominadas redes inteligentes podría dificultar considerablemente las actividades de los hackers.
El Instituto Tecnológico de Georgia, EE.UU., trabaja en un proyecto de
desarrollo de redes neuronales, que probablemente aumentará la seguridad del
tráfico digital. El término red neuronal refleja una de las técnicas empleadas
en el área de la inteligencia artificial dentro de la computación. Ésta pretende
reproducir el funcionamiento de aprendizaje y reconocimiento de las neuronas
del cerebro humano, que aprenden de la experiencia, creando conexiones entre
las distintas áreas del conocimiento.
Con todo, cabe precisar que no se trata de redes que estén en condiciones
de pensar, sino de sistemas capaces de identificar patrones en el flujo digital y
aprender de los intentos de intrusión.
176
CAPÍTULO 5. ANÁLISIS DE SEGURIDAD DE TCP/IP [?]
Hoy en día los administradores de sistemas deben actualizar manualmente
sistemas de protección de las redes contra los ataques informáticos, ya que
aparecen nuevas vulnerabilidades y técnicas de ataque con demasiada frecuencia. Con la incorporación de redes inteligentes se hará más previsible y fácil
la contención de los intrusos.
Tales redes estarán incluso en condiciones de detectar máquinas que monitorizan ilegalmente el tráfico de la red para captar y apoderarse de información,
es decir, sniffers. La novedad es que las redes neuronales detectarán tipo de
máquinas sin que sus operadores se percaten.
Las implicaciones de nueva versión de IP, IPv6 o IP Next Generation, en
el área de las VPNs es realmete importante, y facilitará su expansión. Debe
partirse de la base de que el protocolo IPSec fue diseñado inicialmente para
esta versión de IP, portándose posteriormente a la versión IPv4, ofreciendo
así la posibilidad de trabajar en tráfico IP encriptado. Actualmente, los fabricantes de productos para VPNs aceptan que los sistemas no disponen de
una implementación de la pila TCP/IP basada en la versión 6, por lo que se
emplean modificaciones sobre las implementaciones actuales de la versión 4.
El IP Forum encargado de generar las especificaciones del protocolo y de su
evolución futura tiene entre sus filas a los grandes fabricantes en el mundo de
las redes: Cisco, 3Com, Microsoft, MCI, Worldcom, Nokia, British Telecom,
Siemens, otros.
5.7
Conclusiones
La seguridad de las redes de comunicaciones, y concretamente de Internet,
evoluciona a pasos agigantados cada minuto que transcurre. Nuevas vulnerabilidades y utilidades, tanto para explotarlas como para combatirlas, son
distribuidas públicamente en la red.
La información disponible al respecto es inmanejable, por lo que el diseño
de un sistmea de seguridad debe basarse en la fortaleza de las tecnologías
empleadas, y no en la ocultación de las mismas: “security thorugh obscurity”.
El protocolo TCP/IP sufre algunos problemas de seguridad por las caracterísitcas intrínsecas de su diseño, los cuales han sido ampliamente analizados
a lo largo de los años. La nueva versión de IP, versión 6, se diseñó con la
seguridad en mente, de ahí la aparición del estándar IPSec, que junto a otras
5.7. CONCLUSIONES
177
tecnologías, como las infraestructuras de clave pública, PKIs, permiten controlar y disolver muchas de las vulnerabilidades presentadas a lo largo de este
capítulo.
Asimismo, se puede concluir que la seguridad de una red no se basa en
una técnica única exclusivamente, como promulga la idea errónea de securizar
una red mediante un firewall, sino que viene reforzada por la utilización de
multitud de tecnologías que permiten monitorizar y gestionar cada uno de los
aspectos críticos de la red: encriptación, IDSs, firewalls, software específico de
seguridad, protocolos seguros (SSL, SSH, IPSec), PKIs....
Lo que es más, mediante el uso exclusivo de las tecnologías mencionadas
no es posible asegurar la seguridad de la red. Para ello es necesario a su vez
disponer de procedimientos y políticas adecuadas que permitan concientizar a
los usuarios y administradores de los sistemas informáticos, así como facilitar
la aplicación de análisis y controles exhaustivos en la propia red y los elementos
que la componen.
Es por tanto necesario dedicar tiempo y esfuerzo a evolucionar la red hacia
un entorno seguro, siendo necesario mantenerse actualizado (preferiblemente
de forma automática, por ejemplo, mediante listas de distribución) de los
avances que se ralizan en este campo, así como de los nuevos avisos, vulnerabilidades y tecnologías que salen a la luz.
El objetivo final es asegurar ciertas características en las comunicaciones,
como son, la autenticidad, la integridad de la información, la privacidad o
confidencialidad, el no repudio, el control de acceso a la información...
Finalmete,cabe concluir con una reflexión al respecto de la seguridad: el
esfuerzo dedicado a la protección de un entrono debe ser directamente proporcional al valor de su contenido. Debido a que toda vulnerabilidad posee,
más tarde o más temprano, su correspondiente protección, la vertiginosa carrera en la que la seguridad de las redes se debate actualmente, se centra en
el mantenimiento constante y actualizado de las protecciones necesarias para
evitar las vulnerabilidades existentes y ya conocidas.
Capítulo 6
Sistema de Autoevaluación:
Análisis y Desarrollo.
6.1
Análisis
Se ha realizado un análisis para el desarrollo adecuado del trabajo realizado.
Este análisis utilizó como metodología la de UML ( Lenguaje Unificado de
Modelado), y la herramienta elegida fue Entreprise Architect.
Se amplian en las siguientes secciones la definición de UML, y se agregan
contenidos de la herramienta CASE seleccionada.
6.1.1
UML (Lenguaje Unificado de Modelado)
¿Qué es UML?
El Lenguaje Unificado de Modelado preescribe un conjunto de notaciones y
diagramas estándar para modelar sistemas orientados a objetos, y describe la
semántica escencial de lo que estos diagramas y símbolos significan.
Mientras que han habido muchas notaciones y métodos usados para el
diseño orientado a objetos, ahora los modeladores sólo tienen que aprender
una única notación.
179
180
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
UML se puede usar para modelar distintos tipos de sistemas: sistemas de
software, sistemas de hardware, y organizaciones del mundo real.
UML ofrece nueve diagramas en los cuales modelar: sistemas.
• Diagramas de Casos de Uso para modelar los procesos “business”.
• Diagramas de Secuencia para modelar el paso de mensajes entre objetos.
• Diagramas de Colaboración para modelar interacciones entre objetos.
• Diagramas de Estado para modelar el comportamiento de los objetos en
el sistema.
• Diagramas de Actividad para modelar el comportamiento de los Casos
de Uso, objetos u operaciones.
• Diagramas de Clases para modelar la estructura estática de las clases en
el sistema.
• Diagramas de Objetos para modelar la estructura estática de los objetos
en el sistema.
• Diagramas de Componentes para modelar componentes.
• Diagramas de Implementación para modelar la distribución del sistema.
UML es una consolidación de muchas de las notaciones y conceptos más
usadas orientados a objetos. Empezó como una consolidación del trabajo de
Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de las
metodologías orientadas a objetos más populares.
En 1996, el Object Management Group (OMG), un pilar estándar para la
comunidad del diseño orientado a objetos, publicó una petición con propósito
de un metamodelo orientado a objetos de semántica y notación estándares.
UML, en su versión 1.0, fue propuesto como una respuesta a esta petición
en enero de 1997. Hubo otras cinco propuestas rivales. Durante el transcurso
de 1997, los seis promotores de las propuestas, unieron su trabajo y presentaron al OMG un documento revisado de UML, llamado UML versión 1.1.
Este documento fue aprobado por el OMG en Noviembre de 1997. El OMG
llama a este documento OMG UML versión 1.1. Así comenzó UML a ocupar
su lugar en la sociedad del diseño orientado a objetos mejorando su versión
gradualmente.
6.1. ANÁLISIS
181
UML ofrece notación y semántica estándar
UML es un lenguaje gráfico para visualizar, especificar, construir y documentar
un sistema.
Previamente, un diseño orientado a objetos podría haber sido modelado
con cualquiera de la docena de metodologías populares, causando a los revisores tener que aprender las semáticas y notaciones de la metodología empleada
antes que intentar entender el diseño en sí.
Ahora con UML, diseñadores diferentes modelando sistemas diferentes pueden sobradamente entender cada uno los diseños de los otros.
UML no es un Método
Aun así, UML no preescribe un proceso o método estándar para desarrollar
un sistema. Hay varias metodologías existentes; entre las más populares se
incluyen las siguientes:
• Catalysis: Un método orientado a objetos que fusiona mucho del trabajo reciente en métodos orientados a objetos, y además ofrece técnicas
específicas para modelar componentes distribuidos.
• Objetory: Un método de Caso de Uso guiado para el desarrollo, creado
por Ivar Jacobson.
• Shlaer/Mellor : El método para diseñar sistemas de tiempo real, puesto
en marcha por Sally Shlaer y Steven Mellor, quienes continúan actualizando su método continuamente.
• Fusion: Desarrollado en Hewlett Packard a mediados de los noventa como primer intento de un método de diseño orientado a objetos estándar.
Combina OMT y Booch con tarjetas CRC y métodos formales.
• OMT : La Técnica de Modelado de Objetos fue desarrollada por James
Rumbaugh y otros, y publicada en el libro de gran influencia “Diseño
y Modelado Orientado a Objetos”. Un método que propone análisis y
diseño “iterative”, más centrado en el lado del análisis.
• Booch: Parecido al OMT, y también muy popular.
182
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Además, muchas organizaciones han desarrollado sus propias metodologías
internas, usando diferentes diagramas y técnicas con orígenes varios.
Ejemplos son el método Catalyst por Computer Sciences Corporation (CSC)
o el Worlwide Solution Design and Delivery Method (WSDDM) por IBM. Estas metodologías difieren, pero generalmente combinan análisis de flujo de
trabajo, captura de los requisitos, y modelado de negocio con modelado de
datos, con modelado de objetos usando varias notaciones (OMT, Booch, etc),
y algunas veces incluyendo técnicas adicionales de modelado de objetos como Casos de Uso y tarjetas CRC. La mayoría de estas organizaciones están
adoptando e incorporando el UML como la notación orientada a objetos de
sus metodologías.
Algunos modeladores usarán un subconjunto de UML para modelar “what
they’re after”, por ejemplo simplemente el diagrama de clases, o solo los diagramas de clases y de secuencia con Casos de Uso. Otros usarán una swite
más completa, incluyendo los diagramas de estado y actividad para modelar
sistemas de tiempo real, y el diagrama de implementación para modelar sistemas distribuidos. Aun así, otros no estarán satisfechos con los diagramas
ofrecidos por UML, y necesitarán extender UML con otros diagramas como
modelos relacionales de datos y “CRC cards”.
Una vuelta por un caso de uso
Una vez más, UML es una notación, no un método.
UML por incluir los diagramas de casos de uso, se le considera estar dotado
de una aproximación al diseño centrada en el problema con los casos de uso.
El Diagrama de Caso de Uso nos da el punto de entrada para analizar los
requisitos del sistema, y el problema que necesitamos solucionar.
Modelado de Casos de Uso El modelado de Casos de Uso es la técnica
más efectiva y a la vez la más simple para modelar los requisitos del sistema
desde la perspectiva del usuario. Los Casos de Uso se utilizan para modelar
cómo un sistema o negocio funciona actualmente, o cómo los usuarios desean
que funcione. No es realmente una aproximación a la orientación a objetos; es
realmente una forma de modelar procesos.
Es, sin embargo, una manera muy buena de dirigirse hacia el análisis de
6.1. ANÁLISIS
183
sistemas orientado a objetos. Los casos de uso son generalmente el punto de
partida del análisis orientado a objetos con UML.
El modelo de casos de uso describe la funcionalidad propuesta del nuevo
sistema. Un caso de uso representa una unidad discreta de interacción entre
un usuario (humano o máquina) y el sistema.
Es una unidad simple de trabajo significativo; por ejemplo, “Registrarse en
el sistema”, “Logearse en el Sistema”, “Modificar Preguntas‘ son todos casos
de uso.
Actores: Un actor es un usuario del sistema. Incluye usuarios humanos y
otros sistemas computarizados. Un actor usa un caso de uso para desempeñar
alguna porción de trabajo que es de valor para el negocio. El conjunto de
casos de uso al que un actor tiene acceso define su rol global en el sistema y
el alcance de su acción.
Incluye:
— Pre-condiciones que deben ser verdaderas antes de que el caso de
uso se ejecute, por ejemplo, “Registrarse en el Sistema” debe preceder a “Modificar Preguntas”.
— Post-condiciones que deben ser verdaderas una vez que el caso de
uso se ejecutó, por ejemplo “La pregunta ha sido modificada”.
Organización de Diagramas de Casos de Uso Durante el análisis de
negocio (business) del sistema, se puede desarrollar un modelo de caso de uso
para este sistema, y construir paquetes para representar los varios dominios
de negocio (business) del sistema.
Se puede descomponer cada paquete con un Diagrama de Caso de Uso que
contenga los Casos de Uso de un dominio, con interacciones de actor.
Analizando el sistema de autoevaluación, consideramos al profesor y al
alumno como los actores, en esta situación el diagrama se presentaría según
la figura 6.1 de la página 182
Cada caso de uso para un actor se presentaría como en la figura 6.2 de la
página 182 lo muestra para el profesor, donde el caso de uso es “Registrarse
en el Sistema”.
184
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.1: Diagrama de Casos de Uso-Actores
Figura 6.2: Diagramas de Casos de Uso-Caso de Uso
6.1. ANÁLISIS
185
Figura 6.3: Entreprise Architect
6.1.2
Herramienta CASE (Ingeniería de Software Asistida por
Computador): Entreprise Architect
Figura 6.3 de la página 183.
Es una herramienta que combina el poder de la última especificación UML
2.1 con alto rendimiento, interfaz intuitiva, para traer modelado avanzado al
escritorio, y para el equipo completo de desarrollo e implementación. Presenta
un amplio conjunto de caracterísitcas.
Enterprise Architect complementa a un equipo de trabajo, como ser analistas, evaluadores, administradores de proyectos, personal del control de calidad,
equipo de desarrollo y otros.
Sus principales características:
• Alta capacidad
Enterprise Architect es una herramienta comprensible de diseño y análisis
UML, cubriendo el desarrollo de software desde el paso de los requerimientos a
través de las etapas del análisis, modelos de diseño, pruebas y mantenimiento.
EA es multi-usuario.
Diseñada para ayudar a construir software robusto y fácil de mantener.
Ofrece salida de documentación flexible y de alta calidad. El manual de usuario
está disponible en línea.
• Velocidad, estabilidad y buen rendimiento
186
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
El Lenguaje Unificado de Modelado provee beneficios significativos para
ayudar a construir modelos de sistemas de software rigurosos y donde es posible
mantener la trazabilidad de manera consistente. Enterprise Architect soporta
este proceso en un ambiente fácil de usar, rápido y flexible.
• Trazabilidad de extremo a extremo
Enterprise Architect provee trazabilidad completa desde el análisis de requerimientos hasta los artefactos de análisis y diseño, a través de la implementación y el despliegue. Combinados con la ubicación de recursos y tareas
incorporados, con esto las áreas de Administradores de Proyectos y Calidad estarías contarían con la información que ellos necesitan para entregar proyectos
en tiempo y forma.
• Construido sobre las bases de UML 2.1
Las bases de Enterprise Architect están construidas sobre la especificación
de UML 2.0 y usa sus perfiles para extender el dominio de modelado, mientras que la Validación del Modelo asegura integridad. Combina Procesos de
Negocio, Información y Flujos de trabajo en un modelo.
• Soporte para los todos diagramas de UML.
— Diagramas Estructurales:
∗
∗
∗
∗
∗
∗
Clase
Objecto
Compuesto
Paquete
Componente
Despliegue
— Diagramas de Comportamiento:
∗ Casos de Uso
∗ Comunicación
∗ Secuencia
∗ Descripción de la Interacción
6.1. ANÁLISIS
187
Figura 6.4: Actor-Enterprise Arquitect
∗ Actividad
∗ Estado
∗ Tiempo
— Extendidos:
∗ Análisis (actividad simple)
∗ Personalizado (para requisitos, cambios, UI)
Es una herramienta que ayuda a administrar la complejidad con otras herramientas para rastrear las dependencias, soporte para modelos muy grandes,
Líneas Base por cada punto del tiempo.
Entreprise Architect diagramando un Caso de Uso
Los actores se representan como muñecos, figura 6.4 de la página 185. Los
casos de uso en elipses, figura 6.5 de la página 186
Cada caso de uso tiene una descripción que describe la funcionalidad que
se construirá en el sistema propuesto. Un caso de uso puede “incluir” la
funcionalidad de otro caso de uso o “extender” a otro caso de uso con su
propio comportamiento.
Un Caso de Uso puede incluir la funcionalidad de otro como parte de su
procesamiento normal.
Generalmente se asume que los casos de uso incluidos se llamarán cada vez
que se ejecute el camino base.
188
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.5: Caso de Uso-Enterprise Arquitect
Un ejemplo puede ser un profesor que intentará modificar las preguntas
de un exámen si se ha logeado en el sistema, en esta situaciòn el Caso de
Uso “Modificar preguntas” estará incluido en el Caso de Uso “Logear en el
Sistema”.
Un Caso de Uso puede ser incluido por uno o más casos de uso, ayudando
así a reducir la duplicación de funcionalidad al factorizar el comportamiento
común en los casos de uso que se reutilizan muchas veces.
Un Caso de Uso puede extender el comportamiento de otro Caso de Uso;
típicamente cuando ocurren situaciones excepcionales.
Por ejemplo, si el profesor desea consultar estadísticas de exámenes aprobados deberá primero “Consultar Estadísticas”.
Observando el análisis del sistema de autoevaluación el Diagrama de Casos
de Uso según la Enterprise Architect se ve como lo muestra la figura 6.6 de la
página 187
6.2
Desarrollo: Sistema de Autoevaluación sobre
TCP/IP
Para realizar el desarrollo de este trabajo se utilizó un software de base, previamente estudiado; que permite dasarrollar aplicaciones de tipo Web multiplataforma con acceso a base de datos.
Esta aplicación Web se refiere a la autoevaluación de alumnos sobre temas
referidos a TCP/IP, siendo éste el protocolo de comunicación más importante
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP189
Figura 6.6: Diagrama de Casos de Uso-Enterprise Architect
190
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
de la red.
Esta autoevaluación consistirá en cuestionarios tipo multiplechoise relacionados con temas sobre el protocolo de comunicación TCP/IP contenidos en la
aplicación, lo que nos permite definir a este trabajo también como Aplicación
basada en e-learning.
De esta manera se pretende que el alumno amplíe o adquiera conocimientos sobre el protocolo y pueda autoevaluar el nivel de éstos, registrando y
organizando la información en el momento del examen, de manera eficiente en
una base de consulta para el alumno y el profesor, quien podrá observar así el
nivel del alumno, en cada tema evaluado.
La Aplicación fue desarrollada en Java, correrá en la plataforma Windows
mediante el uso de software multiplataforma.
La página principal de la Aplicación se muestra en la figura 6.7 de la página
189
6.2.1
Módulos del Sistema de Autoevaluación
El sistema consiste básicamente en cinco módulos bien definidos:
1. Alumnos.
2. Profesores.
3. Evaluación.
4. Apuntes.
El módulo de Alumnos
Contiene las opciones necesarias para el tratamiento específico de cada alumno,
se haya registrado en el sistema o no.
Estas opciones tienen el siguiente tratamiento en el sistema:
• Identificación del Alumno: Se refiere a la página donde el alumno debe
ingresar su libreta universitaria para que se pueda verificar si existe o
no.
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP191
Figura 6.7: Sistema de Autoevaluación-Página Principal
192
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.8: Alumno-Identificación
• Alta del alumno: Permite dar de alta un nuevo alumno y registrar los
diferentes datos personales que le corresponden. Se accede a esta página
mediante el ingreso previo de la libreta universitaria y luego de la opción
aceptar.
— Ingreso del Alumno: Consiste en que un vez validado el número de
libreta universitaria previamente ingresado, se le permite acceder
al sistema, sólamente ingresando una clave.
En la figura 6.8de la página 190 se observa la identificación del alumno.
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP193
Figura 6.9: Profesor-Identificación
El módulo del Profesor
Utilizado por el mismo profesor para la consulta de los exámenes, aprobados
o no; y la observación inmediata de estos resultados. Figura 6.9de la página
191, figura 6.10de la página 192
Destinado también al tratamiento de los cuestionarios que formarán parte de las autoevaluaciones de los alumnos, con respecto a esto; la actividad
consiste en:
• Alta: Permite agregar una pregunta a la vez por tema, con sus respectivas respuestas opcionales, también se debe indicar cuál es la respuesta
correcta. Mediante la opción Aceptar, se carga a la base de datos.
• Modificación: Permite seleccionar la pregunta a modificar y luego da la
opción de modificar la pregunta, las respuestas, o cambiar cuál respuesta
es la correcta. Figura 6.11de la página193
194
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.10: Profesor-Ingreso de Datos
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP195
Figura 6.11: Profesor-Modificación de Preguntas
• Baja: Permite seleccionar la pregunta a eliminar y luego da la opción
de confirmar la eliminación de esa pregunta. Sólo permite eliminar una
pregunta a la vez, con todas sus respuestas.
En la figura 6.12de la página 194,se muestra la página donde el profesor
elige el tratamiento para cada pregunta.
El Módulo de Evaluación
En este módulo el alumno selecciona el tema en el que se autoevaluará, según
el nivel que considere en relación a su conocimiento. Figura 6.13de la página
6.13
196
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.12: Profesor-Tratamiento de Preguntas
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP197
Figura 6.13: Evaluación-Elección de tema
198
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.14: Autoevaluación-Multiplechoise
Una vez seleccionado el tema el alumno accede a la página de la autoevaluación propiamente dicha donde encontrará el cuestionario y un timer que
expira a los 20 minutos de haber comenzado el examen. Figura 6.14de la
página 196
El sistema corrige su autoevaluación y visualiza el resultado, según la figura
6.15 de la página 197
El Módulo de Apuntes
Aquí, se le brinda al alumno la posibilidad ampliar conocimientos sobre el
protocolo, o bien; fijar los que ya tenga incorporados para autoevaluarse con
un mejor resultado. Figura 6.16 de la página 198
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP199
Figura 6.15: Autoevaluación-Resultado del Exámen
200
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
Figura 6.16: Apuntes-Temas
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP201
Los temas a los que puede acceder son cinco y a cada uno se le ha asignado
un nivel, para que; quien desea evaluarse en alguno de ellos conozca el grado
de dificultad del examen.
6.2.2
Estructuras de Datos Utilizadas
Las estructuras utilizadas por la aplicación y las distintas tablas utilizadas se
dan a conocer en esta sección, las mismas hacen uso del motor de base de datos
multiplataforma DB2 UDB.
Tablas
• Alumno: Contiene la información necesaria referente a los alumnos registrados en el sistema. Está compuesta por los siguientes campos de
datos:
— LU: Contiene el número de libreta universitaria del alumno, que el
sistema utiliza de
— clave.
— CLAVE: Contiene el número de clave elegido por el alumno para el
ingreso al sistema.
— APELLIDO: Contiene el apellido del alumno.
— NOMBRE: Contiene el nombre del alumno.
— MAIL: Contiene la dirección de correo electrónico del alumno.
• Evaluación: Contiene la información referente a las evaluaciones realizadas en el sistema. Está compuesta por los siguientes campos de datos:
— CODEVAL: Contiene un número autogenerado para las evaluaciones, que es utilizado
— de clave por el sistema.
— LU: Contiene el número de libreta universitaria del alumno.
— FECHAHORA: Contiene la fecha y hora en que se realizó la autoevaluación.
— NOTA: Contiene la nota obtenida por el alumno en dicha evaluación.
202
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
— TEMA: Contiene el tema en el que el alumno se autoevalúo.
• Pregunta: Contiene la información referente a las distintas preguntas a
utilizar en los cuestionarios. Está compuesta por los siguientes campos
de datos:
— CODPREG: Contiene un número autogenerado para las preguntas,
que es utilizado de clave por el sistema.
— CODTEMA: Contiene el número de tema al que corresponde la
pregunta.
— DESC_PREG: Contiene la descripción de la pregunta.
• Profesor : Contiene la información necesaria referente a los profesores
que utilizarán la aplicación. Está compuesta por los siguientes campos
de datos:
— USUARIO: Contiene el nombre del usuario, que en este caso es el
profesor.
— CLAVE: Contiene el número de clave elegido por el profesor para
el ingreso al sistema.
— COD_PROF: Contiene un código autogenerado para el profesor,
que el sistema utiliza de clave.
• Respuesta: Contiene la información referente a las respuestas opcionales de cada pregunta que podría utilizarse en los cuestionarios. Está
compuesta por los siguientes campos de datos:
— CODRESP: Contiene un número autogenerado para las distintas
respuestas, que el sistema
— utiliza de clave.
— CODPREG: Contiene el número correspondiente a la pregunta a la
cual pertenece la
— respuesta.
— DESC_RESP: Contiene la descripción de la respuesta.
— CORRECTA: Contiene la información sobre si la respuesta es correcta o no.
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP203
• Resultado: Contiene la información referente a los resultados obtenidos
por cada alumno durante la autoevaluación. Está compuesta por los
siguientes campos de datos:
— CODRES: Contiene un número autogenerado para los resultados
obtenidos por los alumnos,
— que utiliza de clave el sistema.
— LU: Contiene el número de libreta universitaria del alumno.
— FECHA: Contiene la fecha en que se realizó la autoevaluación completa, inculyendo la cantidad de temas solicitados por la cátedra.
— CANT_TEMA: Contiene la cantidad de temas en los que el alumno
se evalúo.
— PROMEDIO: Contiene el promedio total obtenido por el alumnoal
autoevaluarse de manera completa en la asignatura.
• Tema: Contiene la información referente a los distintos temas que conforman siguientes campos de datos:
— CODTEMA: Contiene el número de tema que le corresponde dentro
de la asignatura.
— DESC_PREG: Contiene la descripción de el tema.
• Resultado: Contiene la información referente a los resultados obtenidos
por cada alumno durante la autoevaluación. Está compuesta por los
siguientes campos de datos:
— CODRES: Contiene un número autogenerado para los resultados
obtenidos por los alumnos, que utiliza de clave el sistema.
— LU: Contiene el número de libreta universitaria del alumno.
— FECHA: Contiene la fecha en que se realizó la autoevaluación completa, inculyendo la cantidad de temas solicitados por la cátedra.
— CANT_TEMA: Contiene la cantidad de temas en los que el alumno
se evalúo.
— PROMEDIO: Contiene el promedio total obtenido por el alumnoal
autoevaluarse de manera completa en la asignatura.
204
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
6.2.3
Código Fuente Utilizados: Ejemplos
Servlets
A continuación se transcribe un ejemplo de Servlet utilizado por la aplicación,
el mismo realiza una operación de alta para el alumno.
package alumnos;
// Importación de librerías necesarias
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import utilidades.Paginas;
import java.sql.*;
public class AltaAlumno extends HttpServlet {
Connection conn;
private int longitudlu;
/*
* En el método Init se realizará la conexión a la BD
* por lo que las peticiones no producirán ningun retardo de conexión
*/
public void init(ServletConfig cf) throws ServletException {
super.init(cf);
// Se carga el driver a continuación
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
}catch (ClassNotFoundException e) {
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP205
System.out.println(“Imposible encontrar el driver:” +
e.getMessage());
}
//Se intenta realizar la conexión a la base de datos
try {
conn = DriverManager.getConnection(“jdbc:odbc:tcp”);
}catch (SQLException e) {
System.out.println(“Imposible crear conexion:” + e.getMessage());
}
}// fin init
/*
* En el metodo destroy() una vez que el servlet se esta apagando,
desconectaremos
* de la base de datos
*/
public void destroy() {
super.destroy();
//Llamada al destroy de la superclase
try {
conn.close();
}catch (SQLException e){
System.out.println(“Imposible cerrar conexion:” + e.getMessage());
}
} //fin destroy()
206
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
/*
*Redefinimos el metodo doPost ya que las peticiones se realizaran por
ese metodo.
*/
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException, IOException {
String lu;
String nombre;
String apellido;
String direccion;
String telefono;
String email;
String dni;
//Obtenemos los valores de los parámetros
lu = request.getParameter(“lu”);
nombre = request.getParameter(“nombre”);
apellido = request.getParameter(“apellido”);
direccion = request.getParameter(“direccion”);
telefono = request.getParameter(“telefono”);
email = request.getParameter(“email”);
dni = request.getParameter(“dni”);
int longitudlu= lu.length();
if(telefono.equals(“”)){
telefono = “0”;
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP207
}
int mail = email.length();
String arrova = “”;
for (int i = 1; i < mail ; i++) {
String caract = email.substring(i,i+1);
if (caract.equals(“@”)){
arrova= “Si”;
}
}
if (lu.equals(“”)) {
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
208
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Debes ingresar tu Número de L.U. (Libreta Universitaria)</P>
<P align=center><IMG border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(”</HTML>”);
out.flush();
out.close();
}else if (longitudlu < 5){
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP209
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>La longitud de tu L.U. (Libreta Universitaria) debe ser 5.</P>
<P align=center><IMG border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
210
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“</HTML>”);
out.flush();
out.close();
}else if(nombre.equals(“”)){
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“<TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP211
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Debes ingresar tu nombre.</P><P align=center><IMG border=0
src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
out.flush();
out.close();
} else if(apellido.equals(“”)){
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(”<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
212
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Debes ingresar tu apellido.</P><P align=center><IMG border=0
src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
out.flush();
out.close();
} else if(direccion.equals(“”)){
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP213
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>debes ingresar tu dirección.</P><P align=center><IMG border=0
src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
214
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“</HTML>”);
out.flush();
out.close();
}else if (arrova.equals(“”)) {
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP215
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Debes ingresar una dirección de correo válida.</P><P align=center><IMG
border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
out.flush();
out.close();
}else if(lu.equals(“00000”)){
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
216
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Debes ingresar un número de LU válido.</P><P align=center><IMG
border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
out.flush();
out.close();
}else if(dni.equals(“”)){
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP217
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Debes ingresar tu número de D.N.I..</P><P align=center><IMG
border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
218
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“</HTML>”);
out.flush();
out.close();
}else {
try {
Statement sentencia = conn.createStatement();
ResultSet consulta = sentencia.executeQuery(“SELECT * FROM ALUMNOS WHERE
lu = “ +lu+””);
String valor=“”;
while (consulta.next()){
valor= consulta.getString(“lu”);
}
consulta.close();
sentencia.close();
if (valor.equals(“”)){
Statement alta = conn.createStatement();
int actualizacion = alta.executeUpdate(“insert into alumnos(dni,lu,nombre,apellido,domicilio,telefono,mail)
values(“+dni+”,“+lu+”,“‘+nombre+”’,“‘+apellido+”’,“‘+direccion+”’,“‘+telefono+”’,“‘+email+”’)”);
alta.close();
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP219
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Actualización Exitosa!!</P><P align=center><IMG border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
out.flush();
220
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.close();
}else{
PrintWriter out = response.getWriter();
//Devolvemos una pagina de error
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
out.println(“<TABLE border=0>”);
out.println(“ <TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“<TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“ </TR>”);
out.println(“ </TBODY>”);
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP221
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Ya te has registrado.</P><P align=center><IMG border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
out.flush();
out.close();
}
}catch (Exception e) {
System.out.println(“Error en la actualización”+ e.getMessage());
PrintWriter out = response.getWriter();
out.println(“<HTML>”);
out.println(“<META http-equiv=Content-Type”);
out.println(“ content=text/html; charset=WINDOWS-1252>”);
out.println(“<META name=GENERATOR content=IBM WebSphere Studio>”);
out.println(“<META http-equiv=Content-Style-Type content=text/css>”);
out.println(Paginas.estilo1());
out.println(“ type=text/css>”);
out.println(“<TITLE>temas.html</TITLE>”);
out.println(“</HEAD>”);
out.println(“<BODY>”);
out.println(“<DIV align=center>”);
222
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
out.println(“<TABLE border=0>”);
out.println(“<TBODY>”);
out.println(“ <TR>”);
out.println(“ <TD><IMG border=0 src=Imagenes/carpeta.gif width=65”);
out.println(“ height=70></TD>”);
out.println(“ <TD><IMG border=0 src=Imagenes/autoevaluacion.gif width=296”);
out.println(“ height=44></TD>”);
out.println(“</TR>”);
out.println(“</TBODY>”);
out.println(“</TABLE>”);
out.println(“</DIV>”);
out.println(“<P align=center><BR>”);
out.println(“<BR>Error de Sistema</P><P align=center><IMG border=0 src=imag/error.gif”);
out.println(“ width=51 height=57></P>”);
out.println(“</BODY>”);
out.println(“</HTML>”);
}
}
}
}
A continuación se transcribe el código HTML, correspondiente a una de
las páginas que componen el sistema. La misma muestra una página donde el
alumno puede elegir el tema en el que desea autoevaluarse.
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<HTML>
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP223
<HEAD>
<META http-equiv=“Content-Type”
content=text/html; charset=WINDOWS-1252”>
<META name=“GENERATOR” content=”IBM WebSphere Studio”>
<TITLE>alumnos.html</TITLE>
<LINK rel=“stylesheet” href=“../estilo/tcp.css” type=”text/css”>
</HEAD>
<BODY onload=“form.nombre.focus()”>
<P align=“center”><IMG border=”0” src=”../Imagenes/datosalu.gif” width=“257”
height=“34”></P>
<BLOCKQUOTE>
<DIV align=“center”>
<FORM method=“post” action=“/Silvana/AltaAlumno“ name=form>
<TABLE border=“0”>
<TBODY>
<TR>
<TD align=“right”>Nombre:</TD>
<TD><INPUT type=“text” size=“30” width=“15” name=“nombre”></TD>
<TD rowspan=“8” valign=“top”><IMG border=“0”
src=“../imagInternet/teclado.jpg” width=“197” height=“177”></TD>
</TR>
<TR>
<TD align=“right”>Apellido:</TD>
<TD><INPUT type=“text” size=“30” maxlength=“20” name=“apellido”></TD>
224
CAPÍTULO 6. DESCRIPCIÓN DEL SISTEMA
</TR>
<TR>
<TD align=“right”>D.N.I. No :</TD>
<TD><INPUT type=“text” size=“30” maxlength=“10” name=“dni”></TD>
</TR>
<TR>
<TD align=“right”>L.U. No :</TD>
<TD><INPUT type=“text” size=“30” maxlength=“5” name=“lu”></TD>
</TR>
<TR>
<TD align=“right”>Dirección:</TD>
<TD><INPUT type=“text” size=“30” name=“direccion”></TD>
</TR>
<TR>
<TD align=“right”>Teléfono:</TD>
<TD><INPUT type=“text” size=“30” name=“telefono”></TD>
</TR>
<TR>
<TD align=“right”>E-Mail:</TD>
<TD><INPUT type=“text” size=“30” width=“21” name=“email”></TD>
</TR>
<TR>
<TD align=“center”></TD>
<TD align=“center”>
6.2. DESARROLLO: SISTEMA DE AUTOEVALUACIÓN SOBRE TCP/IP225
<INPUT type=“submit” name=“aceptar”
value=“Enviar”>
</TD>
</TR>
</TBODY>
</TABLE>
</FORM>
</DIV>
</BLOCKQUOTE>
</BODY>
</HTML>
Estos son sólo fragmentos, el código completo se encuentra en los DVD
adjuntos.
Capítulo 7
Conclusión
7.1
Conclusiones del Trabajo realizado
Cabe concluir este trabajo haciendo referencia a la importancia en la red de
TCP/IP, para las comunicaciones entre sistemas informáticos.
Este protocolo constituye, actualmente; la infraestructura tecnológica más
extendida y desarrollada sobre la que circulan las comunicaciones electrónicas
(datos, voz, multimedia...).
Esta importancia se ha intentado destacar en capítulos de este documento, sin omitir su falencia con respecto a la seguridad, a la que se ha hecho
referencia para despertar conciencia a usuarios y administradores informáticos sobre asegurar ciertas características en las comunicaciones, como son: la
autenticidad, la integridad de la información, la privacidad y confidencialidad,
el control de acceso a la información; por esto la necesidad de dedicar tiempo y
esfuerzo a evolucionar la red hacia un entorno seguro, siendo vital mantenerse
actualizado a diario en los avances realizados en este campo de la informática.
Para esta aplicación se ha realizado un análisis con Diagramas de Casos
de Uso (metodología UML), utilizando Enterprise Architect como herramienta
CASE, los cuales se han aprendido a manejar para este trabajo comprobando
que su implementación hace más sencillo el desarrollo.
Con respecto a las tecnologías y software utilizados se ha podido comprobar sus potenciales beneficios con respecto al soporte multiplataforma, indis227
228
CAPÍTULO 7. CONCLUSIÓN
pensables por su eficiencia y rapidez al momento de desarrollar la aplicación
con WebSphere Application Developer v.5.0 y DB2 UDB WorkGroup Server
Edition v.8.1, bajoWindows XP Service Pack 2, utilizando Java 1.5, para implementarla en entorno Windows.
Java sirve para crear todo tipo de aplicaciones (locales, Intranet o Internet), y las facilidades en el desarrollo de sus aplicaciones para entornos
multiplataforma se ha apreciado en este trabajo.
Se ha comprobado además que el motor de base de datos ha permitido
respaldos en línea sin que la disponibilidad de acceso se vea afectada, esto
gracias a su escalabilidad, integridad y seguridad.
Se debe hacer mención a la facilidad de manejo de Scientific WorkPlace
para redactar un libro, por la automatización en el manejo de estructucas
propias como índices, gestión dinámica de espacios, imágenes y referencias
bibliográficas y de figuras.
7.2
Líneas Futuras de Acción
Se pretende que el presente trabajo sea utilizado como punto de partida para:
• Incorporar otras metodologías de autoevaluación.
• Profundizar el análisis de gestión.
• Incorporar criptografía en la gestión de claves, esquematizando la seguridad.
• Desarrollar nuevas páginas para el ingreso de comentarios del alumno.
• Incorporar links específicos a sitios relacionados con TCP/IP.
• Incorporar links que permitan observar los libros sobre el protocolo y la
posibilidad de comprarlos.
Bibliografía
[1] V. Yague Galaup; L. Joyanes Aguilar A. González del Alba Baraja. Impacto de las Tecnologías en la Gestión Internacional de Sociedad de la
Información en II Congreso Internacional de Sociedad de la Información
y del Conocimiento. Mc Graw Hill, España, 2003.
[2] L. Joyanes Aguilar. Educación e Internet- 1ra. Edición. Santillana, España, 1999.
[3] IBM Red Books. TCP/IP Tutorial and Technical Overview-7 ma-Edición.
USA, 2001.
[4] Celeste Campo. TCP Avanzado-Universidad Carlos III-Dpto de Ingeniería Telemática. España, 2000.
[5] D. E. Comer. Internet Working with TCP/IP Vol I: Principles, Protocols,
and Architecture - 4ta. Edición. Prentice Hall International, USA, 2000.
[6] D. L. Stevens D. E. Comer. Internetworking with TCP/IP Vol. II ANSI C
Version Design, Implementaction, and Internals - 3ra. Edición. Prentice
Hall, USA, 1999.
[7] R. E. Droms D. E. Comer. Computers Networks and Internets, with
Internet Applications - 4ta. Edición. Prentice Hall, USA, 2003.
[8] S. Rios Aguilar J. M. Saiz Alvarez M. Lombardo Enriquez, L. Joyanes Aguilar. Gestión e Informática "Orientada al Conocimiento"en los
Modelos de Comercio Electrónico. La Salle, España, 2002.
[9] Raúl Siles Pelaez. Análisis de Seguridad de la Familia de Protocolos
TCP/IP y sus Servicios Asociados-1 era-Edición. 1 era-Edición, España,
2002.
[10] M. Schwartz. Redes de telecomunicaciones, Protocolos, Modelado y
Análisis- 1ra. Edición. Addison-Wesley Iberoamericana, México, 1994.
229
230
BIBLIOGRAFÍA
[11] A. S. Tanenbaum. Redes de Computadoras - 4ta. Edición. Pearson Educación, México, 2003.
Índice de Materias
3Com, 174
3com, 48
6Bone, 152
ARPANET, 129, 135
Arpanet, 1
AS, 122, 129, 136
AS/400, 48
asíncrona, 26
tilde nanza, 26
taller, 26
ASCII, 55, 57
ASN, 8
ASN.1, 68, 71, 77
atomic, 155
auditorías, 65
aula
virtual, 27
AUP, 9
auto-configuración, 152
auto-descubrimiento, 152
autoformación, 26, 28
acceso
política de control de, 65
ACK, 88, 89, 91, 92
valor, 158
actividad piloto, 44
ad-hoc, 23
ADCCP, 82
AH, 172
AIX, 48, 79
algoritmo dinámico, 130
algoritmos de encaminamiento, 123
alumno, 30
alumnos, 26—28, 42
ankle-biter, 153
ANS, 10
ANSI, 82
antecedentes, 31
aplicación
protocolos de, 52
ApplicationSyntax, 69
aprendizaje, 21
electrónico, 21—23, 32, 33
Argentina, 35
ARP, 104, 110, 138
concepto detallado de, 105
generación del paquete, 105
recepción del paquete, 107
subredes, 108
bdi, 97
BGP, 132
bit P/F, 83
BITNET, 6
japonesa, 8
blind spoofing, 163
bogus flag probe, 158
Booch, 179
bridges, 48
broadcast, 138
buffer-overflow, 155, 171
capacitación, 34, 37
231
232
ÍNDICE DE MATERIAS
caso de uso, 179, 180
casos de uso
diagramas de, 178
catalysis, 179
CCICS, 80
CCITT, 70
CGI, 62, 64
chat rooms, 28
checksum, 121
CICS, 80
Cisco, 48, 171, 172, 174
class, 118
cliente/servidor, 50, 78
CMIP, 74
CMOT, 74
composite, 156
conclusiones, 174
conexiones lógincas, 89
content, 156
context, 156
cookies, 62, 63
COPS, 166
correo electrónico, 26
crawlers, 62
CRC
tarjetas, 179, 180
CREN, 6
CSNET, 6, 58
CSO
directorios, 68
cuenta hasta infinito, 125, 134
culturas
organizacionales, 36
Cypress, 6
DB2 UDB, 199
default, 137
desafío, 32
destination, 136
destination IP address, 118
desventajas, 36
DF, 116, 120
DIG, 163, 171
dir, 54
dirección, 41
dirección MAC, 152
direccion IP, 83
dispositivos de almacenamiento, 48
DIX Ethernet, 105
DL/WILL, 53
DNS, 54, 55, 57, 85, 163, 171
arquitectura de, 55
elementos de datos de, 56
elementos de programas del, 55
formato de un mensaje, 56
funcionamiento del, 56
DNS-MX, 57
DoD, 74
dominio
nombre de, 56
nombres de, 55
DON‘T/WON‘T, 53
DOS, 53, 55
DoS, 70, 172
DPI de SNMP, 75
DRI, 7
DTDs, 64
dual-stack, 153
DV, 136
DARPA, 53
data, 120
datafile, 97
datagrama IP, 108
datagramas, 66
e-learning, 21, 34, 188
E-Mail, 57
EARN, 7
EBONE, 3, 5
echo reply, 161
ÍNDICE DE MATERIAS
233
economía, 31
global, 34
EGP, 70, 117, 122
elementos
aprendizaje electronico, 33
empleo del aprendizaje, 43
empleos-país, 31
encaminamiento, 49, 122
entre redes, 122
encaminamiento directo, 137
encaminamiento indirecto, 137
tilde nanza a distancia, 25
tilde nanza tradicional, 25
tilde nanza virtual, 25
enseñanza
virtual, 25
Enterprise Architect, 183
escaneo de puertos, 156, 158, 159
ESP, 172
estado del enlace, 122, 128
Estados Unidos, 34
estructura
interna, 50
Ethernet, 169
evaluación, 43
EXMAScript, 65
Extranets, 151
Firewalls, 65
firewalls, 48, 65, 154, 168
tipos de, 65
flag RST, 102
flags, 116, 142
flujo, 117
control de, 52, 89
FNM, 8
fo, 120—122
footprinting, 156, 163
formación, 40
fping, 161
fragment offset, 117
fragmentación, 113, 120
FTP, 53, 66, 86, 92
funet.fi, 68
Fusion, 179
familia, 47
fc, 118, 120
feed-back, 30
fiabilidad, 88
ficheros, 53
FIN, 93, 95
fin probe, 158
fingerd, 166
fingerprinting, 155, 157, 167
fingerprintings, 172
firewalking, 159
firewall, 160, 171, 175
hackers, 164, 173
HAP, 7
hash, 172
HDLC, 82, 84
header checksum, 117
herramientas, 165
hijanking, 163
historia de las vulnerabilidades, 153
HP, 48
HP-UX, 48, 171
HTML, 61—64
HTTP, 61—63
gestión de la fragmentación, 158
gestión de red, 68
gestión del conocimiento, 24
get, 54
GGP, 117
GII, 10
Goleen Gophers, 67
GOPHER, 67
gping, 161
234
HTTPng, 63
hubs, 48
IA, 173
IAB, 70
IANA, 11
IBM, 4, 82
IBM TN 3270, 53
ICANN, 156
ICMP, 117, 120, 135, 140, 156, 160,
166
ICMP Assress Mask, 162
ICMP Broadcast, 161
ICMP echo, 161
ICMP Information, 161
ICMP integridad, 158
ICMP message quoting, 158
ICMP quenching, 158
ICMP sweep, 161
ICMP Timestamp, 161
ID, 121
identificación de sistema operativo,
159
identificador de objetos, 69
IDNX, 5
IDS, 161, 167, 171, 173, 175
IDs, 79, 154, 166
IETF, 152, 173
IGMP, 117
IGP, 122
IGPs, 128
IKE, 164
IM, 8
insiders, 155
instructor, 26, 27
instructores, 26, 28
Internet, 2, 21, 25, 32—35, 47—51,
53, 54, 58, 62, 65, 81, 88,
130
acceso a, 61
ÍNDICE DE MATERIAS
comercial, 9
Red, 27
InterNIC
direcciones, 67
interredes, 1
Intranets, 29, 35, 151
IP, 47, 49, 55, 85, 88, 112, 117, 130
datagrama, 113, 120
datagramas, 92
dirección, 50, 56, 104
direcciones, 56
formato del datagrama, 114
IP bad headers fields, 162
IP fragmentation, 162
IP non-valid fiels values, 162
IP Personality, 167
IP soofing, 155
IP spoofing, 170, 171
IPSec, 164, 169, 171, 172, 174
IPv6, 152, 166, 172—174
IS
Information Services, 4
ISN, 171
isn sampling, 158
ISO, 1, 8, 48, 51, 70, 82
IT, 119, 141
James Rumbaugh, 179
JAVA, 62, 64
JavaScript, 64
L2TP, 173
lamer, 153
LANs, 81, 131, 138
LCP, 84
LEN, 114
length, 120, 121, 139—142
Linux, 48
LiveScript, 64
LM, 8
ÍNDICE DE MATERIAS
LPP, 75
LS, 136
LSA, 129
LSD, 128
LSR, 119, 139, 140
LSRR, 139
Lucent, 48
métodos, 26
formación, 32
métodos de aprendizaje, 24
MA, 73
MacOs, 48
MBZ, 116
MCI, 4, 174
Merit, 4
MF, 116
mf, 121
MIB, 69—71, 77
Microsoft, 65, 174
MIME, 58, 59, 62, 63
modelo
C/S, 50
monitorización
don´t fragment bit, 158
MPLS, 152
MSL, 101
MSS, 93, 97
MST, 129
MTU, 120
multiplexación, 89
N-1 net, 9
NAGLE, 53
NASDAQ, 154
NAT, 152
NCP, 1, 84
NDB, 77
NDIS, 144
NE, 73
235
NE-NMS, 73
NETCAT, 157
Netscape, 64
nettune, 171
NFS, 79
NIS, 79
NMA, 71
NMAP, 159, 168
nmap, 161
NMS, 71
Nokia, 174
Nort, 48
NSF, 4
NSFNET, 3
nslookup, 156, 164
NSS, 4
NT, 53
nuevas formas, 25
nuevo modelo administrativo, 77
NumSumbler, 165
NVT, 53
NVT ASCII, 53
objetory, 179
off-line, 30
oflew, 142
OLTP, 80
OMG, 178
OMT, 179
option data, 120
option number, 119
options, 118, 139
OSI, 15, 18, 48, 51, 70, 74
OSPF, 117, 129, 130, 132
outsiders, 155
P2P, 152
padding, 120
pasarelas, 13
PCs, 48
236
PDAs, 48
PDUs, 77
Penetration Test, 165
PHNE, 171
ping sweep, 159, 161
pinger, 161
PIRP, 117
PKI, 175
planificar, 37
playload, 156
pointer, 139—142
PortSetry, 168
PPP, 81, 83
PPTP, 164, 173
preparar una organización, 38
primera generación, 153
primero el camino más corto, 128
PRNGs, 163
productos
tilde nanza virtual, 29
profesores, 27
programación
interfaz de, 48
programas
informáticos, 25
protecciones, 165
protocolo de enlace de datos
ejemplos, 82
protocolo number spotipprotn, 117
protocolos, 47
protocolos de aplicación
otros, 77
protocolos de la capa de enlace, 81
proxies, 66
proxy ARP, 108
PSH, 93
PSINet, 10
puentes, 13
puertos, 11
ÍNDICE DE MATERIAS
push
función, 88
put, 54
RARE, 8
RARP
concepto, 111
descripción, 110
RAS, 48
RC-5, 164
RCP, 53
RDSI, 48
re-ensamblado, 113
reconnect, 54
Red, 26, 28, 42
red
física, 48
red dorsal, 131, 133
redes, 48
redes de tránsito, 133
redes multiconectadas, 133
redes neuronales, 173
redes stub, 133
RFC, 57
RFC 1006, 80
RFC 1948, 171
RIP, 126, 128, 129, 134
RIPE, 8
robots, 62
RotoRouter, 166
route data, 139—141
route datagram, 140
router, 49, 125
routers, 13, 48, 66
RPC, 78
RR, 119, 141
RRs, 56
RSA, 164
RST, 93
Rusty Russel, 167
ÍNDICE DE MATERIAS
síncrona, 26—28
SA, 173
script-kiddie, 153
scripts, 64
SDLC, 82
segmentos, 91
segunda generación, 154
seguridad, 65, 130, 151
Servlet, 202
SET, 62
SGMP, 71
Shlaer/Mellor, 179
SID, 119
Siemens, 174
SimpleSyntax, 69
sincrónico
taller, 27
sistemas operativos, 53
SL, 140
SLIP, 139
SMI, 68, 70, 71, 77
SMTP, 57, 92
cliente, 58
pasarela, 58
servidor, 58
SMTPSE, 58
SNA, 51, 80
sniffers, 167, 174
sniffing, 162, 169
SNMP, 71, 155
aplicación, 73
comunidad, 74
SNMPv2, 76
SNORT, 168
Snort, 166
Solaris, 48
solución, 33
soluciones, 165
SONET, 84
237
sort, 97
source IP address, 118
SP, 170
SPF, 129
spiders, 62
spoofing, 164
SQL, 78
SSL, 62
SSR, 120, 140, 141
SSRR, 140
STD, 57
SUN, 63, 64
sun, 97
super autopista
de la información, 10
switches, 48
SYN, 93
SYN ACK, 94
técnicas
colaboración, 26
tabla de encaminamiento, 123, 134
tablas de encaminamiento, 122
tamaño de la ventana TCP, 158
TARA, 166
TCP, 47, 50, 52, 53, 56, 62, 117,
122
concepto de, 88
opciones, 158
segmentos, 92
TCP connect scan, 159
TCP FIN scan, 160
TCP Half-Close, 95
TCP ISN, 163, 167, 171
TCP null scan, 160
TCP SYN, 98
TCP SYN scan, 159
TCP Xmas tree scan, 160
TCP/IP, 6, 18, 47—50, 57, 143
Introducción
238
Familia, 1
tcpdump, 95
TCPMON
analizador de protocolos, 143
características, 146
estructura interna, 144
tecnologías, 23, 26, 39
aprendizaje, 24
teléfonos
móviles, 48
Telecom, 174
TELNET, 52, 53, 86, 92, 156
tendencias, 24
tercera generación, 154
Terminal Speed, 53
Terminal Type, 53
TFTP, 53, 85
TI, 35
TIGER, 166
TIME-WAIT, 101
timestamp, 143
tipo de aprendizaje, 38
TISN, 9
TOS, 116, 158
total length, 116
trace routing, 159
traceroute, 156, 157, 167
tradicional
enseñanza, 27
transferencia de datos, 88
transporte
protocolos de la capa de, 86
traps, 73
TS, 135
TTL, 117, 121, 135, 157
TWN, 7
TYPE OF SERVICE, 114
UCP, 117
ÍNDICE DE MATERIAS
UDP, 52, 56, 85, 86, 122, 162, 166,
171
datagrama, 85
UML, 177, 178, 183, 184
universidad, 30
UNIX, 2, 53, 55, 79
Unix, 48
UOWs, 78
URG, 92
URI, 63
URLs, 61
US ASCII, 60
uso de tecnologías, 36
usuario
interfaz de, 54
programa de, 55
UUNET, 10
variables
entorno de, 53
VBScript, 65
vector-distancia, 122, 123, 134
ventajas, 22, 24, 30, 35
tilde nanza virtual, 30
ventana
mecanismo de, 89
ventanas
mecanismo de, 89
VERS, 114
video-audio
conferencias, 28
VLAN, 170
VMS, 53
VPN, 172—174
VRML, 62
VT, 53
vulnerabilidades genéricas, 155
wannabee, 153
WANs, 131
ÍNDICE DE MATERIAS
WB-MON, 7
Web, 26, 27, 42
WebNFS, 63
whiteboards, 27, 28
WIDE, 9
Windows, 48
wirelles, 164
Worldcom, 174
WPS, 7
WWW, 21, 29, 36, 61, 68
WYSIWYG, 64
X.25, 6
XTI, 80
zócalos, 12, 87
llamadas básicas, 12
239
Documentos relacionados
Descargar