Generacion de audios del bloque 3 y 4

This commit is contained in:
Tatiana Villa Ema 2026-04-26 22:10:55 +02:00
parent 1271a5e25b
commit 3fa5261bf0
31 changed files with 1492 additions and 3 deletions

27
.gitignore vendored Normal file
View File

@ -0,0 +1,27 @@
# Audios generados (regenerables con scripts/md_a_audio_natural_windows.py)
audios/
# PDFs generados (regenerables con los scripts de conversión)
pdfs/
scripts/pdfs_generados/
cef/pdfs/
# Documentos Word/ODT generados
docx/
# Entorno virtual Python
env/
# Ficheros temporales
*.temp.mp3
*.temp
# Python
__pycache__/
*.py[cod]
*.pyo
# Archivos de sistema
.DS_Store
Thumbs.db
desktop.ini

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

73
bloque3/tema1_audio.md Normal file
View File

@ -0,0 +1,73 @@
## Bloque 3 Tema 1. Modelado de datos, metodologías y reglas. Entidades, atributos y relaciones. Diseño de bases de datos. Diseño lógico y físico. El modelo lógico relacional. Normalización.
Este tema estudia cómo representar la información de un sistema mediante modelos de datos, el diseño de bases de datos y el proceso de normalización.
---
## 1. Modelado de datos
El modelado de datos es el proceso mediante el cual se analiza y representa la información que debe gestionar un sistema de información. Permite definir qué datos existen, cómo se relacionan entre sí y qué reglas deben cumplir.
Sus objetivos son representar la realidad del negocio, facilitar el diseño de bases de datos, reducir redundancias, garantizar la integridad de los datos y facilitar el mantenimiento del sistema.
El modelado se divide en tres niveles. El nivel conceptual representa la realidad del negocio de forma independiente del sistema gestor de base de datos. El nivel lógico adapta el modelo al tipo de base de datos que se va a utilizar, definiendo tablas y relaciones. El nivel físico describe la implementación real, incluyendo la optimización del almacenamiento.
---
## 2. El modelo Entidad-Relación
El modelo Entidad-Relación, o modelo E-R, es el más utilizado para el diseño conceptual de bases de datos. Sus elementos fundamentales son entidades, atributos y relaciones.
Una entidad es cualquier objeto del mundo real sobre el que se desea almacenar información. Ejemplos de entidades son Cliente, Producto, Pedido y Empleado. Las entidades se representan con rectángulos en los diagramas E-R.
Existen dos tipos de entidades. La entidad fuerte tiene clave propia y existe por sí misma. La entidad débil no tiene clave propia y depende de una entidad fuerte para existir.
Un atributo es una característica o propiedad de una entidad. El atributo clave identifica unívocamente a cada entidad. El atributo multivaluado puede tener varios valores para la misma entidad. El atributo derivado se calcula a partir de otros, como la edad que se calcula desde la fecha de nacimiento. El atributo compuesto está formado por subatributos, como la dirección formada por calle, ciudad y código postal.
Una relación es una asociación entre dos o más entidades. La cardinalidad define cuántas instancias de una entidad pueden asociarse con instancias de otra. Los tipos son uno a uno o 1:1, uno a muchos o 1:N, y muchos a muchos o N:M.
---
## 3. Diseño de bases de datos
El proceso de diseño de bases de datos sigue tres fases.
En el diseño conceptual se crea el modelo E-R que captura la realidad del negocio de forma abstracta, sin depender de ningún sistema gestor.
En el diseño lógico se transforma el modelo conceptual en un esquema de base de datos adaptado al modelo elegido, que en la mayoría de los casos es el modelo relacional. En esta fase se definen las tablas y sus relaciones.
En el diseño físico se optimiza el esquema para su implementación real en un sistema gestor concreto. Se definen los índices, las particiones y las estructuras de almacenamiento.
---
## 4. El modelo lógico relacional
El modelo relacional representa los datos en forma de tablas, también llamadas relaciones. Cada tabla tiene filas, llamadas tuplas, y columnas, llamadas atributos.
Los conceptos clave del modelo relacional son los siguientes. La clave primaria es el atributo o conjunto de atributos que identifica unívocamente cada fila de la tabla. La clave foránea o clave externa es un atributo que referencia la clave primaria de otra tabla, estableciendo la integridad referencial entre ellas. La clave alternativa es un atributo que podría ser clave primaria pero no ha sido elegido como tal.
La integridad referencial garantiza que los valores de una clave foránea siempre correspondan a valores existentes en la tabla referenciada.
---
## 5. Normalización
La normalización es el proceso de organizar las tablas de una base de datos para eliminar redundancias, evitar anomalías de inserción, actualización y borrado, y mejorar la integridad de los datos.
La normalización se basa en el concepto de dependencia funcional. Se dice que el atributo B depende funcionalmente del atributo A cuando para cada valor de A existe un único valor de B.
Las formas normales principales son cuatro.
La Primera Forma Normal, o 1FN, requiere que todos los atributos de la tabla sean atómicos, es decir, que cada celda contenga un único valor indivisible y no haya grupos repetitivos.
La Segunda Forma Normal, o 2FN, requiere que la tabla esté en 1FN y que todos los atributos no clave dependan completamente de la clave primaria, eliminando las dependencias parciales. Esto solo es relevante cuando la clave primaria es compuesta.
La Tercera Forma Normal, o 3FN, requiere que la tabla esté en 2FN y que no existan dependencias transitivas, es decir, que ningún atributo no clave dependa de otro atributo no clave.
La Forma Normal de Boyce-Codd, o BCNF, es una versión más estricta de la 3FN. Requiere que para toda dependencia funcional no trivial, el determinante sea una superclave.
---
## Miniresumen final del tema
El modelado de datos tiene tres niveles: conceptual, lógico y físico. El modelo E-R usa entidades, atributos y relaciones con cardinalidades 1:1, 1:N y N:M. El modelo relacional organiza los datos en tablas con claves primarias y foráneas. La normalización elimina redundancias mediante las formas normales 1FN, 2FN, 3FN y BCNF.

105
bloque3/tema2_audio.md Normal file
View File

@ -0,0 +1,105 @@
## Bloque 3 Tema 2. Lenguajes de programación. Representación de tipos de datos. Operadores. Instrucciones condicionales. Bucles y recursividad. Procedimientos, funciones y parámetros. Vectores y registros. Estructura de un programa.
Este tema estudia los fundamentos de los lenguajes de programación, los elementos básicos de un programa y las estructuras de control.
---
## 1. Lenguajes de programación
Un lenguaje de programación es un lenguaje formal que especifica instrucciones para que un ordenador realice determinadas tareas. Se compone de sintaxis, que son las reglas que definen la forma correcta de escribir las instrucciones; semántica, que es el significado de cada instrucción; y pragmática, que es el uso práctico del lenguaje.
Por nivel de abstracción los lenguajes se clasifican en tres grupos. Los lenguajes de bajo nivel son cercanos al hardware y comprensibles directamente por la máquina; incluyen el lenguaje máquina en binario y el ensamblador, que usa nemónicos como MOV, ADD o JMP. Los lenguajes de nivel medio, como C, combinan el control del hardware con abstracciones. Los lenguajes de alto nivel, como Python, Java o Pascal, son independientes del hardware y cercanos al lenguaje humano.
Por paradigma los lenguajes se clasifican en imperativo o procedural, que usa secuencias de instrucciones como C o Pascal; orientado a objetos, que modela la realidad con objetos como Java o C++; funcional, basado en funciones matemáticas como Haskell; lógico o declarativo como Prolog o SQL; orientado a eventos como JavaScript; y multiparadigma como Python.
Por mecanismo de ejecución se distinguen los lenguajes compilados, como C, que traducen todo el código antes de ejecutar; los interpretados, como Python, que ejecutan línea a línea; y los de bytecode o máquina virtual, como Java con su JVM o C# con el CLR de .NET, que compilan a código intermedio portable.
Las fases del compilador son análisis léxico, análisis sintáctico, análisis semántico, generación de código intermedio, optimización y generación de código final.
---
## 2. Tipos de datos
Un tipo de dato define el conjunto de valores posibles que puede tomar una variable, las operaciones permitidas sobre ella y su representación en memoria.
Los tipos de datos simples o primitivos son los siguientes. Los enteros representan números sin parte decimal; el tipo byte ocupa 1 byte, el short 2 bytes, el int 4 bytes y el long 8 bytes; se almacenan en complemento a dos para los negativos. Los reales o coma flotante siguen el estándar IEEE 754; float ocupa 4 bytes con 7 dígitos de precisión y double ocupa 8 bytes con 15 dígitos. Los caracteres representan un único símbolo y usan codificaciones ASCII para 128 o 256 caracteres y Unicode o UTF-8 para más de un millón. El booleano solo admite verdadero o falso y ocupa 1 byte. Los enumerados definen un conjunto finito de valores con nombre.
Los tipos de datos compuestos incluyen vectores o arrays, que son colecciones de elementos del mismo tipo accesibles por índice; registros o structs, que agrupan campos de distintos tipos bajo un mismo nombre; cadenas de texto o String; y clases u objetos en programación orientada a objetos.
Las variables son posiciones en memoria cuyo valor puede cambiar durante la ejecución. Las constantes no pueden modificarse tras su inicialización. El ámbito de una variable puede ser local, global o estático. La conversión implícita o widening es automática y sin pérdida de información; la conversión explícita o narrowing requiere indicarse manualmente y puede perder información.
---
## 3. Operadores
Los operadores aritméticos son suma, resta, multiplicación, división, módulo o resto y potencia. En la división entera el resultado es entero: 7 dividido entre 2 es 3.
Los operadores relacionales comparan dos valores y devuelven un booleano: igual, distinto, menor, mayor, menor o igual y mayor o igual.
Los operadores lógicos son AND, que es verdadero si ambos operandos son verdaderos; OR, que es verdadero si al menos uno lo es; y NOT, que invierte el valor. Utilizan evaluación en cortocircuito.
Los operadores de asignación son la asignación simple y las versiones compuestas como más igual, menos igual, por igual, entre igual y módulo igual.
Los operadores de bits operan sobre los bits individuales: AND bit a bit, OR bit a bit, XOR, complemento, y desplazamientos a izquierda y derecha.
El operador ternario es una versión compacta del if-else para asignaciones simples.
La precedencia de operadores de mayor a menor es paréntesis, operadores unarios, multiplicativos, aditivos, desplazamientos, relacionales, igualdad, bitwise, lógicos, ternario y finalmente asignación.
---
## 4. Instrucciones condicionales
Las instrucciones condicionales permiten tomar decisiones en función del valor de una condición booleana.
La estructura if, else if y else ejecuta distintos bloques según las condiciones evaluadas de forma encadenada. Solo se ejecuta uno de los bloques.
La estructura switch-case compara una variable contra múltiples valores constantes. La instrucción break es esencial para evitar la ejecución en cascada o fall-through de casos siguientes. El caso default equivale al else y se ejecuta si ningún caso coincide.
---
## 5. Bucles y recursividad
Los bucles permiten ejecutar un bloque de código repetidamente.
El bucle while evalúa la condición antes de cada iteración; si es falsa desde el inicio, el cuerpo no se ejecuta.
El bucle do-while evalúa la condición al final, de modo que el cuerpo se ejecuta siempre al menos una vez.
El bucle for es ideal cuando se conoce el número de iteraciones de antemano; tiene tres partes: inicialización, condición y actualización. El for-each recorre automáticamente todos los elementos de una colección.
Las instrucciones break, continue y return controlan la ejecución dentro del bucle.
La recursividad consiste en que una función se llama a sí misma para resolver un problema. Toda función recursiva necesita un caso base que detenga la recursión y una llamada recursiva que se acerque al caso base. Cada llamada añade un marco de activación a la pila de llamadas; si hay demasiadas llamadas anidadas se produce un desbordamiento de pila o StackOverflowError. Los ejemplos clásicos son el factorial, la serie de Fibonacci y las torres de Hanói. La recursividad de cola permite que el compilador la optimice como iteración.
---
## 6. Procedimientos, funciones y parámetros
Un subprograma o subrutina es un bloque de código con nombre que realiza una tarea concreta y puede ser llamado desde distintos puntos del programa. Sus ventajas son la reutilización de código, la modularidad, la abstracción y la facilidad de pruebas.
La diferencia entre procedimiento y función es que el procedimiento no devuelve valor, o devuelve void, mientras que la función devuelve un valor y puede usarse dentro de expresiones.
Los parámetros formales son las variables declaradas en la firma de la función. Los argumentos son los valores concretos que se pasan al llamarla.
El paso por valor copia el valor del argumento; los cambios dentro de la función no afectan a la variable original. El paso por referencia pasa la dirección de memoria del argumento; los cambios sí afectan al original.
---
## 7. Vectores y registros
Un vector o array es una estructura de datos que almacena un conjunto de elementos del mismo tipo en posiciones contiguas de memoria, accesibles mediante un índice que comienza en cero. Los arrays multidimensionales o matrices almacenan datos en filas y columnas.
Un registro o struct es una estructura que agrupa campos de distintos tipos bajo un mismo nombre. En programación orientada a objetos los registros se representan como clases cuyos campos son atributos del objeto.
---
## 8. Estructura de un programa
La estructura típica de un programa incluye la sección de declaraciones o importaciones de módulos externos, la declaración de constantes y variables globales, la definición de procedimientos y funciones, y el programa principal donde comienza la ejecución.
---
## Miniresumen final del tema
Los lenguajes de programación se clasifican por nivel de abstracción, paradigma y mecanismo de ejecución. Los tipos de datos primitivos son enteros, reales, char y booleanos; los compuestos incluyen vectores y registros. Los operadores aritméticos, relacionales, lógicos y de bits permiten operar sobre los datos. Las instrucciones if-else y switch controlan el flujo condicional. Los bucles while, do-while y for repiten instrucciones. La recursividad necesita caso base y llamada recursiva. Las funciones devuelven valor; los procedimientos no.

95
bloque3/tema3_audio.md Normal file
View File

@ -0,0 +1,95 @@
## Bloque 3 Tema 3. Lenguajes de interrogación de bases de datos. Estándar ANSI SQL. Procedimientos almacenados. Eventos y disparadores.
Este tema estudia el lenguaje SQL como estándar para interactuar con bases de datos relacionales, y los objetos avanzados de programación en el servidor de base de datos.
---
## 1. SQL y sus sublenguajes
SQL, o Structured Query Language, es el lenguaje estándar para interactuar con bases de datos relacionales. Se divide en cuatro sublenguajes.
El DDL o Data Definition Language define la estructura de la base de datos: sus instrucciones principales son CREATE para crear objetos, ALTER para modificarlos y DROP para eliminarlos.
El DML o Data Manipulation Language manipula los datos almacenados: SELECT para consultar, INSERT para insertar, UPDATE para actualizar y DELETE para eliminar registros.
El DCL o Data Control Language controla los permisos de acceso: GRANT para conceder permisos y REVOKE para revocarlos.
El TCL o Transaction Control Language gestiona las transacciones: COMMIT para confirmar los cambios, ROLLBACK para deshacerlos y SAVEPOINT para establecer puntos de guardado intermedios.
---
## 2. Estándar ANSI SQL
SQL fue normalizado por primera vez en 1986 como SQL-86. Las versiones más importantes son SQL-92, que introdujo los joins y las subconsultas; SQL de 1999, que añadió orientación a objetos, recursividad y tipos complejos; SQL de 2003, que incorporó XML, MERGE y funciones ventana; y SQL de 2016, que añadió soporte para JSON.
El DDL permite crear tablas con sus tipos de datos y restricciones. Las restricciones o constraints más importantes son PRIMARY KEY, que identifica únicamente cada fila e implica NOT NULL y UNIQUE; FOREIGN KEY, que referencia la clave primaria de otra tabla; UNIQUE, que no permite valores duplicados; NOT NULL, que impide valores nulos; DEFAULT, que asigna un valor por defecto; y CHECK, que valida una condición sobre los valores.
El SELECT es la instrucción de consulta más completa. Su estructura tiene un orden obligatorio: SELECT con las columnas, FROM con la tabla, JOIN para unir tablas, WHERE para filtrar filas, GROUP BY para agrupar, HAVING para filtrar grupos y ORDER BY para ordenar. LIMIT y OFFSET limitan el número de resultados.
Los tipos de JOIN son INNER JOIN, que devuelve solo las filas que coinciden en ambas tablas; LEFT JOIN, que devuelve todas las filas de la izquierda más las coincidencias de la derecha; RIGHT JOIN, que hace lo contrario; FULL OUTER JOIN, que devuelve todas las filas de ambas tablas; y CROSS JOIN, que produce el producto cartesiano.
Las funciones de agregación son COUNT para contar filas, SUM para sumar, AVG para calcular la media, MAX para el valor máximo y MIN para el mínimo. GROUP BY agrupa filas por los valores de una columna; HAVING filtra sobre los grupos, a diferencia de WHERE que filtra sobre filas individuales.
Las subconsultas son consultas anidadas dentro de otra consulta y pueden aparecer en la cláusula WHERE, en FROM o en SELECT.
---
## 3. Propiedades ACID y transacciones
Una transacción es un conjunto de operaciones que se tratan como una unidad atómica: todas se realizan o ninguna. Las propiedades ACID son las siguientes.
La Atomicidad garantiza que todas las operaciones de la transacción se ejecuten o ninguna.
La Consistencia garantiza que la base de datos pasa de un estado válido a otro estado válido.
El Aislamiento garantiza que las transacciones concurrentes no interfieren entre sí.
La Durabilidad garantiza que los cambios confirmados con COMMIT persisten aunque ocurra un fallo.
---
## 4. Vistas e índices
Una vista es una consulta almacenada que se comporta como una tabla virtual. No almacena datos propios sino que los recupera de las tablas base al ser consultada. Sus ventajas son la seguridad, ya que puede ocultar columnas o filas sensibles; la simplicidad, ya que encapsula consultas complejas; y la reutilización.
Un índice acelera las consultas a costa de mayor espacio en disco y mayor lentitud en las escrituras. El tipo más común es el índice B-Tree. Los índices son útiles en columnas muy consultadas en WHERE, JOIN u ORDER BY. Deben evitarse en tablas pequeñas o en columnas con poca selectividad como los booleanos.
---
## 5. Procedimientos almacenados y funciones
Un procedimiento almacenado es un bloque de código SQL con lógica de control que se guarda en la propia base de datos y se invoca mediante la instrucción CALL. Sus ventajas son la reutilización de código, el rendimiento porque se compilan una vez, la seguridad porque solo se expone el nombre y no las tablas, la reducción del tráfico de red y la centralización de la lógica de negocio. Sus inconvenientes son la dificultad de depuración, la dependencia del sistema gestor y la mayor complejidad de mantenimiento.
Los tipos de parámetros son IN para la entrada, donde el llamador pasa un valor que no se modifica externamente; OUT para la salida, donde el procedimiento devuelve un valor; e INOUT para ambos casos.
Las estructuras de control disponibles dentro de los procedimientos son IF, CASE, el bucle WHILE, el bucle LOOP con la instrucción LEAVE, y los cursores para recorrer filas de un resultado.
Una función de usuario es similar al procedimiento pero devuelve un valor y puede usarse dentro de consultas SELECT. La diferencia fundamental es que el procedimiento no devuelve valor directamente y se llama con CALL, mientras que la función devuelve un valor y puede usarse en expresiones.
---
## 6. Disparadores o Triggers
Un disparador o trigger es un bloque de código que se ejecuta automáticamente cuando ocurre un evento concreto, que puede ser INSERT, UPDATE o DELETE, sobre una tabla. No se invoca directamente sino que se activa de forma implícita.
La sintaxis define el nombre del trigger, si se ejecuta BEFORE o AFTER del evento, el tipo de evento, la tabla sobre la que actúa y el cuerpo del trigger con la cláusula FOR EACH ROW.
Dentro del trigger se puede acceder a la fila afectada mediante las referencias NEW y OLD. NEW contiene la fila nueva en operaciones INSERT y UPDATE. OLD contiene la fila anterior en operaciones UPDATE y DELETE.
La diferencia entre BEFORE y AFTER es importante. El trigger BEFORE se ejecuta antes de la operación, puede cancelarla lanzando un error con SIGNAL, y se usa para validaciones o para modificar valores antes de insertar. El trigger AFTER se ejecuta después de la operación, no puede cancelarla y se usa para auditoría o para actualizar tablas relacionadas.
Los usos habituales de los triggers son la auditoría para registrar automáticamente quién cambió qué y cuándo, la validación de integridad compleja, la sincronización de datos derivados como contadores o totales, el borrado lógico o soft delete, y el mantenimiento de historial de versiones.
---
## 7. Eventos
Un evento en MySQL y MariaDB es una tarea programada que se ejecuta automáticamente en un momento concreto o de forma periódica dentro del propio sistema gestor de base de datos. Es equivalente a un cron job pero integrado en la BD. Para que funcione debe estar habilitado el planificador de eventos mediante la variable global event_scheduler.
La sintaxis de CREATE EVENT define el nombre del evento, la programación con AT para una fecha concreta o EVERY para una periodicidad, la cláusula ON COMPLETION PRESERVE para que el evento no se elimine automáticamente tras ejecutarse, y la sentencia SQL a ejecutar.
---
## Miniresumen final del tema
SQL tiene cuatro sublenguajes: DDL para definir estructura, DML para manipular datos, DCL para controlar permisos y TCL para gestionar transacciones. Las propiedades ACID son Atomicidad, Consistencia, Aislamiento y Durabilidad. Los procedimientos almacenados son bloques SQL guardados en la BD con parámetros IN, OUT e INOUT. Los triggers se activan automáticamente ante INSERT, UPDATE o DELETE; los BEFORE pueden cancelar la operación, los AFTER no. Los eventos son tareas programadas dentro del sistema gestor.

53
bloque3/tema4_audio.md Normal file
View File

@ -0,0 +1,53 @@
## Bloque 3 Tema 4. Diseño y programación orientada a objetos. Elementos y componentes software: objetos, clases, herencia, métodos, sobrecarga. Ventajas e inconvenientes. Patrones de diseño y lenguaje de modelado unificado UML.
Este tema estudia los fundamentos de la programación orientada a objetos, los patrones de diseño y el lenguaje de modelado UML.
---
## 1. Programación orientada a objetos
La programación orientada a objetos, conocida como POO, es un paradigma de programación que modela la realidad mediante objetos que combinan datos y comportamiento.
Un objeto es una instancia concreta de una clase que tiene estado, representado por sus atributos; comportamiento, representado por sus métodos; e identidad, que lo distingue de otros objetos.
Una clase es la plantilla o molde que define los atributos y métodos comunes a todos los objetos de ese tipo. Por ejemplo, Empleado es una clase y Juan García con DNI 12345678A es un objeto o instancia de esa clase.
Los cuatro pilares de la programación orientada a objetos son los siguientes.
La abstracción consiste en representar solo las características relevantes de un objeto, ocultando los detalles de implementación. Se modela qué hace el objeto, no cómo lo hace internamente.
El encapsulamiento consiste en proteger los atributos de un objeto restringiendo el acceso directo desde el exterior. Los atributos suelen declararse privados y se accede a ellos mediante métodos públicos llamados getters y setters. Esto garantiza la integridad del estado del objeto.
La herencia permite crear una clase nueva, llamada subclase o clase hija, a partir de una clase existente, llamada superclase o clase padre, reutilizando y extendiendo sus atributos y métodos. Por ejemplo, Empleado hereda de Persona, adquiriendo sus atributos nombre y DNI y añadiendo nuevos como departamento y salario.
El polimorfismo permite que objetos de distintas clases respondan de forma diferente al mismo mensaje o llamada de método. Hay dos tipos: el polimorfismo de sobrescritura o override, en el que una subclase redefine un método de la superclase; y la sobrecarga u overload, en la que se definen varios métodos con el mismo nombre pero distintos parámetros dentro de la misma clase.
El acoplamiento es el grado de dependencia entre clases. Un bajo acoplamiento es deseable porque facilita el mantenimiento y la reutilización. La cohesión es el grado en que los elementos de una clase están relacionados entre sí. Una alta cohesión es deseable porque indica que la clase tiene una responsabilidad clara y única.
Las ventajas de la POO son la reutilización de código mediante herencia y composición, la modularidad, la facilidad de mantenimiento y la mejor representación del dominio del problema. Sus inconvenientes son la mayor complejidad inicial, el posible impacto en el rendimiento frente a la programación procedural y la curva de aprendizaje.
---
## 2. Patrones de diseño
Los patrones de diseño son soluciones reutilizables a problemas recurrentes en el diseño de software orientado a objetos. Se clasifican en tres categorías: creacionales, estructurales y de comportamiento.
El patrón MVC, o Modelo-Vista-Controlador, divide la aplicación en tres componentes. El Modelo gestiona los datos y la lógica de negocio. La Vista es la interfaz de usuario que muestra los datos. El Controlador recibe las acciones del usuario, actualiza el modelo y selecciona la vista adecuada. MVC es la base de la mayoría de los frameworks web modernos.
Los patrones GRASP, o General Responsibility Assignment Software Patterns, son un conjunto de principios para asignar responsabilidades a las clases. Los más importantes son los siguientes. Controller o Controlador asigna la responsabilidad de recibir y gestionar los eventos del sistema a una clase controladora. Low Coupling o bajo acoplamiento busca reducir las dependencias entre clases para facilitar el mantenimiento. High Cohesion o alta cohesión agrupa en una clase solo las responsabilidades fuertemente relacionadas. Polymorphism o polimorfismo usa la herencia y las interfaces para asignar comportamientos variables.
---
## 3. Lenguaje de modelado unificado UML
UML, o Unified Modeling Language, es el lenguaje estándar para visualizar, especificar y documentar sistemas orientados a objetos. Se divide en diagramas estructurales, que describen la estructura estática del sistema, y diagramas de comportamiento, que describen la dinámica.
Los diagramas estructurales más importantes son los siguientes. El diagrama de clases muestra las clases, sus atributos, métodos y las relaciones entre ellas como herencia, asociación, agregación y composición. Es el diagrama más utilizado. El diagrama de objetos muestra instancias concretas de las clases en un momento dado. El diagrama de componentes muestra los componentes físicos del sistema como servicios web, ejecutables y librerías. El diagrama de paquetes organiza las clases en grupos lógicos llamados paquetes. El diagrama de despliegue muestra la distribución física del sistema con nodos, que son las máquinas o servidores; artefactos, que son los ficheros, librerías y bases de datos; y las conexiones entre ellos.
Los diagramas de comportamiento más importantes son los siguientes. El diagrama de casos de uso muestra las funcionalidades del sistema desde el punto de vista del usuario, representadas como actores y casos de uso. El diagrama de actividades es similar a un diagrama de flujo y representa los flujos de trabajo o algoritmos. El diagrama de comunicación muestra cómo los objetos interactúan entre sí mediante mensajes. El diagrama de secuencia muestra la interacción entre objetos a lo largo del tiempo con un eje temporal vertical.
---
## Miniresumen final del tema
La POO se basa en cuatro pilares: abstracción, encapsulamiento, herencia y polimorfismo. La sobrecarga define métodos con el mismo nombre y distintos parámetros; la sobreescritura redefine un método de la superclase en la subclase. El patrón MVC separa Modelo, Vista y Controlador. Los patrones GRASP incluyen Controller, Low Coupling, High Cohesion y Polymorphism. UML tiene diagramas estructurales como el de clases y despliegue, y de comportamiento como los de casos de uso, actividades y secuencia.

81
bloque3/tema5_audio.md Normal file
View File

@ -0,0 +1,81 @@
## Bloque 3 Tema 5. Arquitectura Java EE/Jakarta EE y plataforma .NET. Componentes, persistencia y seguridad. Características, lenguajes y desarrollo de interfaces.
Este tema estudia las dos grandes plataformas de desarrollo empresarial: Java EE con su sucesor Jakarta EE, y la plataforma .NET de Microsoft.
---
## 1. Arquitectura Java EE y Jakarta EE
Java EE, o Java Enterprise Edition, era la plataforma de Oracle para el desarrollo de aplicaciones empresariales en Java. En 2017 Oracle donó la plataforma a la Eclipse Foundation, que la renombró como Jakarta EE. Permite crear aplicaciones web, distribuidas y escalables que se ejecutan sobre un servidor de aplicaciones.
Un servidor de aplicaciones es el software que proporciona los servicios necesarios a las aplicaciones empresariales: ejecución de aplicaciones web, gestión de transacciones, seguridad, gestión del pool de conexiones a base de datos y gestión de sesiones. El servidor de aplicaciones implementa las APIs de Jakarta EE. Los ejemplos más conocidos son WildFly, GlassFish y WebLogic.
Las APIs principales de Jakarta EE son las siguientes.
Los Servlets gestionan peticiones HTTP mediante los métodos GET, POST, PUT y DELETE. Son la base del desarrollo web en Java y definen el flujo de petición del cliente al servlet y de vuelta a la respuesta.
Las JSP o JavaServer Pages son páginas HTML con código Java incrustado que generan contenido dinámico en el servidor. Su uso ha disminuido en favor de frameworks modernos.
Los EJB o Enterprise JavaBeans son componentes de lógica de negocio con gestión automática de transacciones, seguridad y concurrencia. Su uso también ha declinado en las aplicaciones modernas.
JSF o JavaServer Faces es el framework estándar de Jakarta EE para desarrollar interfaces web basadas en componentes.
JPA o Java Persistence API es la API estándar para la persistencia de datos en Java. Permite mapear objetos Java a tablas de base de datos y realizar consultas orientadas a objetos mediante JPQL, el Java Persistence Query Language.
JTA o Java Transaction API gestiona las transacciones distribuidas garantizando las propiedades ACID.
---
## 2. Persistencia en Java
La persistencia es la capacidad de almacenar y recuperar datos de forma permanente.
JDBC o Java Database Connectivity es el acceso directo a la base de datos mediante SQL. Ofrece control total sobre las consultas pero requiere mucho código manual. Se asocia con el patrón de diseño DAO, o Data Access Object.
El ORM u Object Relational Mapping es el mapeo objeto-relacional que transforma tablas en clases y registros en objetos. La API estándar es JPA y su implementación más popular es Hibernate. Las consultas se escriben en JPQL en lugar de SQL nativo.
La documentación de APIs REST se gestiona con Swagger u OpenAPI. El código Java se documenta con JavaDoc.
---
## 3. Seguridad en Java EE
La seguridad en Java EE puede ser declarativa o programática. La seguridad declarativa se configura mediante ficheros o anotaciones y está basada en roles sin necesidad de código. La seguridad programática se implementa directamente en el código para casos más complejos.
Spring Security es el framework más popular para seguridad en aplicaciones Java. Proporciona autenticación, autorización, control de accesos y protección contra CSRF o Cross-Site Request Forgery.
---
## 4. Plataforma .NET
.NET es la plataforma de Microsoft para el desarrollo de aplicaciones. Permite crear aplicaciones web, de escritorio y servicios. En su versión moderna, .NET es multiplataforma y puede ejecutarse en Windows, Linux y macOS.
Los componentes principales de .NET son el CLR o Common Language Runtime, que es la máquina virtual que ejecuta el código compilado a un lenguaje intermedio llamado CIL; el framework de clases base o BCL, que proporciona las librerías fundamentales; y ASP.NET, que es el framework para el desarrollo de aplicaciones web.
Los lenguajes de .NET son C#, que es el lenguaje principal; VB.NET; y F#, que es un lenguaje funcional.
La persistencia en .NET se gestiona con ADO.NET, que es el acceso directo a bases de datos equivalente a JDBC; y con Entity Framework, que es el ORM de .NET equivalente a JPA e Hibernate.
La seguridad en .NET está integrada en el framework, se basa en roles y soporta múltiples métodos de autenticación como Windows Authentication, JWT y OAuth.
---
## 5. Comparativa Java EE y .NET
Tanto Java EE como .NET son plataformas empresariales maduras con componentes equivalentes. Java EE usa JPA e Hibernate para la persistencia; .NET usa Entity Framework. Java EE usa Spring Security para la seguridad; .NET tiene seguridad integrada. El lenguaje principal de Java EE es Java; el de .NET es C#. Java EE se ejecuta en la JVM; .NET se ejecuta en el CLR. Ambas son multiplataforma en sus versiones modernas.
---
## 6. Desarrollo de interfaces
Las tecnologías de desarrollo de interfaces se dividen en front-end y back-end.
El front-end es la parte que se ejecuta en el navegador del usuario. Se desarrolla con HTML para la estructura del contenido, CSS para la presentación y el diseño, y JavaScript para el comportamiento y la interactividad. Los frameworks de front-end más usados son Angular, React y Vue.
La comunicación entre cliente y servidor se realiza principalmente mediante llamadas HTTP con intercambio de datos en formato JSON para las APIs REST o XML para los servicios SOAP.
---
## Miniresumen final del tema
Jakarta EE es la plataforma empresarial Java que se ejecuta sobre servidores de aplicaciones como WildFly. Sus APIs principales son Servlet, JSP, EJB, JSF, JPA y JTA. La persistencia en Java usa JDBC para acceso directo o JPA e Hibernate como ORM. .NET es la plataforma de Microsoft con CLR, C#, ASP.NET y Entity Framework. Spring Security y la seguridad declarativa por roles son los enfoques habituales en ambas plataformas.

71
bloque3/tema6_audio.md Normal file
View File

@ -0,0 +1,71 @@
## Bloque 3 Tema 6. Arquitectura cliente/servidor y multicapas. Servicios web y protocolos.
Este tema estudia los modelos arquitectónicos de las aplicaciones distribuidas, los servicios web y los protocolos de comunicación asociados.
---
## 1. Arquitectura cliente/servidor
La arquitectura cliente/servidor es el modelo fundamental de las aplicaciones distribuidas. En este modelo un cliente solicita servicios y un servidor los proporciona, comunicándose a través de una red.
Los elementos de esta arquitectura son tres: el cliente, que realiza las peticiones; el servidor, que responde y gestiona los recursos; y la red, que es el medio de comunicación entre ellos.
Las características principales son la separación de funciones entre cliente y servidor, la centralización de los recursos en el servidor, la escalabilidad y la comunicación a través de la red.
El modelo de dos capas es la forma básica. En el cliente pesado o thick client la mayor parte de la lógica reside en el cliente, que solo accede al servidor para los datos. En el cliente ligero o thin client casi toda la lógica está en el servidor y el cliente solo gestiona la presentación; un navegador web es el ejemplo más claro.
---
## 2. Arquitectura multicapas
La arquitectura multicapas o n-tier divide la aplicación en capas independientes, cada una con una responsabilidad específica. La separación de responsabilidades facilita el mantenimiento, la escalabilidad y la reutilización.
Las tres capas principales son las siguientes. La capa de presentación gestiona la interfaz de usuario. La capa de lógica de negocio contiene el procesamiento y las reglas de la aplicación. La capa de datos gestiona el acceso a la base de datos.
Se pueden añadir capas adicionales como la capa de servicios para la lógica de integración o la capa de middleware para intermediar entre componentes.
La relación entre ambos modelos es la siguiente: cliente/servidor es un modelo general que describe la interacción entre dos extremos; la arquitectura multicapas define la estructura interna de la aplicación. Un sistema puede ser cliente/servidor y además estar organizado en múltiples capas.
Los componentes en una arquitectura multicapas son el front-end en la capa de presentación, el back-end en la capa de lógica, la base de datos en la capa de datos y el middleware como elemento intermediario opcional.
---
## 3. Comunicación síncrona y asíncrona
La comunicación síncrona es el modelo clásico de HTTP: el cliente envía una petición y espera bloqueado hasta recibir la respuesta del servidor. Es simple de implementar pero bloquea al cliente durante la espera, lo que reduce el rendimiento en sistemas distribuidos.
La comunicación asíncrona no bloquea al cliente: envía la petición y puede seguir ejecutando otras tareas mientras la respuesta llega posteriormente mediante un callback, una cola de mensajes o un evento. Es más escalable y eficiente en sistemas distribuidos, aunque añade complejidad en la gestión del estado. Los sistemas de mensajería, las notificaciones push y los procesos en segundo plano son ejemplos típicos.
La clave para el examen es que HTTP tradicional es síncrono, mientras que las arquitecturas de microservicios y sistemas distribuidos modernos combinan ambos modelos. La asincronía es fundamental para la escalabilidad.
---
## 4. Servicios web
Los servicios web son la tecnología que permite la comunicación entre aplicaciones a través de una red, de forma independiente al lenguaje de programación y al sistema operativo. Sus características son la interoperabilidad, el uso de estándares abiertos y la comunicación a través de HTTP.
Existen dos grandes tipos de servicios web.
SOAP o Simple Object Access Protocol es el modelo clásico de servicios web. Usa XML tanto para los mensajes como para la descripción del servicio mediante WSDL, que es el Web Services Description Language. Es un protocolo formal y estricto. Sus mensajes son más pesados pero están muy bien estandarizados y son adecuados para entornos empresariales con requisitos de seguridad y transaccionalidad.
REST o Representational State Transfer es un estilo arquitectónico, no un protocolo, que usa HTTP directamente con sus métodos GET, POST, PUT y DELETE. Los datos se intercambian principalmente en formato JSON, aunque también se puede usar XML. Es más ligero, flexible y es el estándar en las APIs modernas. Es importante distinguir que REST no es un protocolo sino un estilo o conjunto de principios.
Las diferencias clave para el examen son las siguientes: SOAP es un protocolo y REST es un estilo arquitectónico; SOAP usa XML y REST usa principalmente JSON; SOAP es más pesado y formal y REST es más ligero y actual.
---
## 5. Protocolos asociados
HTTP o HyperText Transfer Protocol es el protocolo principal de la web. Sigue el modelo petición y respuesta. HTTPS añade cifrado mediante TLS para garantizar la confidencialidad e integridad de las comunicaciones.
TCP/IP es la base de todas las comunicaciones en red. TCP garantiza la entrega fiable y ordenada de los datos. IP se encarga del direccionamiento y el enrutamiento.
SSL y TLS son los protocolos de seguridad que proporcionan el cifrado. TLS es el sucesor de SSL; SSL está obsoleto.
Otros protocolos relevantes son FTP para la transferencia de ficheros, SMTP para el envío de correo electrónico y DNS para la resolución de nombres de dominio.
---
## Miniresumen final del tema
La arquitectura cliente/servidor separa el cliente que solicita y el servidor que responde. La arquitectura multicapas organiza la aplicación en capa de presentación, capa de lógica de negocio y capa de datos. La comunicación síncrona bloquea al cliente hasta la respuesta; la asíncrona no. Los servicios web SOAP usan XML y WSDL; REST usa HTTP y JSON. Clave de examen: REST es un estilo arquitectónico, no un protocolo. Los protocolos asociados son HTTP, HTTPS, TLS y TCP/IP.

81
bloque3/tema7_audio.md Normal file
View File

@ -0,0 +1,81 @@
## Bloque 3 Tema 7. Aplicaciones web. Desarrollo web front-end y back-end. Lenguajes de marcado HTML y XML. Navegadores web. Lenguajes de script. Validación de datos.
Este tema estudia las aplicaciones web, su arquitectura, las tecnologías de desarrollo y la validación de los datos de entrada.
---
## 1. Concepto de aplicación web
Una aplicación web es un software accesible mediante un navegador que se ejecuta en Internet o en una intranet corporativa. Sus características principales son que no requiere instalación en el equipo del usuario, se accede a ella mediante un navegador web, las actualizaciones son centralizadas en el servidor, es compatible con múltiples sistemas operativos y sigue la arquitectura cliente/servidor.
---
## 2. Desarrollo web front-end
El front-end es la parte de la aplicación que se ejecuta en el navegador del usuario. Sus tres tecnologías fundamentales son HTML, CSS y JavaScript.
HTML o HyperText Markup Language define la estructura del contenido de la página mediante etiquetas.
CSS o Cascading Style Sheets define la presentación y el diseño visual: colores, tipografías, distribución de los elementos y adaptación a distintas pantallas.
JavaScript es el lenguaje que proporciona el comportamiento y la interactividad: responde a las acciones del usuario, valida formularios, y actualiza partes de la página sin recargarla completa mediante técnicas como AJAX.
Las funciones del front-end son mostrar información al usuario, gestionar la interacción, realizar validaciones básicas de formularios y adaptar el diseño a distintos dispositivos mediante el diseño responsivo.
---
## 3. Desarrollo web back-end
El back-end es la parte que se ejecuta en el servidor. Sus funciones son procesar las peticiones del cliente, gestionar el acceso a la base de datos, aplicar la lógica de negocio y generar las respuestas en formato HTML, JSON o XML.
Los lenguajes habituales del back-end son Java con Jakarta EE o Spring, C# con ASP.NET, PHP, Python con Django o Flask, y JavaScript en el servidor mediante Node.js.
---
## 4. Lenguaje HTML
HTML es el lenguaje estándar para crear páginas web. Define la estructura del contenido mediante etiquetas que el navegador interpreta. HTML5 es la versión actual y añadió etiquetas semánticas como header, nav, article y footer, así como soporte nativo para audio, vídeo y formularios avanzados con tipos de entrada como email, date y range.
---
## 5. Lenguaje XML
XML o eXtensible Markup Language es un lenguaje de marcado diseñado para almacenar e intercambiar datos. A diferencia de HTML, XML no define cómo mostrar los datos sino cómo estructurarlos. Su estructura es jerárquica, en forma de árbol, y es extensible porque el desarrollador define sus propias etiquetas.
XML se usa en servicios web SOAP, en ficheros de configuración y en el intercambio de datos entre sistemas. Un documento XML bien formado debe tener un único elemento raíz, las etiquetas deben estar correctamente cerradas y anidadas, y los atributos deben ir entre comillas.
Las derivaciones de XML más importantes son XHTML, que es una versión estricta de HTML basada en XML; SVG, para gráficos vectoriales; y MathML, para representar fórmulas matemáticas.
---
## 6. Navegadores web
Un navegador web es la aplicación que permite acceder e interpretar contenidos web. Sus funciones principales son interpretar HTML, CSS y JavaScript; ejecutar los scripts del lado del cliente; y gestionar las solicitudes HTTP y HTTPS.
Internamente un navegador tiene dos motores: el motor de renderizado, que procesa el HTML y CSS y dibuja la página en pantalla; y el motor JavaScript, que ejecuta el código JavaScript.
---
## 7. Lenguajes de script
Los lenguajes de script son lenguajes interpretados que permiten automatizar tareas y dar dinamismo a las aplicaciones. Sus características son que son interpretados, dinámicos y se integran directamente con la web. Los ejemplos más conocidos son JavaScript para el lado del cliente, PHP y Python para el lado del servidor, y Bash para la automatización del sistema operativo.
---
## 8. Validación de datos
Las validaciones de datos son comprobaciones que aseguran que los datos introducidos por el usuario son correctos. Sus objetivos son evitar errores, mejorar la calidad de los datos, reducir el trabajo en el servidor y mejorar la experiencia del usuario.
La validación en cliente o front-end se realiza en el navegador antes de enviar los datos al servidor. Es rápida y mejora la experiencia del usuario, pero no es segura por sí sola porque puede ser omitida.
La validación en servidor o back-end se realiza en el servidor tras recibir los datos. Es obligatoria y es la última barrera de seguridad, ya que el cliente no puede omitirla. Incluye la validación de negocio y la comprobación contra la base de datos.
La regla de oro de la validación es que la validación en cliente mejora la usabilidad, pero la validación en servidor es siempre obligatoria por seguridad. Nunca se debe confiar únicamente en la validación del lado del cliente.
Las reglas típicas de validación incluyen campos obligatorios, formato de email, longitud mínima y máxima, solo caracteres numéricos, contraseñas seguras y confirmación de contraseña.
---
## Miniresumen final del tema
Una aplicación web se accede mediante navegador sin instalación. El front-end usa HTML para estructura, CSS para diseño y JavaScript para comportamiento. El back-end usa Java, C#, PHP, Python o Node.js. XML es para intercambio de datos con estructura jerárquica; HTML es para presentación. Los navegadores tienen motor de renderizado y motor JavaScript. La validación en cliente mejora la usabilidad; la validación en servidor es siempre obligatoria por seguridad.

81
bloque3/tema8_audio.md Normal file
View File

@ -0,0 +1,81 @@
## Bloque 3 Tema 8. Accesibilidad, diseño universal y usabilidad. Sociedad de la información. Confidencialidad y disponibilidad de la información.
Este tema estudia los principios de accesibilidad, diseño universal y usabilidad en las aplicaciones digitales, así como la seguridad de la información en los puestos de usuario final.
---
## 1. Accesibilidad
La accesibilidad es la característica que permite a las personas con discapacidad utilizar un producto digital de forma autónoma y en condiciones de igualdad respecto al resto de usuarios.
Se aplica a sitios web, aplicaciones móviles, dispositivos electrónicos y servicios digitales de las Administraciones Públicas.
Su objetivo es eliminar las barreras físicas, sensoriales y cognitivas que impiden a determinados usuarios acceder a la información. Ejemplos de medidas de accesibilidad son los lectores de pantalla para personas con discapacidad visual, los subtítulos en vídeos para personas con discapacidad auditiva, la navegación mediante teclado sin ratón y el diseño con alto contraste.
En España la accesibilidad en webs y apps del sector público está regulada por el Real Decreto 1112/2018, que transpone la directiva europea 2016/2102 y obliga a las Administraciones Públicas a cumplir los criterios de accesibilidad WCAG 2.1 de nivel AA.
---
## 2. Diseño universal
El diseño universal es el enfoque de diseño que busca crear productos y entornos utilizables por el mayor número posible de personas desde el principio, sin necesidad de adaptaciones posteriores especiales.
Mientras que la accesibilidad puede verse como una adaptación para personas con discapacidad, el diseño universal parte de la premisa de que un buen diseño debe funcionar para todos desde el inicio del proceso.
Los siete principios del diseño universal son los siguientes. Uso equitativo: el diseño es útil y puede ser utilizado por personas con diferentes capacidades. Flexibilidad en el uso: el diseño acomoda una amplia variedad de preferencias y capacidades. Uso simple e intuitivo: el diseño es fácil de entender independientemente de la experiencia, el conocimiento o las capacidades cognitivas del usuario. Información perceptible: el diseño transmite la información necesaria al usuario de forma efectiva. Tolerancia al error: el diseño minimiza los riesgos y las consecuencias adversas de las acciones accidentales o no intencionadas. Bajo esfuerzo físico: el diseño puede utilizarse de forma eficiente y cómoda con un mínimo de fatiga. Tamaño y espacio adecuados: se proporcionan dimensiones y espacios apropiados para el alcance, la manipulación y el uso.
---
## 3. Usabilidad
La usabilidad se define en la norma ISO 9241 como el grado en que un producto puede ser utilizado por usuarios específicos para alcanzar objetivos concretos con eficacia, eficiencia y satisfacción en un contexto de uso determinado.
Los tres elementos de la definición son eficacia, que es la capacidad de lograr el objetivo; eficiencia, que es la cantidad de recursos empleados para lograrlo; y satisfacción, que es la comodidad y la aceptación del usuario.
Los factores que determinan la usabilidad son la facilidad de aprendizaje, la eficiencia en el uso una vez aprendido, la memorabilidad al volver al sistema tras un tiempo sin usarlo, la baja tasa de errores y la satisfacción del usuario.
---
## 4. Diferencias entre los tres conceptos
Las diferencias clave que suelen aparecer en los exámenes son las siguientes. La accesibilidad se centra en que las personas con discapacidad puedan utilizar el producto. El diseño universal busca que toda la población pueda utilizarlo desde el diseño inicial. La usabilidad se centra en la facilidad y eficiencia de uso para todos los usuarios. Un producto puede ser accesible pero poco usable, o muy usable pero no accesible para todos.
---
## 5. Sociedad de la información
La sociedad de la información es el modelo social en el que el uso masivo de las tecnologías de la información y la comunicación es fundamental para las actividades económicas, sociales y culturales.
En este contexto las Administraciones Públicas tienen la obligación de garantizar el acceso universal a los servicios digitales y de que estos sean fáciles de usar para todos los ciudadanos.
La brecha digital es la desigualdad en el acceso y uso de las tecnologías que puede tener causas económicas, geográficas, generacionales o relacionadas con la discapacidad. Reducir la brecha digital es uno de los objetivos de la política de la Administración Electrónica.
---
## 6. Confidencialidad de la información
La confidencialidad es la propiedad que garantiza que la información solo es accesible para las personas autorizadas.
Las medidas para garantizar la confidencialidad son las contraseñas seguras, el control de accesos mediante perfiles de usuario, el cifrado de la información, el bloqueo de pantalla del equipo y la gestión de permisos sobre documentos y carpetas.
---
## 7. Disponibilidad de la información
La disponibilidad es la propiedad que garantiza que la información y los sistemas están accesibles y operativos cuando se necesitan.
Las medidas para garantizar la disponibilidad son las copias de seguridad o backups, los sistemas redundantes, el mantenimiento preventivo y correctivo de los equipos, la protección contra malware y la monitorización de los sistemas.
---
## 8. Riesgos y buenas prácticas en el puesto de usuario final
Los principales riesgos en el puesto de usuario final son el malware como virus y ransomware, el phishing o suplantación de identidad por correo electrónico, la pérdida o el robo de dispositivos, los accesos indebidos y los fallos técnicos.
Las buenas prácticas son no compartir las contraseñas, bloquear el equipo al ausentarse, no abrir correos electrónicos o ficheros adjuntos sospechosos, mantener el sistema y los programas actualizados y utilizar redes seguras.
---
## Miniresumen final del tema
La accesibilidad permite que personas con discapacidad usen los productos digitales; en España la regula el RD 1112/2018. El diseño universal busca que todos puedan usar el producto desde el inicio, con siete principios. La usabilidad según ISO 9241 es eficacia más eficiencia más satisfacción. La confidencialidad garantiza que solo acceden los autorizados mediante contraseñas, cifrado y control de accesos. La disponibilidad garantiza que los sistemas funcionan cuando se necesitan mediante backups y redundancia.

73
bloque3/tema9_audio.md Normal file
View File

@ -0,0 +1,73 @@
## Bloque 3 Tema 9. Repositorios y control de versiones. Generación de código. Metodologías de desarrollo software. Pruebas del software. Plataformas de gestión del ciclo de vida software.
Este tema estudia las herramientas y metodologías que estructuran el ciclo de vida completo del desarrollo de software.
---
## 1. Repositorios y control de versiones
Un repositorio es el almacén centralizado que guarda el código fuente de un proyecto junto con el historial completo de todos los cambios realizados. Permite colaborar en equipo, revertir cambios, gestionar versiones paralelas mediante ramas y auditar quién modificó qué y cuándo.
Los tipos de repositorios son tres. El repositorio local existe únicamente en la máquina del desarrollador. El repositorio centralizado, como SVN o Subversion, tiene un único servidor central con todo el historial; su principal inconveniente es que si el servidor falla nadie puede trabajar. El repositorio distribuido, como Git y Mercurial, hace que cada desarrollador tenga una copia completa del repositorio con todo el historial; esto elimina el punto único de fallo y permite trabajar sin conexión.
Git es el sistema de control de versiones distribuido más utilizado. Su estructura interna se basa en objetos identificados por un hash SHA-1. Los tipos de objetos son el blob, que almacena el contenido de un fichero; el tree, que representa un directorio; el commit, que es una instantánea del proyecto con autor, mensaje y referencia al commit anterior; y el tag, que es una referencia nombrada a un commit concreto.
Las tres áreas de trabajo en Git son el directorio de trabajo donde se editan los ficheros, el área de staging o índice donde se preparan los cambios con el comando git add, y el repositorio local donde se guardan los commits con el comando git commit. El repositorio remoto es el cuarto nivel, al que se envían los commits con git push.
Los flujos de trabajo con Git más conocidos son Gitflow, que usa las ramas main, develop, feature, release y hotfix; y GitHub Flow o Trunk-Based Development, que es más sencillo y usa solo la rama principal con ramas de feature de corta duración y Pull Requests.
---
## 2. Generación de código
El scaffolding o andamiaje es la generación automática de la estructura inicial de un proyecto mediante herramientas de línea de comandos. Los generadores ORM crean automáticamente el código de acceso a la base de datos a partir del modelo de datos. OpenAPI permite generar código cliente y servidor a partir de la especificación de una API REST.
La integración continua y el despliegue continuo, conocidos como CI/CD, automatizan el proceso de compilación, pruebas y despliegue. Las herramientas más conocidas son Jenkins, GitHub Actions y GitLab CI/CD.
La documentación del código se genera automáticamente a partir de los comentarios del código fuente. Las herramientas principales son Javadoc para Java, JSDoc para JavaScript, Sphinx para Python y Swagger u OpenAPI para APIs REST.
---
## 3. Metodologías de desarrollo software
Las metodologías de desarrollo son los marcos de trabajo que guían cómo se planifica, desarrolla y entrega el software.
Las metodologías tradicionales o predictivas siguen un plan detallado desde el principio. La metodología en cascada o waterfall divide el proyecto en fases secuenciales: requisitos, análisis, diseño, implementación, pruebas y mantenimiento. Su principal inconveniente es la rigidez ante cambios. El modelo en V extiende la cascada asociando a cada fase de desarrollo una fase de pruebas correspondiente. El modelo espiral de Boehm es iterativo e incorpora el análisis de riesgos en cada iteración. La metodología RUP o Rational Unified Process divide el proyecto en cuatro fases: Inicio, Elaboración, Construcción y Transición, y usa UML para el modelado.
Las metodologías ágiles nacen del Manifiesto Ágil publicado en 2001. Sus cuatro valores son: los individuos y las interacciones sobre los procesos y las herramientas; el software funcionando sobre la documentación exhaustiva; la colaboración con el cliente sobre la negociación de contratos; y la respuesta ante el cambio sobre seguir un plan.
Scrum es el framework ágil más usado. Se organiza en iteraciones llamadas Sprints de una a cuatro semanas. Los roles son el Product Owner, que gestiona el Product Backlog y prioriza los requisitos; el Scrum Master, que facilita el proceso y elimina impedimentos; y el Development Team, que desarrolla el producto. Los eventos son la Sprint Planning para planificar el Sprint, el Daily Scrum de quince minutos para sincronización diaria, la Sprint Review para demostrar el trabajo completado y la Retrospectiva para mejorar el proceso.
Kanban es un sistema de gestión visual del trabajo basado en un tablero con columnas que representan los estados del trabajo, habitualmente Pendiente, En progreso y Hecho. El principio fundamental es limitar el trabajo en curso mediante los límites WIP o Work In Progress para evitar la acumulación de tareas y mejorar el flujo.
XP o Extreme Programming aplica prácticas técnicas como el desarrollo guiado por pruebas o TDD, la programación en parejas, la integración continua y el refactoring constante.
---
## 4. Pruebas del software
Las pruebas del software son el proceso de verificar que el sistema hace lo que debe hacer y detectar los defectos antes de que lleguen al usuario.
Los niveles de pruebas son los siguientes. Las pruebas unitarias comprueban el funcionamiento de unidades mínimas de código como funciones o métodos de forma aislada usando objetos simulados llamados mocks o stubs. Las herramientas son JUnit para Java, pytest para Python y Jest para JavaScript. Las pruebas de integración verifican que varios módulos o componentes funcionan correctamente al trabajar juntos. Las pruebas de sistema comprueban el sistema completo integrado. Las pruebas de aceptación o UAT son realizadas por el usuario final para verificar que el sistema cumple los requisitos; su criterio de aprobación se define en el DoD o Definition of Done.
Los enfoques de prueba son los siguientes. La caja negra prueba la funcionalidad sin conocer la implementación interna, analizando las entradas y salidas. Las técnicas incluyen las particiones de equivalencia y los valores límite. La caja blanca prueba conociendo el código interno y busca maximizar la cobertura de líneas, ramas y caminos posibles. La caja gris combina ambos enfoques.
Otros tipos de pruebas son las de regresión, que comprueban que los cambios no han roto funcionalidades existentes; las de rendimiento o carga, que verifican el comportamiento bajo alta demanda; las de seguridad o pen testing; las de usabilidad; las de accesibilidad; y el smoke testing, que son pruebas rápidas para verificar que el sistema arranca y funciona básicamente.
El desarrollo guiado por pruebas o TDD sigue el ciclo Red, Green, Refactor: primero se escribe una prueba que falla, luego se escribe el código mínimo para que pase y finalmente se refactoriza el código manteniendo las pruebas en verde.
---
## 5. Plataformas de gestión del ciclo de vida
Las plataformas de alojamiento de repositorios más importantes son las siguientes. GitHub es la plataforma más popular a nivel mundial. Fue adquirida por Microsoft en 2018. Sus funcionalidades principales son los Pull Requests para revisar y fusionar código, los Issues para gestionar tareas y errores, GitHub Actions para CI/CD, GitHub Pages para publicar sitios web y GitHub Copilot para asistencia con inteligencia artificial. GitLab permite instalación en servidores propios llamada on-premise, tiene CI/CD nativo mediante ficheros .gitlab-ci.yml y es muy utilizada en las Administraciones Públicas por razones de soberanía y control. Bitbucket es la plataforma de Atlassian, integrada con Jira y Confluence.
Otras herramientas del ciclo de vida son Jira para la gestión de proyectos y seguimiento de incidencias, Confluence para la documentación colaborativa, SonarQube para el análisis estático de calidad del código, Jenkins para la automatización de CI/CD y Docker Hub para el alojamiento de imágenes de contenedores.
Las funcionalidades colaborativas comunes a estas plataformas son el fork o copia del repositorio, el Pull Request o Merge Request para proponer cambios y revisarlos, el code review o revisión de código, la protección de ramas, los webhooks para integraciones y la wiki para documentación.
---
## Miniresumen final del tema
Git es el sistema de control de versiones distribuido más usado, con áreas working, staging, repositorio local y remoto. Las metodologías ágiles nacen del Manifiesto de 2001; Scrum usa Sprints, Product Owner, Scrum Master y Daily; Kanban usa tablero con límites WIP. Las pruebas se dividen en unitarias, integración, sistema y aceptación; caja negra sin ver código, caja blanca con código. TDD sigue el ciclo Red Green Refactor. GitHub fue adquirida por Microsoft en 2018; GitLab es la opción on-premise preferida en las Administraciones Públicas; SonarQube analiza la calidad del código.

95
bloque4/tema10_audio.md Normal file
View File

@ -0,0 +1,95 @@
## Bloque 4 Tema 10. Redes locales. Tipología. Técnicas de transmisión. Métodos de acceso. Dispositivos de interconexión.
Este tema estudia en profundidad las redes de área local, sus topologías, las técnicas de transmisión, los métodos de acceso al medio y los dispositivos que las forman.
---
## 1. Concepto y clasificación de redes de área local
Una LAN o Local Area Network es una red de comunicaciones que cubre un área geográfica limitada como una habitación, un edificio o un campus. Se caracteriza por su alta velocidad de transmisión, que va desde 100 Mbps hasta 100 Gbps; su baja tasa de errores; por ser de propiedad privada; y por usar principalmente Ethernet según el estándar IEEE 802.3 y WiFi según el estándar IEEE 802.11.
Las redes se clasifican por su extensión geográfica en cuatro tipos. La PAN o Personal Area Network tiene un alcance de unos 10 metros y usa Bluetooth. La LAN cubre un edificio o campus. La MAN o Metropolitan Area Network cubre una ciudad. La WAN o Wide Area Network cubre un país o todo el mundo, siendo Internet el ejemplo principal.
---
## 2. Topologías de red
La topología describe la estructura física o lógica de cómo están interconectados los nodos.
La topología en bus conecta todos los nodos a un único cable compartido. Las señales se propagan en ambos sentidos y es necesario colocar terminadores en los extremos del cable para evitar reflexiones. Es sencilla y económica pero un corte en el cable inutiliza toda la red y es susceptible a colisiones frecuentes. Se usó en las redes Ethernet de coaxial antiguas.
La topología en estrella conecta todos los nodos a un nodo central, que suele ser un switch o un hub. Es la topología más utilizada en las LAN modernas. Sus ventajas son que el fallo de un nodo no afecta al resto y que es fácil de gestionar y ampliar. Su desventaja es que el nodo central es un punto único de fallo.
La topología en anillo conecta los nodos formando un círculo, de modo que los datos circulan en un sentido o en ambos en los anillos duales. El acceso al medio se controla mediante el mecanismo del token, que es el que usa Token Ring de IEEE 802.5. Su ventaja es que el acceso es predecible y sin colisiones, pero un fallo en el anillo interrumpe la red. Está en desuso frente a Ethernet.
La topología en malla conecta cada nodo directamente con todos los demás en la malla completa, o con varios en la malla parcial. Ofrece muy alta redundancia y tolerancia a fallos, pero su coste es muy elevado en cables y puertos. Se usa en redes de backbone críticas e Internet.
La topología en árbol o jerarquía organiza los nodos en tres niveles: núcleo o core, distribución y acceso. Es la arquitectura más usada en redes corporativas. Es escalable y fácil de gestionar, aunque depende de los nodos superiores.
Es importante distinguir la topología física, que describe cómo están conectados físicamente los cables y dispositivos, de la topología lógica, que describe cómo fluye la información. Por ejemplo, Ethernet moderno tiene topología física en estrella con switch pero topología lógica de bus, ya que todos comparten el mismo dominio de broadcast.
---
## 3. Técnicas de transmisión
La transmisión en banda base, o baseband, usa la señal digital ocupando todo el ancho de banda del medio. Solo se puede transmitir una señal a la vez. La codificación típica es Manchester, que combina la señal de reloj con los datos. Es la técnica estándar en las LAN, usada en Ethernet.
La transmisión en banda ancha, o broadband, divide el ancho de banda del medio en múltiples canales de frecuencia mediante multiplexación por frecuencia, lo que permite que cada canal lleve una señal diferente. Se usa en ADSL y en el cable de televisión. En las LAN se usa de forma excepcional.
Los principales esquemas de codificación de la señal son los siguientes. NRZ o Non-Return to Zero usa voltaje alto para el uno y voltaje bajo para el cero, sin señal de reloj integrada. Manchester usa una transición a mitad del bit para sincronizar el reloj y se usaba en Ethernet de 10 Mbps. Las codificaciones 4B5B y 8B10B se usan en Fast Ethernet y Gigabit Ethernet respectivamente. PAM-4, que usa cuatro niveles de amplitud por símbolo, se usa en Ethernet de 25 y 400 Gbps para doblar la tasa de transmisión.
---
## 4. Métodos de acceso al medio
El método de acceso al medio controla cómo los nodos comparten el medio de transmisión para evitar o resolver colisiones.
CSMA/CD, o Carrier Sense Multiple Access with Collision Detection, es el método usado en Ethernet con topología de bus o con hub. El algoritmo funciona así: el nodo escucha el medio antes de transmitir; si está libre, transmite; si dos nodos transmiten a la vez se produce una colisión; los nodos detectan la colisión y envían una señal jam para notificarlo a todos; cada nodo espera un tiempo aleatorio mediante el algoritmo de backoff exponencial binario y reintenta. Con los switches modernos en modo full-duplex no existen colisiones, por lo que CSMA/CD ya no es relevante en redes actuales, aunque sigue siendo un concepto de examen.
CSMA/CA, o Carrier Sense Multiple Access with Collision Avoidance, es el método usado en WiFi. En las redes inalámbricas una estación no puede detectar colisiones mientras transmite porque no oye su propia señal reflejada. Por eso, en lugar de detectar, intenta evitar las colisiones. El mecanismo usa un tiempo de espera DIFS más una ventana de contención aleatoria antes de transmitir. El receptor debe confirmar la recepción de cada trama mediante un mensaje de reconocimiento ACK. Para resolver el problema del nodo oculto, en el que dos estaciones no se escuchan entre sí pero sí al punto de acceso, se puede usar el mecanismo RTS/CTS de solicitud y autorización para enviar.
El método Token Ring de IEEE 802.5 usa un token o ficha que circula por el anillo. Solo el nodo que tiene el token puede transmitir. El acceso es determinista, sin colisiones y con latencia predecible. Operaba a 4 y 16 Mbps. Está obsoleto y fue reemplazado por Ethernet.
FDDI o Fiber Distributed Data Interface usa un anillo dual de fibra óptica a 100 Mbps con acceso por token y tolerancia a fallos mediante el anillo secundario de backup. Se usó en redes metropolitanas en los años noventa. Está obsoleto.
---
## 5. Ethernet: el estándar de LAN
Ethernet es el estándar de red de área local más extendido del mundo, definido por la norma IEEE 802.3.
La evolución de Ethernet comenzó con 10BASE5 en 1983 a 10 Mbps sobre coaxial grueso. Siguió con 10BASE2 sobre coaxial delgado y con 10BASE-T sobre par trenzado UTP categoría 3. Fast Ethernet o 100BASE-TX llegó en 1995 a 100 Mbps sobre UTP Cat5. Gigabit Ethernet o 1000BASE-T alcanzó 1 Gbps sobre UTP Cat5e. La norma 10GBASE-T alcanzó 10 Gbps sobre UTP Cat6A. Y las normas de fibra óptica llegan hasta 400 Gbps.
La nomenclatura de Ethernet sigue el patrón velocidad, BASE para banda base, y tipo de medio: T para par trenzado, S para fibra multimodo de corto alcance, L para fibra monomodo de largo alcance.
La trama Ethernet según el estándar IEEE 802.3 tiene los siguientes campos: el preámbulo de 7 bytes para sincronización, el delimitador de inicio de trama SFD de 1 byte, la dirección MAC de destino de 6 bytes, la dirección MAC de origen de 6 bytes, el campo EtherType o longitud de 2 bytes que indica el protocolo de capa superior, el payload o datos de entre 46 y 1500 bytes, y la secuencia de verificación de trama FCS de 4 bytes para la detección de errores.
La MTU o Maximum Transmission Unit de Ethernet es de 1500 bytes. El tamaño mínimo de trama es de 64 bytes para que CSMA/CD funcione correctamente.
Las direcciones MAC tienen 48 bits, equivalentes a 6 bytes, y se representan en notación hexadecimal. Los primeros 24 bits identifican al fabricante mediante el código OUI. La dirección de broadcast es FF:FF:FF:FF:FF:FF y se envía a todos los nodos de la red.
Las VLANs o Virtual LANs según el estándar IEEE 802.1Q permiten segmentar lógicamente una LAN física en múltiples LANs virtuales independientes. Los dispositivos de distintas VLANs no pueden comunicarse directamente sin un router o switch de capa 3. Los puertos de acceso asignan un dispositivo a una VLAN concreta. Los puertos troncales o trunk transportan tráfico de múltiples VLANs con una etiqueta 802.1Q de 4 bytes que incluye el identificador de VLAN, que puede tomar hasta 4094 valores distintos. Las ventajas de las VLANs son la segmentación del tráfico para mayor seguridad, la reducción del dominio de broadcast y la flexibilidad para agrupar dispositivos sin cambios físicos.
---
## 6. Dispositivos de interconexión
El repetidor opera en la capa física y regenera la señal digital para extender el alcance del cable. No filtra ni procesa: retransmite todos los bits. Está prácticamente en desuso.
El hub o concentrador opera en la capa física y conecta varios equipos en estrella retransmitiendo los datos a todos los puertos. Crea un dominio de colisión único compartido entre todos los equipos. Está en desuso, sustituido por el switch.
El bridge o puente opera en la capa de enlace de datos y conecta dos segmentos de red. Aprende las direcciones MAC y filtra las tramas por segmento.
El switch o conmutador opera en la capa de enlace de datos y conecta dispositivos en la LAN. Mantiene una tabla de direcciones MAC que asocia cada dirección con el puerto correspondiente. Envía cada trama solo al puerto de destino, separando los dominios de colisión. Puede crear VLANs. Los switches de capa 3 también tienen capacidades de enrutamiento.
El router o encaminador opera en la capa de red. Conecta redes distintas usando direcciones IP. Selecciona la mejor ruta mediante protocolos de enrutamiento como RIP, OSPF y BGP. Separa los dominios de broadcast.
La pasarela o gateway opera en todas las capas y traduce entre protocolos distintos.
La diferencia fundamental en cuanto a dominios es la siguiente: el hub crea un único dominio de colisión y un único dominio de broadcast. El switch separa los dominios de colisión pero mantiene un único dominio de broadcast, excepto con VLANs. El router separa tanto los dominios de colisión como los de broadcast.
---
## Miniresumen final del tema
Las topologías de red principales son bus, estrella, anillo, malla y árbol, siendo la estrella la más usada en LAN modernas. Ethernet usa transmisión en banda base y el método de acceso CSMA/CD, mientras que WiFi usa CSMA/CA. Los dispositivos clave son el hub en capa 1, el switch en capa 2 y el router en capa 3. Las VLANs segmentan la red lógicamente. La trama Ethernet tiene una MTU de 1500 bytes y las direcciones MAC son de 48 bits.

101
bloque4/tema2_audio.md Normal file
View File

@ -0,0 +1,101 @@
## Bloque 4 Tema 2. Administración de bases de datos. Sistemas de almacenamiento y su virtualización. Backup y recuperación. Virtualización de sistemas y de puestos de usuario.
En este tema se estudian los conceptos clave relacionados con la gestión de bases de datos, los sistemas de almacenamiento, las copias de seguridad y la virtualización. Es un tema muy importante en el examen, especialmente en lo relativo a almacenamiento RAID, backup y virtualización.
---
## 1. Administración de bases de datos
La administración de bases de datos consiste en gestionar, mantener y asegurar el correcto funcionamiento de un sistema gestor de bases de datos, conocido como SGBD.
Un SGBD es el software que permite crear, gestionar y consultar bases de datos. Ejemplos conocidos son MySQL, Oracle y SQL Server.
Las definiciones clave que hay que conocer son las siguientes. Una base de datos es un conjunto organizado de datos relacionados. Una tabla es la estructura donde se almacenan los datos. Un registro es cada fila de una tabla, y un campo es cada columna. Un índice es una estructura que mejora la velocidad de búsqueda, y una consulta es la operación para recuperar datos.
Las funciones del administrador de bases de datos, el DBA, incluyen la instalación y configuración del SGBD, la gestión de usuarios y permisos, la optimización del rendimiento, la realización de copias de seguridad, la recuperación ante fallos y la monitorización del sistema.
En resumen: el DBA se encarga de que la base de datos funcione correctamente, sea segura y tenga buen rendimiento.
---
## 2. Sistemas de almacenamiento
El almacenamiento es el soporte físico o lógico donde se guardan los datos. Se clasifica en tres niveles: almacenamiento primario, que corresponde a la memoria RAM; almacenamiento secundario, formado por discos duros HDD y SSD; y almacenamiento terciario, que incluye cintas y sistemas de archivo externo.
En cuanto a las tecnologías de almacenamiento en red, las más importantes son tres. El DAS, o Direct Attached Storage, es el almacenamiento conectado directamente al equipo. El NAS, o Network Attached Storage, es el almacenamiento conectado a la red. El SAN, o Storage Area Network, es una red dedicada de almacenamiento de alto rendimiento.
En resumen: el almacenamiento puede ser local o en red. NAS y SAN son muy importantes en entornos empresariales.
---
## 3. RAID: Redundant Array of Independent Disks
El RAID es un sistema que combina varios discos duros para mejorar el rendimiento, la redundancia o ambos. Es uno de los puntos más preguntados en el examen.
Sus objetivos son aumentar la disponibilidad de los datos, mejorar el rendimiento y proteger frente a fallos de disco.
Los niveles de RAID más importantes son los siguientes.
RAID 0, también llamado striping, distribuye los datos entre varios discos. Su ventaja es el alto rendimiento, pero no tiene tolerancia a fallos: si falla un disco, se pierde todo.
RAID 1, o mirroring, duplica la información en dos discos. Su ventaja es la alta seguridad, aunque la capacidad útil se reduce a la mitad.
RAID 5 utiliza paridad distribuida. Distribuye datos y paridad entre varios discos, con un equilibrio entre rendimiento y seguridad, y soporta el fallo de un disco. Requiere mínimo tres discos.
RAID 6 es similar al RAID 5 pero con doble paridad, lo que permite soportar el fallo de dos discos simultáneamente. Requiere mínimo cuatro discos.
RAID 10, también escrito como RAID uno más cero, es una combinación de RAID 1 y RAID 0, ofreciendo alta seguridad y alto rendimiento. Necesita mínimo cuatro discos.
En resumen: RAID combina discos para mejorar rendimiento o seguridad. RAID 0 no protege datos, RAID 1 duplica, RAID 5 y 6 usan paridad, RAID 10 combina ambos.
---
## 4. Virtualización del almacenamiento
La virtualización del almacenamiento consiste en abstraer los recursos físicos para gestionarlos como si fueran un único sistema lógico. Sus ventajas son el mejor aprovechamiento del hardware, mayor flexibilidad, facilidad de gestión y escalabilidad. Ejemplos típicos son los volúmenes lógicos y las cabinas de almacenamiento virtualizadas.
---
## 5. Backup y recuperación
El backup es la copia de seguridad de los datos para poder recuperarlos en caso de fallo.
Existen tres tipos principales. El backup completo realiza una copia total de todos los datos. Es el más lento de realizar pero el más rápido de restaurar. El backup incremental copia solo los cambios producidos desde el último backup, sea completo o incremental. Es el más rápido de realizar pero el más lento de restaurar. El backup diferencial copia los cambios desde el último backup completo. Tiene una velocidad de copia y restauración intermedia entre los dos anteriores.
Las políticas de backup deben contemplar la frecuencia de las copias, la retención de datos, la ubicación de las copias, que puede ser local, remota o en la nube, y la verificación periódica de que las copias son correctas.
La regla tres dos uno es fundamental: se deben mantener tres copias de los datos, en dos soportes diferentes, y con una copia fuera del sitio principal.
---
## 6. Backup en sistemas físicos y virtuales
El backup en sistemas físicos se realiza sobre servidores o equipos reales mediante software de backup tradicional.
El backup en sistemas virtuales se realiza sobre máquinas virtuales y ofrece funcionalidades adicionales muy útiles como los snapshots o instantáneas del estado del sistema, el clonado de máquinas virtuales completas y la recuperación rápida del sistema.
---
## 7. Virtualización de sistemas
La virtualización permite ejecutar varios sistemas operativos en un mismo hardware.
Las definiciones clave son las siguientes. Una máquina virtual es un sistema operativo virtual que se ejecuta sobre el hardware real. Un hipervisor es el software que gestiona las máquinas virtuales.
Existen dos tipos de hipervisor. El hipervisor de tipo 1, también llamado bare metal, se ejecuta directamente sobre el hardware sin sistema operativo base. El hipervisor de tipo 2 se ejecuta sobre un sistema operativo existente.
Las ventajas de la virtualización son el ahorro de costes, el mejor uso de los recursos de hardware, el aislamiento entre sistemas y la facilidad de gestión.
---
## 8. Virtualización de puestos de usuario
La virtualización de puestos de usuario, conocida como VDI o Virtual Desktop Infrastructure, consiste en ejecutar escritorios virtuales en servidores centralizados, a los que los usuarios acceden de forma remota.
Sus principales características son el acceso remoto desde cualquier dispositivo, la centralización de la gestión y el mantenimiento, y una mayor seguridad al tener los datos en el centro de datos y no en el dispositivo del usuario.
---
## Miniresumen final del tema
El DBA gestiona las bases de datos y garantiza su correcto funcionamiento. El almacenamiento puede ser DAS, NAS o SAN según cómo esté conectado. El RAID combina discos para mejorar rendimiento o seguridad, siendo RAID 0 sin tolerancia a fallos, RAID 1 con espejo, RAID 5 con paridad simple, RAID 6 con paridad doble y RAID 10 una combinación de espejo y striping. El backup protege la información mediante copias completas, incrementales o diferenciales, y la regla tres dos uno es clave. La virtualización permite ejecutar múltiples sistemas y escritorios en un mismo hardware físico.

71
bloque4/tema3_audio.md Normal file
View File

@ -0,0 +1,71 @@
## Bloque 4 Tema 3. Administración de servidores de correo electrónico y sus protocolos. Administración de contenedores y microservicios.
Este tema abarca dos grandes apartados: la administración de servidores de correo electrónico y la administración de contenedores y microservicios.
---
## 1. Introducción al correo electrónico
El correo electrónico es un servicio fundamental en redes corporativas. Su administración implica gestionar el envío, recepción, almacenamiento y seguridad de los mensajes mediante servidores especializados y protocolos estandarizados.
---
## 2. Componentes de un sistema de correo
Un sistema de correo electrónico se compone de varios elementos. El MUA o Mail User Agent es el cliente de correo utilizado por el usuario, como Outlook, Thunderbird o el webmail. El MTA o Mail Transfer Agent es el servidor encargado de enviar y recibir correos entre dominios; ejemplos son Postfix, Exim, Sendmail y Microsoft Exchange. El MDA o Mail Delivery Agent entrega el correo en el buzón del usuario; ejemplos son Dovecot y Procmail.
Los buzones de correo pueden usar dos formatos habituales: Maildir y mbox.
---
## 3. Protocolos principales
Los puertos de correo más importantes son los siguientes: el puerto 25 para SMTP, el puerto 110 para POP3, el puerto 143 para IMAP, y los puertos 465 y 587 para SMTP con cifrado.
El protocolo SMTP, o Simple Mail Transfer Protocol, es el estándar para el envío de correo entre servidores y desde clientes. Usa los puertos 25, 465 y 587, y soporta extensiones como ESMTP, SMTP AUTH y STARTTLS.
El protocolo POP3, o Post Office Protocol versión 3, permite descargar el correo al cliente. Usa los puertos 110 y 995 en su versión segura POP3S. Elimina el correo del servidor según la configuración.
El protocolo IMAP, o Internet Message Access Protocol, permite sincronizar el correo entre varios dispositivos. Usa los puertos 143 y 993 en su versión segura IMAPS. A diferencia de POP3, mantiene los mensajes en el servidor.
---
## 4. Seguridad en el correo electrónico
TLS y STARTTLS proporcionan cifrado de las comunicaciones entre cliente y servidor.
SPF, o Sender Policy Framework, define qué servidores están autorizados a enviar correo en nombre del dominio.
DKIM, o DomainKeys Identified Mail, es una firma criptográfica que garantiza la integridad del mensaje.
DMARC, o Domain-based Message Authentication Reporting and Conformance, es una política que indica qué acción tomar si falla SPF o DKIM: ninguna acción, cuarentena o rechazo.
---
## 5. Tareas habituales de administración
La gestión de usuarios y buzones incluye la creación de cuentas, alias, listas de distribución y cuotas. La configuración del MTA abarca dominios, rutas, límites de tamaño, autenticación y cifrado. El filtrado antispam se realiza mediante herramientas como SpamAssassin, Rspamd, ClamAV, listas negras conocidas como RBL y greylisting. La monitorización y revisión de logs se hace en los ficheros de registro del sistema de correo. La gestión de certificados incluye la renovación automática con herramientas como Let's Encrypt.
---
## 6. Flujo básico de un correo electrónico
El proceso completo de envío de un correo es el siguiente. El usuario redacta el mensaje en el cliente MUA. El cliente lo envía al servidor mediante SMTP por el puerto 587. El MTA del remitente consulta el DNS para encontrar el registro MX del dominio destinatario y entrega el mensaje al MTA correspondiente. El MDA deposita el mensaje en el buzón del usuario destinatario. Finalmente, el usuario accede al correo mediante IMAP o POP3.
---
## 7. Contenedores y microservicios
Los contenedores son unidades de software que empaquetan el código de una aplicación junto con todas sus dependencias para que funcione de forma consistente en cualquier entorno.
La principal diferencia con una máquina virtual es que los contenedores comparten el núcleo del sistema operativo del host, lo que los hace mucho más ligeros y rápidos de iniciar.
Docker es la plataforma de contenedores más utilizada. Las imágenes Docker son plantillas de solo lectura que definen el contenido del contenedor. Los contenedores son instancias en ejecución de esas imágenes.
Kubernetes es el sistema de orquestación de contenedores más extendido. Permite gestionar el despliegue, escalado y disponibilidad de contenedores de forma automatizada. Los conceptos clave de Kubernetes son los pods, que son la unidad mínima de despliegue y contienen uno o más contenedores; los servicios, que exponen los pods a la red; y los namespaces, que permiten aislar entornos dentro del clúster.
Los microservicios son una arquitectura de desarrollo de software en la que una aplicación se divide en servicios pequeños e independientes, cada uno con una función específica, que se comunican entre sí mediante API. Las ventajas de los microservicios son la independencia de despliegue, la escalabilidad selectiva de cada componente, la facilidad de mantenimiento y la resiliencia ante fallos parciales.
Un registro de contenedores es el repositorio donde se almacenan y distribuyen las imágenes. Los más conocidos son Docker Hub y los registros privados de Azure, AWS o Google Cloud.
En resumen: los contenedores permiten empaquetar aplicaciones de forma portátil y eficiente. Docker es la tecnología de contenedores más usada y Kubernetes su orquestador. Los microservicios dividen las aplicaciones en componentes independientes para facilitar su desarrollo y mantenimiento.

55
bloque4/tema4_audio.md Normal file
View File

@ -0,0 +1,55 @@
## Bloque 4 Tema 4. Administración de redes de área local. Gestión de usuarios. Gestión de dispositivos. Monitorización y control de tráfico.
En este tema se estudian las tareas propias de la administración de redes de área local, incluyendo la gestión de usuarios, la gestión de dispositivos de red y las técnicas de monitorización y control del tráfico.
---
## 1. Administración de redes de área local
Una red de área local, o LAN, es una red de comunicaciones que cubre un área geográfica limitada, como un edificio o un campus. La administración de una LAN abarca todas las tareas necesarias para mantenerla operativa, segura y eficiente.
Las tareas principales de administración de una LAN son las siguientes: el diseño y mantenimiento de la topología de red, la gestión del direccionamiento IP mediante servidores DHCP y tablas estáticas, la segmentación de la red mediante VLANs, la gestión del ancho de banda y la calidad de servicio, conocida como QoS, y la resolución de incidencias de conectividad.
---
## 2. Gestión de usuarios
La gestión de usuarios en una red corporativa consiste en administrar las cuentas, permisos y accesos de las personas que utilizan los recursos de la red.
Los elementos fundamentales son los siguientes. Las cuentas de usuario permiten identificar a cada persona en el sistema. Los grupos permiten agrupar usuarios para asignarles permisos de forma conjunta. Los permisos y derechos de acceso determinan qué recursos puede utilizar cada usuario o grupo. Las políticas de contraseñas establecen los requisitos de seguridad para las claves de acceso.
En entornos Windows, la gestión centralizada de usuarios se realiza mediante Active Directory, que es el servicio de directorio de Microsoft. Permite organizar usuarios, equipos y recursos en unidades organizativas y aplicar políticas de grupo, conocidas como GPO. En entornos Linux, la gestión de usuarios se realiza mediante comandos como useradd, usermod y userdel, y los ficheros de configuración principales son los ficheros passwd, shadow y group del directorio etcétera.
El principio de mínimo privilegio es fundamental en la gestión de usuarios: cada usuario debe tener únicamente los permisos estrictamente necesarios para realizar su trabajo.
---
## 3. Gestión de dispositivos
La gestión de dispositivos de red incluye la administración de todos los elementos que forman la infraestructura de la LAN: switches, routers, puntos de acceso WiFi y otros equipos de red.
Las tareas principales son la configuración inicial de los dispositivos, la actualización del firmware para corregir vulnerabilidades, la gestión de la configuración mediante copias de seguridad de los archivos de configuración, y la resolución de fallos de hardware y software.
Los protocolos más relevantes para la gestión de dispositivos son los siguientes. SNMP, o Simple Network Management Protocol, usa los puertos 161 y 162 y permite monitorizar y gestionar dispositivos de red de forma remota. SSH, o Secure Shell, usa el puerto 22 y proporciona acceso seguro a la línea de comandos de los dispositivos. Telnet, que usa el puerto 23, es el protocolo de acceso remoto clásico, pero está en desuso por no cifrar las comunicaciones.
La gestión de VLANs, o redes de área local virtuales, permite segmentar lógicamente la red para mejorar la seguridad y el rendimiento. Cada VLAN es un dominio de broadcast independiente, y la comunicación entre VLANs requiere un router o un switch de capa 3.
---
## 4. Monitorización y control de tráfico
La monitorización de red consiste en la vigilancia continua del estado y el rendimiento de la red, con el objetivo de detectar problemas antes de que afecten a los usuarios.
Los parámetros principales que se monitorizan son el ancho de banda utilizado, la latencia o tiempo de respuesta, la disponibilidad de los dispositivos y servicios, los errores en las interfaces de red y el número de conexiones activas.
Las herramientas de monitorización más utilizadas son las siguientes. SNMP permite recopilar información de los dispositivos de red. Los analizadores de tráfico, como Wireshark, capturan y analizan los paquetes de la red. Las plataformas de monitorización, como Nagios, Zabbix o PRTG, ofrecen paneles de control y alertas automáticas. Los registros de eventos o logs de los sistemas y dispositivos permiten analizar el historial de actividad.
El control de tráfico hace referencia a las técnicas para gestionar cómo fluye la información por la red. La calidad de servicio o QoS permite priorizar ciertos tipos de tráfico, como la voz sobre IP o las videoconferencias, frente a otros de menor prioridad. Los sistemas de detección de intrusiones en red, conocidos como NIDS, monitorizan el tráfico en busca de patrones de ataque.
Los principales protocolos de monitorización son SNMP en sus versiones SNMPv2c y SNMPv3, siendo esta última la más segura por incluir autenticación y cifrado, y NetFlow o sFlow para el análisis de flujos de tráfico.
---
## Miniresumen final del tema
La administración de redes de área local abarca la gestión del direccionamiento IP, las VLANs y la topología de red. La gestión de usuarios se basa en cuentas, grupos y permisos, aplicando siempre el principio de mínimo privilegio. La gestión de dispositivos incluye la configuración, actualización y control de switches, routers y puntos de acceso, usando principalmente SNMP y SSH. La monitorización permite vigilar el estado de la red y detectar problemas mediante herramientas como SNMP, Wireshark, Nagios o Zabbix.

103
bloque4/tema5_audio.md Normal file
View File

@ -0,0 +1,103 @@
## Bloque 4 Tema 5. Conceptos de seguridad de los sistemas de información. Seguridad física y lógica. Amenazas y vulnerabilidades. Técnicas criptográficas y protocolos seguros. Firma digital. Infraestructura física de un CPD. Sistemas de gestión de incidencias. Control remoto de puestos de usuario.
Este tema aborda los conceptos fundamentales de seguridad de la información, la criptografía, la infraestructura de un Centro de Procesamiento de Datos y la gestión de incidencias.
---
## 1. Fundamentos de seguridad de la información
La seguridad de la información se basa en tres propiedades fundamentales conocidas como la tríada CIA. La confidencialidad garantiza que solo los autorizados pueden acceder a la información, y se protege mediante cifrado, control de acceso y VPN. La integridad garantiza que la información no es alterada sin autorización, y se protege mediante hash, firmas digitales y sumas de comprobación. La disponibilidad garantiza que el sistema funciona y da servicio cuando se necesita, y se protege mediante redundancia, backups y monitorización.
Otras propiedades importantes son la autenticidad, que permite verificar la identidad del emisor; el no repudio, que impide que el emisor niegue haber enviado un mensaje; y la trazabilidad, que permite registrar quién hizo qué y cuándo.
Las definiciones clave sobre amenazas son las siguientes. Una amenaza es un evento que puede causar daño, como un ataque, una catástrofe o un error humano. Una vulnerabilidad es una debilidad del sistema que puede ser explotada. El riesgo es el resultado de multiplicar la probabilidad por el impacto de que una amenaza explote una vulnerabilidad. Una contramedida es la acción que reduce el riesgo.
Los tipos de amenazas se clasifican en externas, internas y físicas. Las amenazas externas incluyen malware como virus, gusanos, troyanos y ransomware, así como ataques de red como denegación de servicio, ataques de hombre en el medio e ingeniería social mediante phishing. Las amenazas internas provienen de empleados malintencionados, errores humanos o privilegios excesivos. Las amenazas físicas incluyen incendios, inundaciones, robos de equipos y cortes eléctricos.
---
## 2. Seguridad física
La seguridad física protege el hardware, las instalaciones y las personas frente a amenazas físicas.
El control de acceso físico incluye perímetros de seguridad con vallas y muros, control de acceso a instalaciones mediante tarjetas de proximidad o biometría, videovigilancia mediante cámaras CCTV y registro de visitas.
La protección contra desastres físicos abarca la protección contra incendios mediante detectores de humo y temperatura y sistemas de extinción con agente limpio como gases inertes del tipo FM-200 o Novec, que no dañan los equipos electrónicos. También incluye la protección del suministro eléctrico mediante SAI o sistemas de alimentación ininterrumpida para cortes breves, y grupos electrógenos o generadores para cortes prolongados. La temperatura y humedad deben mantenerse mediante sistemas de climatización de precisión, con temperatura entre 18 y 27 grados centígrados y humedad relativa entre el 40 y el 60 por ciento.
---
## 3. Seguridad lógica
La seguridad lógica protege los sistemas de información frente al acceso, alteración o destrucción no autorizados por medios electrónicos.
El control de acceso lógico se basa en la identificación y autenticación mediante tres factores posibles: algo que se sabe, como una contraseña; algo que se tiene, como un token o el DNIe; y algo que se es, como la biometría. La autenticación multifactor o MFA combina al menos dos de estos factores.
Los modelos de control de acceso principales son los siguientes. El DAC o Discretionary Access Control permite que el propietario del recurso decida quién accede. El MAC o Mandatory Access Control impone reglas del sistema según etiquetas de seguridad. El RBAC o Role-Based Access Control asigna permisos a roles, y los usuarios tienen roles. El ABAC o Attribute-Based Access Control basa el acceso en atributos del usuario, el recurso y el entorno.
Las contraseñas deben tener una longitud mínima de doce caracteres, combinar mayúsculas, minúsculas, números y caracteres especiales, y nunca almacenarse en texto claro, sino mediante funciones de hash con sal usando algoritmos como bcrypt, Argon2 o PBKDF2.
Un firewall o cortafuegos filtra el tráfico de red según reglas de IP, puerto y protocolo. Los tipos principales son el filtrado de paquetes, la inspección con estado o stateful inspection, el proxy de nivel de aplicación y el firewall de nueva generación o NGFW, que incorpora inspección profunda de paquetes, IDS e IPS integrado.
Los sistemas IDS, o Intrusion Detection System, detectan y alertan sobre intrusiones. Los sistemas IPS, o Intrusion Prevention System, detectan y también bloquean las intrusiones en tiempo real.
---
## 4. Técnicas criptográficas
La criptografía simétrica utiliza la misma clave para cifrar y descifrar. Es muy rápida pero tiene el problema de cómo compartir la clave de forma segura. Los algoritmos principales son DES, que está obsoleto; Triple DES, que está en desuso; AES, que es el estándar actual con claves de 128, 192 o 256 bits; y ChaCha20, una alternativa moderna a AES.
La criptografía asimétrica o de clave pública utiliza un par de claves: la clave pública, que se distribuye libremente y cifra datos o verifica firmas, y la clave privada, que se guarda en secreto y descifra datos o genera firmas. Lo que cifra la clave pública solo lo descifra la clave privada y viceversa. Es más lenta que la simétrica pero no tiene el problema de distribución de claves. Los algoritmos principales son RSA para cifrado y firma, DSA solo para firma, ECDSA y ECC para firma y cifrado con claves más cortas, y Diffie-Hellman para el intercambio de claves.
En la práctica se usa un esquema híbrido: la clave de sesión simétrica se intercambia usando criptografía asimétrica, que es la base de TLS y PGP.
Las funciones hash criptográficas transforman una entrada de cualquier longitud en una cadena de longitud fija. Sus propiedades son que son deterministas, unidireccionales, con resistencia a colisiones y con efecto avalancha. Los algoritmos son MD5, que está obsoleto; SHA-1, que también está obsoleto; SHA-256, que es el estándar actual de la familia SHA-2; y SHA-3, el más reciente, basado en Keccak.
---
## 5. Firma digital
La firma digital garantiza tres propiedades simultáneamente: la autenticidad, que el mensaje proviene realmente del firmante; la integridad, que el mensaje no ha sido modificado; y el no repudio, que el firmante no puede negar haber firmado.
El proceso de firma es el siguiente: se calcula el hash del mensaje usando SHA-256, y luego se cifra ese hash con la clave privada del firmante, obteniendo la firma digital.
El proceso de verificación es el inverso: se descifra la firma con la clave pública del firmante para obtener el hash original, se calcula el hash del mensaje recibido y se comparan ambos hashes. Si coinciden, la firma es válida.
Un certificado digital vincula una clave pública con la identidad de su propietario, avalado por una Autoridad de Certificación o CA. El estándar utilizado es X.509. La infraestructura de clave pública o PKI gestiona los certificados digitales e incluye la CA que emite y firma los certificados, la RA o Registration Authority que verifica la identidad del solicitante, la CRL o lista de certificados revocados, y el protocolo OCSP para la verificación en tiempo real del estado de un certificado.
En España, la Fábrica Nacional de Moneda y Timbre, o FNMT, emite certificados a los ciudadanos. El DNIe contiene un chip criptográfico con certificado de identidad y de firma. La plataforma arroba Firma de la Administración General del Estado permite la validación de firmas electrónicas.
Los protocolos seguros más importantes son TLS, que proporciona cifrado de comunicaciones y sustituyó a SSL; HTTPS, que es HTTP sobre TLS; SSH para acceso remoto seguro a servidores; S/MIME para firma y cifrado de correo electrónico; PGP y GPG para cifrado y firma de ficheros y correo; IPsec para cifrado a nivel de paquete IP, base de muchas VPN; y SFTP y FTPS para transferencia segura de ficheros. De TLS existen las versiones 1.2, ampliamente usada, y 1.3, la versión actual y más segura.
---
## 6. Infraestructura física de un CPD
Un CPD o Centro de Procesamiento de Datos es la instalación física que alberga los sistemas informáticos de una organización: servidores, almacenamiento, equipos de red y telecomunicaciones.
La clasificación de los CPD por nivel de disponibilidad sigue el estándar del Uptime Institute con cuatro niveles TIER. El nivel TIER I tiene una disponibilidad del 99,671 por ciento, lo que supone un tiempo de inactividad máximo de 28 horas al año, sin redundancia. El TIER II tiene disponibilidad del 99,741 por ciento y componentes redundantes. El TIER III alcanza el 99,982 por ciento y es concurrentemente mantenible. El TIER IV llega al 99,995 por ciento y es tolerante a fallos, con un tiempo de inactividad máximo de 26 minutos al año.
El acondicionamiento del CPD incluye los siguientes aspectos. La ubicación debe estar en una planta intermedia o elevada, alejada de zonas con riesgo de inundación o sísmicas, y con control de acceso físico estricto. El suelo técnico o falso suelo elevado permite el paso de cables y la distribución del aire frío. La climatización debe mantener la temperatura entre 18 y 27 grados y la humedad entre el 40 y el 60 por ciento, con sistemas de pasillos fríos y calientes para optimizar el flujo de aire. La electricidad se protege con SAI para cortes breves, grupos electrógenos para cortes prolongados y unidades de distribución de energía redundantes. Contra incendios se utilizan detectores de aspiración de partículas como VESDA y sistemas de extinción con gases inertes como FM-200 o Novec 1230, que no dañan los equipos.
---
## 7. Sistemas de gestión de incidencias
Un sistema de gestión de incidencias permite registrar, clasificar, asignar y resolver los problemas que afectan a los sistemas de información. El estándar de referencia es ITIL, que define los procesos de gestión de servicios tecnológicos.
Las fases del ciclo de vida de una incidencia son la detección y registro, la clasificación y priorización, la asignación al equipo responsable, el diagnóstico y resolución, y el cierre con documentación.
Los sistemas más utilizados son herramientas como ServiceNow, Jira Service Management, Remedy o Redmine.
---
## 8. Control remoto de puestos de usuario
El control remoto de puestos de usuario permite a los técnicos acceder y gestionar los equipos de los usuarios desde otra ubicación. Las herramientas más utilizadas son Remote Desktop Protocol o RDP de Microsoft, VNC o Virtual Network Computing, y herramientas comerciales como TeamViewer o AnyDesk.
Es fundamental que el acceso remoto se realice de forma segura, utilizando siempre cifrado, autenticación robusta y, preferiblemente, a través de una VPN corporativa.
---
## Miniresumen final del tema
La seguridad de la información se basa en la tríada CIA: confidencialidad, integridad y disponibilidad. La seguridad física protege el hardware y las instalaciones. La seguridad lógica controla el acceso mediante contraseñas, firewalls e IDS. La criptografía simétrica es rápida pero comparte clave; la asimétrica resuelve ese problema con par de claves pública y privada. La firma digital garantiza autenticidad, integridad y no repudio. Un CPD se clasifica por niveles TIER según disponibilidad y debe cumplir requisitos estrictos de climatización, electricidad y contra incendios.

75
bloque4/tema6_audio.md Normal file
View File

@ -0,0 +1,75 @@
## Bloque 4 Tema 6. Comunicaciones. Medios de transmisión. Modos de comunicación. Equipos terminales y de interconexión. Redes de conmutación y de difusión. Comunicaciones móviles e inalámbricas.
Este tema estudia los fundamentos de las comunicaciones de datos, los medios por los que viaja la información, los dispositivos que forman las redes y los tipos de redes y comunicaciones inalámbricas.
---
## 1. Medios de transmisión
Los medios de transmisión se dividen en dos grandes grupos: los medios guiados y los no guiados.
Los medios guiados son aquellos por los que la señal viaja a través de un conductor físico. Los principales son tres.
El par trenzado es el cable más utilizado en redes de área local. Puede ser UTP, sin blindaje, más económico y flexible; STP, con blindaje por pares; o FTP, con pantalla global sobre todos los pares. Sus categorías más importantes son la Cat5e para redes a 100 Mbps, la Cat6 para Gigabit Ethernet, la Cat6A para 10 Gigabit Ethernet y la Cat8 para 40 Gigabit en centros de datos. El conector estándar es el RJ-45.
El cable coaxial tiene un conductor central, un aislante, una malla conductora y una cubierta exterior. Se usa en televisión por cable y en redes antiguas, pero está en desuso en las LAN modernas.
La fibra óptica transmite luz a través de un núcleo de vidrio o plástico y no sufre interferencias electromagnéticas. Hay dos tipos: la fibra monomodo, con un solo modo de propagación, núcleo muy fino de unos 9 micrómetros y transmisión láser que puede llegar a decenas de kilómetros; y la fibra multimodo, con varios modos de propagación, núcleo más grueso de 50 o 62,5 micrómetros y alcance de hasta unos 2 kilómetros.
Los medios no guiados o inalámbricos transmiten la señal a través del aire. Las ondas de radio se usan en radiodifusión y comunicaciones móviles. Las microondas terrestres se usan en enlaces punto a punto. Las microondas por satélite se usan en GPS, televisión satélite y comunicaciones globales. Los infrarrojos tienen corto alcance y se usan en mandos a distancia.
El estándar WiFi sigue la norma IEEE 802.11. Los estándares más importantes son el 802.11n o WiFi 4, que opera en 2,4 y 5 GHz con hasta 600 Mbps; el 802.11ac o WiFi 5, en 5 GHz con hasta 6,9 Gbps; y el 802.11ax o WiFi 6 y 6E, que opera en 2,4, 5 y 6 GHz con hasta 9,6 Gbps.
---
## 2. Modos de comunicación
Existen tres modos de comunicación. El modo simplex solo permite la transmisión en un sentido, como la televisión o la radio. El modo semidúplex o half-duplex permite la transmisión en ambos sentidos pero no de forma simultánea, como el walkie-talkie. El modo dúplex completo o full-duplex permite la comunicación en ambos sentidos simultáneamente, como el teléfono o la Ethernet moderna.
---
## 3. Parámetros de la transmisión
Los parámetros principales son los siguientes. El ancho de banda es el rango de frecuencias disponible o la tasa máxima de transferencia. La velocidad de transmisión se mide en bits por segundo. La latencia o retardo es el tiempo que tarda un bit en ir de origen a destino. El jitter es la variación en la latencia, y es crítico en comunicaciones de voz y vídeo en tiempo real. La tasa de error o BER es la proporción de bits recibidos con error. El throughput es la tasa de transferencia real efectiva.
---
## 4. Equipos terminales y de interconexión
Los equipos terminales o DTE son los dispositivos que generan o consumen información, como ordenadores, servidores o teléfonos.
Los equipos de interconexión son los que forman la infraestructura de la red. El repetidor opera en la capa física y regenera la señal para extender el alcance. El hub conecta varios equipos en estrella retransmitiendo a todos los puertos, por lo que crea un dominio de colisión único; está en desuso. El bridge o puente opera en capa de enlace, aprende direcciones MAC y filtra tramas. El switch o conmutador opera en capa de enlace y crea una tabla MAC para enviar cada trama solo al puerto de destino; separa dominios de colisión y puede crear VLANs. El router o encaminador opera en capa de red, trabaja con direcciones IP, conecta redes distintas y selecciona la mejor ruta usando protocolos de enrutamiento como RIP, OSPF o BGP. La pasarela o gateway opera en todas las capas y traduce entre protocolos distintos.
---
## 5. Redes de comunicaciones
Las redes se clasifican por cobertura geográfica en cuatro tipos. La PAN o Personal Area Network tiene un alcance de unos 10 metros y usa tecnologías como Bluetooth. La LAN o Local Area Network cubre un edificio o campus y usa Ethernet o WiFi. La MAN o Metropolitan Area Network cubre una ciudad. La WAN o Wide Area Network cubre un país o el mundo entero, siendo Internet el ejemplo más conocido.
Las topologías de red principales son las siguientes. La topología en bus conecta todos los nodos a un único cable compartido; es sencilla pero un fallo afecta a todos. La topología en estrella conecta todos los nodos a un nodo central, que es la más usada hoy en día con switches. La topología en anillo conecta cada nodo al siguiente, con datos que circulan en un sentido. La topología en malla conecta cada nodo con todos los demás, ofreciendo alta redundancia pero con un coste muy elevado. La topología en árbol organiza los nodos en jerarquía y es la más usada en redes corporativas.
---
## 6. Redes de conmutación y de difusión
Las redes de conmutación de circuitos establecen un camino dedicado entre origen y destino antes de transmitir. El circuito queda reservado durante toda la comunicación aunque no haya datos. El ejemplo más conocido es la red telefónica pública o PSTN. La ventaja es la latencia predecible, pero es ineficiente porque los recursos quedan reservados aunque no se usen.
La RDSI o Red Digital de Servicios Integrados digitaliza la línea telefónica convencional. Sus canales B transportan datos a 64 Kbps y el canal D se usa para señalización. El acceso básico BRI tiene dos canales B más un canal D, ofreciendo 128 Kbps de datos. El acceso primario PRI tiene 30 canales B más un canal D en Europa, correspondiente al estándar E1 de 2 Mbps. Actualmente está en desuso, sustituida por ADSL, fibra y VoIP.
Las redes de conmutación de paquetes dividen los datos en paquetes, cada uno con cabecera de origen, destino y número de secuencia. Los paquetes viajan de forma independiente y pueden tomar rutas distintas. El receptor reensambla los paquetes. El ejemplo más importante es Internet con los protocolos IP y TCP. La ventaja es el uso eficiente de la red, pero la latencia es variable.
Las redes de difusión o broadcast transmiten un mensaje a todos los nodos de la red simultáneamente, como ocurre en la Ethernet con hub o en la radio y televisión. La multidifusión o multicast envía los datos solo a un grupo de receptores suscritos.
---
## 7. Comunicaciones móviles e inalámbricas
La telefonía móvil ha evolucionado a través de cinco generaciones. La primera generación, 1G, era analógica y solo transmitía voz. La segunda generación, 2G, introdujo la transmisión digital con el estándar GSM europeo y permitió el envío de SMS y datos mediante GPRS y EDGE. La tercera generación, 3G, con UMTS y HSPA, permitió el acceso a Internet móvil con velocidades de hasta 42 Mbps. La cuarta generación, 4G, basada en LTE, alcanza velocidades de hasta 1 Gbps y está completamente basada en IP. La quinta generación, 5G, con la tecnología New Radio, puede llegar a 20 Gbps, tiene una latencia inferior a 1 milisegundo y está diseñada para el Internet de las Cosas masivo.
Bluetooth es un estándar de comunicación inalámbrica de corto alcance. La versión 4.0, conocida como BLE o Bluetooth de baja energía, está diseñada para dispositivos IoT con consumo mínimo.
---
## Miniresumen final del tema
Los medios de transmisión son guiados, como el par trenzado y la fibra óptica, o no guiados como las ondas de radio y el WiFi. Los modos de comunicación son simplex, semidúplex y dúplex completo. Los dispositivos de interconexión principales son el switch en capa 2 y el router en capa 3. Las redes se clasifican en PAN, LAN, MAN y WAN. La conmutación de circuitos usa caminos dedicados mientras que la conmutación de paquetes divide la información en paquetes independientes. Las comunicaciones móviles han evolucionado desde la voz analógica del 1G hasta el 5G con velocidades de decenas de Gbps.

83
bloque4/tema7_audio.md Normal file
View File

@ -0,0 +1,83 @@
## Bloque 4 Tema 7. El modelo TCP/IP y el modelo de referencia de interconexión de sistemas abiertos OSI de ISO. Protocolos TCP/IP.
Este tema estudia los dos modelos de referencia fundamentales para las redes de comunicaciones: el modelo OSI de la ISO y el modelo TCP/IP, así como los principales protocolos de la familia TCP/IP.
---
## 1. El modelo OSI
El modelo OSI, o Open Systems Interconnection, fue desarrollado por la ISO como modelo teórico de referencia que describe cómo se comunican los sistemas en red mediante una arquitectura de siete capas. No define protocolos concretos sino funciones.
Las siete capas del modelo OSI son las siguientes, de la más baja a la más alta.
La capa 1 es la capa física. Se encarga de la transmisión de bits por el medio físico, las señales, los voltajes, los cables y los conectores. Ejemplos son el cable Ethernet y la fibra óptica.
La capa 2 es la capa de enlace de datos. Gestiona la comunicación entre nodos de la misma red, las direcciones MAC y el control de errores. Ejemplos son Ethernet y Wi-Fi.
La capa 3 es la capa de red. Realiza el direccionamiento lógico y el enrutamiento, determinando el camino de los paquetes. El protocolo principal es IP.
La capa 4 es la capa de transporte. Proporciona comunicación extremo a extremo, con control de flujo y errores. Los protocolos son TCP y UDP.
La capa 5 es la capa de sesión. Establece, mantiene y finaliza sesiones entre aplicaciones, controlando el diálogo.
La capa 6 es la capa de presentación. Se ocupa del formato de los datos, la compresión y el cifrado.
La capa 7 es la capa de aplicación. Es la interfaz con el usuario y proporciona los servicios de red. Ejemplos son HTTP, FTP, SMTP y DNS.
---
## 2. El modelo TCP/IP
El modelo TCP/IP es un modelo práctico, base de Internet, desarrollado por DARPA. Define tanto la arquitectura como los protocolos reales de comunicación.
El modelo TCP/IP tiene cuatro capas. La capa de acceso a red equivale a las capas física y de enlace del modelo OSI; incluye Ethernet y Wi-Fi. La capa de internet se encarga del direccionamiento y enrutamiento, con los protocolos IP, ICMP y ARP. La capa de transporte proporciona comunicación extremo a extremo mediante TCP y UDP. La capa de aplicación ofrece los servicios de red para el usuario, con protocolos como HTTP, HTTPS, FTP, SMTP, DNS y SSH.
La correspondencia entre ambos modelos es la siguiente: las capas de aplicación, presentación y sesión del modelo OSI equivalen a la capa de aplicación del modelo TCP/IP. La capa de transporte es equivalente en ambos modelos. La capa de red del modelo OSI equivale a la capa de internet del TCP/IP. Las capas de enlace de datos y física del OSI equivalen a la capa de acceso a red del TCP/IP.
---
## 3. Protocolos principales de TCP/IP
El protocolo IP, o Internet Protocol, opera en la capa de internet. Su función es el direccionamiento y el enrutamiento de paquetes. Existe en dos versiones: IPv4, con direcciones de 32 bits, e IPv6, con direcciones de 128 bits. IP no garantiza la entrega de los paquetes.
El protocolo TCP, o Transmission Control Protocol, opera en la capa de transporte. Proporciona una comunicación orientada a conexión, fiable, con control de flujo y de errores. Garantiza que todos los segmentos llegan en orden y sin errores. Se usa para aplicaciones donde la fiabilidad es crítica, como la navegación web con HTTP y HTTPS, el correo electrónico y la transferencia de ficheros con FTP.
El protocolo UDP, o User Datagram Protocol, también opera en la capa de transporte. A diferencia de TCP, es no orientado a conexión y no garantiza la entrega ni el orden de los paquetes. Es más rápido que TCP por eso se usa en aplicaciones donde la velocidad es más importante que la fiabilidad, como el streaming de vídeo, los juegos en red, las consultas DNS y las comunicaciones de voz sobre IP.
El protocolo ICMP, o Internet Control Message Protocol, se usa para el diagnóstico de redes. El comando ping utiliza mensajes ICMP de solicitud y respuesta de eco para comprobar la conectividad con un host. El comando traceroute o tracert usa mensajes ICMP para descubrir la ruta que siguen los paquetes hasta su destino.
El protocolo ARP, o Address Resolution Protocol, resuelve la correspondencia entre direcciones IP y direcciones MAC en una red local. Cuando un dispositivo conoce la IP de destino pero no su MAC, envía un mensaje ARP broadcast preguntando quién tiene esa IP, y el propietario responde con su dirección MAC.
El protocolo DNS, o Domain Name System, traduce los nombres de dominio legibles por las personas, como www.minhap.gob.es, en las direcciones IP numéricas que usan los equipos. Opera por defecto en el puerto 53.
El protocolo DHCP, o Dynamic Host Configuration Protocol, asigna automáticamente configuración de red a los dispositivos cuando se conectan: dirección IP, máscara de subred, puerta de enlace predeterminada y servidor DNS. Opera en los puertos 67 y 68.
El protocolo HTTP, o HyperText Transfer Protocol, es el protocolo de la web, que permite la transferencia de páginas y recursos entre servidores y clientes. Opera en el puerto 80. HTTPS es la versión segura de HTTP sobre TLS y opera en el puerto 443.
El protocolo FTP, o File Transfer Protocol, permite la transferencia de ficheros entre sistemas. Opera en los puertos 21 para el canal de control y 20 para el canal de datos. Su versión segura FTPS usa cifrado TLS.
El protocolo SSH, o Secure Shell, proporciona acceso remoto seguro a la línea de comandos de servidores. Opera en el puerto 22 y utiliza cifrado para proteger las comunicaciones. Sustituye al antiguo Telnet, que transmitía todo en texto claro.
---
## 4. Direccionamiento IPv4
Las direcciones IPv4 tienen 32 bits y se representan en notación decimal separada por puntos, como por ejemplo 192.168.1.10. Una dirección IPv4 se divide en dos partes: la parte de red y la parte de host. La máscara de subred indica qué bits pertenecen a la red y cuáles al host.
Las clases de redes en IPv4 son las siguientes. La clase A usa el primer octeto para la red y los tres restantes para los hosts, con rango de 1.0.0.0 a 126.255.255.255. La clase B usa los dos primeros octetos para la red, con rango de 128.0.0.0 a 191.255.255.255. La clase C usa los tres primeros octetos para la red y el último para los hosts, con rango de 192.0.0.0 a 223.255.255.255.
Los rangos de direcciones privadas no enrutables en Internet son 10.0.0.0 a 10.255.255.255, 172.16.0.0 a 172.31.255.255 y 192.168.0.0 a 192.168.255.255.
---
## 5. Direccionamiento IPv6
Las direcciones IPv6 tienen 128 bits y se representan en notación hexadecimal separada por dos puntos, como por ejemplo 2001:0db8:0000:0000:0000:0000:0000:0001. Los grupos de ceros consecutivos se pueden abreviar con doble dos puntos.
Las ventajas de IPv6 frente a IPv4 son el espacio de direcciones prácticamente ilimitado, la configuración automática sin necesidad de DHCP mediante SLAAC, la eliminación de la necesidad de NAT, mejoras en la seguridad con IPsec integrado y mejor soporte para la movilidad y el multidifusión.
---
## Miniresumen final del tema
El modelo OSI tiene siete capas y es un modelo teórico de referencia. El modelo TCP/IP tiene cuatro capas y es el modelo práctico de Internet. Los protocolos clave son IP para el direccionamiento, TCP para comunicaciones fiables, UDP para comunicaciones rápidas, DNS para la resolución de nombres, DHCP para la asignación automática de configuración, HTTP y HTTPS para la web, y SSH para el acceso remoto seguro. IPv4 usa direcciones de 32 bits e IPv6 de 128 bits.

89
bloque4/tema8_audio.md Normal file
View File

@ -0,0 +1,89 @@
## Bloque 4 Tema 8. Internet: arquitectura de red. Origen, evolución y estado actual. Principales servicios. Protocolos HTTP, HTTPS y SSL/TLS.
Este tema estudia la arquitectura de Internet, su historia, los principales servicios que ofrece y los protocolos de comunicación web más importantes.
---
## 1. Origen y evolución de Internet
Internet tiene su origen en ARPANET, una red de comunicaciones desarrollada por DARPA, la Agencia de Proyectos de Investigación Avanzados de Defensa de Estados Unidos, a finales de los años sesenta. El objetivo inicial era crear una red de comunicaciones resiliente que pudiera funcionar incluso si parte de ella fuera destruida.
En 1969 se realizó la primera conexión entre nodos de ARPANET. En los años setenta se desarrollaron los protocolos TCP e IP, que son la base de Internet. En 1983 ARPANET adoptó oficialmente el protocolo TCP/IP. En 1991 Tim Berners-Lee inventó la World Wide Web en el CERN, creando el protocolo HTTP y el lenguaje HTML. A partir de los años noventa Internet se expandió al uso civil y comercial, y su crecimiento fue exponencial.
En la actualidad, Internet es una red mundial que interconecta miles de millones de dispositivos y da soporte a servicios esenciales como la comunicación, el comercio electrónico, la banca, la educación y la administración pública.
---
## 2. Arquitectura de red de Internet
Internet es una red de redes basada en la conmutación de paquetes y en el protocolo IP. No existe un centro único de control; es una arquitectura distribuida y descentralizada.
Los niveles de la arquitectura de Internet se organizan en tres capas. En la capa más alta están los proveedores de nivel 1 o Tier 1, que forman el núcleo o backbone de Internet y tienen conexión directa con todos los demás sin pagar peaje. En la capa intermedia están los proveedores de nivel 2 o Tier 2, que conectan regiones y países. En la capa más baja están los proveedores de acceso o ISP, que ofrecen la conexión a hogares y empresas.
Los puntos de intercambio de Internet, conocidos como IXP o Internet Exchange Point, son las instalaciones físicas donde los proveedores interconectan sus redes para intercambiar tráfico. En España los más importantes son los del ESPANIX y el DE-CIX de Madrid.
El sistema de nombres de dominio o DNS es una parte fundamental de la arquitectura de Internet. Traduce los nombres de dominio legibles, como sede.gob.es, en las direcciones IP numéricas que usan los routers para enrutar los paquetes.
---
## 3. Principales servicios de Internet
Los principales servicios que ofrece Internet son los siguientes.
La World Wide Web o WWW es el servicio de páginas web, basado en el protocolo HTTP y el lenguaje de marcado HTML. Permite acceder a información de forma hipervincular.
El correo electrónico o email usa los protocolos SMTP para el envío, IMAP para la sincronización y POP3 para la descarga, tal como se estudió en el tema 3.
La transferencia de ficheros se realiza mediante FTP y sus versiones seguras FTPS y SFTP.
Los servicios de mensajería instantánea y videoconferencia permiten la comunicación en tiempo real entre usuarios.
El DNS permite resolver nombres de dominio y es la guía telefónica de Internet.
La computación en nube u cloud computing permite acceder a recursos informáticos, como servidores, almacenamiento y aplicaciones, a través de Internet como si fueran servicios.
Las redes privadas virtuales o VPN permiten conectarse de forma segura a redes corporativas a través de Internet.
La voz sobre IP o VoIP permite realizar llamadas telefónicas a través de Internet mediante protocolos como SIP y H.323.
---
## 4. Protocolo HTTP
El protocolo HTTP, o HyperText Transfer Protocol, es el protocolo de la capa de aplicación que permite la transferencia de páginas web y recursos entre servidores y clientes. Opera en el puerto 80.
HTTP es un protocolo sin estado, lo que significa que cada solicitud es independiente y el servidor no recuerda solicitudes anteriores. Para mantener el estado entre solicitudes se usan cookies y sesiones.
El funcionamiento básico de HTTP es el modelo petición-respuesta. El cliente, que es el navegador, envía una solicitud HTTP al servidor indicando el método, la URL y las cabeceras. El servidor responde con un código de estado y el contenido solicitado.
Los métodos HTTP principales son GET para solicitar un recurso, POST para enviar datos al servidor, PUT para crear o reemplazar un recurso, DELETE para eliminar un recurso y PATCH para modificar parcialmente un recurso.
Los códigos de estado HTTP se agrupan en cinco categorías. Los códigos 1xx son informativos. Los 2xx indican éxito, siendo el 200 OK el más común. Los 3xx indican redirecciones. Los 4xx indican errores del cliente, como el 404 Not Found que indica que el recurso no existe, o el 403 Forbidden que indica que el acceso está prohibido. Los 5xx indican errores del servidor, como el 500 Internal Server Error.
La evolución de HTTP ha pasado por varias versiones: HTTP/1.0, HTTP/1.1 que introdujo las conexiones persistentes, HTTP/2 que mejoró el rendimiento con multiplexación de peticiones, y HTTP/3 que usa el protocolo QUIC sobre UDP para mayor velocidad y menor latencia.
---
## 5. Protocolo HTTPS
HTTPS, o HTTP Secure, es la versión segura de HTTP. Opera en el puerto 443. Usa el protocolo TLS para cifrar todas las comunicaciones entre el cliente y el servidor.
HTTPS proporciona tres garantías fundamentales. La confidencialidad, ya que los datos viajan cifrados y no pueden ser leídos por terceros. La integridad, ya que los datos no pueden ser modificados en tránsito sin ser detectados. La autenticidad, ya que el servidor demuestra su identidad mediante un certificado digital firmado por una autoridad de certificación.
El proceso de establecimiento de una conexión HTTPS comienza con el handshake o apretón de manos TLS. En este proceso, el cliente y el servidor negocian la versión de TLS y los algoritmos criptográficos a usar, el servidor presenta su certificado digital, el cliente verifica el certificado con la autoridad de certificación, y finalmente se acuerda una clave de sesión simétrica para cifrar la comunicación.
---
## 6. Protocolo SSL y TLS
SSL, o Secure Sockets Layer, fue el protocolo de seguridad original desarrollado por Netscape. Las versiones SSL 2.0 y 3.0 son obsoletas e inseguras.
TLS, o Transport Layer Security, es el sucesor de SSL. Proporciona cifrado, autenticación e integridad en las comunicaciones. Las versiones TLS 1.0 y 1.1 también están obsoletas y desaconsejadas. TLS 1.2 es la versión ampliamente utilizada. TLS 1.3, la versión actual, es más rápida y segura porque elimina los algoritmos débiles y reduce el número de mensajes del handshake.
TLS no solo se usa en HTTPS sino también en otros protocolos seguros como SMTPS, IMAPS, FTPS y en las VPN SSL.
---
## Miniresumen final del tema
Internet nació de ARPANET en los años sesenta y se basa en la conmutación de paquetes y el protocolo IP. Su arquitectura es distribuida y descentralizada. Los principales servicios son la web, el correo electrónico, la transferencia de ficheros, el DNS y la computación en nube. HTTP opera en el puerto 80 y es el protocolo de la web, con un modelo de petición y respuesta. HTTPS opera en el puerto 443 y añade cifrado mediante TLS, garantizando confidencialidad, integridad y autenticidad. TLS 1.3 es la versión actual y más segura.

77
bloque4/tema9_audio.md Normal file
View File

@ -0,0 +1,77 @@
## Bloque 4 Tema 9. Seguridad y protección en redes de comunicaciones. Seguridad perimetral. Acceso remoto seguro a redes. Redes privadas virtuales VPN. Seguridad en el puesto del usuario.
Este tema estudia las medidas de seguridad para proteger las redes de comunicaciones, la seguridad perimetral, el acceso remoto seguro y la protección del puesto del usuario.
---
## 1. Fundamentos de seguridad en redes
La seguridad en redes es el conjunto de medidas técnicas y organizativas que protegen la integridad, confidencialidad y disponibilidad de la información en tránsito.
Las principales amenazas en redes son las siguientes. El sniffing o escucha consiste en capturar el tráfico de red con herramientas de análisis de paquetes. El spoofing es la suplantación de identidad mediante IP spoofing, ARP spoofing o DNS spoofing. El ataque de hombre en el medio o MitM consiste en interponerse entre dos comunicantes para capturar o alterar datos. Los ataques de denegación de servicio DoS y DDoS saturan un servicio para hacerlo inaccesible. El escaneo de puertos explora los puertos abiertos de un sistema para buscar vulnerabilidades. Los ataques de inyección SQL y XSS explotan vulnerabilidades en aplicaciones web.
Los principios básicos del diseño seguro de redes son la defensa en profundidad, que usa múltiples capas de seguridad; el mínimo privilegio, que limita el acceso de cada sistema y usuario; la segmentación, que divide la red en zonas con distintos niveles de confianza; y Zero Trust, que no considera de confianza a ningún usuario ni dispositivo por defecto, aunque esté dentro de la red.
---
## 2. Seguridad perimetral
La seguridad perimetral es el conjunto de técnicas y dispositivos que protegen la red interna de amenazas externas, controlando el tráfico que entra y sale.
El firewall o cortafuegos filtra el tráfico de red basándose en reglas de IP, puerto y protocolo. Las reglas se procesan en orden y la política por defecto debe ser denegar todo lo no permitido explícitamente, lo que se conoce como default deny. Los tipos de firewall son el filtrado de paquetes en capas 3 y 4, la inspección con estado o stateful inspection, el proxy de nivel de aplicación y el firewall de nueva generación o NGFW que incorpora inspección profunda de paquetes y control por aplicación.
La DMZ o Zona Desmilitarizada es una subred intermedia, separada tanto de la red interna como de Internet, donde se ubican los servidores que deben ser accesibles desde el exterior, como los servidores web, de correo y DNS públicos. Si uno de esos servidores es comprometido, el atacante no tiene acceso directo a la red interna.
El proxy es un intermediario entre los clientes internos e Internet. El proxy directo o forward proxy permite a los clientes internos acceder a Internet a través de él; sus funciones son el filtrado de contenidos, la caché, la autenticación de usuarios y el registro de navegación. El proxy inverso o reverse proxy recibe solicitudes de Internet y las redirige a servidores internos.
El WAF o Web Application Firewall protege aplicaciones web frente a ataques de capa de aplicación como SQL Injection, XSS y CSRF. Analiza tráfico HTTP y HTTPS y puede operar en modo de solo detección o en modo de prevención bloqueando el tráfico malicioso.
Los sistemas IDS e IPS monitorizan la red en busca de amenazas. El IDS o Intrusion Detection System opera de forma pasiva recibiendo una copia del tráfico y solo alerta. El IPS o Intrusion Prevention System opera de forma activa en línea y detecta y bloquea el tráfico malicioso en tiempo real. Los sistemas HIDS monitorizan el host y los NIDS monitorizan la red. Las técnicas de detección son la basada en firmas, que compara con patrones de ataques conocidos, y la basada en anomalías, que detecta desviaciones del comportamiento normal.
El SIEM o Security Information and Event Management agrega, correlaciona y analiza eventos de seguridad de múltiples fuentes como firewalls, IDS, servidores y aplicaciones. Proporciona alertas en tiempo real y es fundamental para el cumplimiento normativo. Los ejemplos más conocidos son Splunk, IBM QRadar, Microsoft Sentinel y Wazuh.
---
## 3. Acceso remoto seguro
El teletrabajo y la administración remota de sistemas requieren acceder a la red corporativa desde redes no controladas. Sin medidas de seguridad, las comunicaciones quedan expuestas.
SSH o Secure Shell proporciona acceso remoto seguro a la línea de comandos de servidores Linux. Usa el puerto TCP 22. La autenticación puede ser mediante contraseña o mediante par de claves, siendo esta última la opción más segura. SSH también permite la copia segura de ficheros mediante SCP y SFTP, y el reenvío de puertos o port forwarding para crear túneles cifrados.
Las SSL VPN o TLS VPN son VPN que funcionan sobre HTTPS en el puerto 443. Solo requieren un navegador o cliente ligero. Son muy flexibles y funcionan a través de firewalls y NAT. Ejemplos son OpenVPN y Cisco AnyConnect.
---
## 4. Redes Privadas Virtuales VPN
Una VPN o Virtual Private Network crea un túnel cifrado a través de una red pública como Internet que conecta dos puntos como si estuvieran en la misma red privada. Proporciona confidencialidad, ya que el tráfico viaja cifrado; autenticidad, ya que se verifica la identidad de los extremos; e integridad, ya que los datos no son alterados en tránsito.
Los tipos de VPN son tres. La VPN de acceso remoto o cliente a sitio conecta un usuario teletrabajador con la red corporativa. La VPN de sitio a sitio conecta dos redes corporativas de forma permanente, como la sede central con una sucursal. La VPN de cliente a cliente conecta dos usuarios individuales.
Los protocolos VPN más importantes son los siguientes.
IPsec es el estándar para asegurar comunicaciones IP, operando en la capa de red. Tiene dos modos: el modo transporte, que solo cifra el payload del paquete IP; y el modo túnel, que cifra el paquete IP completo y añade una nueva cabecera, siendo el más seguro para VPN. IPsec usa dos protocolos: AH o Authentication Header, que proporciona autenticación e integridad sin cifrado; y ESP o Encapsulating Security Payload, que proporciona autenticación, integridad y cifrado. IKEv2 es el protocolo de negociación de claves para IPsec.
OpenVPN es un software de código abierto basado en TLS. Usa el puerto 1194 UDP, aunque puede usar el 443 TCP para evitar bloqueos. Es muy flexible y ampliamente auditado. Usa certificados X.509 para la autenticación.
WireGuard es un protocolo moderno introducido en 2020, con código muy reducido de unas 4.000 líneas frente a las más de 100.000 de IPsec. Es extremadamente rápido y sencillo, usa criptografía moderna basada en ChaCha20 y Curve25519, y opera en el puerto UDP 51820. Está integrado en el kernel Linux desde la versión 5.6.
L2TP combinado con IPsec crea el túnel en capa 2 mediante L2TP y usa IPsec para el cifrado. Es común en sistemas operativos sin necesidad de cliente adicional.
PPTP es un protocolo antiguo de Microsoft que está obsoleto e inseguro y no debe usarse.
Los componentes de una VPN incluyen el concentrador VPN o VPN Gateway que acepta las conexiones entrantes, el software cliente VPN en el puesto del usuario, y los certificados o claves precompartidas para la autenticación. En el split tunneling solo el tráfico corporativo pasa por la VPN y el resto va directamente a Internet. En el full tunneling todo el tráfico pasa por la VPN.
---
## 5. Seguridad en el puesto del usuario
El puesto de usuario o endpoint es el punto de entrada más habitual de los atacantes, mediante correos maliciosos, USB infectados o navegación web comprometida.
Las medidas de seguridad en el puesto del usuario incluyen las siguientes. El antivirus y EDR o Endpoint Detection and Response detecta, bloquea y elimina código malicioso mediante firmas, heurística y análisis de comportamiento. Las actualizaciones y parches del sistema operativo y las aplicaciones corrigen vulnerabilidades conocidas. El cifrado de disco completo mediante BitLocker en Windows o LUKS en Linux protege los datos si el equipo es robado. Las políticas de contraseñas seguras y la autenticación multifactor reducen el riesgo de acceso no autorizado. El DLP o Data Loss Prevention impide la exfiltración de datos sensibles mediante correo, USB u otros canales. El firewall personal en el propio equipo filtra el tráfico entrante y saliente. La formación y concienciación de los usuarios es fundamental porque el eslabón más débil de la seguridad es el humano.
---
## Miniresumen final del tema
La seguridad perimetral protege la red interna mediante firewalls, DMZ, proxies, WAF e IDS/IPS. SSH proporciona acceso remoto seguro a servidores. Las VPN crean túneles cifrados sobre Internet, con protocolos como IPsec, OpenVPN y WireGuard. El SIEM centraliza la gestión de eventos de seguridad. La seguridad en el puesto del usuario incluye antivirus, actualizaciones, cifrado de disco y formación a los usuarios.

View File

@ -44,10 +44,10 @@ async def convertir_archivo(path_md):
print(f"✅ Listo: {final_output.name} (Título: {nombre_tema})")
async def main():
# Asegúrate de que la carpeta 'bloque1' existe relativa a donde ejecutas el script
archivos = sorted(Path('bloque1').glob('*.md'))
# Asegúrate de que la carpeta 'bloque3' existe relativa a donde ejecutas el script
archivos = sorted(Path('bloque3').glob('*.md'))
if not archivos:
print("No se encontraron archivos .md en la carpeta 'bloque1'")
print("No se encontraron archivos .md en la carpeta 'bloque3'")
return
for md in archivos: