Sei sulla pagina 1di 69

Resumen de Redes

Maximiliano Illbele illbelemaxi@gmail.com


8 de julio de 2014

Indice
1. La capa de Red 3
1.1. Sntesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Dise no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1. Conmutacion de paquetes de almacenamiento y reenvo . 4
1.2.2. Servicios proporcionados a la capa de Transporte . . . . . 4
1.2.3. Implementacion del servicio No orientado a la conexion . 5
1.2.4. Implementacion del servicio Orientado a la conexion . . . 6
1.2.5. Comparacion entre las subredes de CV y las de datagramas 7
1.3. Algoritmos de enrutamiento . . . . . . . . . . . . . . . . . . . . . 8
1.3.1. Clasicacion de algoritmos de enrutamiento . . . . . . . . 9
1.3.2. Principios de Optimizacion . . . . . . . . . . . . . . . . . 10
1.3.3. Enrutamiento por la ruta mas corta . . . . . . . . . . . . 11
1.3.4. Inundacion . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.5. Enrutamiento por Vector de Distancia Ford y Fulkerson . 13
1.3.6. Enrutamiento por estado de Enlace . . . . . . . . . . . . . 15
1.3.7. Enrutamiento Jerarquico . . . . . . . . . . . . . . . . . . 21
1.3.8. Enrutamiento por Difusion . . . . . . . . . . . . . . . . . 22
1.3.9. Enrutamento por Multidifusion . . . . . . . . . . . . . . . 22
1.3.10. Enrutamiento para Hosts moviles . . . . . . . . . . . . . . 22
1.3.11. Enrutamiento en redes ad Hoc . . . . . . . . . . . . . . . 22
1.3.12. B usqueda de nodos en redes de igual a igual . . . . . . . . 22
1.4. Algoritmos de Control de Congestion . . . . . . . . . . . . . . . . 22
1.4.1. Principios Generales . . . . . . . . . . . . . . . . . . . . . 24
1.4.2. Polticas de prevencion de Congestion . . . . . . . . . . . 28
1.4.3. Control de congestion en Subredes de Circuitos virtuales . 28
1.4.4. Control de congestion en Subredes de Datagramas . . . . 28
1.4.5. Desprendimiento de Carga . . . . . . . . . . . . . . . . . . 28
1.4.6. Control de Fluctuacion . . . . . . . . . . . . . . . . . . . 29
1.5. Calidad del Servicio (397) . . . . . . . . . . . . . . . . . . . . . . 29
1.5.1. Interconectividad (Internetworking) . . . . . . . . . . . . 29
2. Concatenar circuitos virtuales 31
1
3. Conectionless Interconectividad 32
4. Entunelamiento 33
5. Internetwork Routing 34
6. Fragmentacion 36
7. Esquema de numeracion de Fragmentos 37
8. La capa de Red de Internet 38
8.1. El protocolo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.1.1. Encabezado de Protocolo IP . . . . . . . . . . . . . . . . 40
8.1.2. Direcciones IP . . . . . . . . . . . . . . . . . . . . . . . . 42
8.1.3. Mascaras de red . . . . . . . . . . . . . . . . . . . . . . . 43
9. CIDR 46
10.NAT 47
10.1. Protocolos de Control . . . . . . . . . . . . . . . . . . . . . . . . 48
11.ARP 48
11.1. RARP, BOOTP, DHCP . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.1. RARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.2. BOOTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.3. DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.2. Protocolos de control de Internet . . . . . . . . . . . . . . . . . . 50
11.3. OSPF - The interior gateway routing protocol . . . . . . . . . . . 50
11.4. BGP - The exterior gateway routing protocol . . . . . . . . . . . 51
11.5. Internet Multicasting . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.6. Mobile IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
11.7. IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
12.Ipsec 54
12.1. Implementacion de IPsec en IPv4 . . . . . . . . . . . . . . . . . . 54
12.1.1. Bump In the Stack BITS . . . . . . . . . . . . . . . . . . 54
12.1.2. Bump in The Wire (BITW) . . . . . . . . . . . . . . . . . 54
12.2. Funcionamiento general de IPsec . . . . . . . . . . . . . . . . . . 55
12.2.1. 2 Maneras de Proteger los Datagramas . . . . . . . . . . . 55
12.2.2. Modos de operacion de IPSec . . . . . . . . . . . . . . . . 56
13.La capa de transporte 57
13.1. Servicios que realiza para capas superiores . . . . . . . . . . . . . 57
13.2. Primitivas de la capa de transporte . . . . . . . . . . . . . . . . . 58
13.3. berkeley sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
13.4. Elementos de los protocolos de la capa de transporte . . . . . . . 58
13.5. Metodo de Tomlinson . . . . . . . . . . . . . . . . . . . . . . . . 60
2
13.5.1. Direcionamiento . . . . . . . . . . . . . . . . . . . . . . . 61
13.5.2. Establecer una Conexion . . . . . . . . . . . . . . . . . . . 62
13.5.3. Cerrar una Conexion . . . . . . . . . . . . . . . . . . . . . 62
13.5.4. Control de Flujo y buering . . . . . . . . . . . . . . . . . 64
13.5.5. Multiplexado . . . . . . . . . . . . . . . . . . . . . . . . . 64
13.5.6. Recuperarse a una cada . . . . . . . . . . . . . . . . . . . 64
14.TCP 66
14.1. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
14.2. Encabezado TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1. La capa de Red
1.1. Sntesis
Antes de desarrollar la unidad vamos a dejar en claro con que sistema de
red vamos a trabajar:
Se trabajara con un sistema cuyas componenetes principales de hardware
son:
El equipo de la empresa portadora. (Enrutadores conectados medi-
ante lneas de transmision).
El equipo del cliente.
Un host puede estar conectado a un enrutador mediante:
Una lnea alquilada.
Una LAN conectada a un enrutador que es propiedad de un cliente quien
lo maneja, este enrutador tambien tiene una lnea alquilada.
Los enrutadores del cliente son considerados como parte de la subred
porque se valen de los mismos algoritmos que los enrutadores de la empresa
portadora.
La funcion de la Capa de Red
La capa de red entre otras cosas se ocupa de llevar los paquetes desde un
Host de origen a uno de Destino.
Observacion: llegar a un host de Destino puede requerir muchos saltos por
enrutadores intermedios.
Algunas preocupaciones
Que debe hacer la capa de Red para poder enviar paquetes?
La capa de red debe elegir las rutas adecuadas a traves de ella.
Que informacion debe conocer la capa de red para escoger las rutas para
enviar paquetes?
La capa de red debe conocer la Topologa de la subred de Comunicacion.
3
Que problemas pueden suceder si la capa de red no escoge bien las rutas
que deben tomar los paquetes?
Se puede sobrecargara alguna de las lneas de comunicacion y los enruta-
dores asociados a ellas.
Ademas algunos enrutadores se pueden caer y pueden quedar inactivos.
Que pasa cuando el origen y el destino estan el redes diferentes? es decir:
cuando las redes tienen distintas tecnologas.
El paquete debe ser adaptado, ya que muchas veces los formatos y tama nos
maximos dieren de una red a otra.
Figura 1: El entorno de los protocolos de la capa de red
1.2. Dise no
1.2.1. Conmutacion de paquetes de almacenamiento y reenvo
1. Un host transmite al enrutador mas cercano un paquete que tiene para
enviar.
2. El paquete se almacena all hasta que haya llegado por completo, a n de
que la suma de vericacion pueda comprobarse.
3. Despues se enva al siguiente enrutador de la ruta, hasta que llegue al host
de destino donde se entrega.
1.2.2. Servicios proporcionados a la capa de Transporte
Hay dos bandos con relacion al dise no de la capa de red:
4
1. El primero es la comunidad de Internet
La tarea del enrutador es solo mover bits de un lado a otro.
La subred es inherentemente inestable, esto implica que los hosts
deben aceptar esta condicion, y efectuar ellos mismos el control de
ujo y el control de errores.
El servicio de red NO debe ser orientado a la conexion, esto impli-
ca que solo debe contar con las primitivas send packet y receive
packet.
No debe efectuarse ning un ordenamiento de paquetes.
Cada paquete se transportara de manera independiente a sus ante-
cesores, por eso debe llevar una direccion de destino completa.
2. El segundo Bando son las Compa nas telefonicas
La subred debe proporcionar un servicio conable, orientado a la
conexion.
La calidad del servicio es el factor dominante.
Observacion: sin conexion en la subred tal calidad es muy difcil de
alcanzar, especialmente para el traco de tiempo real como la voz y
el video.
3. Estos dos bandos se ejemplican con Internet y con las redes ATM respec-
tivamente
1.2.3. Implementacion del servicio No orientado a la conexion
Con un Servicio No orientado a la conexion los paquetes se colocan individ-
ualmente en la subred y se enrutan de manera independiente.
A los paquetes se les llama datagramas y la subred se conoce como: subred
de datagramas.
Situacion
Suponga que el proceso P
1
es un host H
1
tiene un mensaje largo M para un
proceso P
2
que esta en H
2
presente en una LAN con enrutador F.
1. P
1
entrega M a la capa de transporte y le indica que lo enve a P
2
de H
2
.
2. El codigo de la capa de transporte se ejecuta en H
1
y coloca un encabezado
de transporte a M y entrega el resultado a la capa de red.
3. Si el M es mas largo que el tama no maximo de paquete, la capa de red
lo tiene que dividir en varios paquetes y enviar cada uno de ellos a traves
del enrutador mediante alg un protocolo punto a punto.
5
4. Cada enrutador tiene una tabla interna que le indica a donde enviar
paquetes para cada destino posible.
Observacion: una entrada de la tabla es un par que consiste en un destino
y la lnea de salida del enrutador que utilizara para ese destino.
5. Cuando llega un paquete a un enrutador se lo almacena unos momentos
para comprobar su suma de vericacion, despues se reenva a su destino
de acuerdo con la tabla del enrutador.
6. Si un paquete llega a un enrutador F se encapsula en un trama de CED
y se enva a H
2
a traves de la LAN.
Observacion: el algoritmo que maneja las tablas y que realiza las decisiones
de enrutamiento se conoce como algoritmo de enrutamiento.
Figura 2: Enrutamiento dentro de una subred de datagramas
1.2.4. Implementacion del servicio Orientado a la conexion
Si se usa el servicio orientado a la conexion, antes de poder enviar cualquier
paquete de datos es necesario establecer una ruta del enrutador de origen al de
destino.
Esta conexion se conoce como Circuito Virtual CV, y la subred se conoce
como subred de circuitos virtuales.
Cuando se establece una conexion, se elige una ruta de la maquina de origen
a la de destino como parte de la conguracion de la conexion.
Esta ruta se almacena en tablas dentro de los enrutadores.
Esta ruta se usa para todo el traco que uye a traves de la conexion.
Cuando se libera la conexion tambien se termina el CV.
Con el servicio orientado a la conexion cada paquete lleva un identicador
que indica a cual CV pertenece.
6
Situacion
Un host H
1
inicio conexion con un identicador 1.
Luego otro Host H
3
inicia conexion con identicador 1, y ambos hosts estan
conectados al mismo enrutador A.
Problema: aunque A puede saber con facilidad cuales paquetes de conexion
1 provienen de H
1
y cuales de H
3
, los siguientes enrutadores conectados a A no
pueden saberlo.
Solucion: A asigna un identicador de conexion diferente al traco saliente
para la conexion de H
3
.
Es decir, los enrutadores requieren de la capacidad de reemplazar identi-
cadores de conexion en los paquetes salientes.
A esto se lo conoce como Conmutacion de etiquetas.
Figura 3: Enrutamiento dentro de una subred de CVs
Los CV permiten que los paquetes contengan n umeros de circuito en lugar
de direcciones de destino completas.
El precio que se paga por el uso de CVS es el espacio de la tabla de los
enrutadores.
El uso de CVS requiere una fase de conguracion que consume tiempo
y recursos.
Determina lo que hay que hacer con un paquete de datos en una subred de
CVs es facil.
El enrutador usa el n umero de circuito para buscar en una tabla y encontrar
hacia donde va el paquete.
1.2.5. Comparacion entre las subredes de CV y las de datagramas
Con respescto a la cantidad de entradas en la tabla de enrutamiento
7
Una subred de datagramas necesita tener una entrada para cada destino
posible, mientras que una subred de CVS solo necesita una entrada por
CV.
Con respecto a la ocurrencia de congestion cual es mejor?
Los CV evitan congestiones en la subred pues los recursos pueden reser-
varse por anticipado al establecer la conexion. Una vez que comienzan
a llegar los paquetes, estaran ah el ancho de banda y la capacidad de
enrutamiento necesarias.
En una subred de datagramas en mas difcil evitar congestiones.
Con respecto a la cada de enrutadores cual es mejor?
Problema de vulnerabilidad de los CV: si se cae un enrutador y se pierde
su memoria, todos los CV que pasen por el tendran que abortarse.
Pero si se cae un enrutador de datagramas solo sufriran los usuarios cuyos
paquetes estaban encolados en el enrutador en el momento de la falla, y
dependiendo de si haba conrmado o no su recepcion, tal vez ni siquiera
todas ellas.
Asunto Subred de Datagramas Subred de Circuitos virtuales
Conguraci on
del No necesaria Requerida
Circuito
Cada paquete contiene Cada paquete contiene
Direccionamiento la direccion de un n umero de
origen y de destino CV corto
Informaci on Los enrutadores no Cada CV requiere espacio de
de contienen informacion de estado tabla del enrutador
Estado de las conexiones por conexi on
Cada paquete Ruta escogida cuando
Enrutamiento se enruta se establece el CV, y todos
independientemente los paquetes siguen
esa ruta
Efecto de Ninguno, excepto Terminan todos los CVs
fallas del para paquetes perdidos que pasan a traves
enrutador durante una cada del enrutador
Calidad del Difcil F acil si se pueden
Servicio reservar recursos
Control de Difcil F acil si se pueden
Congesti on reservar recursos
1.3. Algoritmos de enrutamiento
El algoritmo de enrutamiento es aquella parte del software de la capa
de red encargada de decidir la lnea de salida por la que transmitira un paqute
de entrada.
Un enrutador realiza dos procesos internos:
Reenvo: maneja cada paquete conforme llega, buscando en las tablas de
enrutamiento la lnea de salida por la cual se enviara.
Enrutamiento: es responsable de llenar y actualizar las tablas de en-
rutamiento, es ah donde entra en accion el algoritmo de enrutamiento.
8
Propiedades que todo algoritmo de enrutamiento debe tener
Robustez
Optima
Equidad
Sencillez
Estabilidad
Robustez: una vez que una red entra en operacion, debera funcionar contin-
uamente durante a nos.
Durante ese periodo, habra fallas de hardware y de software de todo tipo.
Los Hosts, enrutadores y lneas fallaran en forma repetida y la topologa
cambiara muchas veces.
El algoritmo de enrutamiento debe ser capaz de manejar los cambios de
topologa y traco sin requerir que aborten todas las actividades en todos los
Hosts y el reinicio de la red con cada cada de un enrutador.
Optimizacion: Idea
Minimizar el retardo medio de los paquetes.
Aumentar al maximo la velocidad real de transporte en la red.
Estas dos metas tambien estan en conicto.
Observacion: como termino medio muchas redes intentan minimizar el n umero
de saltos que tiene que dar un paquete.
La reduccion de la cantidad de saltos reduce el retardo y tambien el consumo
de ancho de banda, lo que a su vez mejora la velocidad real de transporte.
Equidad y optimizacion son con frecuencia metas contradictorias.
Por ende se requiere un punto medio entre la eciencia global y la equidad
hacia las conexiones individuales.
Supongamos que hay suciente Traco en:

AA

BB

CC

para saturar las


lneas horizontales.
Para aumentar el ujo maximo total el traco de

XX

debe suspender por


completo.
Existen algoritmos de enrutamiento que nunca alcanzan el equilibrio, sin
importar el tiempo que permanezcan operativos.
Un algoritmo estable alcanza el equilibrio y lo conserva.
1.3.1. Clasicacion de algoritmos de enrutamiento
Los algoritmos de enrutamiento pueden agruparse en dos clases: seg un se
adapten o no a las distintas circunstacias.
9
Figura 4: El conicto entre equidad y optimizacion
Los algoritmos no adaptivos no basan sus decisiones de enrutamiento en
mediciones o estimaciones del traco y las topologas actuales.
La decision de que ruta se usara para ir de I a J se toma por adelantado.
A esto se lo conoce como enrutamiento estatico.
Los algoritmos adaptivos cambian sus decisiones de enrutamiento para
reejar cambios de topologa, y por lo general tambien el traco.
Los algoritmos adaptivos dieren en:
El lugar donde obtienen su informacion: localmente en los enruta-
dores adyacentes o en todos los enrutadores.
El momento de cambio de sus rutas: es decir de sus tablas de en-
rutamiento, las opciones varan desde: cada cierta cantidad de se-
gundos, cuando cambia la carga o cuando cambia la topologa.
La metrica usada para la optimizacion: puede ser la distancia, el
n umero de saltos o el tiempo estimado de transito . . . .
1.3.2. Principios de Optimizacion
Se puede armar un grafo de la subred:
Cada nodo representa un enrutador.
Cada arco del grafo representa una lnea de comunicacion.
Principio de Optimizacion: si el enrutador J esta en un ruta optima del
enrutador I al enrutador K, entonces la ruta optima de J a K esta en la misma
ruta.
Consecuencias del principio de optimizacion
10
La existencia de arboles sumideros en una subred conexa.
Un arbol sumidero es un arbol generador con raz r tal que para todo
nodo n distinto de r hay exactamente una ruta de n a r en el arbol.
Figura 5: Una subred y su arbol sumidero
La meta de los algoritmos de enrutamiento es descubrir y utilizar los
arboles sumideros dde todos los enrutadores.
1.3.3. Enrutamiento por la ruta mas corta
Algoritmo de enrutamiento de caminos mas cortos.
Idea: para elegir una ruta entre un par de enrutadores, encontrar en el grafo
una de las rutas mas cortas entre ellas.
Como medir la longitud de una ruta?
Mediante el n umero de saltos.
Otra medida es la distancia geograca en Km.
Sin embargo tambien son posibles otras metricas.
En el caso mas general las etiquetas de los arcos podran calcularse como
funcion de: la distancia, ancho de banda, traco medio, costo de comunicacion
longitud media de las colas, retardo medio y otros factores.
Idea: usar Dijkstra.
11
1.3.4. Inundacion
Otro algoritmo estatico es la inundacion, en la que cada paquete de entrada
se enva por cada una de las lneas de salida, excepto aquella por la que llego.
El problema de esta idea es que genera grandes cantidades de paquetes du-
plicados salvo que se tomen algunas medidas para limitar el proceso.
Soluciones:
1. Integrar un contador de saltos en el encabezado de cada paquete, que
disminuya con cada salto y el paquete se descarte cuando el contado llegue
a 0.
Lo ideal es inicializar el contador de saltos con la longitud de la ruta
entre el origen y el destino.
Si el emisor desconoce el tama no de la ruta puede inicializar el contador
al peor caso, es decir, al diametro total de la subred.
2. Llevar un registro de los paquetes difundidos para evitar enviarlos
por segunda vez.
Hacer que el enrutador de origen ponga un n umero de secuencia en
cada paquete que recibe de sus hosts.
Cada enrutador necesita de una tabla donde para cada enrutador de ori-
gen hay una lista con los n umeros de secuencia originados en ese enrutador
que ya ha visto.
Luego si un paquete de entrada esta en la lista, no se difunde.
Para evitar que las listas crezcan sin lmites, para un enrutador de origen
ademas de una lista se debe incluir un contador k.
Este contador indica que todos los n umeros de secuencia hasta k ya han
sido vistos.
Inundacion Selectiva
Idea: los enrutadores no envan cada paquete de entrada por todas las lneas,
sino solo por aquellas que van aproximadamente en la direccion correcta.
Para poder ampliar inundacion selectiva se requiere la siguiente informacion
Saber en que direccion va cada lnea.
Saber en que direccion esta el destino.
Conclusion: la inundacion no es practica en la mayora de las aplicaciones
pero tiene algunos usos, por ejemplo, en aplicaciones militares, en aplicaciones
distribuidas de base de datos.
La inundacion siempre elige la ruta mas corta posible porque escoge en par-
alelo todas las rutas posibles.
En consecuencia ning un otro algoritmo puede producir un retardo mas corto.
(Si ignoramos la sobrecarga generada por el proceso de inundacion mismo).
12
Asumimos que se tiene la subred de la siguiente gura:
B
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
_
C
4
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
2
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
A
5
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
W
2
~
~
~
~
~
~
~
~
1
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O D
3
_
G
E
2
_
3

F
1
~
~
~
~
~
~
~
~
Se desea enviar un paquete del nodo A al nodo D usando inundacion.
Contando la transmision de un paquete a lo largo de una lnea como una
carga de uno.
Cual es la carga total generada si se usa inundacion selectiva, un campo
de conteo de saltos es usado y es inicialmente jado en 4?
HACER
1.3.5. Enrutamiento por Vector de Distancia Ford y Fulkerson
Los algoritmos de enrutamiento por vector de distancia AEVD hacen que
cada enrutador mantenga una tabla.
Estas se actualizan intercambiando informacion con los vecinos.
Este algoritmo se utilizo en Internet con el nombre de RIP.
En el AEVD cada enrutador mediante una tabla de enrutamiento indizada
por cada enrutador en la subred.
Cada entrada comprende la lnea preferida de salida hacia ese destino
y una estimacion del tiempo o distancia a ese destino.
Cual podra ser la metrica usada?
La cantidad de saltos, el retardo de tiempo en milisegundos, el n umero total
de paquetes encolados a lo largo de la ruta, . . .
Se supone que el enrutador conoce la distancia a cada uno de sus
vecinos.
Si la metrica es de saltos, la distancia es un salto.
Si la metrica es la longitud de la cola, el enrutador simplemente examina
cada cola.
Si la metrica es el retardo, el enrutador puede medirlo con paquetes de
ECO que el receptor simplemente marca con la hora y los regresa tan
rapido como puede.
13
Si cada t msegs, cada enrutador enva a todos sus vecinos una lista de sus
retardos estimados a cada destino y tambien recibe una lista parecida de cada
vecino.
Supongamos que la tabla T
x
acaba de llegar del vecino X al enrutador E.
Sea X
i
la estimacion es T
x
respecto a la distancia que le toma llegar al
enrutador i desde X.
Si E sabe que el retardo a X es de m
x
.
E sabe que la distancia al enrutador i a traves de X es de: X
i
+m
x
.
Efectuando el calculo anterior para cada vecino de E, E puede encontrar la
estimacion que parezca ser la mejor (de la distancia a i), y usar esa estimacion.
As, como la lnea correspondiente, en su nueva tabla de enrutamiento.
Si T es la tabla actualizada de E, entonces para el enrutador i:
T[i] =

mn{M
x
+X
i
: X vecino de E}, V

Donde mn{M
x
+X
i
: X vecino de E} ocurre para el vecino V .
Observar que la vieja tabla de enrutamiento no se usa en ese calculo.
Figura 6: Subred y Entrada de A,I,H,K y la nueva tabla de J
Evaluacion del AEVD: reacciona con rapidez a las buenas noticias, pero con
lentitud ante las malas.
Considere un enrutador cuya mejor ruta al destino X es larga si en el sigu-
iente intercambio del vecino A informa repentinamente un retardo corto a X,
el enrutador simplemente se conmuta a modo de usar la lnea a A para enviar
traco hasta X.
Supongamos que la metrica de retardo es el n umero de saltos.
Las buenas noticias se difunden a razon de un salto por intercambio.
En una subred cuya ruta mayor tiene una longitud de N saltos, en un lapso de
N intercambios todo el mundo sabra sobre las lneas y enrutadores recientemente
revividos.
14
La razon de porque las malas noticias viajan con lentitud es: ning un enruta-
dor jamas tiene un valor mayor en mas de una unidad que el mnimo de todos
sus vecinos.
Gradualmente todos los enrutadores elevan cuentas hacia el innito, pero
el n umero de intercambios requeridos depende de valor numerico usado para el
innito.
Si la metrica usada es el n umero de saltos, es prudente hacer que el n umero
innito sea igual a la ruta mas larga mas 1.
Si la metrica es el retardo de tiempo no hay un lmite superior bien
denido, se necesita un valor alto para evitar que una ruta con un re-
tardo grande sea tratada como si estuviera desactivada.
A este problema se lo conoce como el problema de la cuenta hasta el in-
nito.
Se han hecho varios intentos para resolverlo pero ninguno funciona bien en
general.
La esencia del problema consiste en que cuando X indica X
i
a E, E no tiene
forma de saber si el destino i esta en alguna ruta en funcionamiento.
Figura 7: El problema de la cuenta hasta el innito
1.3.6. Enrutamiento por estado de Enlace
En el algoritmo de enrutamiento de estado de enlace (AEEE) cada enruta-
dor debe hacer lo siguiente:
1. Encontrar sus vecinos, aprender sus direcciones de Red.
2. Medir la demora o los costos para cada uno de sus vecinos.
15
3. Construir un paquete diciendo a todos que la aprendio.
4. Mandar el paquete a todos los enrutadores.
5. Computar el camino mas corto para todos los enrutadores
Toda topologa y todos los retardos se miden y se distribuyen a cada enruta-
dor entonces puede usarse el algoritmo de Dijkstra para encontrar la ruta
mas corta a los demas enrutadores.
1. Sabemos que cuando un enrutador se pone en funcionamiento su primera
tarea es averiguar quienes son sus vecinos la pregunta es: Como se hace
esto?
Se realiza enviando un paquete Hello especial a cada lnea punto a punto.
Se espera que el enrutador del otro extremo regrese una respuesta indicando
quien es.
Observacion: estos nombres deben ser globalmente unicos.
2. El algorimo requiere que cada enrutador tenga una idea razonable del
retardo a cada uno de sus vecinos Como se hace esto?
Una forma de determinarlo es enviar un paquete ECHO especial a traves
de la lnea.
Una vez que llegue al otro extremo, este debe regresarlo rapidamente.
Metodo 1: si se mide el tiempo de ida y vuelta, se divide por dos, el enrutador
emisor puede tener una idea razonable del retardo.
Problema: asume de manera implcita que los retardos son simetricos y esto
no siempre pasa.
Un aspecto importante es si se debe tener en cuenta la carga al medir el
retardo.
Para considerar la carga, el temporizador debe iniciarse cuando el pa-
quete ECHO se ponga en la cola.
Para ignorar la carga, el temporizador debe iniciarse cuando el paquete
ECHO alcanza el frente de la cola
Que consecuencias trae la inclusion de los retardos en las mediciones?
Cuando un enrutador puede escoger entre dos lneas con el mismo ancho de
banda, una con carga alta contigua
1
y otra sin ella, considerara como ruta mas
corta la de la lnea sin carga.
Esta seleccion resultara en un mejor desempe no, pero como siempre tambien
hay un argumento en contra de la inclusion de la carga en el calculo del retardo.
Idea: cada enrutador construye un paquete de estado de enlace (LSP)
que contiene los siguientes c odigos:
La indentidad del emisor.
Un n umero de secuencia.
1
contigua: al lado
16
Figura 8: Subred en la que las Partes E y O estan conectadas por 2 lneas
Una edad.
Una lista: {Vecinos - Retardo}.
17
B
2
_
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
C
3
@
@
@
@
@
@
@
@
A
5
@
@
@
@
@
@
@
@
4
~
~
~
~
~
~
~
~
D
E
1

8
_
F
7
~
~
~
~
~
~
~
~
A
Seq
Edad
B 4
E 5
B
Seq
Edad
A 4
C 2
F 6
C
Seq
Edad
B 2
D 3
E 1
D
Seq
Edad
C 3
F 7
E
Seq
Edad
A 5
C 1
F 8
F
Seq
Edad
B 6
D 7
E 8
Cuando se pueden construir los paquetes de estado de enlace?
Construirlos de manera periodica, es decir a intervalos regulares.
Construirlos cuando ocurra un evento signicativo, como la cada o la
reactivacion de la lnea o de un vecino o el cambio apreciable de sus
propiedades.
Problema: la parte mas complicada del algoritmo es la distribucion con-
able de los paquetes de estado del enlace.
La idea fundamental es usar inundacion para distribuir los paquetes de es-
tado del enlace.
Se usa inundacion donde se lleva registro de los paquetes difundidos, es decir:
A n de mantener controlada la inundacion, cada paquete contiene un
n umero de secuencia que se incrementa con cada paquete nuevo enviado
(desde su enrutador de origen).
Los enrutadores llevan registro de todos los pares:

Enrutador de origen -
Secuencia

que ven y al llegar un paquete de estado de enlace a un enruta-


dor se lo verica contra la lista de paquetes ya vistos (para su enrutador
de origen):
18
Si es nuevo (nuevo n umero de secuencia mayor que los anteriores), se
reenva a traves de todas las lneas, excepto por aquella desde donde
llego.
Si es duplicado (n umero de secuencia mayor visto, pero repetido) se
descarta.
Si llega un paquete con un n umero de secuencia menor que el mayor
visto hasta el momento, se rechaza como obsoleto debido a que el
enrutador tiene datos mas recientes.
Problema 1: si los n umeros vuelven a comenzar, SE ARMA
2
.
Solucion: se usa un n umero de longitud sucientemente grande para que pase
Muucho en dar la vuelta, por ejemplo 32 bits.
Problema 2: que se de vuelta un bit en el n umero de secuencia.
Solucion: como proteccion contra los errores en las lneas enrutador - enruta-
dor, se conrma la recepcion de todos los paquetes de estado del enlace.
Entonces hara falta que antes de actualizarse el n umero de secuencia mas
grande, el enrutador mande una conrmacion de recepcion al transmisor y luego
espera una respuesta armativa o negativa del transmisor.
Caso armativo se actualiza en n umero de secuencia mas grande.
Caso contrario se descarta el paquete que se recibio por estar errado.
Problema 3: se cae un enrutador (de origen).
Sitruacion: al caer se perdera el registro de su n umero de secuencia, si cuando
vuelve comienza en 0 nuevamente, se rechazara el siguiente paquete.
Solucion la informacion de los enrutadores solo expira (a lo largo de la red)
cuando el enrutador esta caido.
C uando se puede detectar que un enrutador esta caido?
Cuando se actualicen las tablas de enrutamiento y se manden los paquetes
Hello, se pueden detectar que el enrutador esta cado.
Ahora una vez que detecto que un enrutador esta cado procede de la sigu-
iente forma:
Se propaga la informacion de este hecho por toda la red.
Se hace que la informacion asociada al enrutador cado expire
3
.
De esta manera cuando el enrutador vulva a la vida, puede comenzar sin prob-
lemas con el n umero de secuencia 0.
Problema 4: que un paquete quede de por vida dando vuelta en a red.
Solucion: Incluir un campo de edad en cada paquete.
Se disminuye la edad una vez por segundo.
2
vamo a echa mocoooo!
3
ya sean paquetes pendients a enviar, n umero de secuencia mas grande recibido , . . .
19
Los enrutadores tambien decrementan el campo de edad durante el proceso
inicial de inundacion.
Se descarta el paquete cuya edad sea 0.
Algunos renamientos al algoritmo
Una vez que un paquete de estado del enlace llega a un enrutador para ser
inundado, no se encola para transmision inmediata. En vez de ello, entra en un
b ufer de almacenamiento donde se espera un tiempo breve.
Si antes de transmitirlo, llega otro paquete de estado del enlace proveniente
del mismo origen, se comparan sus n umeros de secuencia.
Si son iguales se descarta el duplicado.
Si son diferentes se descarta el mas viejo.
El buer de paquetes para un enrutador contiene una celda por cada
paquete de estado de enlace recien llegado, pero a un no procesado por completo.
Una la de la tabla del b ufer de paquetes de un enrutador contiene:
Origen del paquete, n umero de secuencia, edad, datos de los estados de
enlace.
Banderas que pueden ser:
Banderas de conrmacion de recepcion: indica a donde tiene que enviarse
la conrmacion de recepcion del paquete.
Banderas de envo: signican que el paquete debe enviarse a traves de las
lneas indicadas.
Si llega un duplicado mientras el original a un esta en el b ufer, los bits de
las banderas tiene que cambiar
Una vez que el enrutador ha acumulado un grupo completo de paquetes de
estado de enlace, puede construir el grafo de la subred completa.
Cada enlace se representa dos veces, una para cada direccion. Los dos valores
pueden promediarse o pueden ser usados por separado.
Luego se ejecuta localmente Dijkstra para construir la ruta mas corta a
todos lso destinos posibles.
Los resultados de este algoritmo pueden instalarse en las tablas de en-
rutamiento, y la operacion normal puede reiniciarse.
Conclusion: a medida que la subred crece en decenas de miles o cientos de
miles de nodos, la probabilidad de falla ocasional de un enrutador deja de ser
insignicante.
El algoritmo por estado se usa ampliamente en las redes actuales.
20
Figura 9: El b ufer de paquetes para el enrutador B
1.3.7. Enrutamiento Jerarquico
A medida que crece el tama no de las redes, tambien lo hacen, las tablas de
enrutamiento del enrutador.
Estas tablas le consumen al enrutador memoria y tiempo de CPU para exam-
inarlas y mas ancho de banda para enviar informe de estado de los enrutadores.
La subred puede crecer hasta cierto punto en el que no es mas factible que
cada enrutador tenga una entrada para cada uno de los demas enrutadores, por
lo que el enrutamiento debera hacerse de manera jerarquica (como ocurre en la
red telefonica).
Cuando se usa un enrutamiento jeraquico:
Los enrutadores se dividen en regiones.
Cada enrutador conoce todos los detalles para enrutar paquetes a destinos
dentro de su propia region.
Un enrutador no sabe nada de la estructura interna de las regiones en las
que no esta.
Problema: en las redes enormes, una jerarqua de dos niveles puede ser in-
suciente.
Solucion: tal vez sea necesario agrupar las regiones en cl usteres, los cl usteres
en zonas, las zonas en grupos, . . .
Si el enrutador es jerarquico, en su tabla de enrutamiento hay:
Entradas para todos los enrutadores locales.
Entradas para las demas regiones en las que no esta el enrutador.
Observacion: el precio que se paga con enrutamiento jerarquico es una lon-
gitud de ruta mayor.
21
Figura 10: Enrutamiento jerarquico
Ejercicio
En un esquema de enrutamiento jerarquico se tiene M regiones de N en-
rutadores cada una y hay una region de P enrutadores (P < N).
Considerando todas las tablas de enrutamiento, cuantas las hay en total
para almacenar?
Deduzca un formula para su respuesta
1.3.8. Enrutamiento por Difusion
1.3.9. Enrutamento por Multidifusion
1.3.10. Enrutamiento para Hosts moviles
1.3.11. Enrutamiento en redes ad Hoc
1.3.12. B usqueda de nodos en redes de igual a igual
1.4. Algoritmos de Control de Congesti on
Introduccion
Cuando la cantidad de paquetes descargados en la subred por los hosts
esta dentro de su capacidad de conduccion, la cantidad de paquetes entrega-
dos es proporcional al n umero enviado.
Entonces cuando hay demasiados paquetes presentes en la subred (o en una
parte de ella) hay una degradacion de desempe no. Esta situacion se llama con-
gestion.
A medida que aumenta el traco, llega un punto en que los enrutadores ya
no pueden manejarlo y comienzan a perder paquetes.
22
Situacion: si comienzan a llegar muchos paquetes por algunas lneas de en-
trada y todas necesitan la misma lnea de salida.
Que sucedera con esos paquetes?
Se generara una cola, y si no hay suciente memoria para almacenar todos
los paquetes algunos de ellos se perderan.
Figura 11: Cuando se genera demasiado traco ocurre congestion y se degrada
rapidamente el desempe no
El control de congestion se ocupa de asegurar que la subred sea capaz de
transportar el traco ofrecido.
Es un asunto global en el que interviene el comportamiento de todos los
hosts, todos los enrutadores, el proceso de almacenamiento y reenvo dentro de
los enrutadores y todos los demas factores que tienden a disminuir la capacidad
de transporte de la subred.
Que signica la presencia de congestion en la subred?
Signica que la carga es temporalmente superior en una parte del sistema a
la que pueden manejar los recursos.
2 Tipos de soluciones
Aumentar los recursos.
Disminuir la carga.
La adicion de memoria puede ayudar hasta cierto punto, ya que se de-
mostro que si los enrutadores tienen memoria innita mas la congestion
empeora en lugar de mejorar esto se debe a que para cuando los paquetes
llegan al principio de la colas su temporizados ha terminado (repetidamente) y
se han enviado duplicados.
23
Todos estos paquetes seran reenviados al siguiente enrutador, aumentando
la carga en todo el camino hasta su destino.
A su vez los procesadores lentos tambien pueden causar congestion ya que si
las CPUs de los enrutadores son lentas para llevar a cabo las tareas requeridas,
las colas pueden alargarse, a un cuando haya un exceso de capacidad de lnea.
De la misma manera pueden causar congestion las lneas que tienen poco
ancho de banda, porque probablemente la cola de una lnea de salida de poco
ancho de banda se va agrandar si otras lneas tienen mayor ancho de banda y
estan recibiendo muchos paquetes destinados a la lnea de salida.
Conclusion: la actualizacion de lneas sin cambiar y los procesadores por lo
general ayudar un poco, pero con frecuencia simplemente solo desplaza el cuello
de botella a otra parte o el problema real es un desajuste de lar partes
del sistema.
Este problema persistira hasta que todos los componentes estan en equilibrio.
1.4.1. Principios Generales
Como identicar congestiones?
Observacion importante: el enfoque que se explicara a continuacion puede
usarse tanto en subredes de CV como en subredes de datagramas.
Idea gruesa: monitorear el uso de las lneas de salida del enrutador, directa-
mente jarse como estan la lneas de salidas, lo que se propone es asociar a una
variable real con valores entre 0 y 1, que representa la utilizacion de la lneas
( % de uso de la lnea).
Una forma de calcular U (que se actualiza periodicamente):
U
nuevo
= a U
ant
+ (1 a) f
a : rapidez con la que el enrutador olvida la historia reciente
4
si el impacto es grande a va a ser cercano a 1.
si el impacto del valor anterior no es muy importante porque las cosas
cambian muy rapido entonces a va a tender a 0.
f: muestra del uso instantaneo de la lnea.
Una vez que U sobrepasa un determinado valor, la lnea de salida entra en
un estado de advertencia . . .
Como se trabaja con ese estado de advertencia?
Cuando llega un paquete nuevo se revisa para ver si su lnea de salida esta en
estado de advertencia:
Si esta en estado de advertencia se realiza un ACCCION:
Ver Listado de ABAJO
4
la importancia
24
Se pueden usar otros conceptos como tama no de la cola, tama no del b ufer u
otras ideas . . .
Entonces U va a representar distintos estados: como tama no de la cola, lo
que si no va a ser que: 0 < U < 1.
Listado: ideas para controlar congestion
Control de admisio n: si un camino esta congestionado y quiere ser utiliza-
do nuevamente no se va a admitir, es decir no se van a crear CVs (circuitos
virtuales) hasta que desaparezca esa condicion . . . (Severo).
Sntesis: la red esta congestionada, deja de usarse TODA
Permitir el establecimiento de nuevos CVs, pero enrutando cuidadosa-
mente los circuitos nuevos por otras rutas que no tengan problemas.
Negociar un acuerdo, entre el host y la subred cuando se establece un CV.
Busca evitar la congestion, no como las anteriores.
Busca reservar los recursos que va a necesitar durante la transmision. es-
pecica el volumen y la forma del traco, la calidad de servicio requerido
y otros parametros.
Estos recursos se asignan, de esta manera va a ser poco probable que se
den congestiones.
Si se llena hipotesis del profe: no se asignan mas.
Como actuar cuando nos llega un paquete a una lnea que esta en
estado de advertencia?
1. Metodo de bit de advertencia:
Se nalar el estadorde advertencia activando un bit especial en el encabezado
del paquete.
Indica que ese paquete paso por una lnea, que estaba en dicha condi-
cion, cuando el paquete llega a su destino, se manda una conrmacion de
recepcion al host de origen.
Como act ua? el origen reduce el traco hacia el destino.
El origen monitorea la fraccion de conrmaciones de recepcion con
el bit activado y ajusta su tasa de transmision de manera acorde, en
tanto los bits de advertencia contin uan uyendo, el origen contin ua
disminuyendo su tasa de transmision.
Si hay alg un camino en estado de advertencia entre el host de origen
y destino tiende a reducir su velocidad.
(No tiene que haber caminos con enrutadores en estado de adver-
tencia) en caso contrario el host de origen puede incrementar la
velocidad de transferencia.
25
El problema es que el bit de advertencia tiene que ir y volver el
mensaje con la conrmacion por un camino saturado.
2. Metodo de paquetes reguladores:
El esquema funciona de la siguiente forma: yo le mando un paquete reg-
ulador al host de origen, simplemente le digo que para tal destino tengo
problemas la ruta para ese destino pasa por una lnea congestionada.
La forma de evitar que no se generen muchos paquetes reguladores tiene
un encabezado, la idea es que no se repitan todos.
Cuando el host de origen recibe un paquete regulador: en este se indica el
X en el cual debe reducir el porcentaje X.
Y lanza un timer donde para que no le lleguen todos los paquetes regu-
ladores. . .
Si al terminar el timer, no llego ning un paquete regulador el host puede
aumentar la velocidad. . .
Idea: aumentar polinomial la velocidad y reducir exponencial . . . (para
controlar la congestion rapidamente).
Debido a que otros paquetes dirigidos al mismo destno probablemente ya
estan en camino y generaran mas paquetes reguladores el host debe ignorar
los paquetes reguladores que se reeran a ese destino por un intervalo de
tiempo jo.
Una vez que haya expirado ese tiempo, el host escucha mas paquetes
reguladores durante otro intervalo.
26
Caractersticas
Manejo de la tasa e datos de transmision de un Host.
Por lo general el primer paquete regulador causa que la tasa se
reduzca en 0,5 con respesto a su tasa anterior, siguiente causa
una reduccion de 0,25 . . .
Los incrementos se dan en aumentos mas peque nos para que la
congestion no se vuelva a generar rapidamente.
Variacion de paquetes reguladores
Los enrutadores pueden mantener varios umbrales.
Dependiendo de que umbral se ha rebasado, el paquete regulador
puede contener una advertencia suave, una severa o un ultima-
tum.
3. Metodo de paquetes reguladores de salto por salto:
La idea es que en este algoritmo ademas los enrutadores en la ruta reduz-
can la tasa de transferencia, el paquete regulador ejerza su efecto en cada
salto que da.
Cuando el paquete regulador llega a un enrutador F se le obliga a F a
reducir el ujo al siguiente enrutador D.
Desventaja: reducir la velocidad es mas caro porque necesito una especie
de buer, en el ejemplo de ariba F para reducir su ujo, como ya tiene
una cola para mandar, va a necesitar guardar los paquetes.
En sntesis reduzco la velocidad de atras para adelante mas rapido.
Se da un alivio inmediado a F con esto metodo pero requiero la ayuda de
mas memoria en los enrutadores.
Saltos por salto
E
//
F
//
Destino
Paquete regulador es con respecto a un Host de destino, i.e: se
reducen las velocidades de todos los enrutadores que van a ese camino.
Ejercicio
Que ventajas ofrece el algoritmo de paquetes reguladores frente al de bit de
advertencia?
No necesita que el paquete de conrmacion pase por un circuito conges-
tionado.
DESVENTAJA: El metodo de paquetes reguladores crea nuevos paquetes.
El host puede ignorar paquetes reguladores por un intervalo . . . en el meto-
do de paquetes reguladores
La parte de los paquetes de recepcion de conrmacion NO cambia . . .
27
El bit de advertencia obliga a ver todas las conrmaciones que van llegan-
do.
Otra ventaja: si a lo largo de la ruta hay varios enrutadores con problemas
solamente manda advertencias el primero y no todos los congestionados
en la ruta, aunque tambien es una cosa peque na . . .
Ventaja grande de paquetes reguladores: aviso no pase por un lugar con-
gestionado entonces evito que se pierda . . .
Problema de paquetes reguladores: a altas velocidades o distancias grandes,
el envo de un paquete regulador los host de origen no funcionan bien
porque la reaccion es muy lenta.
La diferencia no es tan grande: La idea de circuito virtual es para siempre,
en cambio los datagramas se realizan los cambios muy cada tanto.
1.4.2. Polticas de prevencion de Congestion
1.4.3. Control de congestion en Subredes de Circuitos virtuales
1.4.4. Control de congestion en Subredes de Datagramas
1.4.5. Desprendimiento de Carga
Los algoritmos anteriores los Hosts y en algunos casos los enrutadoes reducen
la tasa de transferencia. Pero si ninguno de ellos elimina la congestion vale la
idea de Desprendimiento de Carga:(TIRAR PAQUETES).
Observacion: La congestion se vacia rapido porque elimino k paquetes de
una.
Estrategia: si puedo descartar paquetes antes que se llene el b uer puedo
elegir a quien puedo descartar, porque no todos los paquetes tienen la misma
importancia. Es decir me aseguro que todo lo que es vital llegue.
Algunos criterios para descartar paquetes
En la transferencia de archivos es mas importante un paquete viejo que
uno nuevo
5
.
En la transferencia multimedia es mas importante los paquetes viejos que
los paquetes nuevos
6
Seg un la importancia de los paquetes
Las aplicaciones deben mandar sus paquetes con clases de prioridades para
indicar su importancia, luego os enrutadores descartan primero los de menor
prioridad.
En la realidad en la Internet se utilizan desprendimiento de carga mas que
los hots reducen las tasas de transferencia....
5
Como el vino
6
Teora de la leche: la leche nueva sabe m as fresca que la vieja)
28
Algoritmo de deteccion temprana aleatoria
La idea que usa TCP: cuando no me llega la conrmacion de recepcion de un
paquete asumo que el problema es por congestion entonces reduzco la tasa de
envo, dise nado para redes cableadas bra optica, coaxil, conable, entonces
suele ser muy raro la perdida de paquetes, por ello se supone que si no me
llego una conrmacion de recepcion de un paquete asumo que el paquete fue
descartado por alguna congestion en algun lugar de la red y reduzco la tasa de
transferencia.
Funcionamiento: para detectar cuando comenzar a descartar paquetes los en-
rutadores mantienen un promedio movil de sus longitudes de cola, cuando estas
en algunas lneas sobrepasan el mbral, se dice que la lnea esta congstionada.
U = longitudes de cola
Debido a que tal vez el enrutador no puede saber cual origen esta causando la
mayora de los problemas, probablemente lo mejor que se puede hacer es elegir
un paquete al azar de la cola que puso en marcha la accion.
Luego se procede a descartar el paquete y no reportarlo, por lo tanto el
origen notara la falta de conrmacion de recepcion y respondera disminuyendo
la velocidad de transmision.
Observacion: no es perfecto porque no tiene en cuenta la importancia de los
paquetes, pero tenan miedo de que todos transmitan a prioridad alta todos sus
mensajes.
Este algoritmo asume que la gente es egoista por lo tanto todos los paque-
tes tiene la misma prioridad.
1.4.6. Control de Fluctuacion
1.5. Calidad del Servicio (397)
1.5.1. Interconectividad (Internetworking)
Hasta ahora supusimos implcitamente que hay una red homogenea y que
cada maquina usa el mismo protocolo en cada capa.
En la practica existen muchas redes diferentes.
Estudiaremos los problemas que surgen cuando dos o mas redes se juntan
formando una interred (internet).
Pasando en limpio, interred: es una subred que esta formada por varias
tecnologas.
La capa de red debe encargarse que lleguen bien los paquetes independientes
de las tecnologas que atraviesan.
Ejemplos: de distintas tecnologas
Casi todas las instalaciones UNIX ejecutan TCP/IP.
Muchos negocios grandes tiene mainframes que ejecutan SNA de IBM.
Una cantidad considerable de compa nas telefonicas operan redes ATM.
29
Algunas LANs de Pc usan Novell NCP/IPx o AppleTalk.
Redes inalambricas
Figura 12: Una coleccion de rdes interconectadas
Porque yo quiero conectar redes diferentes voy a tener en cuenta que los
usuarios de cualquiera de ellas quieran comunicarse o quieran acceder a los
datos de las demas.
En la siguiente tabla est an algunas diferencias que pueden ocurrir en la capa
de red:
Aspecto algunas posibilidades
Servicio ofrecido sin conexiones, orientado a la conexion
Protocolos IP, IPX, SNA, ATM , MPLS , Adssad, . . .
Direccionamiento Plano (802) o jerarquico (IP)
Multidifusion Presente o ausente (igual difusion)
Tama no de paquete Cada red tiene su maximo
Calidad de servicio Presente o ausente
Manejo de errores Entrega conable, ordenada, desordenada
Control de ujo Ventana corrediza, control de tasa, ninguno
Control de congestion paquetes reguladores, bit
Seguridad encriptacion , reglas implcitas
Parametros Diferentes, timers
Contabilidad por paquete , por byte, ninguna
La conciliacion de estas diferencias es lo que hace mas difcil la interconexion
de redes que la conexion de una sola red.
30
Situaciones
Cuando los paquetes de una red orientada a la conexion deben transitar
una red no orientada, los paquetes deben reordenarse.
Algo que el emisor no espera y el receptor no esta preparado para manejar
esta situacion.
Considerar diferentes tama nos maximos de paquetes.
Pueden ser necesario conversiones de direcciones
Es por ello que con frecuencia se necesitaran conversiones de protocolo
En la realidad en la capa de red puede haber enrutadores que pueden conec-
tar dos capas de red diferentes.
El enrutador puede ser capaz de traducir entre los formatos de paquetes,
pero esto es cada vez menos com un.
Un enrutador que puede manejar m ultiples protocolos se llama enrutador
multiprotocolo.
2. Concatenar circuitos virtuales
Seg un el modelo de circuitos virtuales concatenados se construye una ruta
uniendo CVs de la siguiente manera:
1. La subred construye un CV al enrutador mas cercano a la red de destino.
2. Luego la subred construye un CV de ese enrutador a una puerta de
enlace externa.
3. Este proceso contin ua hasta llegar al host de destino.
Una vez que comienzan a uir los paquetes de datos por la ruta creada, cada
puerta de enlace retransmite los paquetes de entrada y hace las conversiones
entre los formatos de paquetes y los n umeros de CV seg un sea necesario.
Cada puerta de enlace, mantiene tablas, que indica los CVs que pasan a
traves suyo, a donde se deben enrutar y el nuevo n umero de CV.
El modelo de CVs concatenados tiene en esencia las mismas ventajas que el
uso de CVs en una sola subred:
Preja un camino para mandar de un camino de A a B, porque se produce
menos congestion en las redes virtuales que en las de datagramas.
Pueden reservarse b uferes por adelantado, puede garantizarse la secuencia
y tiene encabezados cortos.
El modelo de CVs concatenados tiene en esencia las mismas Desventajas que
el uso de CVs en una sola subred:
Desventajas:
31
Figura 13: Interconectividad mediante circuitos virtuales concatenados
Si se cae un enrutador todo lo que pasaba por ah se pierde, en cambio en
las redes de datagrama en una cierta cantidad de pasos se va a registrar
que esta cada una ruta.
La falta de enrutamiento alterno para evitar rutas congestionadas.
La vulnerabilidad a fallas de los enrutadores a lo largo de la ruta.
3. Conectionless Interconectividad
El enfoque de datagramas suele usar m ultiples rutas y lograr de este modo
un ancho de banda mayor que en el modelo de CVs concatenados.
Pero, no hay garanta que los paquetes lleguen a destino en orden, suponiendo
que lleguen.
Problema 1: si cada red tiene su propio protocolo de capa de red, no es
posible que un paquete de red transite por otra.
Solucion 1: usar enrutadores multiprotocolo tratando de traducir de un for-
mato a otro pero a menos que los dos formatos sean parientes cercanos, con los
mismos campos de informacion es muy difcil convertirlos, por esto los paquetes
de datagramas son difciles de traducir por eso no usan pero s las CVs.
Solucion 2: dise nar un paquete universal de interred y hacer que todos
los enrutadores lo reconozcan.
Este enfoque es el que tiene IP,un paquete dise nado para llevarse a muchas
redes.
El problema es ponerse de acuerdo, y generalmente hay preferencia por las
patentes y negocios.
Problema 2: manejar distintas formas de direccionamiento.
32
Figura 14: Una interred no orientada a la conexion
Solucion: en el mejor de los casos se tendra que mantener una base de datos
de las conversiones de direcciones de redes diferentes.
Evaluacion: un host de internet esta intentando mandar un paquete IP a un
host en una red SNA adyacente.
Se podra pensar en una conversion entre direcciones IP y SNA en ambas
direcciones pero el concepto de lo que es direccionable es diferente:
En IP solo las Hosts (las tarjetas de red) tienen direcciones.
En SNA entidades diferentes a los hosts (por ejemplo dispositivos de hard-
ware) pueden tener direcciones.
Conclusion: las propiedades del enfoque de datagramas para la interconec-
tividad son las mismas que de las subredes de datagramas:
Mayor potencial de congestion pero mayor potencial para adaptarse a el
La robustez ante fallas de los enrutadores.
La necesidad de encabezados mas grandes.
4. Entunelamiento
Problema: asumimos que el host de origen H
1
y de destino H
2
estan en una
misma clase de red, pero hay una red distinta en el medio.
H
1
, H
2
: Ethernet, TCP/IP.
X (la del medio): WAN (ATM)
33
H
1
//
X
//
H
2
Solucion: usar entunelamiento
Idea: meter un paquete dentro de otro de esta manera me independizo de la
idea de tener que traducir de un paquete/direccion a otra.
Paso a Paso:
1. Para enviar un paquete IP a H
2
, H
1
construye un paquete P que contiene
la direccion IP de H
2
.
2. Luego H
1
lo inserta a P en una trama Ethernet dirigida al enrutador
multiprotocolo y lo pone en la lnea Ethernet de H
1
.
3. Cuando el enrutador multiprotocolo recibe la trama, retira el paquete IP,
lo inserta en el campo de carga util del paquete de capa de red de la
WAN y dirige este ultimo a la direccion de la WAN de otro enrutador
multiprotocolo (conectado a la Ethernet de H
2
).
4. Cuando llega all, el enrutador multiprocolo retira el paquete IP y lo enva
a H
2
en una trama Ethernet.
Figura 15: Entunelamiento de un paquete de Paris a Londres
Ipv6
enrutador multiprotocolo
ipv4
enrutador multiprotocolo
Ipv6
5. Internetwork Routing
Como hacer el enrutamiento cuando tengo varias redes con distintas tec-
nologas.
El enrutamiento en una interred es parecido al enrutamiento en una sola red,
pero con algunas complicaciones adicionales.
Primero se construye un grafo de la interred
34
Los nodos son enrutadores multiprocesador.
Los lados son entre enrutadores multiprocesador.
Figura 16: Una interred y su grafo asociado
Una vez construido el grafo, pueden aplicarse los algoritmos de enrutamiento
conocidos, como el algoritmo de vector de distancia y el de estado de enlace, al
grupo de enrutadores multiprocolo.
Esto da un algoritmo de enrutamiento de dos niveles:
1. En cada red se utiliza un protocolo de puerta de enlace interior
(IGP).
2. Entre las redes se utiliza un protocolo de puerta de enlace exterior
(EGP).
De hecho, debido a que esas redes son independientes, cada una puede utilizar
un algoritmo distinto.
Proceso para enviar un paquete de un host a otro
1. Un paquete de interred tpico parte de su LAN hacia el enrutador multi-
protocolo local.
2. Al llegar ah, el codigo de la capa de red decide por cual enrutador multi-
procolo reenviara el paquete, usando sus propias tablas de enrutamiento.
3. Si ese enrutador puede alcanzarse usando el protocolo de la red nativa del
paquete, este se reenva directamente por ah.
4. De otra manera se enva por t unel, encapsulado en el protocolo requerido
por la red que interviene.
35
5. Este proceso se repite hasta que el paquete llega a la red de destino.
Diferencias entre el enrutamiento entre las redes y el enrutamiento dentro
de las redes:
El primero con frecuencia requiere el cruce de fronteras internacionales,
de pronto entran en juego varias leyes distintas.
Dentro de una sola red, normalmente se aplica un solo algoritmo de cargo,
sin embargo redes diferentes pueden estar bajo administraciones difer-
entes, en una ruta puede ser mas barata que en otras.
La calidad del servicio ofrecia por diferentes redes puede ser distinta y esta
puede ser una razon para escoger una ruta u otra.
6. Fragmentaci on
Cada red impone un tamano maximo a sus paquetes
Las cargas utiles maximas van desde 48bytes (celdas ATM) hasta 65515
bytes (paquetes IP) aunque el tamano de la carga util en las capas superiores
con frecuencia es mas grande.
Problema: un paquete grande quiere viajar a traves de una red cuyo tama no
maximo de paquete es demasiado peque no.
Solucion: las puertas de enlace dividen los paquetes en fragmentos enviando
cada fragmento como paquete de interred individual.
Las redes de conmutacion de paquetes tambien tienen el problema de unir
nuevamente los fragmentos.
Existen dos estrategias opuestas para recombinar los fragmentos y recuperar
el paquete original.
Hacer Transparente la fragmentacion causada por una red de paquete
peque no a las demas redes subsiguientes por las que debe pasar el paquete
para llegar a su destino nal
Con este metodo la red de paquete peque no tiene puertas de enlace
(enrutadores especializados) que interact uan con otras redes.
Cuando un paquete de tama no excesivo llega a una puerta de enlace,
esta lo divide en fragmentos.
Todos los fragmentos se dirigen a la misma puerta de enlace de salida,
donde se recombinan las piezas.
Las redes ATM tiene hardware especial para esta estrategia
Desventajas:
1. La puerta de enlace de salida debe saber cuando ha recibido toadas
las piezas por lo que debe incluirse un campo de conteo o un bit
de n de paquete en cada paquete
7
.
7
desventaja mas importante
36
2. Todos los paquetes deben salir por la misma puerta de enlace: esto
puede bajar un poco el desempe no.
3. Hay una sobrecarga para reemsanblar y volver a fragmentar repeti-
damente un paqute grande que pasa por varias redes de paquete
peque no.
Abstenerse de recombinar los fragmentos en las puertas de enlace inter-
medias
Una vez que se ha fragmentado un paquete, cada fragmento se trata
como si fuera un paquete original. Todos los paquetes pasan por la
puerta de enlace de salida.
La recombinacion Ocurre en el host de destino.
IP funciona de esta manera.
Desventajas:
1. Requiere que todos los host sean capaces de hacer el reensamble.
2. Al fragmentarse un paquete grande, aumenta la sobrecarga total,
pues cada fragmento debe tener un encabezado
8
.
Figura 17: (a) Transparente (b) No transparente
7. Esquema de numeraci on de Fragmentos
El protocolo de interred dene un tama no de fragmento elemental.
8
desventaja mas importante
37
Al fragmentarse un paquete todas las partes son iguales al tama no de frag-
mento elemental, excepto la ultima que puede ser mas corta.
El encabezado de interred debe proporcionar:
El n umero de paquete original.
El desplazamiento de bit o byte en el paquete original.
Un bit que indique que el ultimo fragmento elemental contenido en el
paquete de interred es el ultimo del paquete original.
Figura 18: Ver explicacion abajo
Fragmentacion cuando el tama no de datos elemental es de 1 byte
(a) paquete original que contiene 10 bytes de datos
(b) Fragmentos tras pasar a traves de una red con un tama no maximo de 8
bytes
(c) Fragmentos tras pasar a traves de una puerta de enlace de tama no 5.
8. La capa de Red de Internet
Dise no principal para Internet
1. Aseg urese de que funciones.
2. Pensar simple.
3. Elija opciones claras.
4. Explote la modularidad.
5. Prevea la heterogeneidad.
38
6. Evite opciones y parametros estaticos, evitar decisiones jas.
7. Busque un buen dise no, no es necesario que sea perfecto.
8. Sea estricto cuando enve y tolerante cuando reciba.
9. Piense en la capacidad de crecimiento (escalabilidad).
10. Considere el desempe no y el costo (performance).
Figura 19: Internet es un conjunto interconectado de muhas redes
8.1. El protocolo IP
1. Toma ujos de datos y los divide en Datagramas de hasta 64K cada
uno.
En la practica IP usa datagramas de hasta 1500bytes, para evitar el
tema de fragmentacion, (decision de eciencia) pero rrompe abstrac-
ciones porque la capa de red no necesita saber la maxima capacidad
de la trama ethernet.
2. Se puede fragmentar en el camino: fragmentos elementales
Supongamos que el emisor manda un datagrama K a un receptor,es
probable que exista un router al medio que divida el mensaje y el
receptor recibe dos mensajes y debe ser capas de unirlo, es decir que
la fragmentacion no necesariamente la hace el emisor.
IP piensa en el mundo, 10.000 Km por ello puede ser necesario que al
medio necesite dividir el mensaje. Por esto permite sobre la marcha
fragmentar.
39
Por que la capa de red vuelve a dividir los mensajes: porque la capa
de red comunica redes a larga distancia, y basicamente la analogia es:
capa de enlace a nivel LAN, capa de Red es a nivel WAN , entonces
la fragmentacion a nivel de red, se hace lo mismo pero viendolo desde
un nivel mas alto. Lo unico que cambia es la escala.
3. Los fragmentos enviados por la red contienen un n umero de fragmentos
elementales del datagrama original.
4. Cuando llegan todos los fragmentos, se reensamblan y pasan a la capa
superior.
8.1.1. Encabezado de Protocolo IP
Figura 20: El encabezado de IPv4 (protocolo Internet)
1. Version (4bits): IPv4 - IPv6.
2. IHL (4bits): longitud del encabezado medido en palabras de 4bytes=32bits.
Valor mnimo: 5 sin opciones.
Valor maximo: 15 4 = 60B de info, 40B para opciones (no siempre
suciente).
3. Tipo de servicio (6 bits): 3 para prioridad, y 3 de Delay, Throughput y
Reliability. (Entrega r apida o precisa, rapida por ejemplo en la multimedia,
o precisa cuando mandamos archivos). Todos estos campos se ignoran en
la practica por los routers.
4. Longitud Total (16 bits): del datagrama, que cada uno de esos es un byte,
cada uno de esos es un byte (cambio de escala). por lo tanto el tama no
maximo es 2
16
= 64KB
40
5. Identicacion (16 bits): indica a que datagrama pertenece este fragmento
(todos los fragmentos de un mismo datagrama tienen el mismo valor)
Cantidad de Datagramas posibles 2 16 = 64KB
6. BIT DF (dont Fragment) 1 bit, indico que no lo fragmente: porque el que
lo recibe no tiene capacidad de reemzamblar, por ejemplo porque no tiene
memoria suciente.
7. BIT MF More fragment, siguen mas fragmentos, todos los fragmentos lo
tienen prendido menos el ultimo, para elegir siempre que mande los distin-
tos fragmentos por el mismo lado y ahorro calcular por donde mandarlo.
8. Fragment oset (desplazamiento de fragmento) (13 bits) podemos tener
hasta 8192 fragmentos de un datagrama, esto indica donde empieza el
fragmento, dentro del datagrama entero porque puede contener varios...
8192 fragementos: de 8 bytes, porque me paso del maximo permitido
de paquete.
Pero el maximo datagrama no puede tener mas de 64KB.
9. TTL: time to live (8 bits), se usa para limitar el tiempo de vida de un
paquete y evitar congestion.
En teora cuenta segundos de vida, pero en la practica cuenta cantidad de
saltos de un enrutador a otro.
Cada router lo decrementa y cuando llega a 0 se descarta.
10. Protocolo: indica que protocolo de la capa mas alta usa, rrompe abstrac-
cion mal, esto reeja que protocolo esta mas arriba para mejorar su e-
ciencia por ejemplo (TCP,UDP).
11. Header Checksum: (16 bits) , suma de vericacion, cuando se calcula el
CRC, debe recalcularse en cada salto si cambia TTL.
12. Direccion de origen y destino: 32 bits cada una.
13. Campos opcionales: Sirven para debuggear cosas o para experimentar, son
de longitud variable.
El orden de como se dise naron los campos importa, por ejemplo el primero
es la version porque si no se que es el paquete no puedo hacer nada.
Campos Opcionales
Opcion Descripcion
Seguridad Especica que tan secreto es el datagrama
Enrutamiento estricto
desde el origen indica la ruta completa a seguir
Enrutamiento libre Da una lista de enrutadores
desde el origen que no deben evitarse
Registrar ruta Hace que cada enrutador agregue su direccion IP
Marca de Tiempo Hace que cada enrutador agregue su direccion y su marca de tiempo
su direcci on y su marca de tiempo
No hace falta decir que la idea de seguridad es MALA.
41
8.1.2. Direcciones IP
Cada host o router tiene una direccion IP que lo identica en la red.
Son de 32 Bits de la forma A.B.C.D donde cada uno es un n umero de 8
bits.
Cada direccion IP denota una direccion de red mas una direccion de Host
Los bits mas signicativos, a la izq, denotan la red.
Los bits menos signicativos, a la derecha, denotan el host.
El espacio de direcciones se dividio originalmente en 4 clases.
Figura 21: Formatos de direccion IP
Clases:
A Unicast
9
, 128 redes de 16 millones de hosts cada una.
B (unicast) 16382 redes de 64K cada una.
C (unicast) 2 millones de redes, 256 host cada una.
D Multicast (multidifusion): las direcciones de IP no pertenecen a un host
sino a un grupo de hosts (que se suscriben a esa IP).
E NO SE USARON.
La idea es Aumentar las redes y disminuir las host.
Direcciones de IP Comunes
9
Una direccion de IP solo puede pertenecer a un host
42
Existen determinadas direcciones comodn, como para mandar a mi propia
maquina, pero distinto puerto.
Si pongo Todos unos en la parte de red, estoy haciendo un Broadcast a nivel
de red: Mando a todos los puertos.
Loopback: se usan para debuggiar como el Localhost, que a diferencia de
todos 0, esta realmente va a la capa de red, e internamente de manda a la capa
de red, en cambio el 0 se queda ahi.
Figura 22: Direcciones IP especiales
El problema con la division original de clase es que la clase B es demasi-
ado grande y la clase C es demasiado chica, entonces se desperdician muchas
direcciones.
Solucion: necesitamos una manera mas precisa/exible.
Idea: una red grande (por ejemplo una clase B) la subdividimos en partes
mas chicas, subredes mascaras de red.
Estas mascaras son invisibles desde afuera de la red.
Luego primero se rutea a la red grande y despues se divide de acuerdo a la
mascara.
8.1.3. Mascaras de red
Una mascara es una direccion de IP de 32 bits que consiste de 1s seguidos
de 0s y denota un n umero de hosts.
Ejemplo:
1111 1111. 1111 1111. 1111 1100 0000 0000
En decimal: 255. 255 . 252 .0
Esta mascara permite 2
10
hosts = 1024.
43
Figura 23: Una red de clase B dividida en 64 subredes
La red clase B del ejemplo 2
16
host: 64K hosts.
Ejemplo Supongamos que comienza en 130.50.0.0 y termina en 130.50.255.255
Queremos denir 3 subredes:
1. S
1
: Comenzando en 130.50.4.0 y terminando en 130.50.7.255.
2. S
2
: Comenzando en 130.50.8.0 y terminando en 130.50.11.255
3. S
3
: Comenzando en 130.50.12.0 y terminando en 130.50.15.255
Cuantos Hosts tienen S
1
S
2
S
3
HACER
Las mascaras se usan por los routers para determinar a que subred se debe
reenviar un paquete.
Cuando llega un paquete, se hace un AND binario entre la direccion de
destino del paquete y la mascara.
Si el resultado es la direccion de origen de la subred, se reenvia a esa
subred.
Si no, se intenta con las otras subredes, y nalmente se descarta .
Situacion
Supongamos que llega un paquete con destino: 130.50.15.6
1000 0010 .0011 0010 .0000 1111 .0000 0110
AND 1111 1111 .1111 1111 .1111 1100 . 0000 0000
130. 50. 12. 0
Es al origen de S
1
? (130.50.4.0) NO.
44
Es al origen de S
2
? (130.50.8.0) NO.
Es al origen de S
3
? (130.50.12.0) S

I Reenviar.
Hay algunas mascaras que denotan algunos rangos imposibles y en ese caso
...
COMPLETAR
Situacion
Supongamos que llega un paquete con destino 130.50.5.6
1000 0010. 0011 0010. 0000 0101. 0000 0110
AND 1111 1111. 1111 1111. 1111 1100. 0000 0000
130 .50 .4 .0
Es el origen de S
1
? (130.50.1.0) S

I
Situacion
Supongamos que llega un paquete con destino 131.51.5.6
1000 0010. 0011 0011. 0000 0101. 0000 0110
AND 1111 1111. 1111 1111. 1111 1100. 0000 0000
130 .51 .4 .0
Se descarta . . .
Notacion:
Si tenemos una red que empieza en 130.50.4.0 y tiene mascara de red:
1111 1111. 1111 1111. 1111 1100 . 0000 00000
podemos denotarla como 130.50.4.0/22, donde 22= n umero de bits en 1 a la
izquierda de l mascara.
El origen de una subred denota el tama no maximo de hosts que puede al-
bergar. Por ejemplo, supongamos que inicia en 130.50.8.0
1000 0010 . 0011 0010 . 0000 1000 . 0000 0000
Esta red puede crecer hasta 2
11
hosts = 2048
Dicha mascara es: 255.255.248.0
1111 1111 . 1111 1111. 1111 1000.0000
NOTA: antes solo creca hasta 1024 hosts.
Mascaras Tama no maximo
Mascara para 16 hosts :
Tenemos la subred que inicia en:
130.50.8.0
1000 0010. 0011 0010. 0000 1000. 0000 0000
Si quisieramos hacer la red mas grande, deberamos elegir otra mascara:
Por ejemplo: 255.255.128.0
Que me albergara 2
15
= 32K Hosts.
Esto hara que la red llegue hasta 130.50.135.255.
Pero escibimos la macara entera:
1111 1111. 1111 1111. 1000 0000. 0000 0000
45
Ning un paquete que se haga AND con esta mascara me da la IP de origen
de la subred (130.50.8.0).
MORALEJA: la cantidad maxima de hosts se da por la cantidad de 0s a
la derecha del ultimo 1 en la direccion de origen
1000 0010. 0011 0010. 0000 1 000. 0000 00000
Idea buscar el primer 1 de derecha a izq cuando puedo alojar
9. CIDR
A un as se encontro que las redes divididas en clases son problematicas para
asignar (se desperdician muchas direcciones).
Con CIDR se permiten direcciones de cualquier tama no.
Pero ahora hace falta que los routers conozcan las mascaras de red (antes
ocultas)
Universidad Primer direccion ultima dir Cuantas Notacion
Cambridge 194.24.0.0 194.24.7.255 2048 194.24.0.0/21
Edinburgh 194.24.8.0 194.24.11.255 1024 194.24.8.0/22
(Available) 194.24.12.0 194.24.15.255 1024 194.24.12/22
Oxford 194.24.16.0 194.24.31.255 4096 194.24.16.0/20
Mascaras
Cambridge: 194.24.0.0 194.24.7.255
Mascara: 194.24.0.0/21 o 255.255.248.0
248 se escibe : (1111 1000)
Maximo permitido 2048 Hosts.
Un problema de CIDR es que hay demasiadas entradas de ruteo.
Esto se puede solucionar usando entradas agregadas.
Por ejemplo una red que engloba todas las anteriores es:
194.24.0.0/19 que tiene: 2
13
= 8192 Hosts.
Que van desde 194.24.0.0 194.24.31.255
46
10. NAT
Quedan pocas direcciones IP en el mundo.
Para evitar dar direcciones IP reales, en una LAN se pueden usar direcciones
internas:
10.0.0.0 2
24
Hosts.
172.16.0.0 2
20
Hosts.
192.168.0.0 2
16
Hosts.
y luego se utiliza un Proxi NAT que tiene una direccion unica real, y
traduce los paquetes de ida y vuelta.
Figura 24: Colocacion y funcionamiento de una caja NAT
Cuando un paquete esta por salir, el NAT reemplaza la direccion de origen
por la propia, y genera un nuevo puerto de origen que se usa como ndice en una
tabla interna. Luego guarda en la tabla interna la direccion de origen interna
mas el puerto de origen.
Cuando llega un paquete el NAT reenva de acuerdo al puerto de destino del
paquete entrante, restableciendo la direccion y puerto de destino.
Ejemplo Host local: 192.168.1.1 SRC
Proxy NAT N: 200.16.17.1 H enva un datagrama con direccion y puerto de
origen (192.168.1.1,80).
N reenva (200.16.17.1,1234)
Y guarda en TABLA[1234] = (192.168.1.1,80)
Llega un paquete a N con destino (200.16.17.1,1234)
El proxy encuentra que TABLA[1234] = (192.168.1.1,80) y lo reenva
Problemas:
1. No vale que las IPs son unicas (si la aplicacion usa la dir. De IP en el
Payload se arma lio).
2. El protocolo IP se torna como orientado a la conexion.
47
3. RROMPE ABSTRACCI

ON, se basa en la existencia de puertos de la


capa superior (TCP o UDP).
4. Atrasa la adopcion de IPv6.
10.1. Protocolos de Control
ICMP: para debuggear la red mensajes tpicamente enviados por routers.
Los principales tipos de mensaje ICMP
Tipo de mensaje Descripci on
Destination unreachable El paquete no se pudo entregar
Time exceeded Campo de tiempo de vida = 0
Parameter problem campo de encabezado no v alido
Source quench paquete regulador
Redirect Ense na a un enrutador sobre geografa
Echo Pregunta a una m aquina si esta viva
Echo reply S estoy viva
Timestamp request Misma solicitud de eso, pero con marca de tiempo
Timestamp reply Misma que respuesta de eco, pero con marca de tiempo
11. ARP
Adress Resolution Protocol
ARP: situado entre la capa de red y la CED.
Se usa para descubrir la MAC asociada a una direccion IP.
A dos niveles: Local y proxyARP
Figura 25: Tres redes/24 interconectadas;dos Ethernet y un anillo FFDI
Ejemplo
Envo un paquete de 1 a 2: responde diciendo Soy yo.
Envo un paquete de 1 a 4: mas difcil 2 soluciones:
48
1. Proxy ARP: el ruter E
3
contesta y el host 1 guarda (IP,E
3
)
2. Si el destino es una red remota, de inmediato se rutea afuera (mas
simple pero menos eciente).
Se usa un cache interno para minimizar los pedidos.
11.1. RARP, BOOTP, DHCP
11.1.1. RARP
RARP: reverse ARP: dado una MAC encontrar el IP asociado, ejemplo una
maquina sin HD, Bootea y pide su IP.
Funciona en una red local solamente
11.1.2. BOOTP
BOOTP: como RARP pero a traves de redes, no solo LANs, se deben con-
gurar las tablas de asignacion de IPs manualmente.
11.1.3. DHCP
DHCP: como BooTp pero no requiere que el (IP,MAC) este congurado
manualmente (se dene un rango).
Tiene modos manual y automatico.
Se utiliza un agente de retransmision DHCP en cada LAN para proveer
acceso al servidos DHCP remoto.
Tambien soporta leasing temporal de direcciones.
Figura 26: Funcionamiento de DHCP
49
11.2. Protocolos de control de Internet
Internet consiste de sistemas autonomos conectados por un esqueleto de red.
Ruteo entre sistemas autonomos (que pueden tener su propio ruteo interno.
Ruteo interno (IGP)
Se utilizo inicialmente RIP: ruteo por vector de distancia, luego se utilizo es-
tado de enlace.
Actualmente se usa OSPF
11.3. OSPF - The interior gateway routing protocol
OSPF: open shortest path rst, se transforma la red en un grafo dirigido con
costros (que representan: distancia, retado, etc.)
Figura 27: (a) Un sistema autonomo, (b) representacion graca de (a)
OSPF dene jerarquas y areas: cada sistema autonomo tiene un area de red
dorsal (back bone), fuera de su aream su topologa y detalles son invisibles.
Entonces hay 3 tipos de ruteo
1. Ruteo interno de un area (facil, se usa ruteo normal).
2. Ruteo entre areas: 3 pasos
De origen a Back bone.
De Back bone a destino.
Dentro del destino
3. Entre sistemas autonomos: EGP
Los cinco tipos de mensajes de OSPF:
50
Figura 28: Relacion entre sistemas autonomos, redes dorsales y areas en OSPF
Tipo de mensaje Descripci on
Hello Descubre quienes son los vecinos
Link state update Proporciona los costos del emisor a sus vecinos
Link state ack Conrma la recepci on de la actualizaci on del estado de enlace
Database description Anuncia que actualizaciones tiene el emisor
Link state request Solicita informaci on del socio
11.4. BGP - The exterior gateway routing protocol
Protocolo de puerta de enlace de frontera.
Las conexiones entre ASs son generalmente entre areas grandes (paises), por
lo que hay que tener en cuenta las polticas de traco y no solo elegir la ruta
mas conveniente!
(Por ejemplo rute entre Israel y Siria).
Por esto los routers se conguran manualmente.
Atacando BGP
BGP: es un protocolo no asegurado, las rutas declaradas no esan aseguradas,
se puede mentir y rromper todo en internet.
Ataques:
1. Hacerse pasar por un BGP (o incluso ser due no de uno).
2. Bloquear traco.
3. Hacer que el traco vaya a un lugar para ser espiado.
11.5. Internet Multicasting
11.6. Mobile IP
51
Figura 29: (a) conjunto de enrutadores de BGP (b) informacion enviada a F
11.7. IPv6
Se acaban las direcciones IPv4
Objetivos:
1. Tener muchas direcciones de IP.
2. Reducir tama nos de las tablas de ruteo.
3. Simplicar el protocolo.
4. Brindar seguridad.
Para (1) IPv6 provee direcciones de 16Bytes (miles de direcciones por metro
cuadrado).
Para (2) se utilizan encabezados de extension para reemplazar las opciones
de IPv4. Los routers pueden ignorarlos.
Para (3) IPv6 simplica los campos del encabezado IP.
Trac class: prioridad para evitar la congestion Multimedia Vs le trans-
fer Flow: una etiquera especial de ujo, por ejemplo para determinar un ancho
de banda especial. Payload Lenght: Cuantos bytes siguen a los 40 del encabeza-
do. Next headear: indica que tipo de encabezado de extension sigue, o si es el -
nal y es un datagrama TCP o UDP (vuelve a rromper abstracciones). Hop Limit:
Igual a TTl de IPv4.
Diferencias con IPv4
No hay campo IHL: el encabezado ahora tiene tama no jo.
Protocolo: no es necesario, el campo next header dice si sigue un encabeza-
do de extension o termina y es un paquete TCP o UDP.
No hay fragmentos estan en los encabezados de extension.
52
Figura 30: Encabezado jo del IPv6 (obligatorio)
No hay mas suma de vericacion: mejor performance.
Encabezado de extension Descripcion
Opciones salto por salto Informaci on diversa para los enrutadores
Opciones de destino Informaci on adicional para el destino
Enrutamiento ruta total o parcial a seguir
Fragmentaci on Manejo de fragmentos de datagramas
Autenticacion Vericaci on de la identidad del emisor
Carga util de Informaci on sobre el
seguridad encriptada contenido encriptado
Figura 31: Encabezados de extension salto por salto para datagramas grandes
(jumbogramas)
53
Figura 32: Encabezado de extension para enrutamiento
12. Ipsec
IPsec: Internet Protocolo security.
Estandares de la IETF (Internet Engineering Task Force).
Dise nado para IPv6 pero tambien se puede usar con IPv4.
Puede proteger datagramas entre:
2 Hosts (Host to Hosts).
1 Router y un Host (Host to network).
2 Routers (Network to Network).
12.1. Implementaci on de IPsec en IPv4
Implementar Host to Host es el ideal, llamado integrated Mode pero re-
quiere cambiar todas las capas de red de cada Host.
Como implementar IPsec en red ya existentes sin tener que cambiar todo?
Cambiar solamente los Routers.
Patchear no intrusivamente los host.
12.1.1. Bump In the Stack BITS
IPsec intercepta los paquetes y los modica.
Ventaja: funciona en cualquier dispositivo IP.
Desventaja: esfuerzo duplicado.
12.1.2. Bump in The Wire (BITW)
Similar a BITS pero sin tocar el HW/SW anterior.
54
Figura 33: BITS
Figura 34: BITW
12.2. Funcionamiento general de IPsec
Cuando dos Hosts se quieren comunicar usando IPsec deben
1. Acordar que parametros de comunicacion van a usar.
Maneras/protocolos para proteger los datagramas.
Modos de operacion de IPsec
2. Acordar que tipos de algoritmo criptogracos se van a usar para codicar
datos.
3. Intercambiar claves seguras para procesar los datos.
4. Luego puede comenzar la comunicacion
12.2.1. 2 Maneras de Proteger los Datagramas
1. Encapsulating security Payloads (ESP): provee condencialidad o integri-
dad de los payloads, o ambos (Modo protegido).
2. Authentication Headers (AH): provee integridad de los payloads y auten-
ticacion de origen.
55
12.2.2. Modos de operacion de IPSec
Transporte:
Se modica a los encabezados (no se usa mas IPv4 sino que es IPv4 +
IPsec).
Mas eciente pero requiere que todos los soporten.
Rompe potencialmente NAT.
Figura 35: Transporte
T unel:
Se encapsula a todo el datagrama (con el encabezado), que se pone en un
nuevo datagrama IP (con un nuevo encabezado).
Igual que en las VPNs = Virtual Private Networks
Mas compatible pero mas costoso.
Figura 36: T unel
56
13. La capa de transporte
13.1. Servicios que realiza para capas superiores
la capa de transporte provee:
Un servicio conable a sus usuarios(orientado a la conexion) (El que nos
focalizaremos en la materia).
Un servicio eciente a sus usuarios (no orientado a la conexion).
Diferencia con la capa de red
La de red (routers, etc) usualmente esta en la parte de la operadora de red
(ISP) mientras que la de transporte en la punta de conexion, es de los usuarios.
Si la capa de red por ejemplo pierde paquetes, la capa de transporte se tiene
que encargar de solucionarlo.
El servicio de transporte se ofrece a programadores/usuarios, las de mas
abajo no.
Debe ser facil de usar!
No debe exponer ninguna cuestion interna (retransmisiones, fragmentacion,
etc)
La diferencia entre la capa de red se encarga de llevar un paquete a otro,
pero el paquete nunca sube.
La capa de transporte rearma el paquete y se ejecuta en nuestra computa-
dora.
Esta capa, va a ser la primera en que su capa superior es una capa de
aplicacion por lo que la interfaz debe ser mas simple, facil de usar.
Figura 37: Anidamiento de los TPDUs, los paquetes y las tramas
57
Figura 38: Diagrama de estado de un esquema sencillo de manejo de conexiones.
Las transiciones escritas en cursiva son causadas por llegadas de paquetes. Las
lnes continuas muestran la secuencia de estados del cliente. Las lnes puntuadas
muestran la secuencia de estados del servidor
13.2. Primitivas de la capa de transporte
Primitivas simples de la capa de transporte:
Primitiva Paquete enviado Siginicado
LISTEN (ninguno) Se bloquea hasta que alg un proceso intenta la conexion
CONNECT CONNECTION REQ. Intenta activamente establecer una conexion
SEND DATA Enva informacion
RECEIVE (ninguno) Se bloquea hasta que llega un paquete DATA
DISCONNECT DISCONNECTION REQ. Este lado quiere liberar la conexion
13.3. berkeley sockets
Las primitivas de comunicacion dadas son abstractas y no se usan en la
practica, sino que se usan los sockets de Berkeley.
Primitiva Siginicado
Socket Crea un nuevo punto terminal de comunicacion
Bind adjunta una direcci on local a un socket
Listen Anuncia la disposici on a aceptar conexiones: indica el tama no de la cola
Accept Bloquea al invocador hasta la llegada de un intento de conexion.
Connect Intenta establecer activamente una conexi on
Send Enva datos a traves de la conexi on
Receive Recibe datos de la conexion
Close Libera la conexi on
Importante: Close es de liberacion simetrica: cuando un lado cierra la conexion
a un se pueden recibir mensajes hasta que el otro tambien la cierra.
(Antisimetrica es cuando se corta unidireccionalmente la comunicacion).
13.4. Elementos de los protocolos de la capa de transporte
Servicio Orientado a la Conexion
58
SIMILARIDAD CON CAPA DE ENLACE
El servicio orientado a la conexion de la capa de transporte enva ujos de
bytes en cada paquete, y debe vericar que llegan en orden (y sin duplicar ni
con errores).
Los protocolos se parecen a los de ventana deslizante de la capa de enlace
de datos.
Hay una complicacion agregada: como la capa de transporte puede ser mucho
mas lenta que la fsica, la capa de red funciona como buer y entonces pueden
haber mas paquetes duplicados son almacenados y entregados fuera de orden
o repetidos.
Con retransmisiones y conrmaciones (acknowledgments) de recepcion. Hay
muchos paquetes dando vuelta.
El problema es cuando un paquete viejo tiene un n umero de secuencia valida
en una conexion nueva.
Figura 39: TSAPs: direccion interna de cada maquina (puerto en TCP/IP)
NSAPs: direccion en capa de red (direccion IP en TCP/IP) y conexiones de
transporte
Soluciones Para evitar que paquetes viejos causen confusion, se puede:
Utilizar TSAPs (puerto) desechables: no es muy util porque ya no sabemos
a donde esta escuchando un servicio.
Abrir conexion con n umero de secuencia: cada conexion lleva un identi-
cador que se va incrementando en nuevas conexiones, y evita confusion de
paquetes atrasados en conexiones diferentes.
Problema: tenemos que recordar el n umero actual, pero si se pierde la
memoria hay dicultades.
No hago nada: pero asumo que las capas de abajo me salvan las papas.
59
Figura 40: (a) Entorno de la capa de enlace de Datos ,(b) Entorno de la cpa de
transporte
Usar una subred restringida. (sentido direccional a la red).
Colocar un contador de saltos en cada paquete.
Marcar el tiempo de cada paquete.
13.5. Metodo de Tomlinson
Se calcula un n umero T que nos da el tiempo de vida de un paquete de capa
de transporte, queremos numerar a los paquetes de manera que su n umero de
secuencia se corresponda con su edad.
Debemos correlacionar el tiempo real con el de los n umeros de secuencia.
Cada conexion va a comenzar con un n umero de secuencia inicial, que se va
a ir incrementando con cada pquete enviado.
Igual que en la CED, a diferencia que el n umero de secuencia inicial va a
cambiar de conexion en conexion.
Se usa el reloj interno de cada maquina para elegir el n umero de secuencia.
A un si se resetea la maquina el reloj interno sigue funcionando . . .
Idea: T es tal que para cuando el reloj interno da una vuelta entera, el
paquete atrasadp (que poda causar problemas).
Cuando se cae una maquina y se resetea, debemos esperar T para asegu-
rarnos que no haya problemas.
Para evitar la espera, podemos poner una restriccion a los n umeros de se-
cuencia utilizados.
Debemos enviar mensajes mas lento que como crece el reloj (en la practica
no hay problema)
Idea asegurarse de no caer in the forbidden section
Puedo caer tanto por mandar lento (caigo en la parte superior) o por mandar
rapido en la parte inferior de la region prohibida.
Ejemplo:
T = 60segs, pulso del reloj 1 por segundo.
60
En t = 30segs un paquete se manda con n umero secuencia 80.
El host se cae y se reinicia.
En t = 70 segs se reabre la conexion con n umero inicial de secuencia 70.
Durante 15segs se envan los paquetes numerados del 70 al 80.
En t=85 segs se enva el paquete numerado 80
Figura 41: (a) Los TPDUs no pueden entrar a la zona prohibida (envo demasi-
ado rapido) (b) EL problema de la sincronizacion (envo demasiado lento)
13.5.1. Direcionamiento
61
13.5.2. Establecer una Conexion
Para ponerse de acuerdo en los n umeros iniciales de secuencia se ejecuta un
protocolo de 3 ias: 3 way handshake.
Ojo: hay que tener en cuenta que pueden haber mensajes de inicio de conexion
tambien retrasados y descartados por el emisor.
Figura 42: Tres escenarios para establecer una conexion usando un acuerdo de
tres vias, CR signica Connection Request
(a) Opreracion Normal.
(b) Connection Request duplicada vieja que aparece de la nada.
(c) Connextion request duplicada y Ack duplicada.
13.5.3. Cerrar una Conexion
Liberacion antisimetrica, peligro de abrupt disconnection with loss of data.
Queremos hacer liberaci on Simetrica sin perdida de datos.
Es imposible poner de acuerdo si se depende de un ultimo mensaje que se
puede perder o no.
(a) Caso normal del acuerdo de tres vas.
(b) Perdida de la ultima Ack.
(c) Respuesta Perdida.
(d) Respuesta perdida y perdida de los DRs subsecuentes.
62
Figura 43: Desconexion abrupta con perida de datos
Figura 44: El problema del acuerdo Bizantino
Agregar temporizador
Cada mensaje tiene un TimeOut que intenta retransmitir ese mensaje que
recibio
N veces, si ah falla cierro la conexion unilateralmente.
Puede demorar tiempos en liberar la conexion.
Peor caso:
Todos los DRs iniciales se pierden y el emisor libera la conexion mientra que
el otro no es por ello que se implementan timer keep alive ver si esta vivo.
63
Figura 45: Cuatro escenarios de un protocolo para liberar una conexion
13.5.4. Control de Flujo y buering
Se utiliza ventana deslizante como en CED.
Pero como tenemos muchas conexiones, debemos manejar buers dinamica-
mente para almacenar las ventanas de transmision y de recepcion.
El receptor le va informando dinamicamente al emisor cuando puede enviar
paquete.
Por dos razones:
Memoria insuciente no quiero que me llene el buer.
Velocidad de red provoca congestion.
Actualemente como la memoria es barata el cuello de botella se produce en
la capacidad de carga de la red.
Luego el contro se usa para regular la velocidad de transferencia y evitar
congestion.
13.5.5. Multiplexado
13.5.6. Recuperarse a una cada
El protocolo TCP es orientado a la conexion por eso si se cae tenemos que
ver como solucionarlo.
Situacion
Emisor manda un mensaje y espera un ak.
LUego de esto el receptor le manda el mensaje a la de arriba y se rrompe y
se cae.
Supongo que tengo algo que luego de resetearlo puedo recuperar el caso,
pero el problema de carrera es , me llego bien (tengo que avisarle arriba), y
se cae
entonces hay una posible condicion de carrera.
64
Figura 46: Asignacion dinamica de buers. Las echas muestra la direccion de
transmision, los puntos suspensivos (...) indican una TPDU perdida
Vamos a analizar los distinto casos:
S
0
No esperaba un ak
S
1
Esperaba un ak
Diferentes estrategias que tiene el emisor que manda, cuando le llega el
emisor diciendo me ca.
SI O SI EL FLUJO DE DATOS TIENE QUE SER CONFIABLE
Figura 47: Diferentes combinaciones de la estrategia cliente servidor
PARCIALLLLL
Moraleja: solo la capa N+1 puede recuperar la cada de N .
Si se cae el host, entero no se puede salvar la conexion de manera conable.
65
14. TCP
Tcp provee un servicio conable sobre IP.
Conexiones full duplex (ida y vuelta), y punto a punto.
No hay multicasting o Broadcasting.
Se establecen sockets entre el emisor y el receptor
Contienen IP mas el puerto.
Pueden tener varias conexiones a la vez.
Los puertos son naturales < 64k y los mas importantes son los < 1024
Puerto Protocolo Uso
21 FTP Transferencia de archivos
23 TELNET Conexion remota
25 SMTP e-mail
69 TPFP Simple transferencia de archivos
79 FINGER Observa informacion sobre el usuario
80 HTTP World Wide Web
110 POP-3 Acceso remoto al e-mail
119 NNTP USENET News
Los daemons son los procesos que atienden en un puerto en un servidor.
Para evitar cargar recursos se usa un daemon inetd, que los carga en
demanda.
Una conexion TCP provee un ujo de datos (no de mensajes - los bor-
de/lmites no se preservan).
14.1. Funcionamiento
1. Se divide el ujo a enviar en segmentos (cada uno tiene un encabezado de
20 bytes).
2. El protocolo es basicamente ventana deslizante de tama no variable.
3. El n umero ACK indica el proximo n umero de secuencia (Byte esperado).
ACK es el ultimo que espero, por el tema del orden (No el ultimo q llego
bien).
66
Figura 48: (a) cuatro segmentos de 512 bytes enviados como datagramas IP
independientes (b) Los 2048 Bytes de datos que se agregan a la aplicacion en
una sola llamada a Read
14.2. Encabezado TCP
Figura 49: Encabezado TCP
1. Puertos de origen y de destino.
2. N umeros de secuencia (el primer byte de este segmento).
3. N umero de Acknowledgment: indica el proximo byte esperado, no el ultimo
recibido.
67
4. Longitud del encabezado TCP: cantidad en palabra (de 4 bytes) del en-
cabezado, necesario porque tenemos opciones.
5. Banderas:
a) URG: datos urgentes(apuntador urgente: el deplazamiento a partir
del n umero actual de secuencia en el que se encuentran los datos
urgentes).
b) ACK:
Seteado indica que hay un Ack con piggybacking (y por lo tanto
el n umero de ack es valido).
No seteado: el segmento no contiene una informacion de recep-
cion.
c) PSH: Push Data Inmediatly: el que recibe tiene que pasar todo lo
que tiene la capa superior.
d) RST: reestablece una conexion confundidad (cada de Host, etc).
Tambien se usa para rechazar segmento.
e) SYN: establece una conexion
Para iniciar una conexion (Call REQ), se setea SYN = 1 y ack
= 0.
Para aceptar una pedido de conexion (Call ACC) se setea SYN
= 1 y ack = 1.
f ) FIN: libera la conexion (pero contin ua recibiendo, lo que implica que
FIN tiene n umero de secuencia).
6. Tama no de ventana: cantidad de bytes que pueden enviarse comenzando
por el byte cuya recepcion se ha conrmado.
0 es cuando no hay buer libre y se debe parar el envo.
A veces 64K es demasiado poco:
RFC 1323 provee una escala de ventana variable hasta 2
30
Bytes
7. Suma de vericacion: incluye el encabezado, los datos y el pseudo en-
cabezado.
Ayuda a entregar paquetes mal entregador.
8. Opcionales: incluye el mecanismo para que cada host especique la maxi-
ma carga util que acepta.
Se anuncia en las CALL REQ y CALL ACC
Por defecto, 536 bytes de carga util.
68
Figura 50: Pseudo encabezado, contiene las direcciones IP es bueno o malo?
69

Potrebbero piacerti anche