la capa de red (pt. 1)ags/rc/downloads/handouts/módulo 04 - la c… · funciones de la capa de red...
TRANSCRIPT
Redes de ComputadorasRedes de ComputadorasDepto. de Cs. e Ing. de la Comp.Depto. de Cs. e Ing. de la Comp.
Universidad Nacional del SurUniversidad Nacional del Sur
Módulo 04Módulo 04La Capa de RedLa Capa de Red
(Pt. 1)(Pt. 1)
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 22
CopyrightCopyrightCopyright © 2010-2019 A. G. Stankevicius
Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, versión 1.2 o cualquiera posterior publicada por la Free Software Foundation,sin secciones invariantes ni textos de cubierta delantera o trasera
Una copia de esta licencia está siempre disponibleen la página http://www.gnu.org/copyleft/fdl.html
La versión transparente de este documento puede ser obtenida de la siguiente dirección:
http://cs.uns.edu.ar/~ags/teaching
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 33
ContenidosContenidosModelos de servicios de la capa de red
Estructura interna de un router
El protocolo IP
IPv4 vs. IPv6
Protocolos de ruteo
Ruteo jerárquico
Ruteo en internet
Multicast
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 44
ISO/OSI - TCP/IPISO/OSI - TCP/IP
7
6
5
4
3
2
1 físicaenlace
redtransporte
sesiónpresentación
aplicación
Usted está aquí
5
4
3
2
1
red
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 55
Funciones de la capa de redFunciones de la capa de redLa capa de red encauzalos paquetes entregadospor la capa de transportea través de las distintascomputadoras de la red
La capa de red estáimplementada en todoslos nodos de la red:
Computadoras
Routers
aplicacióntransporte
redenlacefísica
aplicacióntransporte
redenlacefísica
redenlacefísica red
enlacefísica
redenlacefísica
redenlacefísica
redenlacefísica
redenlacefísica
redenlacefísica
redenlacefísica
redenlacefísica
redenlacefísicared
enlacefísica
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 66
Funciones de la capa de redFunciones de la capa de redLa capa de red debe cumplir dos funciones primordiales:
Debe determinar el camino que han de tomar los paquetes al ser conducidos desde el origen hastael destino haciendo uso de los algoritmos de ruteo
Tiene que resolver correctamente el forwardingde los paquetes en cada router visitado, esto es,en cada router de la red se debe decidir por qué enlace ha de salir cada uno de los paquetes quevan arribando
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 77
Otra “car analogy”Otra “car analogy”Haciendo uso nuevamente de una analogía que involucre autos, supongamos que se quiere ir desde el campus de la uni hasta el aeropuerto:
El ruteo se corresponde con elegir la ruta hastael aeropuerto, por caso, salir por la Av. Cabrera hastala rotonda del Wallmart, de ahí tomar la Av. Newbery hasta la rotonda de Indiada y finalmente de ahí encarar hacia el aeropuerto
El forwarding se corresponde con la decisión en cada una de las rotondas que vamos atravesando acerca de por cuál de sus salidas seguir camino
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 88
Interacción ruteo-forwadingInteracción ruteo-forwading
123
0111
dirección destino del paqueteque acaba de llegar al router
algoritmo de ruteo
tabla de forwardingencabezado enlace
0100010101111001
3221
el algoritmo de ruteodetermina el camino puntaa punta a traves de la red
la tabla de forwardingdetermina el forwading local
a este router
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 99
Establecimiento de conexionesEstablecimiento de conexionesEn algunas configuraciones puede hacer falta una fase de inicialización previo a comenzarel ruteo propiamente dicho de los paquetes
Tanto las dos computadoras en el extremo dela conexión como los routers entre las mismas participan estableciendo una conexión virtual
No confundir con la conexiones que se gestionan a nivel de la capa de transporte
¿Por qué razón? ¿Cuál sería la principal diferencia?
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1010
Modelo de servicioModelo de servicioLa forma de implementar estas tres funciones primordiales depende directamente del modelo de servicio adoptado por el canal de comunicación que encauce los paquetes
¿Puede asegurar un ancho de banda mínimo?
¿Preserva el temporizado inter-paquete?
¿Garantiza la entrega sin pérdidas?
¿Asegura la recepción ordenada?
¿Notifica al emisor de la congestión en la red?
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1111
Modelos de servicioModelos de servicio
Internet “best-effort” no no no no no (se infiere)ATM CBR constante si si si no puede haberATM VBR garantizado si si si no puede haberATM ABR mín. garant. no si no siATM UBR no no si no no
Arquitecturade red
Modelo deservicio
¿Garan. anchode banda?
¿Asegurael envío?
¿Garantizael orden?
¿Garantizala latencia?
¿Informa de lascongestiones?
Internet “best-effort” no no no no no (se infiere)
ATM CBR constante si si si no puede haberATM VBR garantizado si si si no puede haberATM ABR mín. garant. no si no siATM UBR no no si no no
Arquitecturade red
Modelo deservicio
¿Garan. anchode banda?
¿Asegurael envío?
¿Garantizael orden?
¿Garantizala latencia?
¿Informa de lascongestiones?
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1212
¿¿Con o sin conexión?Con o sin conexión?Las redes de datagramas ofrecen una capade red no orientada a la conexión
En contraste, las basadas en circuitos virtuales ofrecen una orientada a la conexión
Se asemeja a la discusión TCP vs. UDP, perocon las siguientes salvedades:
El servicio es computadora a computadora
No es electivo, la red provee o bien uno o el otro
La implementación reside en el núcleo de la red
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1313
Circuitos virtualesCircuitos virtualesUno de los modelos de servicio posiblesse basa en hacer uso de circuitos virtuales
Hacer uso de CV implica que la capa de red brindará una conexión análoga a la que se obtiene al usar un circuito telefónico
Se debe inicializar la llamada antes de comenzara transmitir información
Cada celda de datos consigna información del CVal que pertenece y no del destino deseado
Los routers mantienen información de los CV
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1414
ImplementaciónImplementaciónA nivel de implementación, un circuito virtual consiste de los siguientes elementos:
Un camino desde el origen hasta el destino
Un conjunto de números de circuito virtual, uno para cada enlace a lo largo del camino
Una entrada en la tabla de forwading de los routersa lo largo del camino
Los paquetes que pertenecen a un dado circuito virtual se identifican a través de su número
El número de circuito puede cambiar en cada enlace
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1515
ImplementaciónImplementaciónEl no utilizar el mismo número de circuito virtual de punta a punta hace que los routers tengan que almacenar más información
¿Por qué razón se optó por no utilizar el mismo número de CV de punta a punta?
Ent. CV Sal. CV
1 12 3 22
2 63 1 18
3 7 2 17
1 97 3 87
12 22 321
23
número de CV
número deinterfase
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1616
aplicacióntransporte
redenlacefísica
Protocolo de señalizaciónProtocolo de señalizaciónEl protocolo de señalización es el encargadode establecer y liberar los CV
Por caso, es utilizado en ATM, Frame Relay, X.25
1. Inicialización de la llamada 2. Recepción de la llamada4. Establecimiento de la conexión5. Comienza el envío de datos 6. Se reciben los datos
3. Aceptación de la llamadaaplicacióntransporte
redenlacefísica
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1717
DatagramasDatagramasEl otro modelo de servicio posible se basaen la utilización de datagramas
No requiere de una inicialización de la conexiónantes de comenzar a transmitir información
Los routers no cuentan con información acercade las conexiones punta-a-punta (esto es, a nivelde capa de red no existe el concepto de conexión)
Los paquetes son ruteados inspeccionandola información contenida en cada datagramaacerca del destino hacia donde se dirige
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1818
aplicacióntransporte
redenlacefísica
Modelo de internetModelo de internetA diferencia del modelo de servicio basadoen circuitos virtuales, los datagramas deuna misma conexión pueden no transitarel mismo camino
aplicacióntransporte
redenlacefísica
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 1919
ImplementaciónImplementaciónLa tabla de forwarding de los routers no puede contar con información acerca de qué enlace tomar para cada una de las 232 direcciones IP
Rango de Direcciones DestinoEnlace de Salida
desde 11001000 00010111 00010000 00000000hasta 11001000 00010111 00010111 11111111 1
desde 11001000 00010111 00011000 00000000hasta 11001000 00010111 00011000 11111111 2
desde 11001000 00010111 00011001 00000000hasta 11001000 00010111 00011111 11111111
3
caso contrario 4
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2020
ImplementaciónImplementaciónEn el mundo real, los rangos de la tablade forwarding no suelen quedar tan prolijos
La tabla se consulta buscando cuál es el prefijode mayor longitud con el cual coincide la dirección destino del datagrama
Rango de Direcciones DestinoRango de Direcciones Destino Enlace de Enlace de SalidaSalida
11001000 00010111 00010*** ********* 1
11001000 00010111 00011000 ********* 2
11001000 00010111 00011*** ********* 3
caso contrario 4
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2121
Datagramas vs. CVDatagramas vs. CVEn internet:
Se intercambian datos entre computadoras, por loque usualmente no hay requerimientos tan estrictos de temporizado
Los sistemas en la frontera de la red son inteligentes, se adaptan a los cambios, pueden implementar control de errores, etc.
La complejidad está en la frontera, no en el núcleo
Está compuesta de muchos tipos distintos de enlaces, por lo que brindar un servicio homogéneo no es necesariamente trivial
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2222
Datagramas vs. CVDatagramas vs. CVEn ATM:
Evolucionó a partir del sistema telefónico
Se diseño para entablar conversaciones entre humanos, por lo que se deben poder asegurar estrictos niveles de retardo y de confiabilidad
Es necesario que la red asegure una determinada calidad de servicio
Los sistemas en la frontera de la red carecende inteligencia (por caso, un teléfono o un fax)
La complejidad se aloja en el núcleo de la red
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2323
Estructura de un routerEstructura de un routerSi dirigimos nuestra atención a qué hay dentro de un router, se identifican dos grandes tareas:
Debe ejecutar y cumplir con el protocolo de ruteo elegido (puede ser más de uno)
Debe llevar adelante el rol central del router, esto es, resolver el forwarding de los datagramas recibidos
núcleo deconmutación
núcleo deconmutación
procesadorde ruteo
procesadorde ruteo
⋮ ⋮puertos
de entradapuertosde salida
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2424
Puertos de entradaPuertos de entrada
terminadorde línea
encolado yforwarding
capade enlace
capa física(recepciónde los bits) capa de enlace
(protocolo ydesencapsulado)
resolución de la conmutaciónde manera distribuida y
eventual encolado
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2525
Conmutación descentralizadaConmutación descentralizadaLa multiplicidad de puertos de entrada permite descentralizar la toma de decisión respectoal forwarding de datagramas:
Para un dado datagrama, se consulta en la tablade forwarding qué puerto de salida tomar
Idealmente se desea poder tomar la decisióna la misma velocidad que llegan los nuevos datagramas
En caso contrario, se producirá el encoladoen el propio puerto de entrada
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2626
EncoladoEncoladoEl encolado se produce toda vez que el núcleo de conmutación no alcance a distribuir a tiempo el tráfico recibido por los puertos de entrada
El datagrama en la primer posición de la cola puede bloquear a los datagramas que vienen detrás
Si el buffer se va saturando se producirán demoras y eventualmente pérdidas de datagramas
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2727
Núcleo de conmutaciónNúcleo de conmutaciónEn la actualidad existen tres alternativas a la hora de implementar el núcleo de conmutación:
Hacer uso de una memoria compartida
Organizarlo en torno a un bus compartido
Organizarlo en torno a un crossbar
memoriacompartida bus
compartidocrossbar
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2828
Memoria compartidaMemoria compartidaRouters de primera generación:
Un único CPU se encarga de copiar los datagramasde los puertos de entrada a los puertos de salida
La velocidad de conmutación está limitada por el ancho de banda de la memoria (pues se requierendos accesos para conmutar cada datagrama)
Los puertos de entrada de los más modernos son capaces acceder directamente a memoria
bus del sistema
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 2929
Bus compartidoBus compartidoOtra alternativa a la hora de diseñar un router es organizarlo en torno a un bus compartido:
Los datagramas se trasladan del buffer de entradaal buffer de salida haciendo uso de un bus
La contención en el acceso al bus aumenta el tiempo de encolado en los distintos puertos de entrada
Por ende, la velocidad de conmutación estará limitada por el ancho de banda del bus
Adecuado incluso hoy en día para routers hogareñosy también tipo PyME
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3030
CrossbarCrossbarEl crossbar surge como una extensión natural del bus compartido
Su principal objetivo es aliviar el problema dela contención en el acceso al medio compartido
Esta tecnología se empezó a utilizar en las viejas supercomputadoras para interconectar de manera eficiente a sus múltiples procesadores
Las versiones más modernas fragmentanlos datagramas en celdas de tamaño fijo,las que son conmutadas a través del núcleo
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3131
Puertos de salidaPuertos de salida
encolado capade enlace
Los puertos de salida son en cierta formala imagen especular de los puertos de entrada
Si la cantidad de datagramas conmutados superala capacidad de transmisión del puerto de salidase apela al encolado o al descarte de datagramas
La disciplina de despacho (schedulling discipline) dictamina qué datagrama transmitir a continuación
terminadorde línea
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3232
Pérdida de datagramasPérdida de datagramasEl nivel de ocupación de los distintos buffers afectan directamente el desempeño del router
Un mayor nivel de ocupación implica un mayor retardo de encolado
Sólo existen dos puntos en los que se puede tener que descartar un datagrama válido:
Al llegar un nuevo datagrama a un puerto de entrada que tenga su buffer lleno
Al conmutar un nuevo datagrama hacia un puertode salida que tenga su buffer lleno
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3333
Requerimientos de bufferingRequerimientos de bufferingResulta crucial determinar la cantidad óptima de almacenamiento intermedio del router:
Un buffer insuficiente conduce a pérdidas
Un buffer excesivo incrementa el costo de router
La RFC 3439 especifica como regla del pulgar multiplicar el RTT promedio de la red por la capacidad del enlace
Por ejemplo, asumido un RTT de 250ms necesitamos 2.5Gbits de buffer para un enlace de 10Gb/s
Actualmente se está revisando esta recomendación
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3434
Capa de red de internetCapa de red de internet
protocolo de ruteoRIP – OSPF - BGP
capa de transporte (TCP/UDP)
tabla de forwading
protocolo IP- convenciones de direccionado- formato de los datagramas- manipulación de paquetes
protocolo ICMP- reporte de errores- señalización entre routers
capade red
capa de enlace
capa física
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3535
identificador
checksum
largo
datos enviados(tam. variable)
dirección IP origen
dirección IP destino
TTL
opciones (tam. variable)
prot.
flgs offset delfragmento
v. QoSlarg.enc.
Formato de los datagramasFormato de los datagramas
formato deun datagrama IP
32 bitslargo del datagrama
(en bytes)
por caso, registrode la ruta tomada,
estampillas de tiempo,etc.
protocolo de la capade transporte
largo del encabezado(en múltiplos de 4)
número de versióndel protocolo
tipo de servicio provisto(implementa QoS)
máx. número de routersa atravesar
usados al fragmentary rearmar datagramas
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3636
Fragmentación de datagramasFragmentación de datagramasLa capa de enlace determina el máximo tamaño de datagrama que cabe en una trama
Cada enlace tiene asociado un dado valorde MTU (Maximum Transmission Unit)
Para transmitir un datagrama de gran tamaño se lo fragmenta en múltiples datagramasde tamaño menor
Cada fragmento viaja a través de la red por separado
El datagrama original se rearma recién en el destino
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3737
Fragmentación de datagramasFragmentación de datagramasSupongamos que se desean enviar 4000 bytes sobre un enlace con un MTU de 1500 bytes
largo4000
IDX
frag0
offset0
largo1500
IDX
frag1
offset1480
largo1500
IDX
frag1
offset0
largo1040
IDX
frag0
offset2960
MTU=4500 MTU=1500 MTU=4500
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3838
Direccionado IPDireccionado IPDenominaremos dirección IP a la secuenciade 32 bits que identifica unívocamente una interfaz de una computadora o de un router
Denominaremos interfaz a la conexión entre una computadora o router con el enlace físico
Los routers típicamente tienen múltiples interfaces
Las computadoras usualmente tienen una única interfaz pero también pueden tener más de una
Cada interfaz tiene una dirección IP propia
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 3939
Direccionado IPDireccionado IP123.45.1.1
123.45.1.2
123.45.1.3
123.45.1.4 123.45.2.3
123.45.2.1
123.45.2.2123.45.3.3
123.45.3.1 123.45.3.2
123.45.3.1 = 01111011.00101101.00000011.00000001
45 3 1123
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4040
Redes y computadorasRedes y computadorasToda dirección IP se compone de dos partes:
Los bits más significativos identifican la red
Los bits menos significativos identificana la computadora
Bajo este enfoque, ¿en qué consiste una red?
Un conjunto de interfaces que comparten el mismo identificador de red
Las computadoras dentro de una misma red tienen que poder accederse una a otra de forma directa
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4141
Redes y computadorasRedes y computadoras
123.45.1.0/24
123.45.2.0/24
123.45.3.0/24
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4242
Redes y computadorasRedes y computadoras
123.45.1.1123.45.2.2
123.45.2.3123.46.2.30
123.45.3.2 123.45.3.3
123.45.1.2
123.45.1.3
123.46.1.10123.46.1.20 123.45.2.1
123.46.3.30
123.45.3.1
123.46.2.10 123.46.3.20
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4343
Direccionamiento sin clasesDireccionamiento sin clasesLa clave del direccionamiento sin clases (CIDR) consiste en permitir una cantidad arbitrariade bits para identificar la red.
La notación adoptada es a.b.c.d/x, donde x indica la cantidad de bits a ser usados para identificar la red.
11001000 00010111 00010000 00000000
200.23.16.0/22
red computadora
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4444
IP especialesIP especialesAlgunas direcciones IP tienen preasignadoun significado en particular:
111... ... ... ...111
la computadoraactual
000... ...000
...111red
000... ... ... ...000
dirección de broadcasten la red local
una computadorade la red localcomputadora
111... dirección de broadcasten una red remota
127 ...... dispositivode loopback...
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4545
IP privadosIP privadosLa RFC 1918 establece tres rangosde direcciones IP que no son ruteables
De 10.0.0.0 a 10.255.255.255
De 172.16.0.0 a 172.31.255.255
De 192.168.0.0 a 192.168.255.255
En otras palabras, el tráfico de estas redes jamás atravesará router alguno
Resulta altamente convenientes hacer usode las mismas dentro de las redes locales
Redes de Computadoras - Mg. A. G. StankeviciusRedes de Computadoras - Mg. A. G. Stankevicius 4646
¿¿Preguntas?Preguntas?