Compare commits

..

29 Commits

Author SHA1 Message Date
c2d7e69198 ejs ejemplo
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
2024-12-03 14:34:28 -03:00
93fe7438f7 otras cosas que faltaban 2024-12-03 11:44:25 -03:00
82655ea4ea cosa que faltaba com2 2024-12-03 11:43:08 -03:00
924208cff4 recordatorios finales 2024-12-03 11:42:48 -03:00
37c50eae6c wip: voy por la pagina 146
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
2024-11-12 01:58:39 -03:00
ace27c37d4 una cosa que me falto de discretas
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
2024-11-12 01:58:01 -03:00
c705c74483 lo que hice hasta ahora para el parcial de discretas
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
2024-11-04 20:28:02 -03:00
baaa8636f9 wip: avance de los ejs de discretas
Signed-off-by: federico polidoro <federico.nicolas.polidoro@gmail.com>
2024-10-24 11:34:00 -03:00
70a48ae293 tp maquina de estado
Signed-off-by: federico polidoro <federico.nicolas.polidoro@gmail.com>
2024-10-24 11:33:40 -03:00
b0eb017b69 tp de bases de datos
Signed-off-by: federico polidoro <federico.nicolas.polidoro@gmail.com>
2024-10-24 11:33:18 -03:00
9ed957476b Merge remote-tracking branch 'refs/remotes/origin/main'
Signed-off-by: federico polidoro <federico.nicolas.polidoro@gmail.com>

Signed-off-by: federico polidoro <federico.nicolas.polidoro@gmail.com>
2024-10-18 07:40:37 -03:00
9cc44961af par de cosas que me faltaba commitear 2024-10-18 07:40:00 -03:00
31d14f488b primera parte del resumen de la clase
Signed-off-by: fedpo2 <federico.nicolas.polidoro@gmail.com>
2024-10-16 09:02:07 -03:00
c4a6ea8696 subo clase vieja 2024-10-16 07:53:45 -03:00
3bcefb2e67 paso un par de cosas que me faltaban
Signed-off-by: fede <federico.nicolas.polidoro@gmail.com>
2024-10-08 21:42:32 -03:00
36168f0bcd añadido archivos lfs 2024-09-23 20:53:54 -03:00
89e7f4a658 añadidos lfs 2024-09-23 20:51:39 -03:00
2f09663283 hecho resumen de las primeras 4 clases 2024-09-22 23:13:38 -03:00
1973750c5f listo no pienso subir los 20 pngs de roy 2024-09-19 20:54:41 -03:00
43917e9750 terminada entrega 2024-09-19 20:14:41 -03:00
11e68e87b4 ejercicios luca 2024-09-18 22:57:31 -03:00
f2f56021e3 refactor en el titulo 2024-09-18 21:00:06 -03:00
4c5682dc5f resueltos ej 6 y 7 2024-09-18 20:58:41 -03:00
2c78f3e660 resuelto ej 5 2024-09-18 20:16:30 -03:00
fede
0a78486bb9 saidijasdj 2024-09-18 11:36:51 -03:00
fede
445669cae1 autopercibido 2024-09-17 09:40:40 -03:00
aeef5fd562 Actualizar parcial.org 2024-09-14 19:41:39 -03:00
fede
5fe1505760 solo deje los ejs que van y paso fecha del parcial 2024-09-12 10:47:53 -03:00
fede
8157817e4e todos los ejs 2024-09-12 10:47:02 -03:00
39 changed files with 2855 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
---
title: "Panel Sistema Gestion Hotelera"
author: "Luca Troiano, Francisco Rose Cerna, Federico Polidoro"
---
![](./header.png)
# 1. Consultas SQL
# 2. Funcionalidad de Drill Down y Drill Up
Al seleccionar una Cadena de hoteles, se muestran los distintos hoteles que pertenecen a esa cadena. Y al seleccionar uno de ellos se muestran los datos especificos de ese en particular.
![](https://fedesrv.ddns.net/files/$/Ld5RF)
# 3. Indicadores Visuales
Cuando
# 4. Sistema Autenticacion
Nosotros estamos usando SHA512 para hashear la contraseña una vez llega al backend (no lo hacemos en el front porque este debe tener una coneccion segura usando TLS) Y comprobamos el hash generado por la contraseña ingresada si coinside con el usuario con el mismo hash. En caso de esto ser verdadero devolvemos un JWT al front el cual se almacena en el LocalStorage de la pagina y cuando se intenta acceder al a los componentes del panel se pide una request POST con en su cuerpo un campo token con el valor del JWT almacenado. En caso de coinsidir con uno que tengamos almacenado se redireccionará hacia el panel.
# 5. Tecnologia y Herramientas
| Back | Front | DB |
|------+-------+-----|
|Aspnet| React |MySql|

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -0,0 +1,39 @@
#+title: Mineria de datos
#+options: toc:nil num:nil
* OBJETIVOS
El objetivo de la unidad es la de comprender el concepto de minería de datos, y el proceso de
descubrimiento de conocimiento, como así también la comprensión de las fases de un proyecto de
minería de datos.
GUÍA DE PREGUNTAS PARA REVISAR CONCEPTUALMENTE LA UNIDAD
** 1. ¿En qué consiste el Data Mining y cuál es su utilidad? Explique.
El Data Mining es el proceso de analizar grandes conjuntos de datos para descubrir patrones y conocimientos útiles que mejoren la toma de decisiones y optimicen procesos en diversos campos.
** 2. ¿Por qué se llama minería al proceso de descubrir nuevo conocimiento?
Porque es el descubimiento de informacion nueva en un lugar ya conocido.
** 3. ¿Qué tipos de datos utiliza la minería de datos
Utiliza Tipos de datos estructurados como bases de datos o semiestructurados como xml o json.
** 4. ¿Qué es un proyecto de minería de datos
Es un proyecto en el cual se busca analizar grandes conjuntos de datos.
** 5. ¿Cuál es la relación de la minería de datos con un Data warehouse?
La mineria de datos suele utilizar una data warehouse como fuente centralizada de datos normalizados.
** 6. ¿Cuáles son las fases de un proyecto de minería de datos? Explíquelas.
- Comprensión de los Datos: Recopilar, explorar y evaluar los datos disponibles para determinar su calidad y relevancia.
- Preparación de los Datos: Limpiar, transformar y seleccionar los datos adecuados para el análisis.
- Modelado: Aplicar técnicas y algoritmos de minería de datos para identificar patrones y relaciones.
- Despliegue: Implementar y utilizar los modelos en el entorno real para la toma de decisiones o procesos automáticos
** 7. ¿Qué es la minería de datos?
Un proceso de analisis donde el sujeto es un gran conjunto de datos almacenados para poder tomar decisiones informadas en la empresa.
** 8. ¿Cuáles son las posibles aplicaciones predictivas? 13. ¿Cuáles son las posibles aplicaciones asociativas?
- Las aplicaciones predictivas incluyen previsión de ventas, detección de fraudes, análisis de riesgos y recomendaciones personalizadas.
- Las aplicaciones asociativas incluyen análisis de canasta de compras, identificación de patrones de comportamiento y detección de relaciones entre variables en conjuntos de datos.
** 9. Explique las diferencias entre una variable continua y una discreta. ¿Cómo haría para volver discreta una variable continua? Cite un ejemplo.
Una variable continua es una que posee una infinita cantidad de puntos intermedios entre el 0 y 1. mientra que una discreta posee una cantidad finita. por ejemplo una discreta seria un sistema de numeros que solo permita un numero despues de la coma. ya que desde el 0 al 1 hay 10 numeros 0.1, 0.2, 0.3, ....

BIN
BasesDatosAplicada/tp2.pdf Normal file

Binary file not shown.

44
BasesDatosAplicada/tp4.md Normal file
View File

@@ -0,0 +1,44 @@
---
title: "Trabajo Practico 4"
author: "Federico Polidoro"
---
# 1 Nombre las distintas partes que forman una neurona.
En el ambito de las redes neuronales computacionales:
1- Entrada
Cada neurona recibe una serie de señales de entrada (x_1, x_2, x_3, …) que representan características del problema a resolver
2- Pesos
Cada entrada tiene un peso asociado. Los pesos son ajustables y son los parámetros que se entrenan durante el aprendizaje de la red.
3- Suma ponderada
La neurona calcula una combinación lineal de las entradas y los pesos.
4- Salida
La salida de la neurona es el resultado de aplicar la función de activación a la suma ponderada de las entradas.
# 2 Las neuronas funcionan por:
- [ ] Impulsos Magnéticos.
- [ ] Reacciones químicas.
- [X] Ambas
# 3 Definir que es una R.N.A.
es un sistema de procesamiento de información inspirado en el funcionamiento de las neuronas biológicas. Está compuesta por capas de
neuronas artificiales que procesan datos, donde cada neurona realiza cálculos simples y los transmite a otras neuronas.
# 4 En el aprendizaje no supervisado con RNA, ¿cuales son los dos métodos que se utilizan?
1. Clustering (Agrupamiento): Agrupa datos en subconjuntos de elementos similares, sin etiquetas predefinidas.
2. Reducción: Se utiliza para reducir la cantidad de variables en los datos, preservando la mayor cantidad posible de información.
# 5 De ejemplos de áreas de utilización de R.N.A.
Las Redes Neuronales Artificiales tienen aplicaciones en diversas áreas, tales como:
+ Visión por computadora: Reconocimiento de objetos, clasificación de imágenes, y procesamiento de vídeo.
+ Procesamiento del lenguaje natural: Traducción automática, generación de texto, y análisis de sentimientos.
+ Reconocimiento de voz: Sistemas como los asistentes virtuales.
+ Diagnóstico médico: Análisis de imágenes médicas para detectar enfermedades.
+ Robótica: Control de movimiento y toma de decisiones en robots autónomos.
+ Finanzas: Predicción de mercados bursátiles y detección de fraudes financieros.

BIN
BasesDatosAplicada/tp4.pdf Normal file

Binary file not shown.

Binary file not shown.

1242
Diploma/estado.gaphor Normal file

File diff suppressed because it is too large Load Diff

BIN
Diploma/maquinaestado.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

40
Diploma/strategy.plant Normal file
View File

@@ -0,0 +1,40 @@
@startuml
class Program{
+ static void Main(string[] args)
}
abstract class SortStrategy
{
+ <<abstract>> void Sort(List<string> list);
}
class QuickSort extends SortStrategy
{
+ <<override>> void Sort(List<string> list)
}
class ShellSort extends SortStrategy
{
+ <<override>> void Sort(List<string> list)
}
class MergeSort extends SortStrategy
{
+ <<override>> void Sort(List<string> list)
}
class SortedList
{
- List<string> list = new List<string>();
- SortStrategy sortstrategy;
+ void SetSortStrategy(SortStrategy sortstrategy)
+ void Add(string name)
+ void Sort()
}
Program -l-> SortedList
SortedList "1..*" o--> "1" SortStrategy
@enduml

BIN
Diploma/strategy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

52
Diploma/tp4.org Normal file
View File

@@ -0,0 +1,52 @@
#+title: Tp4
#+begin_src plantuml :file ejercicioApadaptador.jpg
class Cliente
class Balanza implements AdaptadorBalanza{
+ pesar()
}
interface IAdaptadorBalanza{
+ pesar()
- balanza: NuevaBalanza
}
class NuevaBalanza{
+ leerPeso()
}
Cliente --> Balanza: Utiliza
IAdaptadorBalanza "*" o--> "1" NuevaBalanza
#+end_src
#+begin_src plantuml :file tp4.jpg
class Compound{
# boilingPoint: float
# boilingPoint: float
# meltingPoint: float
# molecularWeight: double
# molecularFormula: string
+ <<Virtual>> Display(): void
}
class RichCompound extends Compound{
- chemical: string
- bank: ChemicalDatabank
+ RichCompound(string chemical)
+ <<override>> Display(): void
}
RichCompound "1" -r-> "1" ChemicalDatabank
class ChemicalDatabank{
+ GetCriticalPoint(string compound, string point): float
+ GetMolecularStructure(string compound): stirng
+ GetMolecularWeight(string compound): double
}
class Program
{
- compound: Compound
}
Program "1" -l-> "1" Compound
#+end_src

45
Diploma/tp5.org Normal file
View File

@@ -0,0 +1,45 @@
#+title: Tp5
#+begin_src plantuml :file maquinaestado.jpg
skinparam classAttributeIconSize 0
abstract class State{
# account: Account
# balance: double
# interest: double
# lowerLimit: double
# upperLimit: double
+ Account: Account
+ Balance: double
+ <<abstract>> Deposit(double amount): void
+ <<abstract>> Withdraw(double amount): void
+ <<abstract>> PayInterest(): void
}
class RedState extends State{
- serviceFee: double
+ RedState(State state)
- Initialize(): void
+ <<override>> Deposit(double amount): void
+ <<override>> Withdraw(double amount): void
+ <<override>> PayInterest(): void
- StateChangeCheck(): void
}
class SilverState extends State {
+ SilverState(State state) : this(state.Balance, state.Account)
+ SilverState(double balance, Account account)
- Initialize(): void
+ <<override>> void Deposit(double amount)
+ <<override>> Withdraw(double amount): void
+ <<override>> PayInterest(): void
- StateChangeCheck(): void
}
#+end_src
#+RESULTS:
[[file:maquinaestado.jpg]]

184
Discreta/4.org Normal file
View File

@@ -0,0 +1,184 @@
* Algebra booleana
Un dato puede tomar los datos de 0 o 1, Se utilizan operadores de conjuncion (y) o disyucion (o). Casi siempre se van a mostrar dos ecuaciones y vamos a tener que definir si estas son iguales o no.
** Variable booleana
Comunmente definidos como vectores de valores booleanos. Ej. *B* = {0, 1}, *C* = {1, 0, 1}.
** Funcion booleana
Una funcion Booleana es una que acepta vectores booleanos de entrada y por cada uno de ellos devuelve la misma cantidad de valores booleanos como vectores de entrada
** Propiedades
- Asociativa \\
~a*(b*c) = (a*b)*c~
- Conmutativa \\
~x*y = y*x~
- Distrbutiva \\
~x*(a+b) = xa +xb~
- Neutro \\
~x+0 = x*1~
- Inverso \\
~x*\={x} = 0~
- Doble Complemento \\
~$\overline{\overline{x}}$~
- Morgan \\
~\overline{a + b} = \overline{a} + \overline{b}~
* Actividad 1
- 𝑓(𝑥, 𝑦) = \overline{x} ∙ y
|--------+-----------|
|Valores | Resultado |
|--------+-----------|
| 0 , 0 | 1 * 0 = 0 |
| 0 , 1 | 1 * 1 = 1 |
| 1 , 0 | 0 * 0 = 0 |
| 1 , 1 | 0 * 1 = 0 |
|--------+-----------|
- 𝑓(𝑥, 𝑦) = 𝑥 ∙ \overline{y}
|--------+-----------|
|Valores | Resultado |
|--------+-----------|
| 0 , 0 | 0 * 1 = 0 |
| 0 , 1 | 0 * 0 = 0 |
| 1 , 0 | 1 * 1 = 1 |
| 1 , 1 | 1 * 0 = 0 |
|--------+-----------|
- 𝑓(𝑥, 𝑦) = \overline{x · y}
|--------+-----------|
|Valores | Resultado |
|--------+-----------|
| 0 , 0 | 1 * 1 = 1 |
| 0 , 1 | 1 * 0 = 0 |
| 1 , 0 | 0 * 1 = 0 |
| 1 , 1 | 0 * 0 = 0 |
|--------+-----------|
- 𝑓(𝑥, 𝑦) = 𝑥 + \overline{x} ∙ 𝑦,
|--------+-----------|
|Valores | Resultado |
|--------+-----------|
| 0 , 0 | 0+1*0 = 0 |
| 0 , 1 | 0+1*1 = 1 |
| 1 , 0 | 1+0*0 = 1 |
| 1 , 1 | 1+0*1 = 1 |
|--------+-----------|
* Actividad 2
- 𝑓(𝑥, 𝑦, 𝑧) = 𝑥𝑦 + 𝑧,
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | 0*0+0 = 0 |
| 0, 0, 1 | 0*0+1 = 1 |
| 0, 1, 0 | 0*1+0 = 0 |
| 0, 1, 1 | 0*1+1 = 1 |
| 1, 0, 0 | 1*0+0 = 0 |
| 1, 0, 1 | 1*0+1 = 1 |
| 1, 1, 0 | 1*1+0 = 1 |
| 1, 1, 1 | 1*1+1 = 1 |
|---------+-----------|
- 𝑓(𝑥, 𝑦, 𝑧) = 𝑥 ∙ (𝑦 + 𝑧),
|---------+------------|
| Valores | Resultado |
|---------+------------|
| 0, 0, 0 | 0*(0+0) = 0|
| 0, 0, 1 | 0*(0+1) = 0|
| 0, 1, 0 | 0*(1+0) = 0|
| 0, 1, 1 | 0*(1+1) = 0|
| 1, 0, 0 | 1*(0+0) = 0|
| 1, 0, 1 | 1*(0+1) = 1|
| 1, 1, 0 | 1*(1+0) = 1|
| 1, 1, 1 | 1*(1+1) = 1|
|---------+------------|
- 𝑓(𝑥, 𝑦, 𝑧) = 𝑥𝑦 + 𝑥𝑧,
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | |
| 0, 0, 1 | |
| 0, 1, 0 | |
| 0, 1, 1 | |
| 1, 0, 0 | |
| 1, 0, 1 | |
| 1, 1, 0 | |
| 1, 1, 1 | |
|---------+-----------|
- 𝑓(𝑥, 𝑦, 𝑧) = (𝑥 + 𝑧) ∙ (𝑦 + 𝑧),
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | |
| 0, 0, 1 | |
| 0, 1, 0 | |
| 0, 1, 1 | |
| 1, 0, 0 | |
| 1, 0, 1 | |
| 1, 1, 0 | |
| 1, 1, 1 | |
|---------+-----------|
- 𝑓(𝑥, 𝑦, 𝑧) = 𝑥𝑦 + 𝑧̅̅̅̅̅̅̅̅̅̅̅ ,
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | |
| 0, 0, 1 | |
| 0, 1, 0 | |
| 0, 1, 1 | |
| 1, 0, 0 | |
| 1, 0, 1 | |
| 1, 1, 0 | |
| 1, 1, 1 | |
|---------+-----------|
- 𝑓(𝑥, 𝑦, 𝑧) = 𝑥̅ ∙ 𝑦̅ + 𝑧̅ ,
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | |
| 0, 0, 1 | |
| 0, 1, 0 | |
| 0, 1, 1 | |
| 1, 0, 0 | |
| 1, 0, 1 | |
| 1, 1, 0 | |
| 1, 1, 1 | |
|---------+-----------|
- 𝑓(𝑥, 𝑦, 𝑧) = 𝑥̅ + 𝑦̅ ∙ 𝑧̅ ,
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | |
| 0, 0, 1 | |
| 0, 1, 0 | |
| 0, 1, 1 | |
| 1, 0, 0 | |
| 1, 0, 1 | |
| 1, 1, 0 | |
| 1, 1, 1 | |
|---------+-----------|
- 𝑓(𝑥, 𝑦, 𝑧) = (𝑥̅ + 𝑦̅ ) ∙ 𝑧
|---------+-----------|
| Valores | Resultado |
|---------+-----------|
| 0, 0, 0 | |
| 0, 0, 1 | |
| 0, 1, 0 | |
| 0, 1, 1 | |
| 1, 0, 0 | |
| 1, 0, 1 | |
| 1, 1, 0 | |
| 1, 1, 1 | |
|---------+-----------|

Binary file not shown.

127
Discreta/ResumenParcial1.md Normal file
View File

@@ -0,0 +1,127 @@
---
title: Resumen Parcial 1
author: Federico Polidoro
---
# Clase 1
## Grafos
Los grafos pueden ser descriptos como Graficos compuestos por nodos y vertices que conectan dichos nodos. Tales Vertices pueden o no ser Dirijidos.
## Grados
Estos consisten en el numero de la cantidad de aristas a la que esta conectado un vertice o nodo. Pero en el caso de un grafo dirijido vamos a tener un grado de entrada y otro de salida los cuales se cuentan de forma individual las aristas que llegan o salen de ese nodo.
## Ciclos
Es cuando una arista va de un vertice al mismo vertice.
## Tipos de Grafos
Existen diferentes tipos de grafos estos son:
- Dirijido
Es un Grafo en el cual las aristas tienen una direccion predefinida.
- Completo
Es un Grafo donde todos los vertices estan interconectados entre si directamente.
- Ciclo
Es un Grafo donde todos los vertices estan conectados de forma secuencial por ejemplo el a-b-c-d-al Similar al token ring.
- Rueda
Este es como el Grafo ciclo pero hay un nodo extra que esta conectado en el centro con los demás.
- Estrella
Este es similar a como funciona el 802.11 donde todos los vertices estan directamente conecrados con un vertice central.
- Regular
Es un Grafo donde todos los vertices tienen el mismo grado.
- Conexo
Es un Grafo donde no hay vertices sueltos sino que es posible crear un camino de cualquier vertice a cualquier otro.
## Matrices
### Adyacencia
Siempre es cuadrada e contiene una relacion entre los vertices y con cuales estan relacionados
Por ejemplo en un triangulo.
| | A | B | C |
| A | 0 | 1 | 1 |
| B | 1 | 0 | 1 |
| C | 1 | 1 | 0 |
### Incidencia
Una matriz de incidencia tiene la relacion entre el vertice y la arista volviendo al ejemplo
| |e1 |e2 |e3 |
| A | 1 | 1 | 0 |
| B | 0 | 1 | 1 |
| C | 1 | 0 | 1 |
En esa tabla se ve que la arista 1 se conecta entre el nodo a y c, la 2 con a y b y la 3 con b y c. Dado que el ejemplo queria mostrar un triangulo.
# Clase 2
## Grafo Plano
Este es un grafo el cual sus aristas no se cortan entre si al momento de la graficacion. Se puede re ubicar todos los componentes mientras no se alteren sus relaciones, para poder mostrar si es plano o no.
## Arboles
Consiste de un Grafo Conexo sin ciclos. Existe un tipo de arbol dirijido conocido como arbol con raiz
# Clase 3
## Arboles Recubridores
En un marco teorico en el cual necesitas conectar todos los vertices usando la menor cantidad de conexiones posibles lo que estas buscando es una estructura de arbol. Un Arbol recubridor se puede observar en grafos como un subgrafo con forma de arbol y que contiene todos los vertices del grafo dado.
## Minimales
Para ciertas aplicaciones interesa conocer el arbol recubridor de peso minimo, dandole un peso a cada union lo que busca es uno el cual tenga el menor costo de intalacion. (no se si me explico). Tambien existen los maximales que son literalmente lo opuesto.
## Busqueda de Profundidad
Es un algoritmo de busqueda en el cual se empieza elijiendo los nodos más superficiales ( a -> b -> c )
una vez que llegamos al final volvemos para arriba 1 nodo a la vez buscando si hay algun nodo que no hayamos encontrado para ir hacia ese en caso de no haberlo vamos 1 más para arriba
## Busqueda a lo Ancho
Es un algoritmo que intenta recorrer todos los nodos posibles lo que hacemos es tener dos arrays de nodos vistos y lo que hacemos es que primero añadimos los nodos que estan directamente conectados con el nodo que estamos parados al array de nodos vistos y añadimos el nodo en el que estamos parados al array de recorrido. Lo que sigue es ir al siguiente nodo y hacer lo mismo hasta llegar a nuestro destino final. El criterio para recorrer los nodos es que agarramos los que son más cercanos en numero de saltos al nodo inicial primero.
# Clase 4
## Recurrencias
El concepto de la recurrencia viene de lo que en matematicas se llama una sucesion, es decir, un conjunto ordenado de numeros.
# Clase 5
## Recurrencias Lineales
El ejemplo que se da en la clase es un: $a_n = c * a_{n-1}$ donde c es un coeficiente constante
## Primer orden
son las que el offset es de 1 $\pm$
## Segundo orden
es cuando la diferencia entre los offset es 2 $\pm$ . Entre el qde menor offet y el de mayor.
# Clase 6
## Recurrencias No Homogeneas
Una recurrencia no homogenea es cuando dentro de la secuencia esta contiene un elemento el cual no depende de la recurrencia por ejemplo un
$a_n = 2a_{n-1} + 3n$
No es Homogenea mientras que un
$a_n = 2a_{n-1}$
Si lo es, y si quisiera hacer esta ultima en una no homogenea podria hacer:
$a_n = 3a_{n-1} + 3n$
# Clase 7
## Enteros Divisibilidad
Se puede decir que un numero A es divisible por B y tambien por -B, o que B es multiplo de A.
## Primos
De la primaria sabemos que un numero primo es tal que solo puede dividirse por $\pm$ si mismo o $\pm$ 1 y todos los que no cumplen con eso son conocidos como **Compuestos**.
## Teorema de la Aritmetica
Todo numero entero mayor a 1 se puede escribir como producto de numeros primos en forma unica.
## Nota
- MCD,
Maximo comun Divisor
- MCM,
Minimo comun Multiplo

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,10 @@
#+title: Ejs Practica
- *parcial 1*
[[./1.png]]
[[./2.png]]
- *parcial 2*
[[./3.png]]

Binary file not shown.

Binary file not shown.

203
Discreta/entrega2.org Normal file
View File

@@ -0,0 +1,203 @@
#+title: Trabajo Practico 2 - Matematicas Discretas
#+author: Martin Luraschi, Luca Troiano, Roy Herrera, Federico Polidoro
#+options: num:nil toc:nil
* 1. - Dar los primeros cinco términos de una sucesión que verifique la relación derecurrencia a_n = n a_{n-1}.
- a_1 = 1
- a_2 = 2 * a_1 = 2 * 1 = 2
- a_3 = 3 * a_2 = 3 * 2 = 6
- a_4 = 4 * a_3 = 4 * 6 = 24
- a_5 = 5 * a_4 = 5 * 24 = 120
* 2. - Dar los primeros seis términos de una sucesión de términos positivos que verifique la relación de recurrencia a_n = a_{n-1} / a_{n-2}.
- a_1 = 1
- a_2 = 2
- a_3 = a_2 / a_1 = 2 / 1 = 2
- a_4 = a_3 / a_2 = 2 / 2 = 2
- a_5 = a_4 / a_3 = 1 / 2 = 1/2
- a_6 = a_5 / a_4 = (1/2) / 1 = (1/2)
* 3. - Dar los primeros cinco términos de una sucesión que verifique la relación de recurrencia a_n = a_{n-1} + n^2.
1. a^1 = a^{1-1} + 1^2 = 1 + 1 = 2
2. a^2 = a^{2-1} + 2^2 = 2 + 4 = 6
3. a^3 = a^{3-1} + 3^2 = 6 + 9 = 15
4. a^4 = a^{4-1} + 4^2 = 15 + 16 = 31
5. a^5 = a^{5-1} + 5^2 = 31 + 25 = 56
* 4. - Dar los primeros cinco términos de una sucesión que verifique la relación de recurrencia a_n = r a_{n-1}.
1. a^1 = r * a^{1-1} = r*1 = r
2. a^2 = r * a^{2-1} = r*r = r^2
3. a^3 = r * a^{3-1} = r*r^2 = r^3
4. a^4 = r * a^{4-1} = r*r^3 = r^4
5. a^5 = r * a^{5-1} = r*r^4 = r^5
* 5. - Dar los primeros cinco términos de una sucesión que verifique la relación de recurrencia a_n = (n+1)a_{n-2}.
1. a_1 = (1+1)a_{1-2} = 2 * a_{-1}
2. a_2 = (2+1)a_{2-2} = 3 * a_{0}
3. a_3 = (3+1)a_{3-2} = 4 * a_{1}
4. a_4 = (4+1)a_{4-2} = 5 * a_{2}
5. a_5 = (5+1)a_{5-2} = 6 * a_{3}
Esto verifica que hay una relacion de recurrencia porque todas los posibles terminos a_n siempre van a incluir un a_{n-2} vease si extiendo el a_5
\begin{center}
a_5 = (5+1)a_{5-2} = 6 * a_{3} = 6 * 4 * a_{1} = 6 * 4 * 2 * a_{-1} = ...
\end{center}
* 6. - Dar los primeros seis términos de una sucesión que verifique la relación de recurrencia a_n = (n+1)a_{n-2} tal que a_0 = 2.
0. a_0 = 1 * a_{-2} = 2
1. a_1 = (1+1)a_{1-2} = 2 * a_{-1}
2. a_2 = (2+1)a_{2-2} = 3 * 2 = 6
3. a_3 = (3+1)a_{3-2} = 4 * a_1
4. a_4 = (4+1)a_{4-2} = 5 * 6 = 30
5. a_5 = (5+1)a_{5-2} = 6 * 4 * a_1
* 7. - Dar los primeros seis términos de una sucesión que verifique la relación de recurrencia a_n = n a_{n-1} tal que a_3 = 18.
1. a_2 = 6
2. a_3 = 3 * a_{3-1} = 18
3. a_4 = 4 * a_{4-1} = 4 * 18 = 72
4. a_5 = 5 * a_{5-1} = 5 * 72 = 360
5. a_6 = 6 * a_{6-1} = 6 * 360 = 2160
6. a_7 = 7 * a_{7-1} = 7 * 2160 = 15120
* 8. - Resolver las relaciones de recurrencia
- a. a_n-2/3 a_{n-1} = 0, n \geq 1; a_0 = -1
\begin{center}
a_{n} = \frac{2}{3} a_{n-1}
a_{1} = -\frac{2}{3}
a_{2} = \frac{2}{3} \left( -\frac{2}{3} \right) = -\frac{4}{9}
a_{3} = -\frac{8}{27}
\end{center}
- b. 2 a_n+1-3 a_n = 0, n \geq 0; a_0 = 1
\begin{center}
a_{n+1} = \frac{3}{2} a_{n}
a_{n} = \frac{3}{2} a_{n-1}
a_{n} = \left( \frac{3}{2} \right)^n a_{0}
a_{n} = \left( \frac{3}{2} \right)^n
\end{center}
- c. 2 a_n+1-3 a_n = 0, n \geq 0; a_0 = -2
\begin{center}
a_{n} = (-2) \left( \frac{3}{2} \right)^{n}
\end{center}
- d. a_n+1 - 5a_n + 6a_{n-1} = 0 n \geq 1; a_0 = 0, a_1 = 2
\begin{center}
r^2 - 5r + 6 = 0
(r - 2)(r - 3) = 0
a_n = A * 2^n + B * 3^n
a_0 = A * (2)^0 + B * (3)^0 = A + B = 0
A = -B
a_1 = A * (2)^1 + B * (3)^1 = A2 + B3 = 2
A2 + B3 = 2
(-B)2 + B3 = 2
B = 2
A = -B = -2
a_n = -2*2^n+2*3^n
\end{center}
- e. a_n+1 = 4a_n - 5a_{n-1}, n \geq 1; a_0 = -1, a_1 = 3
\begin{center}
Uh...
\end{center}
- f. a_n = 4 a_{n-1} - 4a_{n-2}, n \geq 2; a_0 = 6, a_1 = 8
\begin{center}
a_n = (6-2n) * 2^n
\end{center}
- g. a_n = 2a_{n-1} - a_{n-2}, n \geq 2; a_0 = 1, a_1 = 2
\begin{center}
a_n = 1 + n
\end{center}
* 9. - Dada la relación de recurrencia 8 a_{n+2} + 4 a_{n+1} - 4 a_n = 0. n \leq 0; Indicar si las siguientes sucesiones pueden ser solución:
- a. a_n = 3 (-1)^n
[[./formula que estaba en formato chinhenhonshin hecha por roy 1.png]]
- b. a_n = 3 (-1/2)^n +1
[[./formula que estaba en formato chinhenhonshin hecha por roy 2.png]]
- c. a_n = 4 (-1)^n + (1/2)^n
[[./formula que estaba en formato chinhenhonshin hecha por roy 3.png]]
- d. a_n = -4 (1)^n + (1/2)^n
[[./formula que estaba en formato chinhenhonshin hecha por roy 4.png]]
En caso afirmativo, justificar e indicar cuáles serían las condiciones iniciales que hay que imponer para obtener dicha solución. En caso negativo, justificar.
* 10 - Dada la relación de recurrencia a_{n+2} a_n = 0, indicar si las siguientes sucesiones pueden ser solución:
- a. a_n = 3(1)^n
[[./formula que estaba en formato chinhenhonshin hecha por roy 5.png]]
- b. a_n = 3(1/2)^n + 1
[[./formula que estaba en formato chinhenhonshin hecha por roy 6.png]]
- c. a_n = 7 + 2(1)^n
[[./formula que estaba en formato chinhenhonshin hecha por roy 7.png]]
- d. a_n = 1/3 2^n
[[./formula que estaba en formato chinhenhonshin hecha por roy 8.png]]
- e. a_n = 8
[[./formula que estaba en formato chinhenhonshin hecha por roy 9.png]]
En caso afirmativo, justificar e indicar cuáles serían las condiciones iniciales que hay que imponer para obtener dicha solución. En caso negativo, justificar.
* 13 - Una inversión de $100 iniciales recibe un interés de 10% anual, capitalizado mensualmente. Plantear una relación de recurrencia para calcular el dinero acumulado al cabo de n meses.
La ecuación de recurrencia necesaria para calcular la ganancia de dinero luego de n meses es:
r = 0.1/12
r = 0.00833
a^n = {1+r} * a^{n-1}
Hay que tener en cuenta que a^0 = 100
* 18 - Hallar una relación de recurrencia para a_n, el número de formas de avanzar n metros dando pasos de 1 o 2 metros. Resolverla.
La relación de recurrencia, en este caso, será:
\begin{center}
a^n = a^(n-1) + a^(n-2)
\end{center}
Se considerará que a^0 = 1, debido a que, como no hay mas metros que avanzar, la única opción para llegar a destino es no moverse También se considerará que a^1 = 1, debido a que la única opción para llegar a destino es avanzar 1 metro De acuerdo con lo anterior podemos resolver la secuencia planteada
2. a^2 = a^(2-1) + a^(2-2) = 1 + 1 = 2
3. a^3 = a^(3-1) + a^(3-2) = 2 + 1 = 3
4. a^4 = a^(4-1) + a^(4-2) = 3 + 2 = 5
5. a^5 = a^(5-1) + a^(5-2) = 5 + 3 = 8
6. a^6 = a^(6-1) + a^(6-2) = 8 + 5 = 13
* 25 - Un préstamo de $2500 se debe pagar en cuotas fijas mensuales de $300, con un interés mensual de 8%. Si an es el dinero adeudado en el mes n, plantear una relación de recurrencia para an. ¿En cuántos meses se saldará la deuda?
\begin{center}
a(n) = a(n-1) * 1,08 - 300
\end{center}
En el mes 15 la deuda queda saldada

BIN
Discreta/entrega2.pdf Normal file

Binary file not shown.

90
Discreta/resumen2.org Normal file
View File

@@ -0,0 +1,90 @@
#+title: Resumen 2 - Mates Discreta
* Algebra booleana
Es un sistema en el cual solo se pueden tomar dos valores 1 o 0 y
basa su funcionamiento en el uso de compuertas logicas las cuales pueden ser:
- AND,
Necesita que ambos terminos son 1 para dar un 1. Se describe con un (*) o un $\land$
- OR,
Cuando una de sus entradas es 1 da 1. E representado con un (+) o un $\lor$
- NOT,
Invierte el valor del termino. puede ser representado con un $\overline{x}$ o un $\lnot$
- Xor,
Si bien la profe dijo que no lo va a tomar lo explico ahora. Solo da 1 cuando una entrada es positiva. Representado con un $\oplus$
* Ordenes
Una funcion booleana es de orden n dependiendo de la cantidad de entradas que posea, es decir, si tiene 4 entradas es de cuarto orden.
* Variable bool
Este es un dato que puede variar entre los valores del siguiente conjunto, { 0, 1 }. Y un vector de n variables se representaria de esta forma (x_1, x_2, x_3, ..., x_n).
* Funcion bool
Una funcion le asigna un valor a cada entrada. ej, f(x_1, x_2, ..., x_n).
* Tablas
Tambien conocidas como tablas de la verdad son representaciones de todos los valores posibles con las variables dadas y todos los resultados posibles de la funcion booleana.
Ejemplo de una tabla
|------|--------|-----|
| # | x*y | rta |
|------|--------|-----|
| 0,0 | 0 * 0 | 0 |
| 0,1 | 0 * 1 | 0 |
| 1,0 | 1 * 0 | 0 |
| 1,1 | 1 * 1 | 1 |
|------|--------|-----|
* Formas Normales
** FND
*Forma Normal Disyuntiva*, consiste de disyuncio (OR) de operaciones AND. un ejemplo:
\begin{center}
$f(a, b, c) = (a \land b \land \lnot c) \lor (\lnot a \land b\land \lnot c) \lor (\lnot a \land \lnot b \land \lnot c)$
\end{center}
** FNC
Conocida como *Forma Natural Conjuntiva* Consiste de operaciones AND unidas por operaciones OR.
\begin{center}
$f(a, b, c) = (a \land b \land c ) \lor (\lnot a \land b \land c ) \lor (a \land \lnot b \land \lnot c)$
\end{center}
* Congruencia
Por definicion la congruencia son varios terminos que son consistentes entre sí, para matematicas discretas serian los terminos que al calcular un mismo modulo (resto de divicion) tienen el mismo resto.
Por ejemplo:
(1, 7, 13) modulo 6 tienen el mismo resto, por lo que son congruentes entre sí.
*NOTA:* Es fácil notar que los numeros que son congruentes entre si pueden ser representados como un offset constante (C) de un multiplo del valor modulo. Para el caso anterior calculé los numeros congruentes como: $f(x, C) = x*6 + C$ donde C es 1.
Veamos un ejercicio ejemplo:
#+begin_quote
La idea es encontrar valores de x que, cuando los multiplicás por 5, el resultado tenga un resto de 3 cuando lo dividís por 9. Es decir, querés ver qué múltiplos de 5, al sumarle o restarle algo, te dan un número que cae en la clase de resto 3, si lo mirás módulo 9.
#+end_quote
Lo que hay que encontrar es un numero que al ser multiplicado por 5 nos dé un numero que restado 3 sea multiplo de 9. Es decir, el numero más el 3 tiene que ser multiplo de 5 pero sin el 3 de 9.
9 + 3 = 12 [no multiplo 5].
18 + 3 = 21
27 + 3 = 30 [YESSS mul 5 al fin]
y como 30 / 5 = 6 entonces 6 es el primer resultado.
encontremos el segundo
36 + 3 = 39
45 + 3 = 48
54 + 3 = 57
3 + 3 = 66
Además todos los numeros que son menores que el numero del modulo pertenecen a un grupo de resto.
* Teorema del resto chino
haganse un favor y miren este video:
[[https://www.youtube.com/watch?v=v8XsnE1_u70]]

BIN
Discreta/resumen2.pdf Normal file

Binary file not shown.

4
comunicaciones2/.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
apunte_parcial1.pdf filter=lfs diff=lfs merge=lfs -text
recreadoej1.png filter=lfs diff=lfs merge=lfs -text
simplificacionTCP2Redes.png filter=lfs diff=lfs merge=lfs -text
simplificacionTCP.png filter=lfs diff=lfs merge=lfs -text

47
comunicaciones2/16_10.md Normal file
View File

@@ -0,0 +1,47 @@
# Rip
Es un protocolo para poder descubrir vecinos y definir las rutas segun la cantidad de saltos al destino
Carateristicas (guitarra martin:)
1. Robusteza,
2. Simpleza,
Es un protocolo adaptativo.
Las tablas se publican cada 30s, y si se cae un router en ese entonces no me voy a enterar hasta que pasen otros 30s para tener las nuevas tablas de routeo, el problema con esto es que se dedica mucho ancho de banda a actualizar las tablas.
## Desventajas de rip
Es un protocolo que publica las tablas cada 30s,
Soluciones propuestas:
- Argayo: publicar cada 90s (?)
Con esto lo que arreglamos es la congestion pero además añadimos que en cualquier momento un router puede publicar en cualquier momento que un router se cayó por broadcast.
# OSPF
Es un Protocolo de estado del enlace, Son protocolos que definen la ruta siguiendo metricas las cuales son definidas por los *Sistemas Autonomos* ( **LACNIC** en nuestro caso ).
Las metricas pueden ser:
1. Ancho de Banda.
2. Cantidad de Saltos. (por si el router es viejo).
3. Cualquier otra metrica que se me ocurra
Pero esto solo lo puede hacer de forma interna de un sistema autonomo.
Lo que hace este protocolo es enviar las actualizaciones contra el estado anterior de la red, Osea, cuando se cae un router lo que sucede es que el primero que se entere de eso va a comunicar a los demás que esta caido. o cuando se detecta un router nuevo se da el dato. Pensalo como funciona AV1 cuando haces streaming de video.
---...---
# Pregunta trampa del profe
> **ES MEJOR RIP O OSPF?!?!??**
La realidad es que rip posee una configuracion más simple, pero tiene la contra de que poluye demaciado la red con tabla de ruteo.
Mientras que OSPF si bien tiene menos consumo, no es compatible con RIP, si hay un ruter en la cadena que no tiene soporte de OSPF hay que usar RIP.
No es una solucion que se toma la ligera. mamita no se escribir.
# RIP2
Es como Rip pero solo envia los cambios, sigue sin necesitar un sistema autonomo y continua utilizando la logica de la menor cantidad de saltos.
# BGP

48
comunicaciones2/2.org Normal file
View File

@@ -0,0 +1,48 @@
#+title:2
* Paquete de internet
tambien conocido como datagrama, este posee un encabezado y un payload. no esta orientado a la coneccion por lo que se comunica por meddiaos ya establecidos.
No se envian el orden sino que va con el enrotulamiento que se pueda y el receptor tiene que mantener los paquetes en memoria parra reconstruir la informacion y pasarla a la capa superior
* Ipv4
** header lenght (hlen)
Se usa para sabe desde que bit hasta que bit llega el header
** Type of service
Define una descripcion de lo que tiene el paquete.
** Total Leght
Contiene la longitud total del paquete
** Source Ip / direccion Destino
Ip de origen, Direccion de destino
** Padding
Informacion de relleno cualquiera del disco dde tu pc.
** CheckSum
Cada uno de los bytes de los renglones de la trama se pasan a bits, se suman y al final de invierten. Esto se comprueba contra el campo de checksum del paquete.
** TTL
Es el tiempo de vida de un paquete o a cantidad de saltos que le quedan.
* Tabla de Ruteo
Si en tu tabla de ruteo no tenes una forma de alcanzar a un destino pero se tiene coneccion contra
* Ipv6
** que se quitó
- Header Lenght, \\
~Total tienen todos el mismo tamaño~
- Checksum, \\
~Se deriva a otras capas de la coneccion~
** Link Mtu
Es la capa de enlace de datos.
** Path Mtu
Minimo Mtu ente origen y destino.
* notas
- Mayor Esfuerzo.

View File

@@ -0,0 +1,339 @@
#+title: Resumen parcial 1
#+author: Federico Polidoro
* Clase 1 - Ethernet/Internet
** Ethernet
- Entrega con el mejor esfuerzo \\
El hardware no proporciona informacion sobre si el paquete fue recibido.
- Tecnologia de difusion \\
Todas las estaciones comparten un canal
- Control contra colisiones \\
Usa CSMA/CD
*** Usa los medios de..
1. Utp (T)
2. Coaxial (C o un numero solo | CR)
3. Fibra Optica (F | S | L | E)
*** Trama ethernet
| preambulo | destino | origen | tipo | payload | CRC |
| 8oct | 6oct | 6oct | 2oct | 64 a 1500 oct | 4 oct |
** MAC
Son las direcciones fisicas del hardware que se conecta a la red todos los terminos que te parezcan que se puedan referir a esto son tratados por ogial ( MAC, direccion fisica, hardware unicast addr)
Los tipos de direcciones pueden ser:
- Unidifucion, \\
Pensa en cuando te conectas a un socket solo.
- Difusion, \\
Como cuando mandas un paquete a 192.168.1.255 y el router lo envia por broadcast a todos los dispositivos conectados.
- Multidifucion, \\
Envia a las direcciones especificadas
*** Esquemas de direccionamiento
- Estatico, \\
addr por el fabricante
- Configurable, \\
addr por el usuario
- Dinamico, \\
addr por el software en startup,
** Arquitectura de red
Su objetivo es abstraer los detalles de la red.
esto lo logra a traves de aplicaciones de nivel de sistema opetativo. o a nivel de red.
Para lograrlo a nivel de red se utlizan ruteadores. Estos son dispositivos que se encuentran entre la coneccion de una red con otra, *Los ruteadores utilizan la red de destino no la maquina para rutear el paquete*
*** Propiedades
- Conectividad fin a fin.
- Transparencia
** Modelos
*** OSI
Las capas no definen el protocolo sino funciones de comunicacion que pueden ser cumplidas por los protocolos
Las capas no necesitan saber como funcionan las demás solo como envian o reciben los los datos entre ellas.
*** TCP/IP
Usa menos capas que el modelo OSI
1. Capa de Acceso de red.
2. Capa de Internet.
3. Capa de Transporte.
4. Capa de Aplicación.
** Servicios a Nivel de Red
*** Sin Conexión de entrega de paquetes
- Se rutea basandose en la direccion.
- Cada Paquete se Rutea por separado.
- No garantiza entrega.
- No garantiza orden de llegada.
*** Transporte de flujo confiable
- Establese conexión entre las computadoras.
- Trabaja con acuse de recibo.
** Tecnologia
- Internet no es un nuevo tipo de red, \\
Es un metodo de interconexión.
- Redes WAN Redes LAN, \\
WAN : Mas lentas, Delay mayores, Altas tasas de errores \\
LAN : Rápidas, Bajo Delay, Bajas tasas de errores
* Clase 2 - ARP/RARP
** Direcciones IP
Su objetivo es que cualquier computadora se pueda conectar con cualquier otra.
Las direcciones ipv4 tienen una longitud de 32 bits.
- Son similares a las direcciones mac
- Unicas por host en el internet
- Busca un ruteo eficiente
- Se dividen en dos partes: \\
Host y Red
*** Caracteristicas deseables
- Compacta
- Universales
- Independientes del hardware
*** Direcciones A,B y C
| class | netid | hostid |
|-------|-------|--------|
| A | 8bit | 24bit |
| B | 16bit | 16bit |
| C | 24bit | 8bit |
*** Direcciones
Estas representan una conexión a la red mas no una computadora.
- Cuando el hostid = 0 nos referimos a la red (192.168.1.0)
- Cuando el hostid = 255 representa la ip de broadcast (192.168.1.255)
Al rutear se usa la netid
*** direcciones especiales
- 0.0.0.0 Este host
- red y todo 1 broadcast
- 127.0.0.1 loopback
** Ipv6
*** Limitaciones v4
las ipv4 ya estan agotadas. y no se pueden diferenciar los datagramas udp de los tcp cuando estan encriptados
*** Funcionalidad
- Nuevo header, \\
minimiza el procesamiento
- Más direcciones, \\
Busca eliminar la necesidad de tener nat
- IPsec, \\
Provee Integridad y auth de datos
- ICMPv6, \\
Mejora las interacciones entre nodos
*** Direcciones
Permite 6.6 * 10^{23} direcciones.
y los tipos de direcciones pueden ser:
- Unicast, \\
hacia un dispositivo.
- Multicast, \\
para grupos, nodos o interfaces.
- AnyCast, \\
Unicast a varios dispositivos
** Arp
Para que dos maquinas se comuniquen deben de conocer las direcciones fisicas. El usuario lo que conoce es la direccion ip. por lo que arp en base a una direccion ip te da una direccion mac. Utiliza un broadcast a los dispositivos para que el que tiene la ip coinsidente con la del destino responda con su direccion mac.
*No* es utilizado por ipv6.
Para evitar hacer muchas peticiones se almacena una tabla ARP y normalmente se eliminan las entradas cada 20 mins.
** Rarp
Es lo contrario a arp, con una direccion mac te devuelve una direccion ip. usado en maquinas sin disco duro, muy antiguo.
Reemplazado por Dhcp.
* Clase 3 - ICMP - IP
** Paquetes
Tambien conocidos como datagramas son un servicio no orientado a la coneccion el cual consiste de un header y un payload.
** Headers
Es de una longitud de _20bytes_ en *ipv4*, mientras que *ipv6* es de _40bytes_.
*** Comparacion
En ipv6 se quito la checksum, la flag, el header lenght.
** Mtu
*M*aximun *T*ransfer *U*nit\\
Consiste en el maximo tamaño que puede tenern un datagrama en octetos.
- Link Mtu, \\
define el limite en la capa de datos.
- Path Mtu, \\
define el limite con lo maximo que pueden ofrecer los nodos intermedios entre el emisor y receptor.
- Mtu min ipv6, \\
1280 bytes
** Fragmentacion Ipv4
Los Routers dividen los datagramas en fragmentos que se rutean individualmente. En ipv6 no se fragmentan.
un caso donde se emplea la fragmentacion es cuando un router "a" Tiene un Mtu de 4000 y otro "b" tiene uno de 400 y se quiere enviar un paquete de 4000 octetos. lo que sucede es que el paquete se tiene que fragmentar en 10 fragmentos que se rutean del router "a" al "b". Donde el router "a" se encarga del fragmentado.
*** Reensamblado
Se realiza en el destino final cuando llega el primer fragmento. si el datagrama no se puede completar este se descarta.
** ICMP
Es un mecanismo de reporte de errores utilizado por los routers e informan solo al origen. (internamente funcionan sobre ip)
* Clase 4 - Tcp/ip Core - Udp
** Udp vs Tcp
| Udp | Tcp |
|----------------------------|-------------------------|
| No orientado a la conexion | Orientado a al conexion |
| Mejor Esfuerzo | Lento pero Confiable |
** Udp
Es un protocolo que no maneja conexiones ni tiene interes en que los datos lleguen en forma,
#+begin_quote
La responsabilidad de la correccion de errores corresponde a la aplicacion.
#+end_quote
Trabaja en la capa de transporte.
El maximo tamaño de un datagrama es de 65535 bytes. el header ip es de 20/40 bytes y el udpo es de 8 bytes
*** CheckSum
Es opcional pero recomendada, lo de opcional viene porque udp esta pensado en que las implementaciones operen con la menor cantidad de trabajo computacional.
*** Socket
Un define un punto extremo de la coneccion en el caso de udp/tcp es la direccion ip + puerto.
** Puertos
- Los menores a 1024 son *well known*. En linux los unicos procesos que pueden utilizar estos puertos son los que tienen acceso root.
- Los mayores a 1024 los puede usar cualquiera y pueden tener cualquier servicio.
** Tcp
Utiliza Ip para transmitir datos. Ofrese un servicio de transferencia de dfatos eficiente y confiable a los programas. Compensa las perdidas y retardos sin sobrecargar redes ni enrutadores.
*** Caracteristicas
- Full Duplex (transfiere en ambas direcciones)
- Fiable
*** Confiable
Tiene un handshake de 3 direcciones para asegurar la confiabilidad.
1. El receptor envia ACK cuando llegan los datos
2. El emisor inicia un timer con la emision.
3. Si no llega ACK se Reenvian los datos.
*** Ciclo Tcp
1. Establecimiento de conexion.
2. Transferencia de datos.
3. Cierre de conexion.
*** Viaje en Redondo - Tiempo
\begin{center}
RTT = A * RTT + (1-A) NRTT
\end{center}
Siendo que NRTT sea el ultimo RTT medido
* Clase 6 - SubRedes
** Proxy Arp
Es cuando hay varias subredes y una red "original" y una maquina (M) en la red original la cual le manda una request ARP a la maquina (N) en la subred 1 al estar en otra red la request no le va a llegar. pero como el router de la subred 1 si se entera de la request ARP este le va a reeinviar la request a las maquinas que tiene en la red, en caso de que una responda el router se va a hacer pasar por la maquina que respondio y le va a enviar la direccion mac de la maquina (N) a (M)
** Mascaras
Es una palabra de 32 bit donde los 1 represwentan los bits del netid y los 0 los del hostid. No necesitan ser contiguos pero se recomienda.
En una red tipo c tenemos que tener en cuenta que el ultimo octeto tenemos que definir cuantos bits vamos a usar para diferenciar las subredes
entonces si tenemos una mascara /24 y tenemos que hacer 6 subredes para 25 usuarios hariamos
calcular cantidad de host:
\begin{center}
$2^5 - 2 = 30$
\end{center}
Calculamos la longitud de la mascara de red:
\begin{center}
$32 - 5$
\end{center}
y como vamos a usar 5 bits para los hosts nos quedan 3 (osea 8-5) bits para definir hasta 8 subredes de 30 hosts.
** Vlsm
Con este metodo podemos subnetear para que se refleje la cantidad exacta de hosts necesarios en cada punto de la red. El apunte tambien lo describe como direccionamiento jerarquico.
*** Pre requisitos
1. verificar que los enrutadores con los que se cuenta todos soportan protocolos que permiten VLSM
2. Los enrutadores deben de basarse en "la mayor coinsidencia" Notese que mientras más grande es el numero de bits significativos compartidos entre redes menor es el grupo de ips a las que dirije. entonces la mejor ruta es la que cuenta con el /n mayor
*** Ejemplo simple VLSM
En una empresa con 3 sucursales y una casa central unidas por una red wan
- Londres: 28 hosts.
- n. york: 12 hosts.
- Tokio: 12 hosts.
- Casa central: 60 hosts.
Se Asigna la direccion 192.168.10.0/24
Como solo necesitamos 3 subredes vamos a dejar 2 bit para direccionamiento\\
|#0|192.168.10.0/26|
|#1|192.168.10.64/26|
|#2|192.168.10.128/26|
|#3|192.168.10.192/26|
Entonces para #0:
|1^{er} host|192.168.1.1|
|ultimo host|192.168.1.62|
|broadcast |192.168.1.63|
Si tomamos las de #1 y las asignamos para la sede de londres tendriamos que como londres solo necesita 28 hosts podemos usar una mascara de /27 (32-5) sabiendo que 2^5 = 32. esto nos deja con 3 bit de direccionamiento para poder usar los hosts que sobran en otra subred
#1.0: Londres: 192.168.1.64/27
|1^{er} host|192.168.1.65|
|ultimo host|192.168.1.94|
|broadcast |192.168.1.95|
La sede de n.york necesita 12 hosts y en #1.1 tenemos 32-2 hosts disponibles por lo que subnateamos otra vez con mascara de /28
#1.1.0
|IP Red|192.168.1.96/28|
|1^{er} host|192.168.1.97|
|ultimo host|192.168.1.110|
|broadcast |192.168.1.111|
y para la subred de tokio usamos #1.1.1
|IP Red|192.168.1.112/28|
|1^{er} host|192.168.1.113|
|ultimo host|192.168.1.126|
|broadcast |192.168.1.127|

Binary file not shown.

View File

@@ -0,0 +1,219 @@
#+title: apunteParcial2
#+author: FedericoPolidoro
* TCP
Es un protocolo muy utilizado por distintos motivos uno de los cuales es que asume muy poco de la red en la que esta funcionando por lo que puede tanto funcionar en redes ethernet simples como en otras más complejas. Ademas es preferido en situaciones donde se envian grandes volumenes de datos y un protocolo sin coneccion ni deteccion de errores no es lo más optimo porque obliga al ingeniero a programar esto manualmente en la aplicacion en la capa 8 (OSI).
** Caracteristicas
1. Oritentacion de flujo,\\
Cuando dos programas de aplciacion transfieren grandes volumenes de datos, pensamos en los datos como un flujo de bits, divididos en octetos de 8 bits. El servicio de entrega en la maquina destino pasa al receptos la misma secuencia de octetos que los emitidos.
2. Conexion de circuito virtual,\\
La transferencia de flujo es analoga a realizar una llamada telefonica. Conceptualmente las computadoras realizan llamadas las cuales las receptoras tienen que aceptar para empezar la comunicacion.
3. Transferencia con memoria intermedia, \\
Las aplicaciones envian un flujo de datos a través del circuito virtual pasando repetidamente octetos de datos al software de protocolo. Cuando transfieren datos la aplicacion usa piezas de memoria del tamaño que encuentre adecuado. En el extremo receptor se entrega a la aplicacion los octetos en el orden en el cual fueron enviados
De forma independiente de cuantos bytes llegen en cada x tiempo. El receptos va a acumular los bytes recibidos hasta hacer un datagrama lo suficientemente grande antes de entregarlo a la aplicacion del receptor. De la misma forma si se envia un datagrama muy grande el *SO* receptor puede separar los datos en datagramas más pequeños.
En caso de que no se llegue a llenar la memoria intermedia donde se almacena el datagrama antes de darlo a la aplicacion existe un mecanismo de (push) el cual se utiliza para forzar la transferencia. sin esperar a que esa memoria se llene. Esto puede dividir los datos transferidos de formas innesperadas por lo que no es un recomendable.
4. flujo no estructurado, \\
Es importante entender que el servicio TCP/IP no esta obligando a formar flujos estructurados. Osea no se pueden poner en comunicacion entre el emisor y receptor para definir el formato que se va a utilizar antes de iniciar la conexión.
5. Conexión full-duplex, \\
Las conecciones con TCP proveen una coneccion en ambas direcciones
** Confiabilidad
Si bien el protocolo IP solo soporta la entrega no confiable de paquetes, TCP solo soporta la entrega confiable de paquetes esto realizado gracias a que utiliza un sistema el cual solo envia el siguiente paquete cuando recive un ACK si recive NAK o se termina el tiempo reenvia el paquete que no recibio afirmacion.
** Puertos y conexiones
Al igual que UDP, TCP recide sobre IP, Al igual que UDP utiliza numeros para especificar puertos.
cuando hablamos de UDP pensamos en que cada puerto como una cola de salida en la que el software del protocolo coloca los datagramas entrantes. PERO en TCP no es así, ya que para tcp un puerto no es un solo objeto, TCP esta diseñado con el concepto de abstraccion de conexion por lo que se identifica es en realidad un cirtuito virtual, esto es necesario de entender para poder explicar que significan los numeros de puertos en TCP.
Es Visualizable si pensamos en como identifica el emisor TCP, Este ubica 2 direcciones IP (Emisor)(Receptor) pensemoslo como (181.245.21.244) que supongamos corresponde a mi casa y (136.134.65.33) que corresponde supuestamente a la de la pagina de la uai. por lo que si hubiera una conexion entre los dos puntos se definiria como
\begin{center}
(181.245.21.244, 666)(136.134.65.33, 22).
\end{center}
y si hubiera otro servidor en la otra sede de la uai que este conectada con la anterior podria representarse comom
\begin{center}
(233.25.1.44, 1234)(136.134.65.33, 22).
\end{center}
Pero que esta pasando porque hay dos conecciones contra el puerto 22 de la primera sede de la uai.\\
Como TCP identifica las cionecciones con un par de puntos extremos varias conecciones en la mismsa maquina pueden compartir el mismo numero de puerto tcp.
** Conexiones Pasivas
TCP al ser orientado a la conexion requiere que ambos puntos esten de acuerdo en participar. Esto antes de que el trafico TCP pueda pasar a través de una red de redes, los programas de aplicacion en ambos extremos. estos deben de estar de acuerdo en que desean la conexión.
** Formato Paquetes TCP
Estos estan formados por dos partes: header y payload. En el header se guardan los datos de la identificacion y la informacion de control. Los datos de Src Port y Dest Port tienen los numeros de los puertos tcp que identifican a los programas de aplicacion en los extremos de la conexión.
Hlen tiene el numero que especifica la longitud del header en multiplos de 32bit porque el campo options puede variar en longitud.
El campo CODE puede tener los siquientes datos
| CODE | que es|
|------|-------|
| URG | campo urgente es valido |
| ACK | El campo acuse es valido |
| PSH | se solicita un push |
| RST | se inicia la comunicacion |
| SYN | sincroniza numeros de secuencia |
| FIN | el emisor llego al final de su flujo de datos |
|------|-------|
Un header TCP tiene una longitud de 20 bytes.
** Suma de Verificacion
El campo CHECKSUM en él encabezado TCP contiene una suma de verificación de números enteros y los bits que se utiliza para verificar la integridad de los datos junto al encabezado TCP.
** Respuesta al congestionamiento
Es una condicion de retraso severo Tcp reduce su velocidad de transmision. Los ruteadores verifican la longitud de las colas de salida y en base a eso utilizan ICMP para informar a los anfitriones que hay un congestionamiento. Aunque hay otra forma de reducir el congestionamiento y viene ya implementada en TCP que es limitar la velocidad de trasmision de forma automatica utilizando 2 tecnicas:
- Arranque lento.
- Disminucion multiplicativa.
En una coneccion no consgestionada la ventana será del mismo tamaño que la anterior, pero una reduccion en el tamaño de la ventana tambien reducirá la cantidad de informacion que TCP inyectará en la red. Para reducir el tamaño de la ventana se toma por hecho que la perdida de datagramas proviene del congestionamiento de la red por lo que al tener una perdida reduce la ventana a la mitad y aumentan el temporizador de forma exponencial para la retrasmisión.
Pero como se recupera TCP de estas reducciones? en esto toma protagonismo el arranque lento que de forma aditiva aumenta la cantidad de datagramas enviados de a 1 por cada ACK recivido. Esto aunque pueda parecer lento no lo es para nada. por lo que TCP tiene una segunda restriccion al momento de incrementar la cantidad de datagramas enviados. Esta consiste en que cuando una ventana llega a la mitad de su tamaño este entra en un modo de prevencion del congestionamiento donde hace aun más lento el aumento de datagramas enviados. donde para que aumente la cantidad de segmentos por ventana enviados se necesita que todos den ACK.
** Estableciendo una coneccion
Se utiliza un saludo de 3 etapas las cuales son:
1. Envio de un Syn.
2. Devolucion Syn + Ack.
3. Envio Ack.
** Terminacion Conexion TCP
Las conversaciones TCP se pueden cerrar cortesmente con una operacion _close_. Como las conexiones son full duplex si un lado envia un close solo se cierra la coneccion en una direccion y la otra tiene que enviar un close tambien cuando termine de trasmitir datos. Utiliza una modificacion del handshake donde en vez de un Syn envia un Fin
1. Envio de un Fin.
2. Devolucion Fin + Ack.
3. Envio Ack.
** Restablecimiento
En algunas ocaciones las conexiones son expuestas a condiciones anormales por lo que es necesario interrumpir la conexion. por lo que existe el _reset_.
Para iniciar una conexión, un lado inicia la interrupción enviando un: segmento con el bit RST activado en el campo CODE. Esto genera una desconeccion inmediata.
[[https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimage.slidesharecdn.com%2Ft3tcp-150414054318-conversion-gate01%2F95%2Fprotocolo-tcp-38-638.jpg%3Fcb%3D1428990267&f=1&nofb=1&ipt=ceb4ca3dff72adec5c9f367c9fe38720a30871c99d66ccfa0a3daa00c0f8debd&ipo=images]]
** Puertos Reservados
Los primeros 1024 puertos son los que se utilizan para aplicaciones determinadas, lo que es más algunos sistemas operativos requieren que estes en un modo de privilegios asendido para poder bindear a esos puertos. Los de 1025 inclusive para arriba se pueden usar libremente.
* Tablas de Ruteo
Estas son tablas que se generan en el router para que el mismo no este pidiendo todo el tiempo todas las direcciones ip con cada intento de coneccion.
** Tabla Vector-Distancia
Es cuando un router genera una tabla de todas las rutas conocidas y las mide segun la cantidad de saltos que tenga que realizar para poder alcanzar dicha red.
** Protocolos SPF
Conocido como ruteo enlace estado, Estos requieren que todos los ruteadores participes tengan conocimiento sobre la topologia de la red, es decir, que tengan un mapa con todos los ruteadores a las que esta conectado. Spf es el acronimo de Shortest Path First.
* Exterior Gateway Protocol
Se utilizan los routers que dan contra la frontera de la red para difundir informacion sobre la accesibilidad. \\
Los tipos de mensajes que puede enviar EGP son:
|-------|-------|
|Tipo Mensaje | Desc |
|-------|-------|
| Request | Solicitud de que un router se identifique como vecino |
| Confirm | Confirma soluciud de adquisicion |
| Refuse | Rechasa la solicitud |
| Cease Req | Solicita finalizar la relacion vecino |
| Cease Conf | Confirma la finalizacion de la relacion |
| Hello | Basicamente un ping |
| I Heard You | la respuesta del ping |
| Poll Req | Solicitud de actualizar el ruteo de red |
| Routing update | Informacion de accesiblidad de red |
| Error | Respuesta mensaje incorrecto |
|-------|-------|
** Sistemas autonomos
Estas son conjuntos de redes las cuales estan bajo control de una sola entidad administrativa, Esta teniendo conocimiento de todas las redes que conforma independientemente de que sean ocultas o no
* Ruteo dentro de un sistema autonomo
Definidos como IGP son los protocolos que los sistemas autonomos utilizan para poder hacer llegar los datos entre los routers internos.
** RIP
Es un protocolo que funciona gracias a que los routers mantienen una tabla de ruteo con la cantidad de hops de una red a otra limitando esta en que no puede tener más de 15 saltos. Además las tablas son eliminadas cada 30s. Es el protocolo más utilizado para las redes autonomas.
Cada cierto tiempo los routers anuncian su tabla de ruteo a los routers vecinos. Estos reciben los datos y los comparan con los suyos si una ruta recibida es más corta que una ya definida esta pasa a ocupar el espacio de la ruta menos optima.
Tiene un problema de consumo de ancho de banda y por eso existen protocolos que solo pasan los cambios en vez de la tabla entera.
** OSPF
En un protocolo usado en redes grandes que usa el algoritmo de dijkstra.
Sus caracteristicas son:
- Rapida Convergencia, \\
~Osea en caso de un error recalcula rapido~
- Costo de enlase, \\
~Como con un grafo ponderado utiliza una nocion de costo con las conecciones y elija la de menos costo~
* Cliente-Servidor
Es un modelo en el cual un programa _servidor_ ofrese un servicio y un programa cliente consume dicho servicio
* Socket
Consiste de un descriptor que referencia uno de los extremos de una conexion.
* BOOTP y DHCP
creados como una alternativa al protocolo RARP. *BOOTP* es un protocolo UDP el cual usa puertos 67 y 68 para en base a una direccion mac dada dar la direccion ip configurada.
Mientras que DHCP utiliza un Protocolo algo más complejo con leasing por tiempo de direcciones donde un cliente pide una direccion ip al servidor y el servidor le entrega una direccion por una x cantidad de tiempo. Tambien usa los puertos 67 y 68 udp porque es retrocompatible con BOOTP.
Ambos protocolos tienen agentes de retrasmision en caso de haber vlans para que el servidor no necesite estar presente en todas las redes virtuales para poder darles servicio.
Doy lista de codigos DHCP:
|-----|----|
| code | desc|
|------|-----|
|Discover | Descubre servidores dhcp|
|Offer | Respuesta del servidor al cliente |
|Request| el cliente pide una ip|
|Decline | el servidor declina la request|
|Ack | respuesta del servidor al request para que se pueda usar la ip priv|
|Nack| Respuesta negativa del servidor a la request|
|Release | cliente suelta ip asignada|
|------|-----|
* Telnet
Es un protocolo para acceder a servidores de forma remota, ya no tan utilizado, tiene reservado el puerto 23/tcp. No es cifrado
* Rlogin
Es como Telnet pero no es necesario ingresar contraseña cada vez que te logeas. sino que si estas en una lista de hosts confiables podes entrar sin necesitar credenciales. Tampoco casi no se usa. Es inseguro.
* Ftp
Es un protocolo con autentificacion para trasferir archivos en redes. No tiene Cifrado y es ampliamente reemplazado por SFTP. usa tcp 21
* TFTP
Es un protoco muy simple si autentificacion para transferencia de archivos en redes locales. Es común verlo utilizado para la carga de archivos de configuracion para los routers.
* NFS
es un sistema de archivos compartidos en la red para sistemas unix (tambien usado para el networkbooting). Permite la lectura de archivos y puede incluir auth.
* SMTP
Es el protocolo que es utilizado para enviar emails a través de la red. Comunmente usa los puertos 25(servidor-Servidor), 587 o 465 para cliente a servidor.
* POP3 / Imap
Ambos son protocolos que se encargan de leer emails de un servidor y mostrarlos en un cliente para lectura de emails (como thunderbird, windows emails, etc).
- POP3, \\
~Todos los emails se envian a un solo dispositivo con almacenamiento y tiene sincronizacion minima~
- IMAP, \\
~Los emails son almacenados en servidor para siempre y tiene implementado sincronizacion entre muchos dispositivos en paralelo~.
* SNMP
Es un protocolo de capa de aplicacion utilizado para intercambiar informacion entre dispositivos de red

Binary file not shown.

BIN
comunicaciones2/recreadoej1.png LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

62
finales.ics Normal file
View File

@@ -0,0 +1,62 @@
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME:finales
PRODID:-//Federico Polidoro//Emacs with Org mode//EN
X-WR-TIMEZONE:-03
X-WR-CALDESC:Finales
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20241203T144150Z
UID:TS1-369ed3d8-19bb-4f1e-aea4-c1a160b993fd
DTSTART:20241210T130000
DTEND:20241210T150000
SUMMARY:DESARROLLO Y ARQUITECTURA DE SOFTWARE
DESCRIPTION:<2024-12-10 mar 13:00>
CATEGORIES:finales
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20241203T144150Z
UID:TS1-0b443b22-7be7-414c-b8b2-b8087d2cb85d
DTSTART:20241211T120000
DTEND:20241211T140000
SUMMARY:BASES DE DATOS APLICADA
DESCRIPTION:<2024-12-11 mié 12:00>
CATEGORIES:finales
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20241203T144150Z
UID:TS1-e88da1e2-adc8-4e96-af13-17e45b6aff6d
DTSTART:20241213T080000
DTEND:20241213T100000
SUMMARY:ROBÓTICA
DESCRIPTION:<2024-12-13 vie 08:00>
CATEGORIES:finales
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20241203T144150Z
UID:TS1-1e8e85d4-cc5d-42a9-bcf8-5815e5f197d5
DTSTART:20241219T080000
DTEND:20241219T100000
SUMMARY:TECNOLOGÍA DE LAS COMUNICACIONES I
DESCRIPTION:<2024-12-19 jue 08:00>
CATEGORIES:finales
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20241203T144150Z
UID:TS1-bebb967c-63f7-4561-b085-9924cb9bf02e
DTSTART:20241212T093000
DTEND:20241212T113000
SUMMARY:MATEMÁTICA DISCRETA Y AUTÓMATAS
DESCRIPTION:<2024-12-12 jue 09:30>
CATEGORIES:finales
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20241203T144150Z
UID:TS1-e394f5ca-ab4c-4d87-aefe-d8704aff31f1
DTSTART:20241218T080000
DTEND:20241218T100000
SUMMARY:FÍSICA II
DESCRIPTION:<2024-12-18 mié 08:00>
CATEGORIES:finales
END:VEVENT
END:VCALENDAR

19
finales.org Normal file
View File

@@ -0,0 +1,19 @@
#+title: Finales
* DESARROLLO Y ARQUITECTURA DE SOFTWARE
<2024-12-10 mar 13:00>
* BASES DE DATOS APLICADA
<2024-12-11 mié 12:00>
* ROBÓTICA
<2024-12-13 vie 08:00>
* TECNOLOGÍA DE LAS COMUNICACIONES I
<2024-12-19 jue 08:00>
* MATEMÁTICA DISCRETA Y AUTÓMATAS
<2024-12-12 jue 09:30>
* FÍSICA II
<2024-12-18 mié 08:00>

View File

@@ -1,3 +1,9 @@
#+title: Parcial
* Diploma
<2024-10-01 mar>
* Discretas
<2024-10-10 jue>
* Comunicaciones 2
<2024-09-25 mie>