Todos Flashcards

(195 cards)

1
Q

VLAN

A

Virtual Local Area Network. Surgen de la necesidad de ofrecer una separación lógica dentro de una red física.

Por ejemplo, si tenemos varios grupos de trabajo conectados al mismo switch, queremos evitar que al hacer un broadcast el mensaje se replique a todos los otros grupos.

Cómo se hace?

Los puertos del switch se dividen en grupos, cada grupo se corresponde con una VLAN. Los puertos de cada VLAN forman un dominio de broadcast.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Router (componentes)

A

Puertos de entrada: Es por donde ingresan los datagramas al router. Cada puerto de entrada mantiene una copia local de la tabla de forwarding del procesador y la decision de a que puerto de salida dirigir el paquete se hace localmente, evitando saturar al procesador.

Puertos de salida: Almacena los paquetes que le fueron enviados desde el switching fabric y los transmite al enlace de salida.

Switching fabric: Conecta los puertos de entrada con los puertos de salida. Es una red dentro de un router, utilizando la información que le brinda el procesador de ruteo.

Procesador de Ruteo: Ejecuta los protocolos de enrutamiento y mantiene las tablas de forwarding.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Por que tener un protocolo inter-AS y un protocolo intra-AS? (3 razones)

A

Política: El AS quiere controlar como se rutea su tráfico y quien rutea dentro de su red.

Escala: Tablas mas pequeñas y se reduce el tráfico.

Performance: el intra-AS se puede preocupar de la performance mientras el inter-AS se ocupa de las políticas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DHT

A

Distributed Hash Tables. Es una tecnica de indexing and searching.

Cada peer tiene un id en 0,2^(n-1).

Cada key se corresponde con un entero en el mismo rango (mapeando en un hash).

El peer que tiene el id más cercano (sucesor inmediato) a la key en (key, value) es el encargado de guardar el par (key, value).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Inter-AS: BGP (TCP, 179)

A

Border Gateway Protocol.

Permite a los AS:

Conocer Información sobre alcande de las subredes de los AS vecinos. Es decir, que subred es alcanzable desde el AS vecino.

Propagar esa información dentro del AS.

Determinar buenas rutas a las subredes basándose en esa información.

Ademas, permite a cada subred comunicar su existencia al resto de la internet.

Cada eBGP session e iBGP session es una conexión TCP.

Los mensaje que envía BGP tienen los siguientes atributos:

Prefijo: a donde quiero llegar.

AS-Path: Todos los AS que tengo que recorrer para llegar a el prefijo.

Next-hop: Por donde tengo que salir para llegar a el Prefijo.

Cada organización tiene ademas sus propias políticas por las que puede decidir, por ejemplo: no forwardear nada a un determinado AS.

Cómo se selecciona la ruta (en caso que lleguen dos mensajes BGP, con distinto path):

En orden de prioridad:

Preferencia local basada en politicas.

Path mas corto.

El que tenga next-hop más cercano.

Otro criterio.

Tipos de mensaje:

Open: Abre una conexión TCP con el BGP peer.

Update: avisa de un nuevo path.

Keep-alive: Mantiene la conexión abierta en ausencia de mensajes.

Notification: Por ejemplo para reportar errores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Conmutación de Paquetes

A

Los datos se envían en trozos a través de la red. Los recursos se usan cuando se necesitan, a demanda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Delay de procesamiento

A

Es el tiempo requerido para examinar el header del paquete y determinar a dónde dirigir el paquete. Luego de este procesamiento el paquete es enviado a la cola del enlace de salida. (en el orden de los microsegundos)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Go-back-N

A
  • base: el número de ACK más viejo
  • nextseqnum: el número de secuencia del próximo paquete a enviar.
  • ACK acumulativos (si recibo un ACK de n, se recibieron todos hasta n)
  • Si ocurre timeout, se reenvían todos desde el último ACK.
  • Buffer solo en el emisor.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Socket

A

Es la interfaz (librería del sistema operativo) entre la capa de aplicación y la capa de transporte de un host.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Tipos de direcciones IPv6

A

Se representan como 8 enteros de 16 bits en hexadecimal, ejemplo:

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

Para escribir direcciones IPv6 dentro de una URL, deben escribirse dentro de paréntesis rectos:

http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]/index.html

Unicast

Identifica exactamente a una interfaz.

Multicast

Identifican a un grupo de interfaces. Un paquete enviado a una dirección de multicast es entregado a todos los miembros del grupo.

Anycast

Un paquete enviado a una dirección anycast es entregado al miembro “más próximo” del grupo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

botnet

A

Es una red de miles de dispositivos que personas con intenciones maliciosas controlan para generar spam o ataques DoS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Virus

A

Un virus es un malware que requiere de alguna acción del usuario para infectar el dispositivo (por ejemplo: attachment en un correo electrónico).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Email protocols

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Multiplexing

A

El proceso en el emisor, de recolectar chunks de diferentes sockets y encapsular cada uno con un header para crear segmentos y pasarlos a la capa de transporte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

End System

A

Son los dispositivos que utilizamos diariamente (pc, celular, etc). Se llaman así porque se encuentran en el borde de la red. También se les llama host, porque hostean aplicaciones, servidores etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Datagram Networks

A

No es necesario establecer una conexion.

Cuando un sistema final quiere enviar un paquete, le estampa la dirección de destino y pone el paquete en la red. Cada router se encarga de dirigir el paquete utilizando la dirección de destino y la tabla de forwarding.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

rdt 2.0

A
  • Los paquetes pueden llegar con errores en los bits.
  • No se pierden paquetes.
  • ACK positivos y negativos (sin errores).
  • Stop & Wait
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

HTTP con conexiones NO persistentes (que es y nombrar 2 desventajas)

A

Cada par request/response se envía en una conexión TCP diferente. (Se pueden hacer en paralelo).

Desventajas: tiempo de handshaking y sobrecarga del servidor.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

UDP Servicios

A
  • Entrega de datos de proceso a proceso.
  • Chequeo de errores
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Path MTU, que es y algoritmo para hallarlo

A

Es el mínimo MTU a lo largo del camino entre dos nodos.

MTU Discover Algorithm: IPv6 envía un paquete de tamaño x al destino, si es demasiado grande para alguno de los enlaces por los que pasa, ICMP responde diciendo que es demasiado grande y ademas el tamaño que se superó es x1. Vuelve a intentar enviar el paquete al destino, pero ahora con tamaño y. Así sucesivamente, hasta que el paquete llega al destino con un tamaño xN, ese es el path MTU (El MTU más chico entre el origen y el destino).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Switches

A

Características:

  • Es un dispositivo de capa de enlace pero sus puertos no tienen direcciones MAC.
  • No necesita configurarse.
  • Tiene la capacidad de separar los dominios de colisión.
  • Es un dispositivo full duplex.
  • Los puertos de salida del switch tienen buffers.
  • Todos los puertos pueden enviar datos al mismo tiempo sin colisiones.
  • Permite conectar links de distintas velocidades y distintos medios.
  • Si un adaptador envía continuamente frames, el switch puede detectarlo y desconectarlo.

Funciones:

  • El rol del switch es recibir frames y forwardearlos a los correspondientes puertos de salida.

Utiliza una tabla de switch que contiene (MAC, interfaz_hacia_esa_MAC, time). El tiempo representa cuando se agregó la entrada a la tabla.

Cómo funciona:

  • Cuando un frame llega a un switch, se fija si la direccion MAC de origen está en su tabla:
  • Si no está envía el frame a todas las interfaces menos a la interfaz por la que llegó el frame.
  • Si está en la tabla, envía el frame al puerto que indica la tabla (siempre y cuando no sea el puerto por el que llegó el frame).
  • Además, el switch crea una entrada en su tabla con la dirección MAC origen y la interfaz por la que vino el frame, si ya habia una entrada la actualiza y actualiza el tiempo.
  • Las entradas de la tabla se limpian si el tiempo de la entrada es muy viejo.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Congestión, por que se produce? y que provoca?

A

El router recibe paquetes más rápido de lo que puede procesarlos, aumentando la espera en las colas.

  • Perdida de paquetes
  • Delay grandes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

tier-2 ISP

A
  • Se conectan solo con algunos tier-1.
  • Cobertura nacional o regional.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Routers vs Switches

A

Switches:

+ Plug and Play: no necesita configuración.

+ High rates de forwarding y filtering: solo tiene que procesar hasta capa 2.

  • Para evitar ciclos, la topología está limitada a spanning trees.
  • Las tablas ARP en los nodos son más grandes. El switch no tiene tablas ARP.
  • No previene broadcast storm.

Routers:

+ Tiene una estructura jerárquica, no hay ciclos (si las tablas de forwarding estan bien configuradas).

+ Protección de Firewall contra broadcast storms.

  • No son plug and play, necesita configuración.
  • Mayor tiempo de procesamiento, el paquete tiene que pasar por capa 3.

En general si son redes pequeñas es mejor utilizar switch, y si son redes grandes router.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
TCP Connection Management
- El cliente crea un segmento TCP sin datos, con el bit SYN en 1. En este punto se elige un número de secuencia random (client\_seq). Se encapsula el segmento dentro de un datagrama IP y se envía al servidor. - Cuando el datagrama IP arriva al cliente, se extrae el segmento TCP SYN y se crean los buffers y variables de conexión. El servidor, envía un segmento TCP al cliente sin datos, con el bit SYN en 1, el bit ACK en 1 y el número de ACK client\_seq +1. El servidor elige también un número de secuencia random (server\_seq) en este punto. - Cuando el cliente recibe el SYNACK crea los buffers y variables para la conexión y envía un ACK server-seq+1 sin SYN (la conexion ya existe) al servidor.
26
Frame PPP
**Flag**: Cada frame PP comienza y termina con la secuencia de bits 01111110 **Address**: Como solo hay otro extremo en un enlace punto a punto este campo no se usa y está fijo siempre en 11111111. **Control**: Tampoco se usa y tiene un valor fijo 00000011 **Protocol**: El protocolo de capa superior, por ejemplo IP. **Information**: Data, por ejemplo el datagrama IP. **Checksum**: CRC code.
27
Sockets con TCP
28
Calculo del checksum (UDP)
29
Capa de Red
Es la encargada de mover paquetes de la capa de red (datagrama) entre hosts. La capa de transporte envía un segmento y una direccion IP destino a la capa de red. Ejemplos de protocolo: IP.
30
CIDR
Class InterDomain Routing. **Clase A**: subredes con prefijos de 8 bits. **Clase B**: subredes con prefijos de 16 bits. Clase C: subredes con prefijos de 24 bits.
31
Authoritative DNS Server
Cada organización con servidores de acceso público debe proveer registros DNS accesibles al público.
32
Cookies
Utilizada por los sitios para guardar información de los usuarios. Permite restringir el acceso o brindar contenido específico al usuario.
33
HTTP Response Message
Ejemplo: HTTP/1.1 200 OK Connection: close Date: Tue, 09 Aug 2011 15:44:04 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT Content-Length: 6821 Content-Type: text/html (data data data data data ...) **_El contenido del mensaje de http es en binario, a diferencia de SMTP que es en ascii._**
34
Pipelined Reliable Data Transfer Protocols
- Se envian multiples paquetes a la vez. - Se aumenta rango de la secuencia de números ya que ahora hay más paquetes viajando. - Buffers en el emisor y/o el receptor. - Dos formas de recuperarse del error: Go-back-N y Selective Repeat.
35
Segmento UDP
36
Comparativa Link-state vs Distance-vector
**Complejidad de los mensajes**: Link-state requiere enviar muchos más mensajes, ya que cada nodo tiene que conocer la información de toda la red. En Distance-vector, cuando ocurre un cambio de costo, solo reenvia sus vectores de distancia si alguno cambio. **Velocidad de convergencia**: Distance-vector demora en converger, y puede tener el problema de conteo infinito. En cambio Link-state tiene un orden O(n2). **Robustez**: En link-state cada nodo realiza el cálculo por separado. En cambio en Distance-vector, si hay algún error en uno de los nodos, el error se puede propagar ya que los nodos utilizan la información de sus vecinos para hacer sus cálculos.
37
PPP
Protocolo de Punto a Punto. Es un protocolo de capa de enlace que opera en links que conectan directamente dos nodos, uno en cada extremo del link. _Servicios_: **Framing**: encapsulamiento de un datagrama de capa de red en un frame de capa de enlace (por ejemplo IP). **Bit Transparency**: No puede poner ninguna restricción sobre patrones de bits de los datos del datagrama, ni sobre sus headers. **Multiple network-layer protocols**: No solamente IP. **Multiple types of links**: Debe ser capaz de operar sobre distintos tipos de enlace. **Error detection**: Debe ser capaz de detectar errores en el frame. **Connection liveness**: Permite detectar si la conexión está viva. **Network- layer address negotiation**: Provee un mecanismo para que las capas de red que se estan comunicando aprendan a configurar las direcciones del otro (ADSL).
38
ICMPv6
Similar a ICMPv4 pero actualizado para IPv6. Next header =58. En el body contiene el datagrama original truncado al Path MTU.
39
Bloqueo HOL (Head of the Line)
Si dos paquetes que estan al frente tienen el mismo puerto de destino, uno de los dos debe esperar. Los paquetes que estan detrás del paquete bloqueado en la cola también quedan bloqueados incluso si iban destinados a puertos diferentes. La cola puede crecer y producirse pérdida de datagramas.
40
Closing a TCP connection
41
Extensión de headers en IPv6
Se utiliza el campo **next header**, TCP = 6 y UDP = 17 al igual que en IPv4, pero ademas permite poner valores como (solo a modo ilustrativo): Hop-by-hop header (NH=0)‏ Routing header (NH=43)‏ Fragment header (NH=44)‏ Authentication header (NH=51)‏ Encapsulated security payload (NH=50)‏ Destination option (NH=60)
42
Chequeo de Paridad
Se incluye un bit extra, tal que la cantidad de 1’s en d+1 sea par. El receptor debe contar la cantidad de 1’s en los datos recibidos, si es impar sabe que ocurrió al menos un error. _Esta técnica solo funciona si la cantidad de bits que cambian es impar y no permite corrección, ya que no se puede saber que bit cambió._
43
Algoritmo Dijkstra
Es un ejemplo de Link-State algorithm Determina el camino de menor costo entre un nodo y todos los otros nodos del grafo. **D(v)**: costo del camino más corto entre u (origen) y el nodo v. **p(v)**: nodo previo que debe atravesar el camino más corto, para llegar de u a v. **N’**: subconjunto de nodos, si v está en este conjunto significa que ya se conoce el camino más corto de u a v.
44
Congestion Avoidance
- Cuando entra a este estado la ventana de congestión está a la mitad de cuando se detectó la congestión, entonces puede darse congestión en cualquier momento, por esto en lugar de aumentar exponencialmente, aumenta linealmente con cada ACK (cwnd = cwnd+MSS\*(MSS/cwnd)) - Si ocurre un timeout, cwnd = 1MSS y vuelve a Slow Start y cwnd/2. - Si se reciben 3 ACK duplicados se pasa a Fast Recovery.
45
ICMP
Internet Control Message Protocol. Es utilizado por los hosts y routers para comunicar información de la capa de red. Mayormente para reportar errores. ICMP viaja en el payload de IP, y en el header de IP se pone upper-layer-protocol: ICMP (igual que TCP/UDP), upper-layer protocol =1. Contiene: **type (8 bits)** **code (8 bits)** header IP y primeros 8 bytes del datagrama IP que ocasionó que se genere un msj ICMP. - El programa **ping**, envía un ICMP _tipo 8 código 0_ (echo request), cuando el host de destino recibe el datagrama responde con un ICMP _tipo 0 código 0_ (echo reply). - En **Traceroute** también se utiliza ICMP, se envían segmentos UDP con puertos poco probables y TTL variable (hops). Cuando el datagrama n llega al router n como el TTL está en 0, el router descarta el datagrama y envía un ICMP _tipo 11 código 0_ (TTL expired) con la direccion IP y el nombre del router. Cuando el datagrama IP llega al destino final, como el puerto es poco probable, se envía un ICMP _tipo 3 código 3_ (destination port unreachable) y así traceroute sabe cuando parar.
46
Interfaz de un router
Se le llama interfaz al límite entre el host o el router y el enlace físico. Cada interfaz tiene su propia dirección IP.
47
Donde ocurren las pérdidas por cola?
Pueden ocurrir tanto en las colas de las interfaces de entrada como en las colas de las interfaces de salida.
48
IMAP (TCP, 143)
Permite crear carpetas remotas, POP3 no. Permite también, obtener solo parte de los mensajes, por ejemplo los headers, útil cuando hay poco ancho de banda.
49
Sockets con UDP
50
IP Spoofing
Es la habilidad de inyectar paquetes en la red con una direccion IP origen falsa. Se pueden resolver con *endpoint authentication*.
51
Servicios que puede brindar la Capa de Transporte
- Transferencia confiable - Throughput - Tiempo - Seguridad
52
PPP Byte Stuffing
Como PPP utiliza un patrón de bits para indicar el comienzo y fin de la trama, podría ocurrir un problema si en los datos se encuentra ese patrón. Para evitar esto, se utiliza una técnica conocida como Byte Stuffing. Si PPP encuentra el patrón de bits 01111110 fuera de los campos de flag, precede esta secuencia con una secuencia de escape **01111101**.
53
HTTP 1.0 vs HTTP 1.1
Las mas importantes: HTTP 1.1 admite conexiones persistentes, HTTP 1.0 no. HTTP 1.1 tiene un header requerido "host", HTTP 1.0 no
54
Enfoques para controlar la congestión (2 enfoques)
**End-to-end congestion control** - La capa de red no provee soporte explícito. - La detección de la congestión se realiza observando el comportamiento de la red desde en los sistemas finales. - Es el enfoque utilizado por TCP (IP no provee feedback), cuando TCP ve que hay pérdidas, disminuye el tamaño de la ventana. **Network Assisted congestion control** - Los componentes de la capa de red (routers) proveen feedback explícito sobre la situacion de la red. Por ejemplo con un bit indicando congestión.
55
POP3 (TCP, 110)
56
Slow Start
Arranco despacio pero incremento cwnd exponencialmente hasta cierto umbral. - Ventana inicial de 1MSS (cwnd = 1MSS) - Por cada ACK recibido se duplica el tamaño de la ventana. - Comienza despacio pero crece exponencialmente. - Si ocurre un timeout, la ventana vuelve a 1MSS y vuelvo a empezar. - Si ocurren 3 ACK duplicados, la ventana queda en la mitad del tamaño que tenía al momento de que ocurriera el evento. Continúa creciendo linealmente. (i.e: hace un fast retransmit y pasa a Fast Recovery) - Cuando cwnd = ssthresh, se pasa a Congestion Avoidance.
57
UDP Checksum
Brinda detección de errores. Se realiza haciendo el complemento a 1 de la suma de todas las palabras de 16 bits del segmento UDP. El resultado se pone en el campo cheksum del header.
58
Broadcast: Reverse Path Forwarding (RPF)
Si el paquete me llegó desde el camino más corto al origen, lo reenvío a mis vecinos, si no lo descarto. Aun esta el problema de que llegan paquetes duplicados al mismo nodo (aunque luego sea descartado).
59
Cuando se dice que un ACK es piggybacked?
cuando ademas del ACK lleva datos en el segmento.
60
DHCP (UDP, 68 67)
- Dynamic Host Configuration Protocol. DHCP le permite a un host obtener una dirección IP automáticamente. DHCP puede configurarse para otorgar direcciones IP fijas o direcciones IP temporales. Ademas de la dirección IP, DCHP le informa la mascara de la subred, la direccion IP del router mas cercano (gateway) y la dirección IP del servidor DNS. - DHCP es ideal en redes donde hay muchos host que vienen y van y solo necesitan una direccion IP por un tiempo limitado. . Es un protocolo cliente-servidor. Cada subred tiene su servidor DHCP. - Cuando un host se conecta a la red, se producen 4 pasos para obtener su direccion IP.
61
Estimación del RTT
62
DNS Caching
Cada vez que un servidor DNS recibe una respuesta, puede cachear la información en su memoria local. Después de un tiempo se descarta (por lo general dos dias).
63
Delay de propagación
Es el tiempo que demora en propagarse un bit de un extremo a otro del link. Depende del medio físico. Se calcula como d/s, siendo d la distancia entre routers y s la velocidad de propagación del link.
64
Tipos de Mensaje DHCP
**DHCP Discover**: se envía un mensaje UDP al puerto 67, este mensaje es encapsulado en un datagrama IP que se envia a la direccion de broadcast (255.255.255.255) y direccion de origen 0.0.0.0. **DHCP Offer**: El servidor DHCP responde a la direccion de broadcast (255.255.255.255), con un mensaje que contiene la dirección IP propuesta, el transaction id del request, la máscara de subred y el tiempo de vida de la direccion IP. Varios DHCP server pueden responder al request, si hay más de un DHCP server en la subred. * *DHCP Request**: El cliente responde a uno de los mensajes de oferta haciendo un echo de los parámetros de configuración: * *DHCP Ack**: el servidor DHCP responde un ACK confirmando los parámetros.
65
FTP (TCP 20,21)
Es un protocolo que permite transferir archivos desde un sistema de archivos local a un sistema de archivos remoto y viceversa. Utiliza dos conexiones TCP paralelas, una para transferir datos (por archivo) y otra para enviar mensajes de control (user, pwd, comandos). Out-Of-Band. Mantiene estado: datos de usuario y directorio actual.
66
IGMP
Internet Group Management Protocol. Este protocolo opera entre el host y su router más cercano. El protocolo permite que el host le avise al router que una aplicación corriendo en el host quiere unirse a un grupo de multicast específico.
67
TCP Fairness
Si hay K conexiones TCP compartiendo un enlace de rate R, cada una puede transmitir en promedio a un rate de R/K. UDP no tiene control de flujo por lo tanto no se le limita el rate, lo que puede causar problemas al tráfico TCP y a toda la red en general. Si se usan conexiones paralelas, como TCP es justo y reparte el rate entre las conexiones, se gana mayor rate cuantas más conexiones paralelas abiertas se tiene.
68
Comandos FTP
69
Slotted Aloha
**Se asume**: - Cada frame tiene un tamaño de L bits. - El tiempo se divide en slots de tamaño L/R segundos (el tiempo necesario para transmitir un frame completo). - Los nodos siempre comienzan a transmitir al comienzo de un slot. - Si dos o más nodos colisionan, todos los nodos detectan la colisión antes de que termine el slot. **Transmisión**: - Cuando un nodo quiere transmitir, espera hasta el comienzo del próximo slot. - Si no hay colisión el frame se transmite correctamente. - Si hay colisión, el nodo detecta la colisión y retransmite en cada slot siguiente con probabilidad p hasta que no haya colisión. **Ventajas**: - Permite transmitir a todo el rate del canal si es el único nodo activo. - Altamente descentralizado ya que cada nodo detecta la colisión y decide cuando retransmitir. - Protocolo muy simple. **Desventajas**: - Requiere que los slots estén sincronizados en todos los nodos. - Durante las colisiones se desperdicia el slot. - Slots en los que nadie transmite. - En el mejor caso **37%** de uso del canal.
70
Por que usar UDP?
- _Control sobre que data se envía y cuando_: no hay control de congestión. - _Sin conexión_: no se pierde tiempo estableciendo una conexión. - _No hay estado_: No guarda ningun parametro. Lo que permite tener más clientes activos. - _Header más pequeños_: 8 bytes contra 20 bytes de TCP.
71
Routing Jerárquico
Motivacion: **Escala**: La sobrecarga asociada al cómputo y almacenamiento y la comunicación de la información. Internet se compone de miles de millones de hosts. **Autonomía Administrativa**: Algunas compañías pueden querer elegir su algoritmo de routing o pueden no querer brindar información de su topología al mundo exterior. El problema se resuelve organizando a los routers en Sistemas Autónomos (AS). Un AS es un conjunto de routers bajo un mismo control técnico y administrativo. Los routers del mismo AS corren el mismo algoritmo de routing. Los algoritmos que se corren dentro de los AS se llaman Intra-autonomous system routing protocol. Los AS se conectan entre sí, y los paquetes se forwardean fuera del AS a través de un gateway router. **Que sucede cuando el AS tiene más de un gateway? Cómo sabe a dónde dirigir el paquete?** - El AS1 tiene que saber que direcciones de destino estan en AS3 y en AS2, y transmitir esa información a todos los routers de AS1 para que sepan que gateway usar. Esto se realiza con el inter-Autonomous System Routing Protocol. Todos los AS de internet corren el mismo interAS protocol, BGP. - Todos los routers arman sus tablas de forwarding con la información que les llega del inter-AS y el inter-AS. - Si un AS es alcanzable a través de dos AS, se elige el gateway de menor costo (hot-potato routing). Es decir, se envia el paquete al router que está más cercano (en costo) al gateway.
72
Fragmentación y desventajas
Los protocolos de capa de enlace tienen un tamaño máximo de datagrama que pueden soportar, este tamaño está dado por el MTU. Los diferentes links entre el origen y el destino pueden utilizar diferentes MTU, en este caso es necesario fragmentar el datagrama IP. La tarea de reensamblar los datagramas la realiza el sistema final, para no sobrecargar a los routers. El datagrama se parte en datagramas más pequeños con el mismo identificador. El último paquete de la secuencia tiene una flag en 0, mientras que los otros tienen la flag en 1. El offset indica la posicion (número de byte) del datagrama en la secuencia. **Desventajas**: sobrecarga de router y sistemas finales, en la fragmentación y reensamblado. Posibles ataques si se envían muchos datagramas con el bit en 1.
73
Datagrama IPv4
**Version number**: 4bits, indica de que versión de IP se trata (IPv4 o IPv6). **Header length**: 4 bits para indicar donde comienza la data ya que el tamaño del header es variable. **Type of service**: Permite diferenciar datagramas IP, por ejemplo para distinguir entre datagramas real-time (telefonía), de datagramas que no son real-time (FTP). **Datagram length**: Es el tamaño total del datagrama en bytes. Incluye header y data. **Identifiers, flags, fragmentation offset**: Estos campos son utilizados para la desfragmentación. IPv6 no permite fragmentacion en los routers. **Time-to-Live (TTL)**: Utilizado para que el datagrama no circule eternamente. Si llega a 0 el datagrama se descarta. **Upper layer protocol**: Solo se utiliza en el destino. Indica que protocolo de transporte se utilizó. (6 = TCP, 17=UDP). **Header checksum**: ayuda al router a detectar errores en el datagrama IP. Se recalcula en cada router pq los campos cambian (ej: TTL). Por que se chequean errores tanto en IP como en TCP? El checksum de IP solo incluye al header. Ademas TCP podria correr sobre otro protocolo de red distinto de IP (ej: ATM). **Source and destination IP address**: La IP de destino es determinada con DNS. **Options**: no se utiliza en IPv6. **Data**: contiene el segmento de capa de transporte, también puede contener otros tipos de datos, por ejemplo: ICMP. **_El tamaño del header de IP es de 20 bytes_**.
74
Root DNS Server
Hay en el mundo 13 servidores raíz, etiquetados de la A a la M (La mayoría en norteamérica). Es un cluster de servidores replicados, por seguridad y confiabilidad.
75
HTTP (TCP, 80)
HTTP es el protocolo de capa de aplicación para la Web. Esta implementado en dos programas, cliente y servidor, que se comunican entre sí intercambiando mensajes http. Utiliza TCP como protocolo de transporte y no mantiene estado (stateless).
76
Throughput instantáneo
Es la tasa (bit/s) a la cual el receptor está recibiendo la data en ése preciso momento.
77
MPLS
Multiprotocol Label Switching. Es un protocolo que se creó con el fin de mejorar las velocidades de forwarding en IP. La idea es usar un label de largo fijo y que el router mire este label en lugar de las direcciones IP. MPLS permite además definir circuitos virtuales (VLC) en una red y definir caminos de extremo a extremo (Ingeniería de Tráfico). Es un protocolo de _capa de enlace_. Se agrega un header entre el header de capa de enlace y el header de capa de red.
78
Fast Recovery (Reno vs Tahoe)
- Mientras siga llegando el mismo ACK duplicado del segmento que causó que se llegue a este estado aumenta 1MSS. - Cuando llega un nuevo ACK, se pasa a Congestion Avoidance - Si ocurre un timeout, cwnd = 1MSS y vuelve a Slow Start y cwnd/2. - Esto es para TCP Reno, en TCP Tahoe no hay Fast Recovery, se pasa a Slow Start.
79
TCP Throughput
80
DNS (UDP, 53) (hacer diagrama de los dos tipos de query)
Domain Name System. Es una base de datos distribuida, implementada en una jerarquía de servidores DNS y un protocolo de capa de aplicación que permite a los hosts consultar la base de datos. Servicios adicionales: _Host Aliasing_: permite nombre canónico y varios alias. _Mail Server Aliasing_ _Load Distribution_: Permite balancear la carga entre servidores replicados. Devuelve una lista de servidores, rotando el orden cada vez. Ejemplos: Query iterativa y recursiva
81
Protocolos de toma de turnos
Intentan tomar lo mejor de los protocolos de partición de canal y de acceso aleatorio. Dentro de estos protocolos se encuentran: **Polling prot**ocol. **Token-passing protocol.**
82
Servicios de capa de enlace
**Servicios de capa de enlace** La capa de enlace se encarga de mover un datagrama de un extremo a otro de un link. Se implementa a nivel del adaptador de red. **_Posibles_ servicios a ser ofrecidos por un protocolo de capa de enlace**: **Framing**: El protocolo especifica la estructura del frame. **Link access**: Los protocolos de acceso al medio (MAC - Medium Access Protocol) sirven para coordinar la transmisión de frames de muchos nodos en un medio compartido. **Entrega confiable**: Si el protocolo ofrece este servicio, los frames se envían de a través del link sin errores. Esto puede ser útil en un medio con alta probabilidad de errores, pero en un medio con baja probabilidad de error no es utilizado ya que es muy costoso. **Flow control**: Los nodos de cada lado del link tienen poca capacidad de buffering, por lo que si los frames se reciben más rápido de lo que se pueden procesar el buffer se llena y los frames se pierden. **Error detection**: Interferencias electromagnéticas o una atenuación de la señal pueden provocar cambios en los bits. Algunos protocolos brindan mecanismos para detectar estos errores. **Error correction**: El receptor ademas de detectar el error puede determinar dónde ocurrió. **Half-duplex y full-duplex**: En full duplex los dos nodos pueden transmitir al mismo tiempo, en half-duplex solo un nodo puede transmitir a la vez.
83
Datagrama IPv6
El header tiene 40 bytes. **Version**: (4 bits) identifica la version IP. IPv6 pone un 6 en este campo. _Poner un 4 en el campo no implica que sea un datagrama IPv4_. **Traffic class**: (8 bits) similar al header Type of Service the IPv4. **Flow label**: (20 bits) se utiliza para identificar un flow de datagramas (Por ejemplo en streaming para que sea tratado como un flujo y no como datos por separado). **Payload length**: (16 bits) La cantidad de bytes del payload (tamaño del paquete sin contar el header). **Next header**: Especifica el protocolo al cual se le va a dar el contenido del mensaje (por ejemplo TCP o UDP). Similar al upper-layer protocol header en IPv4. **Hop limit**: El contenido de este field se decrementa en 1 cuando un router forwardea el datagrama. Si llega a 0, se descarta (similar al TTL). **Source and destination address**: La direccion IPv6 de 128 bits del origen y el destino.
84
Algoritmos de routing, que son y como se clasifican?
Son algoritmos que intentan determinar el camino más corto (menos costoso) entre un router de origen y router destino. **Global (link-state)**: encuentra el camino menos costoso utilizando información de toda la red. **Descentralizado (distance-vector)**: El cálculo del camino menos costoso se realiza de manera distribuida. El nodo solo tiene información de sus links, y va intercambiando esa información con sus vecinos. Ademas se pueden clasificar en: **Estáticos**: Las rutas cambian muy poco en el tiempo (por ejemplo, configurando las tablas de forwarding de forma manual). **Dinámicos**: Las rutas cambian frecuentemente, por ejemplo por un cambio de costos, o cambio en la topología, etc.
85
Tunneling
Si dos nodos IPv6 quieren comunicarse, pero tienen nodos IPv4 en el medio. En este caso el nodo de origen mete el datagrama IPv6 como payload de un datagrama IPv4. El destino eventualmente recibe el datagrama IPv4, da cuenta que contiene un IPv6 y lo extrae.
86
Token-passing protocol
En este protocolo no hay un nodo maestro. Existe un pequeño frame especial denominado **token** que se intercambia entre los nodos con un orden prefijado. Cuando un nodo recibe el token si tiene algo para transmitir lo transmite, si no lo pasa al siguiente nodo. **Ventajas**: - Descentralizado y eficiente. **Desventajas**: - Si un nodo falla o no quiere devolver el token el canal entero queda inoperable.
87
HTTP Request Message
Ejemplo: GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu Connection: close User-agent: Mozilla/5.0 Accept-language: fr
88
DHT Circular Definicion, Que pasa cuando un peer se va?, Que pasa cuando un peer quiere entrar?
Cada peer conoce a su sucesor inmediato (módulo 2^n). **Que pasa cuando un peer se va?** Cada peer guarda su sucesor y el siguiente a su sucesor. Y pregunta cada cierto tiempo si siguen vivos. Si no, se actualizan los dos números. En el ejemplo, si 5 se va, el sucesor de 4 pasa a ser 8 y el siguiente sucesor es el sucesor de 8, o sea 10. **Que pasa cuando un peer quiere entrar?** Si el 13 quiere entrar y conoce solo a 1, le envía un mensaje preguntando cuál sería el sucesor y el siguiente al sucesor de 13. Este mensaje se forwardea hasta que llega al predecesor (12), que sabe que el sucesor de 13 es 15. Le envia la informacion a 13 y 12 cambia su sucesor a 13.
89
Trojan
Es un malware que está escondido en alguna parte de algún software útil.
90
rdt 2.1
- Se agrega que el ACK y el NACK pueden venir corruptos. - Se agrega numero de secuencia (0 y 1, ya que es stop & wait) Esto es para que el receptor sepa si el paquete que llega es nuevo o una retransmisión (por que el ack llegó corrupto al emisor).
91
traceroute
Permite reconstruir la ruta que toma un paquete desde el origen al destino.
92
Direcciones IPv4
Tienen 32 bits de largo (4 bytes). Cada byte se escribe en su forma decimal y se separa por un punto. Por ejemplo la dirección IP 193.32.216.9 equivale a la siguiente notacion en binario: 110000001 00100000 11011000 00001001 Todas las direcciones IP son únicas, excepto las direcciones que estan detrás de un NAT, y estan determinadas por la subred a la que pertenecen.
93
Interface ID a partir de MAC
Se puede generar la interface ID de una direccion IPv6 a partir de la direccion MAC de la interfaz.
94
Three way Handshaking
95
Transicion de IPv4 a IPv6 (3 opciones)
**Opción** **1**: Ponerse de acuerdo en un dia para dejar de usar IPv4 y usar IPv6. No viable. * *Opción** **2**: Dual stack. Los nodos IPv6 también implementan IPv4. El problema es que como IPv6 e IPv4 tienen distintos headers, algunos valores se pierden. * *Opcion 3**: Tunneling.
96
Diferencias entre conmutación de paquetes y conmutación de circuitos
La conmutación por circuitos es mejor en aplicaciones de tiempo real. La conmutación de paquetes es más eficiente, menos costosa y distribuye mejor la capacidad de transmision.
97
Packet sniffer
Es un receptor pasivo, que graba una copia de todos los paquetes que pasan por el. Un ejemplo de software que realiza packet sniffer es el Wireshark. Para defenderse de esto, se utiliza criptografía.
98
Telnet (TCP, 23)
- Es un protocolo de capa de aplicación para acceder a equipos remotos. - Corre sobre TCP. - Los datos se envían sin encriptar. - Cada caracter ingresado en el cliente se envía al servidor y el servidor lo envía nuevamente al cliente.
99
TCP es Go-back N o Selective Repeat?
Se parece a GBN porque mantiene una base y un nextSeqNum, pero TCP no retransmite todos los paquetes sin ACK si se pierde un ACK. Ademas tiene buffer en el receptor como Selective Repeat. Por lo tanto es un híbrido entre Go-back N y Selective Repeat. TCP permite que lleguen segmentos desordenados, porque tiene buffer de recepción. Ademas si se da un timeout solo retransmite el segmento que ocasionó el timeout.
100
DNS Local
No pertenece a la jerarquía. Actua como proxy.
101
Proxy Server y 2 ventajas
Es una entidad que satisface pedidos en nombre de otro Web server. Mantiene copias de los objetos pedidos recientemente en un disco. Ventajas: reduce sustancialmente el tiempo de respuesta y reduce el tráfico hacia afuera (internet).
102
TLD DNS Server
Son responsables de dominios como .com, .org, .edu, .net, .org y todos los dominios de paises como .uk, .fra, etc.
103
Man in the middle
En este caso el "malo" se interpone entre dos entidades (ejemplo un router) que se estan comunicando, y puede tanto sniffear como inyectar, modificar o borrar paquetes.
104
Demultiplexing
Es un proceso que se da en el receptor, mediante el cual se envía la data desde la capa de transporte al correspondiente socket.
105
Hub
Un hub es un dispositivo de capa física que toma los bits que llegan a él y los replica por todas sus interfaces. Es un medio en el que se producen colisiones.
106
Multicast
Un paquete multicast es enviado solo a un subconjunto de nodos de una red. Esto sirve por ejemplo para hacer streaming de video (partido de fútbol) o en conferencias con varios participantes. En este caso se utiliza un único identificador (dirección IP) para todo el grupo de receptores (**multicast group**). El protocolo DVMRP se encarga de generar el y podar los spanning trees utilizados en multicast y IGMP permite a los hosts unirse a grupos multicast.
107
Diagrama de control de congestion de TCP
108
rdt 3.0
- Se pierden paquetes. - Timeout
109
Life of a TCP connection
110
LAN
Local Area Network. Se utiliza para conectar end-systems con el router de borde. Ethernet es la más utilizada en universidades, hogares y corporaciones. En Ethernet los usuarios utilizan cable cruzado para conectarse al switch. Luego el switch se conecta a internet. Normalmente el acceso del usuario al switch es de 100 mb. Tambien existe wireless LAN (wi-fi).
111
IPv6
La motivación fue que las direcciones IP de 32 bits se estaban terminando. Las direcciones son de 128 bits. IPv6 no permite fragmentación en los routers, debe hacerse en los sistemas finales.
112
rdt 1.0
- Canal 100% confiable. - Stop & Wait
113
BitTorrent
Chunks de tamaño fijo (256KBytes). Cuando un peer se une a un torrent se registra en el tracker y le informa periódicamente que todavía está en el torrent. El tracker selecciona un subconjunto de 50 participantes (vecinos) y se los envía al peer. El peer establece conexiones TCP concurrentes con cada uno de los vecinos. El peer le pide la lista de chunks a sus vecinos y descarga los que no tiene. Selecciona el chunk a pedir con la técnica rarest first. Para decidir a quién enviarle chunks el peer se fija que vecinos estan enviandole chunks al mayor rate y le envia a esos. Cada 30 segundos elige un peer random para enviarle también (optimistically unchoked).
114
Spanning Tree
Es un árbol que contiene todos los nodos de un grafo. Cuando un nodo quiere enviar un mensaje de broadcast, lo envía a todos sus vecinos que estan en el spanning tree. Cada nodo que recibe el paquete lo forwardea a todos sus vecinos que no estan en el spanning tree, excepto si es el nodo que le envió el paquete. No hay ciclos y no se envían paquetes duplicados.
115
Cual es un posible problema en el algoritmo Distance Vector y como se puede solucionar?
Conteo Infinito: En el ejemplo, cuando se produce el cambio de costo 4 a 60. El nodo y que aún tiene la tabla de vectores vieja de z, sabe que z llega a x en 6, entonces actualiza su tabla diciendo que y llega a x en 7 (costo de ir a z =1 + d(z, x)). El nodo y envía esta información al nodo z, que ahora ve que en vez de llegar a x en 5, llega en 7 (costo de ir a y =1 +d(y, x)). El nodo y recibe esta información y se da cuenta que ahora llega a x en 8 (costo de ir a z=1 + d(z,x)). Así se quedan por un largo rato hasta que el sistema se estabiliza. Se resuelve con la técnica de reversa envenenada.
116
Flow Control
Si el emisor envía datos más rápido de lo que el receptor puede procesarlos, se puede saturar el buffer del receptor. Para evitar esto, TCP ofrece un servicio de control de flujo. Para esto el emisor mantiene una variable llamada ventana de recepción , que indica cuánto espacio disponible hay en el buffer del receptor.
117
Virtual Circuit Network (VC)
Son redes que proveen solamente servicio con conexión. Consiste en: - Un path (links, routers) entre el host origen y el host destino. - Un número VC por cada link del path. - Entradas en la tabla de forwarding de cada link del path. - Cada paquete lleva un VC number en el header, y cada router reemplaza este VC number con el siguiente, utilizando la tabla de forwarding. Los VC number de cada link son diferentes pq seria muy costoso que todos los routers se pongan de acuerdo en que numero utilizar. _Fases_: **VC Setup**: La capa de transporte contacta a la capa de red para pedir que se cree el VC network. La capa de red determina el camino, es decir, la serie de links por las que van a pasar los paquetes y agrega las entradas en las tablas de forwarding. **Data Transfer**: Después de establecida la red los paquetes pueden ser enviados. **VC Teardown**: El emisor o el receptor comunican a la capa de red que quieren terminar la conexión. La capa de red avisa al otro end-system y remueve las entradas de las tablas de forwarding de los routers. Los mensajes intercambiados se llaman mensajes de señalización y los protocolos utilizados, **protocolos de señalización.**
118
Arquitectura Peer-to-Peer y cual es la gran ventaja?
La necesidad de un servidor no existe o es mínima. Este tipo de arquitecturas explotan la comunicación directa entre pares de hosts denominados peers. Una de las grandes ventajas es que es auto escalable. El que empieza la comunicación se llama cliente y el otro servidor. Pueden ser a la vez cliente y servidor. Ejemplo: File distribution, Skype.
119
Conditional GET
Es un mecanismo que permite verificar que los objetos almacenados estan actualizados. Es un HTTP request que utiliza el método GET con el header If-Modified-Since. Request: GET /fruit/kiwi.gif HTTP/1.1 Host: www.exotiquecuisine.com If-modified-since: Wed, 7 Sep 2011 09:23:24 Response: HTTP/1.1 304 Not Modified Date: Sat, 15 Oct 2011 15:39:29 Server: Apache/1.3.0 (Unix) (empty entity body)
120
Delay de cola
Es el tiempo que debe esperar un paquete para ser transmitido en un link (del orden de los microsegundos o milisegundos).
121
NAT
Network Address Translation El router NAT es visto desde el exterior como un dispositivo con una única direccion IP. En el ejemplo todos los paquetes que salen del router tienen direccion de origen 138.76.29.7 y todos los paquetes que entran deben tener direccion destino 138.76.29.7. El servidor Nat tiene un DHCP para proveer las direcciones locales. Se utiliza un número de puerto para saber a que direccion local y puerto corresponde. Se viola el modelo de capas, ya que el router tiene que meterse en el segmento UDP/TCP para cambiar el número de puerto.
122
Throughput promedio
Es F/T, siendo F el tamaño del archivo en bits, y T el tiempo en segundos que le toma al receptor recibir todos los bits.
123
lower-tier ISP
- Estan debajo de los tier-2 en la jerarquía. - Se conectan con uno o más tier-2.
124
ISP
El ISP es un proveedor de conectividad cableada o inalámbrica en tecnologías como DSL, FTTH, wifi, celular etc.
125
tier-1 ISP
- Aproximadamente una docena en total. - Todos los tier-1 estan conectados con todos los tier-1. - Ofrece cobertura internacional. - Grandes velocidades del orden de los 622 Mbps. - Son lo que se llama el "backbone" de internet.
126
CSMA/CD en Ethernet
- Cuando el adaptador de red recibe un datagrama, prepara un frame Ethernet y lo coloca en el buffer del adaptador. - El adaptador censa el canal, si está libre comienza a transmitir el frame. Si está ocupado, espera a que esté vacío y retransmite. - Si se detecta una colisión cuando se está transmitiendo el frame, se detiene la transmisión y se envía una señal de **jam** para que todo el mundo se entere que hubo una colisión. - Despues de abortar se entra en un backoff exponencial: el adaptador elige un k en {0,1...2^n-1}donde n es el número de colisiones consecutivas. Luego se espera K\*512 tiempos de bit (el tiempo que demora transmitir un bit) para volver a censar el canal. Es decir, si dprop -\> 0 la eficiencia tiende a 1 (si hay poco delay, los nodos abortan inmediatamente evitando desperdiciar el canal). Si dtrans -\> infinito la eficiencia también tiende a 1 (si un frame usa el canal por un tiempo muy largo, entonces lo está aprovechando más). **_Conclusión_**: es mejor que ALOHA, es simple, barato y descentralizado.
127
Multiplexado Estadístico
No tiene un patrón fijo, el ancho de banda se reparte a demanda.
128
CSMA (Carrier Sense Multiple Access)
**Carrier sensing**: Antes de transmitir un frame, el nodo censa el canal para ver si hay otro nodo transmitiendo en ese momento. Si el canal está libre se transmite el frame, si el canal está ocupado el nodo espera un tiempo random y vuelve a censar el canal. **Collision detection**: Mientras el nodo está transmitiendo censa el canal para ver si hay algún otro nodo interfiriendo. De ser así, se interrumpe la transmisión. La diferencia entre **CSMA** y **CSMA/CD** es que el primero no tiene deteccion de colision, por lo que si se produce una colisión se sigue transmitiendo, el segundo para cuando detecta que hubo colisión. En este caso igual pueden producirse colisiones, ya que las señales electromagnéticas demoran cierto tiempo en propagarse, y puede que un nodo comience a transmitir en un instante t, y en ese mismo instante un nodo que está lo suficientemente lejos vea el canal libre.
129
Broadcast: Uncontrolled Flooding y que problemas trae.
Cuando un nodo recibe un paquete de broadcast, envía copias a todos sus vecinos. **Problemas**: Ciclos y broadcast storm.
130
ACK en TCP
131
TCP Congestion Control Cómo se detecta que hay congestión? Como cambia el rate?
El enfoque tomado por TCP es limitar el rate al que transmite el emisor si se observa congestión en la red. **Ventana de congestion (cwnd)** Es una variable del mecanismo de control de congestión en TCP, mediante el cual se limita el rate al cual el emisor puede enviar datos. _rate = cwnd/RTT_ **_El tamaño de la ventana de transmisión es el min entre la ventana de congestión cwnd y la ventana de recepción rwnd._** **Como cambia el rate:** - Si un segmento se pierde, se asume que hubo congestión y se debe disminuir el rate. (decrementar cwnd) - Si se recibe un ACK, se asume que los segmentos se estan entregando al receptor y se debe aumentar el rate. (incrementar cwnd) - TCP incrementa el rate mientras recibe ACK’s hasta que ocurre una pérdida, en ese momento reduce el rate y luego intenta incrementar de nuevo para ver si el rate al cual se produjo la congestión cambio..
132
Reversa Envenenada
Es una técnica para prevenir el problema del conteo infinito. La solución es simple: si el nodo z sabe que para ir a x pasa por y, entonces le miente al nodo y diciéndole que la distancia de z a x es infinito. _No funciona si el loop involucra 3 o más nodos._
133
Cuales son las capas y que capa implementan los sistemas finales, routers y switches?
134
Possibles servicios de la capa de red
- _Entrega garantizada_: se garantiza que el paquete llegará al destino. - _Entrega garantizada en un tiempo acotado._ - _Entrega en orden_. - _Bandwidth mínimo garantizado_: si el emisor envía a un rate por debajo del rate especificado, se garantiza que los paquetes llegan en orden y a un rate fijo. - _Máximo Jitter garantizado_: El tiempo de transmisión entre paquetes es el mismo que el tiempo entre la recepción de esos paquetes. - _Servicios de Seguridad_: autenticación y encriptado de datos. **IP provee un solo servicio: _best-effort_, no se garantiza que lleguen en orden y ni siquiera se garantiza que lleguen.**
135
Internet
- Es una infraestructura de red que provee servicios para aplicaciones distribuidas. - Es una red de computadoras que interconecta cientos de millones de dispositivos en todo el mundo.
136
Algoritmo Distance Vector (DV)
Cada nodo recibe información de sus vecinos, realiza un cálculo y distribuye los resultados entre sus vecinos. Cada cierto tiempo el nodo envía una copia de sus vectores de distancia a todos sus vecinos. Los nodos utilizan esta información para actualizar sus propios vectores de distancia. La información se envía cuando cambia un costo o cuando los vectores de distancia cambian.
137
Tabla de Forwarding
Todos los routers tienen una tabla de forwarding. Examinando un field en el header del paquete y utilizando esta tabla se determina el enlace de salida del paquete. Los algoritmos de enrutamiento son los que determinan las entradas de estas tablas.
138
Segmento TCP
_Header Length_ (4 bits): Especifíca el largo del header en cantidad de palabras de 32 bits. El header puede variar debido al campo Options. Normalmente está vacío, y el tamaño del header es de 20 bytes. _ACK_ (1 bit): si esta en 1 indica que es un ACK. _RST (1 bit) SYN (1 bit) FIN (1 bit):_ se usan para configurar la conexión. _Numeros de secuencia y de ack_: El número de secuencia es el número de byte dentro del stream de bytes, del primer byte del segmento (**_data_**). El ACK es el número de secuencia del próximo byte que se está esperando.
139
Protocolos de Acceso Múltiple
Los medios compartidos pueden tener múltiples nodos enviando y recibiendo datos en el mismo canal. Cuando un nodo transmite un frame todos los otros nodos del medio compartido lo reciben. Si dos nodos transmiten al mismo tiempo se producen colisiones que hacen que los frames sean inentendibles. Los protocolos de acceso múltiple permiten coordinar la manera en que los nodos transmiten en el medio compartido. Hay tres categorias: **Protocolos de partición del canal**: Dividen el canal dando una parte (time slot, frequency) exclusiva a cada nodo. **Protocolos de acceso aleatorio**: Como son aleatorios admiten colisiones, por lo tanto deben proveer una forma de detectar si hubo colisión y una forma de recuperarse de esas colisiones. **Protocolos de toma de turnos**: Los nodos toman turnos para utilizar el canal, nodos que tienen más datos para enviar puede utilizar el canal por más tiempo.
140
Forwarding
Se encarga de la transferencia de un paquete desde un enlace de entrada a un enlace de salida en un **_único_** router.
141
Protocolo
Define el formato y el orden de los mensajes intercambiados entre una o más entidades y las acciones tomadas en la transmisión o recepción de un mensaje u otro evento.
142
Capa Física
Se encarga de transportar **un bit** de un nodo al siguiente.
143
Capa de Transporte
Transporta los mensajes de la capa de aplicación entre dos procesos que corren en sistemas finales. Los paquetes de esta capa se denominan **segmentos**. Ejemplos de protocolo: **TCP**, **UDP**.
144
Congestión Escenario 1 Dos conexiones compartiendo un mismo hop de buffer infinito.
Incluso en este ejemplo de buffer infinitos, cuando los paquetes llegan a un rate cercano a la capacidad límite del enlace, las colas se hacen cada vez más largas.
145
Neighbour Discovery
Es un mecanismo para descubrir direcciones de enlace (MAC) de los nodos dentro de un segmento de la misma red (análogo a ARP) y para encontrar routers vecinos. Es parte de ICMPv6. **Router Solicitation**: Cuando un router se conecta a la red por primera vez, no quiere esperar a que le llegue un router advertisement asi que envía un router solicitation (a todos los routers a traves de multicast). **Router Advertisement**: estos mensajes se envían periódicamente o en respuesta a router solicitation. Los routers avisan de su existencia a través de estos mensajes. Los host del link reciben los RA de todos los routers del link construyendo sus tablas de ruteo. Estos mensajes contienen por ejemplo, la IP del router **Neighbour Solicitation**: Los nodos envían mensajes NS para determinar dinamicamente el mapping IPv6 - MAC, pregunta a su vecino cuál es su direccion MAC. Similar al ARP request de IPv4. **Neighbour Advertisement**: Contesta a un mensaje del tipo NS. También puede enviarse sin ser solicitado si su dirección (MAC) de capa de enlace cambió. **Redirect**: Se envían mensajes para avisar que existen un mejor next-ho para una determinada dirección.
146
Selective Repeat
- Solo se reenvían los paquetes que no tienen ACK. - Los ACK no son acumulativos. - Multiple timers (1 por paquete enviado) - windows\_size
147
TCP Servicios
- Orientado a conexion (handshaking) - Transferencia Confiable de datos (llega, sin errores y en orden) - Control de congestion
148
rdt 2.2
- Libre de NACK. - ACK con número de secuencia.
149
Routing
Involucra a todos los routers de la red, que interactúan para determinar los caminos que un paquete toma del origen al destino. Se utilizan algoritmos de enrutamiento.
150
Intra-AS: RIP (UDP, 520)
Routing Information Protocol. Es un protocolo Distance-vector. Utiliza la cantidad de hops como costo. Los hops son la cantidad de subredes desde el router de origen al destino. Es un protocolo de **_capa de aplicación_** que corre sobre UDP. - Tiene un límite de 15 hops, por lo que solo se puede utilizar en subredes de diámetro hasta 15 hops. - Cada 30 min, se envian RIP advertisement, con los vectores de distancia a cada subred. - Si no escucha nada de su vecino por 180 segundos, lo da por muerto, actualiza sus tablas y se las envía a sus vecinos.
151
SMTP (TCP, 25)
Es el principal protocolo de capa de aplicación para el correo electrónico. SMTP transfiere mensajes desde el servidor de correo de origen al servidor de correo del receptor. Utiliza conexiones **_persistentes_**.
152
bandwith-delay
R x dprop = la mayor cantidad de bits que puede haber en el enlace en un tiempo dado.
153
Transmisión store and forward
El switch (router) tiene que recibir el paquete entero antes de comenzar a enviarlo.
154
Ataque DoS (3 tipos)
Denial of Service. Un ataque DoS vuelve a una red o host inutilizable. Hay 3 tipos de **DoS**: _Ataque de vulnerabilidad._ _Bandwidth flooding._ _Connection flooding_.
155
Conmutación de Circuitos
Los recursos necesarios para la comunicación entre los sistemas finales, se reserva por todo el tiempo que dure la comunicación. Recursos dedicados.
156
Chequeo de paridad matricial
Se dividen los datos en filas, y se le agrega a cada fila y columna el bit de paridad, para que la fila/columna tenga paridad par. _Este método permite detectar y corregir errores. Pero si se producen dos errores se puede detectar pero no corregir._
157
DNS Records
158
Congestión Escenario 3 Cuatro hosts retransmitiendo paquetes en conexiones de 2 hops solapadas.
En este caso cuando un paquete es descartado a lo largo del path, la capacidad de transmisión utilizada en cada link antes de ser descartado fue al cuete.
159
Delay de transmisión
El delay de transmisión es L/R, siendo L el largo del paquete en bits y R la tasa de transmisión del link. El el tiempo requerido para poner todos los bits del paquete en el link. (en el orden de los milisegundos a microsegundos)
160
Intra-AS: OSPF (IP)
Open Shortest Path First. Es un protocolo Link-state que usa flooding y el algoritmo de Dijkstra. Cada router construye la topología de todo el sistema AS y luego corre Dijkstra localmente para generar los caminos más cortos a cada subred. Los costos de los links son configurados por un administrador manualmente. Los routers hacen broadcasting para enviar la información a todos los otros routers dentro del AS. Esto se realiza cada 30 min o si algun costo cambió. Los mensajes OSPF estan embebidos en datagramas IP. OSPF ofrece: **Seguridad**: los mensajes OSPF pueden ser autenticados para que solo routers confiables participen del protocolo de routing. **Múltiples path de mismo costo**: Si hay más de un camino del mismo costo, OSPF permite utilizar múltiples paths de igual costo. **Soporte para Unicast y Multicast**. **Permite Jerarquía dentro de un mismo dominio**: El AS puede ser configurado en áreas jerárquicas. Cada área corre su propio OSPF.
161
Fast Retransmission
Cuando se reciben tres ACK duplicados, se reenvía el segmento correspondiente a ese ACK para evitar que salte el timeout. TCP solo re-transmite si hubo timeout o tres ACK duplicados.
162
Servicios de UDP
Transferencia de datos no confiable: no garantiza que llegue y si llega no garantiza orden.
163
Como se obtiene un bloque de direcciones IP?
Se debe contactar al ISP. Por ejemplo, si el ISP tiene el bloque de direcciones 200.23.16.0/20, puede asignar sub-bloques a las distintas organizaciones. EL **ICANN** es quien se encarga de asignar bloques de direcciones IP a los ISP y otras organizaciones.
164
SSL
Security Socket Layer. Es una mejora para TCP, implementada a nivel de capa de aplicación (API), que provee encriptación de datos.
165
Direcciones MAC
Las direcciones MAC tienen 6 bytes de largo (48 bits). Cada byte se expresa como un par de números hexadecimales. La dirección MAC es única, no hay dos adaptadores que tengan la misma dirección MAC (aunque ahora es posible cambiarla mediante software). **Dirección de broadcast:** FF-FF-FF-FF-FF-FF
166
Protocolos de partición del canal
Las tecnicas de TDM (Time division multiplexing) y FDM (Frequency division multiplexing) ya vistas pueden ser utilizadas para particionar un medio compartido. **TDM** elimina las colisiones y es justo ya que cada nodo obtiene R/N bps en cada frame de tiempo. Desventajas: - El rate está limitado a R/N aun cuando es el único nodo que quiere enviar datos. - Debe esperar siempre su turno aunque sea el único nodo que quiere enviar datos. **FDM** también evita colisiones y divide de forma justa el ancho de banda. Desventajas: - El ancho de banda está limitado a R/N aun cuando sea el único nodo queriendo enviar datos.
167
Formato Mensajes DNS
En la parte de flags, se puede especificar si se desea una consulta recursiva, si es una consulta o una respuesta, etc.
168
Trama de conmutación (Switching fabric) - 3 tipos
**Via Memoria**: El procesador de ruteo es interrumpido y el puerto de entrada copia el datagrama a una memoria compartida. Luego el procesador examina la direccion de destino y copia el datagrama al puerto de salida. **Via Bus**: El puerto de entrada transfiere el datagrama al puerto de salida a través de un bus, no se necesita intervención del procesador. En el bus puede haber un datagrama a la vez, así que si otra interfaz está mandando un datagrama se queda bloqueado y se guarda en la cola. La velocidad es limitada por la velocidad del bus. **Via Red interconectada**: Consiste de 2n buses conectando n puertos de entrada con n puertos de salida. Si se encuentra alguno de los tramos ocupados, el datagrama queda bloqueado y se guarda en la cola.
169
Broadcast: Controlled flooding y problema
En este tipo de flooding, el nodo pone su direccion y un número de secuencia de broadcast en el paquete broadcast y envía el paquete a todos sus vecinos. Cada nodo mantiene una lista de (address, número de secuencia) y si recibe un paquete que ya estaba en esta lista lo descarta, si no estaba en la lista lo duplica y lo envía a todos sus vecinos excepto al vecino desde donde vino el paquete. **Problema**: No hay broadcast storm pero se envían paquetes duplicados.
170
Servicios de TCP
- Orientado a conexión: handshaking antes de comenzar la conexión full-duplex. - Transferencia confiable de datos: sin errores y en orden. - Control de congestión.
171
RTT
Round Trip Time: es el tiempo que le lleva a un paquete ir desde el cliente al servidor y de vuelta al cliente.
172
Intensidad del tráfico
La/R, donde a es la tasa promedio de arribo de paquetes.
173
Gusano
Es un malware que puede ingresar al dispositivo sin ninguna acción del usuario.
174
TDM
Time division multiplexing. El tiempo se divide en frames de duración fija y cada frame se divide en time slots. A cada conexion en la red le corresponde un time slot de cada frame.
175
Polling protocol
Requiere que uno de los nodos sea designado como master. El nodo maestro notifica a cada nodo cuando puede transmitir en forma de round robin. **Ventajas**: - Se eliminan las colisiones y los slots vacíos. **Desventajas**: - Hay un polling delay producto de avisar a cada nodo que puede transmitir. - Si el master node falla, el canal se vuelve inoperable (single point of failure).
176
VLAN Trunking
Un puerto especial en cada switch es configurado como puerto de trunk para interconectar dos switches VLAN. El puerto trunk pertenece a todas las VLAN y todos los frames que se envían a ese puerto llegan al otro switch. Para saber a que VLAN pertenece el frame que llega por el puerto trunk, se le agrega al frame un VLAN tag. Este tag solo existe entre los puertos trunk.
177
Broadcast address
255.255.255.255 Cuando un host envia un datagrama con este destino, el datagrama se envia a todos los hosts dentro de la subred.
178
Componentes de la capa de Red
179
Protocolos de acceso aleatorio
En estos protocolos cada nodo envía con todo el rate del canal. Si se produce collision, los nodos re-transmiten los frames repetidamente hasta que el frame es enviado sin colisión. Antes de hacer la retransmisión cada nodo espera un tiempo randomico, esto disminuye la probabilidad de que ocurra otra colisión. Dentro de estos protocolos se encuentran: **- Slotted Aloha** **- Aloha** **- CSMA - Carrier Sense Multiple Access**
180
Ethernet
Es una de las tecnologías más importantes de acceso a la red en redes LAN. En una topología Ethernet de tipo estrella con hub, todos los host y el router estan conectados directamente a un hub. Hoy en día se utiliza un switch en lugar de un hub, con el switch las tramas solo se reenvían a donde deben re-enviarse.
181
MSS
Maximum Segment Size: es la mayor cantidad de **_data_** que se puede meter en un segmento. Se calcula teniendo en cuenta el tamaño del frame mas grande que puede enviar el host actual (**MTU, Maximum Transmission Unit**). Para asegurarse que el segmento TCP entre en un único frame al encapsularse dentro del datagrama IP. La data a enviar se parte en MSS y se mete dentro de un segmento TCP.
182
Congestión Escenario 2 Buffer finito y transferencia confiable, con lo cual ocurre retransmisión si un paquete se pierde. Si el emisor piensa que el paquete no llegó, lo reenvía.
Esto puede provocar que el paquete sea retransmitido innecesariamente utilizando ancho de banda. Esto provoca que el router envíe más paquetes de los necesarios (goodput vs throughput).
183
Rol de la capa de Red
Transportar paquetes de un host a otro. Se identifican dos funciones importantes: routing y forwarding.
184
Frame Ethernet
**Data field**: Contiene el datagrama IP. El máximo MTU en ethernet es de 1500 bytes, si el datagrama sobrepasa el MTU el host debe fragmentar el datagrama. **Destination address (48 bits):** Dirección MAC del adaptador de destino. Si un nodo recibe este frame con su direccion MAC o la dirección broadcast, lo pasa a la capa superior. Si no, lo descarta. **Source address (48 bits)**: Dirección MAC del adaptador que transmite el frame. **Type:** El protocolo de capa de red, por ejemplo IP o ARP. **CRC**: Cyclic Redundancy Check para detectar errores. **Preamble (8 bytes):** 7 bytes con el patrón 10101010 seguido de un byte con patrón 10101011. _Caracteristicas_: - Ethernet no es orientado a conexión. No hay un handshaking previo. - Utiliza el protocolo de acceso al medio CSMA/CD. - No es confiable: no garantiza que llegue la trama y no garantiza orden. Relegado a las capas superiores.
185
FDM
Frequency division multiplexing. El espectro de frecuencias de un link es dividido entre las conexiones que se establecen en dicho link.
186
Capa de Enlace
Se encarga de transportar un paquete entre un nodo (host o router) al nodo siguiente dentro de un link. Los paquetes de la capa de enlace se denominan **frames**. Ejemplo de protocolo: **Ethernet**, **Wifi**, **PPP**.
187
Chequeo de Redundancia cíclica (CRC)
Implementado a nivel de controlador de red (hardware), ya que tenemos un procesador dedicado a transmitir y recibir bits y hacer cálculos. El emisor y el receptor se ponen de acuerdo en un código de r+1 bits que denominamos generador (G). _El primer bit de G debe ser un 1._ El emisor le agrega a r bits adicionales a d, tal que el resultado es divisible entre G. El receptor solo tiene que dividir los datos recibidos (d+r) entre G y si no tiene resto, no se produjo error, si tiene resto hubo un error.
188
Conexión TCP - Características
- Orientado a conexión: handshaking. - Full duplex: si a se conecta a b, entonces b esta conectado con a. - Punto a punto: un solo emisor y un solo receptor.
189
User Agent (email)
Permite leer, responder y forwardear mensajes que luego serán enviados al mail server.
190
HTTP con conexiones persistentes
La conexión TCP se mantiene abierta luego de enviar la respuesta. Se cierra cuando no es utilizada por un cierto tiempo (timeout). HTTP usa por defecto conexiones persistentes.
191
Arquitectura Cliente-Servidor
En este tipo de arquitecturas hay un host denominado servidor, siempre disponible, que atiende peticiones de muchos otros host denominados clientes.Ejemplo: Aplicacion Web, FTP, email.
192
Spanning Tree - Construcción y cuales son los dos tipos de spanning tree que hay
- Un nodo central. - Cada nodo envía un mensaje unicast al nodo central. - El mensaje se reenvía hasta que se llega a un nodo del spanning tree. Este algoritmo nos da **_un_** spanning tree, no el spanning tree de menor costo. Hallar el spanning tree de menor costo es un problema np. Hay dos tipos de árbol de recubrimiento: **Basado en origen**: Cada nodo crea su propio árbol de recubrimiento. **Árbol compartido**: Todos los nodos utilizan el mismo árbol.
193
ARP
Address Resolution Protocol. Es un protocolo que permite traducir direcciones IP a direcciones MAC dentro de la misma subred. Cada nodo tiene una tabla ARP (IP, MAC, TTL). Supongamos que un nodo tiene que enviar un datagrama a una dirección IP, el nodo necesita conocer su la direccion MAC de destino para armar el frame. Lo primero que hace es fijarse en su propia tabla ARP si tiene una entrada para esa dirección IP. Si no tiene la entrada construye un paquete **ARP query** (IP origen, IP destino, MAC) y se lo envía al broadcast (FF-FF-FF-FF-FF-FF). El adaptador de red crea un frame con el paquete y dirección de destino broadcast y transmite el frame en la subred. Todos los adaptadores de la subred reciben el mensaje y como es para el broadcast lo pasan a su modulo ARP. Luego el nodo se fija si la direccion IP de destino matchea su IP, si es su IP, envía un **ARP Response** (IP origen, IP destino, MAC) con su dirección MAC a la MAC de origen. El nodo que hizo la pregunta obtiene la respuesta y actualiza su tabla ARP. Luego puede enviar el mensaje. Es un protocolo de capa de enlace **y** capa de red.
194
Capa de Aplicación
Es donde residen las aplicaciones y los protocolos de capa de aplicación. La capa de aplicación es distribuida en los sistemas finales. Los paquetes de datos intercambiados entre los sistemas finales se denominan **mensajes**. Ejemplos de protocolo: **HTTP**, **SMTP**, **FTP**, **DNS**.
195
Aloha
**Se asume**: - No hay slots. **Transmisión** - Cuando un nodo recibe un frame automáticamente lo transmite al medio compartido. - Si se produce una colisión transmite el frame nuevamente con probabilidad p en **_sus_** siguientes frame-slots. **Ventajas**: - Totalmente descentralizado, ya que no hay que sincronizar slots. **Desventajas**: -Solo 18% de uso del medio compartido, en el mejor caso.