Todos Flashcards
VLAN
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.
Router (componentes)
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.
Por que tener un protocolo inter-AS y un protocolo intra-AS? (3 razones)
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.
DHT
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).
Inter-AS: BGP (TCP, 179)
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.
Conmutación de Paquetes
Los datos se envían en trozos a través de la red. Los recursos se usan cuando se necesitan, a demanda.
Delay de procesamiento
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)
Go-back-N
- 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.
Socket
Es la interfaz (librería del sistema operativo) entre la capa de aplicación y la capa de transporte de un host.
Tipos de direcciones IPv6
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.
botnet
Es una red de miles de dispositivos que personas con intenciones maliciosas controlan para generar spam o ataques DoS.
Virus
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).
Email protocols
Multiplexing
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.
End System
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.
Datagram Networks
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.
rdt 2.0
- Los paquetes pueden llegar con errores en los bits.
- No se pierden paquetes.
- ACK positivos y negativos (sin errores).
- Stop & Wait
HTTP con conexiones NO persistentes (que es y nombrar 2 desventajas)
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.
UDP Servicios
- Entrega de datos de proceso a proceso.
- Chequeo de errores
Path MTU, que es y algoritmo para hallarlo
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).
Switches
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.
Congestión, por que se produce? y que provoca?
El router recibe paquetes más rápido de lo que puede procesarlos, aumentando la espera en las colas.
- Perdida de paquetes
- Delay grandes
tier-2 ISP
- Se conectan solo con algunos tier-1.
- Cobertura nacional o regional.
Routers vs Switches
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.
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.
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.
Sockets con TCP
Calculo del checksum (UDP)
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.
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.
Authoritative DNS Server
Cada organización con servidores de acceso público debe proveer registros DNS accesibles al público.
Cookies
Utilizada por los sitios para guardar información de los usuarios. Permite restringir el acceso o brindar contenido específico al usuario.
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.
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.
Segmento UDP
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.
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).
ICMPv6
Similar a ICMPv4 pero actualizado para IPv6. Next header =58.
En el body contiene el datagrama original truncado al Path MTU.
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.
Closing a TCP connection
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)
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ó.
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.
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.
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.
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.
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.
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.
Sockets con UDP
IP Spoofing
Es la habilidad de inyectar paquetes en la red con una direccion IP origen falsa. Se pueden resolver con endpoint authentication.
Servicios que puede brindar la Capa de Transporte
- Transferencia confiable
- Throughput
- Tiempo
- Seguridad
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.
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
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.
POP3 (TCP, 110)
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.
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.
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).
Cuando se dice que un ACK es piggybacked?
cuando ademas del ACK lleva datos en el segmento.
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.
Estimación del RTT
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).
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.
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.
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.
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.
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.
Comandos FTP
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.
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.
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.
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.
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.
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.
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).
Throughput instantáneo
Es la tasa (bit/s) a la cual el receptor está recibiendo la data en ése preciso momento.
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.
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.