Tema 2: IP Tema 2: IP Tema 2: IP Tema 2: IP

Anuncio
Tema 2: IP
z
z
z
z
z
z
z
Tema 2: IP
Funcionalidad de un router
Fragmentación, reensamblado y MTU
ICMP, MTU path discovery y troubleshooting
z Ping
z Traceroute
Encaminamiento en IP
z Path determination y concepto de convergencia
z Encaminamiento estático y dinámico
z Protocolos de Encaminamiento Interno (IGP’s) : RIP
z Sistemas
Autónomos
(AS)
y
protocolos
de
Encaminimamiento Externo : BGP
DNS
Direcciones privadas y NAT (Network Address Translation)
Firewalls y ACL’s (Listas de acceso)
1
z
Funcionalidad de un router
Los routers operan en la capa de red registrando y grabando las
diferentes redes y eligiendo la mejor ruta entre las mismas.
Cualquier host A (IPA) que quiera enviar un datagrama IP a otro host B
(IPB) que esté en una subred distinta (NetIDA ≠ NetIDB) debe hacerlo a
través de un router.
Los routers tienen una dirección IP por cada interfaz.
z
z
z
Router
Router
Red A
Red B
2
Tema 2: IP
z
Tema 2: IP
Funcionalidad de un router
Si un host recibe un datagrama que no está dirigido a él, el host
descarta el datagrama
Si un router recibe un datagrama que no está dirigido a él, intenta
encaminarlo a un host o a otro router Æ FORWARDING
z
z
Funcionalidad de un router
El router deberá entre otras cosas realizar las siguientes funciones:
“Forwarding”: envíar datagramas de una subred a otra.
“Routing”: decidir a que subred debe enviar un datagrama que le
llegue de otra subred (decidir interficies de salida del router).
Separan las tramas de la capa 2 y envian paquetes basados en las
direcciones de destino de capa 3.
“Error messaging”: notificar al host origen con un mensaje ICMP
de cualquier problema que le impida realizar un “forwarding”
Otras funciones:
z
z
z
z
z
tcp_input()
tcp_output()
z
ip_input()
ip_forwarding()
z
ip_output()
z
z
Buffer
Driver
3
Buffer
Driver
z
4
“Fragmentation and reassembly”: (cada vez más en desuso) debido
al uso del “MTU Path Discovery”
“Quality of Service” (QoS): cada vez más en uso con la introducción
de aplicaciones en tiempo real (Reserva de recursos)
Otras: balanceos de cargas, servicios multiprotocolo, seguridad
informática (IPSec), protección de entrada en Intranets (firewalls),
conectar diferentes tecnologías de capa dos como Eth, TR....
Tema 2: IP
Tema 2: IP
Ejemplo:
z
z
Router debe:
¾ Routing: decidir la interficie de
salida del router para cada
datagrama que le llega
Routers
Routers transmiten información de nivel 3 (datagramas)
Un router no retransmite (forwarding) tramas broadcast (e.g.
ARP).
Selecciona la mejor ruta y conmuta paquetes de datos.
Se utiliza para interconectar una o más LAN con objeto de crear
una WAN.
z
z
Modem
z
¾ Forwarding: usar la tecnología
de nivel 2 para transmitir
datagramas por una interficie de
salida
Internet
IPA
A
BC
D E
5 Subredes: A,
B, C, D, E
IPE
z
¾ Error
messaging:
notificar
cualquier problema que impida el
forwarding de datagramas usando
mensajes ICMP
Router
5
6
Tema 2: IP
z
Tema 2: IP
Routers, Bridges/Switches y Hubs
Hubs separados por switches forman un dominio de colisiones
Switches y Hubs separados por un router forman un dominio
broadcast
Bridges/Switches deben estar distribuidos de forma que NO
formen bucles cerrados (Spanning Tree Protocol, IEEE 802.1q
se encarga de ello)
Los conmutadores transmiten a mayor velocidad que los routers y
además son más baratos
z
MTU (Maximum Transfer Unit)
Número máximo de bytes de datos que pueden aparecer
encapsulados en una trama de red
Cada red (Ethernet, ATM, X.25 ...) tiene su propia MTU
“Path MTU”: se define como el mínimo MTU de entre todas las
redes que hay entre dos hosts conectados a Internet
z
z
z
z
z
z
Network
z
7
Router
Cada router tiene una IP con NetID distinto
por interficie de salida
8
MTU (Bytes)
Punto a Punto
296
X.25
576
Ethernet
1500
IEEE 802.3/802.2
1492
FDDI
4352
IEEE 802.5 (4 Mbps TR)
4464
IBM (16 Mbps TR)
17914
Tema 2: IP
z
Tema 2: IP
Fragmentación y reensamblado:
Cada día menos usado con el uso de MTU Path Discovery
z
Fragmentación y reensamblado:
z
R1
IPA
R2
Red1
Red2
MTU = 1500
bytes
MTU = 576
bytes
Red3
0
IPB
16
Identificación
19
Flags
MTU = 1500
bytes
• R1 fragmentará datagramas enviados por host A debido a que la MTU
0
de la Red2 es menor que la de la Red1 (Path MTU = 576 bytes)
31
Desplazamiento
de Fragmento
D M
F F
• El datagrama no se reensambla en R2, sino que lo hará el destino
(HostB)
• R2 reenvía los fragmentos como si fuesen datagramas
independientes (podrían llegar desordenados o que alguno de los
fragmentos no llegase)
• Usa los campos “flags”, “fragment offset”, “total length” de la cabecera
IP para fragmentar y reensamblar
9
10
Tema 2: IP
z
Tema 2: IP
Fragmentación y reensamblado:
“Flags”: campo de 3 bits. El segundo y tercer bit se usan para
fragmentar:
Primer bit reservado a “0”
Flag D F “don’t fragment”
“0” = puede fragmentar el datagrama
“1” = no pude fragmentar el datagrama
si activo un router NO fragmentará el datagrama
(devolverá un mensaje ICMP indicando que no puede
enviar el datagrama ya que no se le permite fragmentar)
Flag M F “more fragments”
“0” = único ó último fragmento
“1” = aun hay más fragmentos
activo cuando se fragmenta excepto en el último fragmento
que se desactiva
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
11
Fragmentación y reensamblado:
Identificación: número de 16 bits que identifica el datagrama,
permite implementar números de secuencias y reconocer
diferentes fragmentos de un mismo datagrama ya que todos
comparten este número.
“Fragment offset” ó desplazamiento de Fragmento: campo de 13
bits que indica el offset ó tamaño (en bytes) en bloques de
fragmento con respecto al datagrama original desde el origen del
datagrama
Todos los fragmentos excepto el último deben ser multiplos de 8
bytes (en su campo de datos)
Las direcciones IP origen y destino NO se modifican
Si un fragmento se pierde, todos los fragmentos del datagrama se
descartarán (esto se descubre en destino que es el que
reensambla los fragmentos)
12
Tema 2: IP
z
Tema 2: IP
Fragmentación y reensamblado:
z
z
z
1500 (Ethernet data) = 20 (IP header) + 1480 (IP data)
flag D = 0, flag M = 0, offset = 0, total length = 1500
z
572 (layer 2) = 20 (IP header) + 552 (IP data)
flag D = 0, flag M = 1, offset = 0, total length = 572
572 (layer 2) = 20 (IP header) + 552 (IP data)
flag D = 0, flag M = 1, offset = 552, total length = 572
ICMP (Internet Control Message Protocol)
Permite el intercambio de mensajes de control y de supervisión entre
dos ordenadores y sobre la red.
Notifica un fallo y sugiere las acciones que deben ser tomadas para
cada error.
Reporta las condiciones de error sólo a la fuente original. La fuente
debe decidir que acción tomar.
z
El host no sabe que GW ó maquina ocasionó el problema.
z
El datagrama sólo contiene la dirección IP fuente y destino final
z
Los mensajes ICMP requieren de dos niveles de encapsulación
z
Protocolo de control para comunicar incidencias:
Un datagrama no puede alcanzar su destino
Un router no puede almacenarlo temporalmente para reenviarlo
Un router indica a un ordenador que envíe el datagrama por una
ruta mas corta
z
396 (layer 2) = 20 (IP header) + 376 (IP data)
z
flag D = 0, flag M = 0, offset = 1104, total length = 396
z
1480 bytes = 552 (multiplo de 8) + 552 (multiplo de 8) + 376
13
14
Tema 2: IP
z
Tema 2: IP
z
ICMP (Internet Control Message Protocol)
ICMP (Internet Control Message Protocol)
ICMP comunica mensajes de error y control ademas de otras
condiciones que requiera atención por parte de un router o host
Los mensajes van encapsulados en datagramas IP
z
Cabecera
Datos
ICMP
ICMP
Cabecera
Datos
DATAGRAMA
DATAGRAMA
Cabecera
Datos
TRAMA
TRAMA
z
IP header
ICMP mensaje
8
0
Tipo
16
Codigo
31
Checksum
ICMP Data (Depending on the type of message)
15
16
Tema 2: IP
z
z
Tema 2: IP
ICMP (Internet Control Message Protocol)
z
Tipos de mensajes:
Respuesta a Eco (0)
Detectar destinos inalcanzables (3)
Petición de control de flujo (4)
Redireccionamiento de rutas (5)
Solicitud de Eco (8)
Anuncio de rutas (9)
Petición de rutas (10)
Tiempo excedido (11)
Problema de parámetros (12)
Marca de tiempo (13)
Respuesta a la marca de tiempo (14)
Petición de máscara de dirección (17)
Respuesta a la máscara de dirección (18)
ICMP (Internet Control Message Protocol)
Checksum cubre todo el mensaje ICMP
Hay 15 tipos de mensajes definidos por el campo “type”
Un mismo tipo puede emplear el campo “code” para especificar
cierta condición del mensaje
z
z
z
z
z
z
Type Code
z
z
Description
Query
Error
0
0
Echo reply (Ping reply)
x
3
0
Network unreachable
1
Host unreachable
x
2
Protocol unreachable
x
3
Port unreachable
x
x
z
z
z
z
..........
z
8
0
Echo request (Ping request)
x
z
9
0
Router advertisement
x
z
11
0
time-to-live exceeded
17
18
Tema 2: IP
z
Tema 2: IP
Tipos de mensajes ICMP (mensaje ECO petición y respuesta)
La respuesta devuelve los mismos datos que se recibieron en la
petición
Se utiliza para construir la herramienta “PING”
Se emplea para detectar problemas en la red
Permite comprobar que existe comunicación entre dos host a nivel
de capa de red
Permite comprobar si el destino esta activo y si existe una ruta hacia
el
Permite medir el tiempo de ida y vuelta
Permite estimar la fiabilidad de la ruta
Puede ser utilizado tanto por host como por routers
Comprueban que la capa física (cableado), acceso al medio (tarjetas
de red), y red (configuración IP) están correctas
No se comprueban las capas de transporte y aplicación que podrían
estar mal configuradas
z
z
Tipos de mensajes ICMP ( Mensaje de Destino inalcanzable)
Son enviados por un router cuando no puede enviar o entregar
un datagrama IP
Se envían al emisor del datagrama original
El campo código tiene una información adicional del problema
z
z
z
z
z
z
0
Red Inaccesible
1
Host Inaccesible
2
Protocolo Inaccesible
z
3
Puerto Inaccesible
z
4
Necesita Fragmentación
z
5
Falla en la Ruta Origen
z
6
Red de Destino Desconocida
7
Host Destino Desconocido
8
Host de Origen Aislado
9
Comunicación con Red Destino Administrativamente Prohibida
10
Comunicación con Host Destino Administrativamente Prohibida
11
Red Inaccesible por el Tipo de Servicio
12
Host Inaccesible por el Tipo de Servicio
z
z
19
x
...................................
z
20
Tema 2: IP
z
Tipos de mensajes ICMP (Mensaje de Paquete de restricción)
z
Se utiliza para informar al Host de problema de congestión de red
z
z
z
Tema 2: IP
z
Tipos de mensajes ICMP ( Mensaje de Tiempo excedido )
z
Es enviado por un router cuando tiene problemas debido a la recepción
de un número excesivo de datagramas
z
La recepción de un paquete de restricción provocara una disminución
de la tasa de inyección de datagramas al Host
z
No existe un paquete que invierta el efecto de este, la situación se
normaliza gradualmente cuando dejan de recibirse mensajes de este
tipo.
21
Este tipo de mensajes los pueden enviar tanto los router como
los host
Los routers cuando descartan un datagrama por exceder su
tiempo de vida (Código = 0)
Los host al ocurrir un timeout mientras se esperaban todos los
fragmentos de un datagrama, descartándose (Código = 1)
22
Tema 2: IP
z
Tema 2: IP
TTL (Time To Live)
Especifica el tiempo(en segundos) que se permite viajar a este
datagrama.
Campo que indica el límite de routers que puedes atravesar en
Internet
Se inicializa en cada datagrama con un valor como máximo de 255
(8 bits de campo)
Cada vez que el datagrama atraviesa un router se decrementa en
1ya que el router es capaz de procesarlo en menos de 1 segundo.
Si un datagrama llega a un router y su TTL = 0, el router descarta el
datagrama y envía un mensaje ICMP (mensaje con tipo = 11)
Este campo se utiliza en el programa “traceroute” para averiguar la
ruta que atraviesa un datagrama cuando viaja por Internet, también
el programa “ping” suele indicar el TTL
z
z
z
z
z
z
z
z
z
z
23
MTU Path Discovery (RFC 1063)
Objetivo: evitar la fragmentación de datagramas averiguando cual
es la Mínima MTU entre el origen y el destino
¿Cómo conseguirlo?
Se envía un datagrama con MTU la del enlace y con el bit
Don’t Fragment activo
Cuando un router se encuentre que tiene una MTU menor que
la que le llegue no fragmentará y enviará un mensaje ICMP
“destino inalcanzable” (type = 3, code = 4 “fragmentation
needed but don’t fragment bit set”)
Este mensaje ICMP advierte cual es la MTU del enlace que
necesita fragmentar (sino soporta esta opción, advierte MTU =
0)
El origen vuelve a empezar con la nueva MTU hasta que
averigue la mínima MTU, si la MTU advertida es 0, lo intenta
con MTU conocidas más pequeñas
z
z
z
24
Tema 2: IP
z
Tema 2: IP
ping –c3 aucanada
Ping:
Se encarga de verificar la conectividad.
El comando “ping” se usa como herramienta de diagnóstico para
averiguar
Si un host está conectado y es accesible
Si los routers intermedios son operativos
Tu propio host (software IP) funciona correctamente
Ping envía “echo requests” a un host determinado. Este le
devuelve un “echo reply”
Los echo request/reply son mensajes ICMP
Ping devuelve información del tipo “retardo desde cliente a
servidor”, valor del TTL, cantidad de paquetes ICMP perdidos
PING aucanada.ac.upc.es (147.83.35.24): 56 data bytes
z
64 bytes from 147.83.35.24: icmp_seq=0 ttl=255 time=0.093 ms
z
64 bytes from 147.83.35.24: icmp_seq=1 ttl=255 time=0.074 ms
64 bytes from 147.83.35.24: icmp_seq=2 ttl=255 time=0.079 ms
z
--- aucanada.ac.upc.es ping statistics ---
z
3 packets transmitted, 3 packets received, 0% packet loss
z
round-trip min/avg/max = 0.074/0.082/0.093 ms
z
ping -c3 -s512 rogent
z
PING rogent.ac.upc.es (147.83.31.7): 512 data bytes
z
520 bytes from 147.83.31.7: icmp_seq=0 ttl=254 time=1.530 ms
520 bytes from 147.83.31.7: icmp_seq=1 ttl=254 time=1.582 ms
520 bytes from 147.83.31.7: icmp_seq=2 ttl=254 time=1.584 ms
ping [ -dfLnqRrv] [ -c count] [ -I ifaddr] [ -i wait] [ -l preload] [ -p pattern]
--- rogent.ac.upc.es ping statistics ---
[ -S ifaddr] [ -s packetsize] [ -t ttl] [ -w maxwait] host
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.530/1.565/1.584 ms
25
26
Tema 2: IP
z
Tema 2: IP
Traceroute
Programa que permite averiguar la ruta que ha seguido un
datagrama de host a host.
Se aprovecha de que cuando un datagrama llega a un router con
el campo TTL = 0 este es descartado y el origen recibe un
mensaje ICMP (type = 11, code = 0)
Progama envía:
datagramas UDP con la cabecera IP con el TTL =1, 2, 3, 4, ....
(envía 3 datagramas con cada TTL) hasta que se llegue al
host destino
Como el puerto UDP destino es desconocido, el host destino
devuelve un error ICMP de destino no alcanzable (unreachable
port, type=3, code=3)
Además el datagrama lleva en su campo de datos un número
de secuencia, una copia del TTL y un timestamp con el tiempo
en que se envió el datagrama para dar estadísticas
· traceroute [ -l] [ -m max_ttl] [ -n] [ -p port] [ -q nqueries] [ -r]
z
[ -s src_addr] [ -t tos] [ -w waittime] host [packetsize]
z
• traceroute fonoll
traceroute to fonoll.ac.upc.es (147.83.31.14), 30 hops max, 40 byte packets
z
1 arenys5.ac.upc.es (147.83.35.2) 1 ms 1 ms 2 ms
z
2 fonoll.ac.upc.es (147.83.31.14) 1 ms * 1 ms
• traceroute -q 4 fonoll 512
z
traceroute to fonoll.ac.upc.es (147.83.31.14), 30 hops max, 512 byte packets
1 arenys5.ac.upc.es (147.83.35.2) 2 ms 2 ms 1 ms 2 ms
2 fonoll.ac.upc.es (147.83.31.14) 1 ms * 1 ms *
z
27
28
Tema 2: IP
•
Tema 2: IP
traceroute fonoll 5600
traceroute to fonoll.ac.upc.es (147.83.32.14), 30 hops max, 5600 byte packets
MTU=4352 MTU=2002 MTU=1492 arenys5.ac.upc.es (147.83.35.2) 3 ms 3 ms 2 ms
fonoll.ac.upc.es (147.83.32.14) 2 ms * 2 ms
•
NYC
CC
NYC
NS
tcpdump –i eth0 host aucanada and fonoll
09:57:48.925224 aucanada.ac.upc.es.56020 > fonoll.ac.upc.es.33435: udp 1464 [ttl 1]
LON
MIA
TIC
HO
U
PAR
MIA
SD
VIE
MTY
MIL
MA
D
PE
SJU
09:57:48.928027 arenys5.ac.upc.es > aucanada.ac.upc.es: icmp: time exceeded in-transit [tos 0xc0]
SAL
MA
D
DE
09:57:48.932349 aucanada.ac.upc.es.56020 > fonoll.ac.upc.es.33436: udp 1464 [ttl 1]
09:57:48.935859 aucanada.ac.upc.es.56020 > fonoll.ac.upc.es.33437: udp 1464 [ttl 1]
XXX
YY
Nodo completo
09:57:48.938164 arenys5.ac.upc.es > aucanada.ac.upc.es: icmp: time exceeded in-transit [tos 0xc0]
XXX
YY
Sólo MS
XXX
YY
Sólo IP
09:57:48.938456 aucanada.ac.upc.es.56020 > fonoll.ac.upc.es.33438: udp 1464
LIM
Tipo de enlace
LUR
SAO
LS
SCL
PR
09:57:48.940628 fonoll.ac.upc.es > aucanada.ac.upc.es: icmp: fonoll.ac.upc.es udp port 33438 unreachable
(DF)
SCL
FL
SAO
SI
MON
BUE
C1
BUE
BA
Enlace cable/fibra
Enlace por satélite
09:57:48.944172 aucanada.ac.upc.es.56020 > fonoll.ac.upc.es.33439: udp 1464
09:57:51.937620 aucanada.ac.upc.es.56020 > fonoll.ac.upc.es.33440: udp 1464
09:57:51.939703 fonoll.ac.upc.es > aucanada.ac.upc.es: icmp: fonoll.ac.upc.es udp port 33440 unreachable
(DF)
30
Tema 2: IP
Tema 2: IP
· traceroute www.cisco.com
traceroute to cio-sys.cisco.com (192.31.7.130), 30 hops max, 40 byte packets
1 arenys5 (147.83.35.2) 0.768 ms 0.684 ms 0.698 ms
2 phanella.upc.es (147.83.124.128) 2.836 ms 1.406 ms 1.875 ms
3 termcat.cesca.es (193.145.223.9) 2.370 ms 1.332 ms 1.055 ms
4 193.145.223.222 (193.145.223.222) 2.435 ms 3.178 ms 1.793 ms
5 A0-1-1.EB-Madrid00.red.rediris.es (130.206.224.1) 14.021 ms 11.974 ms 15.546 ms
6 A6-0-0-1.EB-Madrid0.red.rediris.es (130.206.224.74) 17.334 ms 26.908 ms 28.304 ms
7 194.69.226.13 (194.69.226.13) 261.393 ms 262.017 ms 258.488 ms
8 194.69.227.37 (194.69.227.37) 251.191 ms 262.695 ms 260.127 ms
9 borderx2-hssi3-0.PompanoBeach.cw.net (204.70.92.121) 532.621 ms 519.488 ms 529.751 ms
10 * * core1-fddi-1.PompanoBeach.cw.net (204.70.92.33) 543.744 ms
11 204.70.12.2 (204.70.12.2) 537.980 ms * *
12 * 204.70.12.1 (204.70.12.1) 512.827 ms 572.145 ms
13 ast-bbn1-nap.Atlanta.cw.net (204.70.10.170) 545.150 ms 531.534 ms 539.311 ms
14 h10-1-0.paloalto-br2.bbnplanet.net (4.0.1.197) 695.972 ms 628.130 ms *
15 * * p2-0.paloalto-nbr2.bbnplanet.net (4.0.2.197) 645.123 ms
16 p0-0-0.paloalto-cr18.bbnplanet.net (4.0.3.86) 694.410 ms * *
17 * h1-0.cisco.bbnplanet.net (4.1.142.238) 716.981 ms 620.717 ms
18 * pigpen.cisco.com (192.31.7.9) 687.278 ms *
19 cio-sys.cisco.com (192.31.7.130) 630.708 ms 678.356 ms *
31
ROM
BOG
09:57:48.935629 arenys5.ac.upc.es > aucanada.ac.upc.es: icmp: time exceeded in-transit [tos 0xc0]
29
MA
D
RR
32
2.5 Gbps
622 Mbps
155 Mbps
45/34 Mbps
2 Mbps
Tema 2: IP
Tema 2: IP
Direcciones privadas (RFC 1918)
33
•
Direcciones privadas definidas por IANA: son direcciones que no son
enrutables en Internet
• Clase A: 10.0.0.0 – 10.255.255.255 Æ CIDR 10.0.0.0/8
• Clase B:172.16.0.0 –172.31.255.255 Æ CIDR172.16.0.0/12
• Clase C:192.168.0.0–192.168.255.255Æ CIDR 92.168.0.0/16
•
Ideales para Labs o Test-home networks
•
Ideal en Intranets
•
Ideal en WAN links (core backbones) para ahorrar direcciones globales
•
Problema: no son enrutables por Internet
34
Tema 2: IP
z
Tema 2: IP
NAT (Network Address Translation) (RFC 1631)
Permite conectar varios PCs de una misma subred a Internet,
utilizando únicamente una dirección IP pública para ello.
Mecanismo que permite la traducción de direcciones privadas a
públicas para poder acceder a Internet desde una intranet
NAT se aprovecha de las características de TCP/IP, que permiten
a un PC mantener varias conexiones simultáneas con un mismo
servidor remoto. Esto es posible gracias a los campos de las
cabeceras que definen unívocamente cada conexión, estos son:
dirección origen, puerto origen, dirección destino y puerto destino.
Las direcciones identifican los equipos de cada extremo y los
puertos cada conexión entre ellos.
Necesitamos un Router NAT en la frontera entre las redes que
queremos traducir
El mecanismo debe ser transparente a los usuarios finales
Compatibilidad con firewalls y con seguridad en Internet
z
z
z
Internet
Router NAT
z
Intranet
z
z
z
35
36
Tema 2: IP
z
Tema 2: IP
NAT estático: consiste en substituir la parte de host de la IP privada
en el host de la IP pública
INTRANET
192.168.0.2
INTRANET
192.168.0.2
Web server
207.29.19.8
FTP server
205.4.22.31
Outside
206.16.55.x
Src:192.168.0.3:2401
Dst:205.4.22.31:21
Src:206.16.55.3:2401
Dst:205.4.22.31:21
37
Web server
207.29.19.8
FTP server
205.4.22.31
Dinamic NAT Table
Inside
Outside
192.168.0.2
206.16.55.2
192.168.0.3
206.16.55.3
Pool: 206.16.55.0 ... 15
Src:206.16.55.3:2401
Dst:205.4.22.31:21
38
Tema 2: IP
z
Tema 2: IP
NAT dinámico ó Overloading (PAT: Port Address Translation):
El router tiene una sóla IP pública, y elige un nuevo puerto origen y
mapea las IP privadas a partir del puerto designado
•
z
Src:192.168.0.2:1108
Dst:207.29.19.8:80
Web server, IP
192.168.0.4:80
Reacheable as
206.16.55.1:80
Protocolos sensibles a NAT:
NAT modifica cabecera IP Æ recalcular el checksum IP y TCP
Protocolos que llevan embebida la IP Æ también debe ser
modificada Æ ALG (Application-Level Gateway)
ICMP: “Destination unreachable messages” llevan IP
embebidas
Comandos FTP llevan IP embebidas como “strings”
(cambiarlas además implica que cambia la longitud del
segmento TCP)
SNMP (Simle Network Management Protocol)
NetBIOS over TCP/IP (NBT)
NAT + Firewalls + IPsec
DNS, Kerberos, X-Windows, remote-shell, SIP, ... (ver Internet
Draft “Protocol Complicaitons with the IP Network Address
Translation”)
z
z
Src:206.16.55.1:61001
Dst:207.29.19.8:80
z
z
192.168.0.2
Router
NAT
192.168.0.1
206.16.55.1
Web server,
207.29.19.8
z
FTP server,
205.4.22.31
192.168.0.3
z
Dinamic NAT Table
Src: 192.168.0.3:2401
Dst: 205.4.22.31:21
Inside
Outside
192.168.0.2:1108
61001
192.168.0.3:2401
61002
z
z
Src:206.16.55.1:61002
Dst:205.4.22.31:21
*a partir del puerto 1024
Virtual Server Table
39
INTERNET
Router
NAT
192.168.0.1
206.16.55.1
192.168.0.3
Static NAT Table
Inside
192.168.0.x
Src:206.16.55.2:1108
Dst:207.29.19.8:80
Src:192.168.0.2:1108
Dst:207.29.19.8:80
INTERNET
Router
NAT
192.168.0.1
206.16.55.1
192.168.0.3
Src:192.168.0.3:2401
Dst:205.4.22.31:21
z
Src:206.16.55.2:1108
Dst:207.29.19.8:80
Src:192.168.0.2:1108
Dst:207.29.19.8:80
NAT dinámico (Por pool de la dirección IP):
Tenemos un pool de direcciones públicas y asignamos IP privada
con IP pública
z
192.168.0.4:80
80
40
Tema 2: IP
z
Tema 2: IP
Routing (encaminamiento):
Cada router mantiene una tabla de encaminamiento que indica
como llegar a un destino (dirección IP e interficie)
En vez de una dirección IP puede haber prefijos de red (NetID) que
representen a redes enteras
La tabla es rellenada por un algoritmo de encaminamiento
z
z
¿Qué hace un router cuando recibe un datagrama?
Extraer la dirección IPdest del datagrama recibido
Extraer el NetID y HostID de la dirección IPdest
Si el NetID coincide con alguno de las redes que tiene conectadas
directamente a través de una interficie, enviar el datagrama
directamente por esa interficie, sino:
mirar si la dirección IP o el NetID coincide con alguna entrada
dentro de la tabla y sacarla por la interficie correspondiente
(Longest Match Lookup)
Sino coincide entonces enviarla al router por defecto
Default Router (Router por defecto): router dentro de una red al
que se le envían aquellos datagramas que un host u otro router no
saben donde encaminar. El router por defecto tienen más
información que le permite encaminar
z
z
z
z
z
z
eth0
IPA
atm0
Routing table
eth1
IPB
eth2
Red ATM
Todos los host
tienen el mismo
NetID
IPC
z
IP address
Interface
z
IPA
eth0
IPB
eth1
IPC
eth2
NetID
atm0
41
42
Tema 2: IP
z
Tema 2: IP
Routers
Longest Match Lookup
Proceso por el cual el router encuentra una dirección de red en
su tabla de encaminamiento
En la tabla se guardan el IP + máscara (NetID)
Los NetID se guardan normalmente en orden descendente
Cuando llega un paquete IP, se extrae la IP y se compara con
cada entrada de la tabla hasta que se encuentra la primera
entrada que coincide
E.g.; quiero ver que entrada de la siguiente tabla con 3 entradas
se corresponde con la llegada 11111100
11111000
11110000
11100000
Primero se compara con a), coinciden 5 bits, después se compara
con b), coinciden 4 bits, ya no sigue comparando. a) es la
opción que mejor se aproxima a la llegada
Red A
z
Red B
z
Broadcast
z
z
S0
E0
S1
z
Routing Table
a)
Network
b)
A
B
C
c)
43
44
Port
E0
S0
S1
Red C
Tema 2: IP
z
Tema 2: IP
z
Routers
z
z
10.1.0.0
10.2.0.0
10.3.0.0
10.4.0.0
z
E0
S0
S0
S1
S1
E0
Longest Match Lookup (tabla de un router)
Si existe una “correspondencia explicita” a una entrada en la
tabla, el router sabe por donde sacar la trama
Si no existe una correspondencia explicita, normalmente habrá
una salida por defecto (gateway o router por defecto)
Por consiguiente nos falta en la tabla información de a que
destino queremos enviar el paquete y porqué interficie sacarla
eth0
Tabla de enrutamiento
Tabla de enrutamiento
10.1.0.0
E0
0
10.2.0.0
S0
0
10.3.0.0
S0
0
10.2.0.0
S0
0
10.3.0.0
S1
0
10.4.0.0
E0
0
10.3.0.0
S0
1
10.4.0.0
S1
1
10.2.0.0
S0
1
10.4.0.0
S0
2
10.1.0.0
S0
1
10.1.0.0
S0
2
45
198.5.3.12/24
198.5.3.1/24
IPdestino
198.5.3.12
198.5.3.0
198.5.2.0
0.0.0.0
ppp1
ppp0
198.5.2.1/24
Máscara
255.255.255.255
255.255.255.0
255.255.255.0
0.0.0.0
198.5.2.2/24 198.5.1.1/24
Gateway
0.0.0.0
0.0.0.0
0.0.0.0
198.5.2.2
Interficie
eth0
eth0
ppp0
ppp0
46
Tema 2: IP
z
z
z
Tema 2: IP
Tabla de un host
Debe indicar como llegar a su propia subred (haciendo una
ARP)
Debe indicar como salir de su subred (usando el gateway por
defecto)
z
Path determination o mejor ruta
Proceso por el cual un router determina los posibles caminos por
los que puede reenviar un datagrama para que este llegue a su
destino
El camino puede determinarse a partir de información introducida
por el administrador de red (estático) o a partir de información
(métricas) intercambiada por los routers (dinámico)
Las métricas pueden ser muy variadas: saltos (“hops”), retardos,
cargas, ancho de banda, fiabilidad del enlace, coste....
La información que se intercambia los routers para permitir la
determinación de un camino es particular a cada protocolo de
encaminamiento, que define
La periodicidad con que se intercambian los paquetes de
encaminamiento
El formato y contenido de estos paquetes de encaminamiento
Algoritmos asociados que permiten calcular el camino óptimo,
y por tanto decidir la interfice de salida (e.g algoritmos de
mínimo coste)
z
z
z
eth0
ppp0
ppp1
ppp0
z
198.5.3.12/24
198.5.3.1/24
198.5.2.1/24
198.5.2.2/24
198.5.1.1/24
z
IPdestino
198.5.3.0
0.0.0.0
47
ppp0
Tabla de enrutamiento
Máscara
Gateway
Interficie
255.255.255.0
0.0.0.0
eth0
0.0.0.0
198.5.3.1
eth0
z
z
48
Tema 2: IP
z
Tema 2: IP
Concepto de “convergencia” en un protocolo de encaminamiento
Cuando la topología de la red cambia, los routers deben recalcular
las rutas y actualizar las tablas de encaminamiento
El tiempo en que todos los routers alcanzan un conocimiento
homogéneo de la red se le llama “tiempo de convergencia”
Tiempos de convergencia grandes implican que los routers
tendrán mayor dificultad para enviar los datagramas por la
interficie más adecuada
Convergencia depende
Distancia en hops desde el punto en que se produjo el cambio
Cantidad de routers que usan el protocolo dinámico
El ancho de banda y la carga de tráfico de la red
La carga del router (CPU)
El protocolo de encaminamiento usado (el algoritmo)
Protocolos de encaminamiento
z
Estáticos
Son aquellos en los que el administrador de sistemas introduce
manualmente las entradas de la tabla de encaminamiento (puertos
predeterminados)
Útil si la red es muy pequeña o cuando una red sólo puede ser
alcanzado por un solo camino (“stub network”)
E.g.; en UNIX con el comando “route add/del” se modifica la tabla y
con el comando “netstat –rn” se observa el contenido de la tabla
Dinámicos
Son aquellos que rellenan la tabla de encaminamiento de forma
automática
Permite que la tabla cambie automáticamente cuando hay cambios
en topología de la red, por tanto útil en redes grandes
Se pueden agrupar en 3 grandes grupos
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
49
Vector-distance protocols: determinan la dirección y distancia a que se
encuentra cualquier enlace de la red ,(e.g. RIP, IGRP, BGP, ...)
Link-state protocols: recrean la topología exacta de la red (e.g.; OSPF,
IS-IS)
Híbridos: combinan aspectos de los algoritmos de distancias y de los de
estado del enlace
50
Tema 2: IP
z
Tema 2: IP
z
Ejemplo de encaminamiento estático
Ejemplo en los routers Cisco
Habilitación de rutas estáticas
ip route red [máscara] {dirección | interfaz} [distancia] [permanent]
red es la red o subred de destino
máscara es la máscara de la subred
dirección es la dirección IP del router del próximo salto
interfaz es el nombre de la interfaz que debe usarse para llegar al
destino
distancia es un parámetro opcional que define la distancia
administrativa (0-255) ( a menor distancia mayor probabilidad de usar el
router)
permanent es un parámetro opcional que especifica que la ruta no debe
ser eliminada, aunque la interfaz deje de estar activa.
z
172.16.1.0 / 24
z
z
S1
A
172.16.2.2
172.16.2.0
172.16.2.1
S0
z
B
z
E0
S0
S2
z
z
Red Stub
Tabla de Routing
Red
172.16.1.0
0.0.0.0
51
Mascara
Dirección
Interfaz
255.255.255.0
172.16.1.1
E0
0.0.0.0
172.16.2.2
S0
Para configurar una ruta estática en el router A
router(config)#ip route 172.16.1.0 255.255.255.0 172.16.2.1
y para configurar la ruta predeterminada del router B
router(config)#ip route 0.0.0.0 0.0.0.0 172.16.2.2
52
Tema 2: IP
z
Tema 2: IP
Ejemplo de encaminamiento estático: comando route (modo root)
z
Comando “netstat” (modo usuario)
Permite observar entre otras cosas la tabla de encaminamiento
además del estado de las conexiones, estadísticas, ....
z
route [-v] [-A family] add [-net|-host] target [netmask
Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I]
netstat
[reject] [mod] [dyn] [reinstate] [[dev] If]
{ --route|-r}
[address_family_options]
[ --extend| -e[ --extend| -e]] [ --verbose| -v] [ --numeric| -n]
route [ -v] [ -A family] del [ -net| -host] target [ gw Gw]
[ --continuous| -c]
[ netmask Nm] [ metric N] [[ dev] If]
Ejemplo: ver la tabla de routing
z
z
• netstat -rn
Ejemplo: ver la tabla de routing
Kernel IP routing table
• route -v
Kernel IP routing table
Destination
Gateway
Genmask
Flags Metric Ref
Use
Iface
Destination
Gateway
147.83.35.0
0.0.0.0
255.255.255.0
U
0
0
0
eth0
0.0.0.0
255.0.0.0
U
0
0
0
lo
UG
0
0
0
eth0
147.83.35.0
*
255.255.255.0
U
0
0
0
eth0
loopback
loopback
*
255.0.0.0
U
0
0
0
lo
0.0.0.0 arenys5.ac.upc.es
0.0.0.0
UG
0
0
0
eth0
0.0.0.0
arenys5.ac.upc.
53
0.0.0.0
Flags MSS Window irtt
Iface
54
Tema 2: IP
z
Tema 2: IP
ARP, Proxy ARP y encaminamiento
z
Comparativa de las caracteristicas de los protocolos de routing
Los host normalmente siguen la secuencia siguiente cuando quieren
comunicarse
Consultan la tabla de encaminamiento
La tabla les indica que la IP pertenece a un host de su misma red,
entonces hacen ARP para averiguar su MAC
La tabla les indica que la IP no es de la red y deben ir por tanto al
router por defecto, entonces hacen ARP del router para averiguar su
MAC
¿Cuándo hacen Proxy ARP?
z
z
z
z
z
A
R
B
z
z
z
55
Genmask
SOLO en casos muy especiales. Por ejemplo cuando un host quiere
enviar un datagrama a otro host cuya NetID coincide con la suya pero
que tiene un router por en medio.
Su tabla de encaminamiento le dice que la subred está conectado
directamente a su interficie, por lo que envía un ARP en esa interficie con
IP la del host destino
El router sabe que el host destino está en una interficie conectada
directamente a él, y además que él no deja pasar ARPs. Por lo que hace
un Proxy ARP y responde con su MAC
El host origen cree que se está conectando con el host destino
directamente cuando en realidad lo está haciendo a través del router
Name
Type
Updates
Metric
RIP
DV
Proprietary
No
Function
Interior
30 sec
Hops
No
RIPV2
DV
No
Interior
30 sec
Hops
Yes Auto
IGRP
DV
Yes
Interior
90 sec
Comp.
No
EIGRP
Adv DV
Yes
Interior
Trig.
Comp.
Yes Both
Yes Man.
Auto
Auto
OSPF
LS
No
Interior
Trig.
Cost
IS-IS
LS
No
Int/Ext
Trig.
Cost
Yes Auto
BGP
DV
No
Exterior
Trig.
N/A
N/A Man.
ŠDV distancia vector
ŠLS link state
ŠHops saltos
ŠComp anchura de banda + retardo
ŠCost proporcional al ancho de banda
ŠSumm sumarización
ŠTrig solo cuando hay cambios
56
VLSM Summ
Tema 2: IP
z
Tema 2: IP
Vector -Distancia
Son algoritmos que utilizan las pasarelas para actualizar su
información de encaminamiento.
Cada router comienza con un conjunto de rotas con las que esta
directamete conectado que se guarda en la tabla de
encaminamiento.
Periodicamente cada router manda una copia de su tabla de
encaminamiento a cualquier router que pueda alcanzar
directamente.
Los routers destino actualizaran su tabla de encaminamiento si:
El router origen conoce un camino más corta al destino.
El router destino no tiene al origen en su tabla.
La distancia del rigen al destino ha cambiado
Vector -Distancia (Desventajas)
Cuando las rutas cambian rápidamente la topología de
encaminamiento puede inestabilizarse ya que se puede propagar
una información incorrecta que tengan algunos routers.
Al pasar toda la información de la tabla de encaminamiento a
intervalos regulares la carga de la red aumenta lo que provoca
problemas de tiempo de respuesta a los cambios de topología.
Los algoritmos vector-distancia que usan los “hops” o saltos como
métrica no tienen en cuenta la velocidad o la fiabilidad del enlace.
Problema de cuenta hasta infinito cuando un router falla
z
z
z
z
z
z
z
z
z
z
z
z
57
58
Tema 2: IP
z
Tema 2: IP
RIP (Routing Information Protocol)
z
z
z
z
z
z
Es un protocolo de encaminamiento interior
Cada router envía periódicamente (cada 30 segundos) un datagrama de
encaminamiento a cada uno de SUS VECINOS con TODA su tabla de
encaminamiento, dichos envios no estan sincronizados. Cuando no se envia un
Tout expira y el router informa a la red del cambio.
Esta tabla indica el coste (métrica son “hops”) para llegar a cada uno de los
destinos (IP) desde ese router. Si el número de saltos es mayor de 15 se
desecha el paquete.
El router calcula con algoritmo de mínimo coste (Algoritmo de Bellman-Ford)
la mínima distancia para llegar a los destino y actualiza su tabla
(convergencia: debe ser rápido)
RIP versión 1: no anuncia máscaras (RFC1058)
Aplica la máscara de la interficie
Sino tiene, aplica la mascara de la clase por defecto de esa IP
RIP versión 2: anuncia máscaras (RFC2453)
UNIX routing daremons
Routed (RIP v1)
Gated (RIP v1, v2, v3, OSPF v2, BGP v1, v2)
z
z
z
z
z
D(i,i) = 0
D(i,j) = mimk [D(i,k) + D(k,j) ]
z
z
z
z
z
59
Algoritmo de Bellman - Ford
D(i,j) es el coste para llegar directamente de la Red i a la j, y vale
infinito si no es posible llegar directamente a una red vecina (D(i,i) = ∞)
D(i,j) representa la métrica de la mejor ruta entre dos redes
Entonces la mejor métrica se puede describir como:
El mínimo para llegar a la red j-sima a través de mi red vecina ksima y se calcula como el mínimo de la suma entre el coste de
llegar a mi red vecina k-sima y la métrica de llegar desde la red ksima a la j-sima
60
all i
otherwise
Tema 2: IP
Tema 2: IP
Ejemplo de routing
Ejemplo de routing
N0
N0
R1
R2
R3
N2
N1
R1
N3
R2
R3
N2
N1
R4
R4
N4
Tabla de R2
Tabla de R1
Red Hops Ruta
Red Hops Ruta
N0
N1
1
1
Tabla de R3
N3
N4
Tabla de R4
Red Hops Ruta
Tabla de R1
Red Hops Ruta
Local
N1
1
Local
N2
1
Local
N2
1
Local
Local
N2
1
Local
N3
1
Local
N4
1
Local
Red Hops Ruta
N1
1
1
N2
2
N0
Tabla de R2
Red Hops Ruta
Red Hops Ruta
Local
N2
Local
N3
1
1
R1
N1
2
2
R3
N4
2
2
R4
Local
N1
Local
N2
1
1
N0
2
N3
N4
R2
Tabla de R3
Tabla de R4
Red Hops Ruta
Local
N2
Local
N4
1
1
Local
R2
N1
2
R2
R4
N3
2
R3
Local
* El contador de saltos para redes conectadas directamente es de 1 hop (ya que coste de
Gateway consigo mismo es 0)
61
62
Tema 2: IP
Tema 2: IP
Ejemplo de routing
z
RIP (Routing Information Protocol)
z
N0
R1
R2
R3
N2
N1
N3
R4
N4
Tabla de R1
Red Hops Ruta
63
Red Hops Ruta
N2
N3
1
1
R1
N0
3
2
R3
N1
2
R4
N4
N2
1
1
R2
N0
2
3
R2
N3
3
R2
N4
N2
2
N3
N4
Red Hops Ruta
Local
N1
Local
1
1
Tabla de R3
Local
Local
N1
N0
Tabla de R2
Tabla de R4
z
Red Hops Ruta
Local
N2
Local
N4
1
1
Local
R2
N0
3
2
R2
N1
2
R2
2
R4
N3
2
R3
Local
R2
64
Ventajas:
z Si
la red tiene rutas redundantes, RIP es capaz de
detectarlas y escoger la mejor (routing estático no)
z Corrige fallos de la red automáticamente
z Protocolo fácil de configurar, usar y mantener
z Util si la red es sencilla y sin fuertes requerimientos
respecto a la buena eficiencia de la red
Desventajas
z Converge muy lentamente ante fallos de la red
z Puede crear ciclos (loops) infinitos que hagan que la red
sea inconsistente
z Debido a la vulnerabilidad ante la lenta convergencia
hace que sea muy poco útil en WANs
Tema 2: IP
Tema 2: IP
z
Ejemplo de cuenta a infinito
Problemas del RIP
RIP sólo permite 15 saltos. Considera métrica infinita cualquier
router que esté más lejos de 15 saltos (Límite de la red = 15)
No tiene en cuenta métricas importantes como puede ser el
retardo o el ancho de banda
No permite intercambiar información entre subredes (paquete RIP
no informa de las máscaras de red)
E.g. Routers CISCO: aplica la máscara de la interficie, SINO la
de la clase correspondiente a la IP anunciada
Vulnerabilidad: counting to infinite (Infinito=16 hops en RIP), si
una red se alcanza con un valor de 16 se considera una red
inalcanzable (ICMP message “network unreachable”). Esto se
soluciona con Split horizon consiste en ser más selectivo
haciendo que los routers que advierten omitan información de
refresco que pueda “confundir” a los routers o con poison reverse
no omitas, advierte pero con un coste infinito
z
N0
z
z
R1
R2
R3
N2
N1
N3
z
R4
N4
z
65
Tabla de R2
Tabla de R1
Tabla de R3
Red Hops Ruta
Red Hops Ruta
Local
N1
Local
N2
1
1
Tabla de R4
Red Hops Ruta
Local
N2
Local
N3
1
1
Red Hops Ruta
Local
N2
Local
N4
1
1
N2
2
R2
N0
2
R1
N0
3
R2
N0
3
N3
3
R2
N3
2
R3
N1
2
R2
N1
2
R2
N4
3
R2
N4
2
R4
N4
2
R4
N3
2
R3
Local
R2
66
Tema 2: IP
Tema 2: IP
Ejemplo de cuenta a infinito
Ejemplo de cuenta a infinito
N0
N0
R1
X
R2
R1
R3
N2
N1
X
R2
R3
N2
N1
N3
N3
R4
R4
N4
N4
Tabla de R1
Red Hops Ruta
Tabla de R2
Red Hops Ruta
N2
Local
N3
1
1
R1
N0
3
2
R3
N1
2
R4
N4
N1
-
N2
1
1
-
N0
4
3
-
N3
3
-
N4
1
1
N2
2
N3
N4
Tabla de R3
Red Hops Ruta
Local
Local
N1
N0
67
Local
N1
1
1
N0
Tabla de R4
Tabla de R1
Red Hops Ruta
Local
N2
Local
N4
1
1
R2
N0
3
2
R2
N1
2
R4
N3
Red Hops Ruta
Local
N0
Local
N1
1
1
R2
N2
2
2
R2
N3
2
R3
N4
68
Tabla de R2
Red Hops Ruta
Tabla de R3
Red Hops Ruta
Local
N2
Local
N3
1
1
R1
N0
5
2
R3
N1
2
R4
N4
Local
N1
-
N2
1
1
-
N0
4
3
-
N3
3
-
N4
Tabla de R4
Red Hops Ruta
Local
N2
Local
N4
1
1
Local
R2
N0
5
2
R2
N1
2
R2
2
R4
N3
2
R3
Local
R2
Tema 2: IP
z
Tema 2: IP
Split Horizon: evitar bucles (counting to infinite)
z
Poison Reverse: advertir costes infinitos
Un router NO envía información a otro router de las redes que le son
comunicadas por ese otro router
Router 3 no envía refrescos de la tabla
Router 2 informa al Router 3 solo de la Ethernet y Token Ring.
Router 2 informa al Router 1 solo de la ATM
Router 1 sólo informa de Token Ring
z
z
z
z
z
Token Ring
Token
Ring
1 hop
Router 1
Ethernet:
1 hop
Token Ring
2 hops
Ethernet:
Token Ring
Token
Ring
∞ hops
Token Ring
∞ hops
Router 3
Router 2
ATM
network
X
ATM
network
X
ATM Network: 1 hop
Ethernet
ATM Network: 1 hop
69
Ethernet:
∞ hops
Token Ring
∞ hops
70
Tema 2: IP
z
Tema 2: IP
Poison reverse
Cuando detecta que su antigua ruta por un interface no es valiada
envia un mensaje a los otros interfaces en el que se indica que su
coste es infinito, por lo que los routers que reciben el mensaje
tardan menos en saber que esta ruta no es valida. El problema que
tenemos es que incrementa el tamaño de los mensajes de
encaminamieno.
z
z
z
Cambios en la topología de la red
Un router con RIP suele enviar mensajes de refresco cada Tout =
30 segundos con la tabla de encaminamiento a todos sus vecinos
Si hay un cambio en la topología de la red, e.g.; router cae, este no
puede notificar el cambio con un mensaje de refresco (“update”)
Si transcurridos 6*Tout = 180 segundos, un router no ha recibido
un update de su vecino, el router marcará la ruta a través de ese
router como invalida
Una métrica de valor infinito (=16) indica que una ruta NO es valida
z
z
z
Triggered updates
Consiste en que si un router ha cambiado su tabla debido a un
cambio en la topología tardará 30 segundos en el peor de los
casos en avisar del nuevo cambio a un router vecino
Eso hace que un el tiempo de convergencia pueda ser muy alto
(minutos) ante cambios en la topología de la red
“triggered update” consiste en enviar la tabla enseguida de que se
produzca un cambio en la red sin tener que esperar los 30
segundos, mejorando por tanto el tiempo de convergencia, el
tiempo es de 1 a 5 segundos.
z
z
z
z
71
Router 1
2 hops
Ethernet:
Router 3
Router 2
Ethernet
ATM Network: ∞ hop
1 hop
ATM Network: ∞ hop
72
Tema 2: IP
z
Tema 2: IP
RIPv1 (Routing Information Protocol)
z
z
z
z
z
z
z
Message Format (UDP port = 520)
Se describe en el RFC 1058
Descrito en www.isi.edu/in-notes/rfc1058.txt
Es una implementación directa del encaminamiento vector-distancia para LANs
Utiliza UDP como protocolo de transporte, con el número de puerto 520 como
puerto de destino.
Los mensajes RIP se envian en los datagramas UDP
Operaciones básicas:
Se inicia enviando un mensaje a los routers vecinos pidiendo la copia de la
tabla de encaminamiento.
Se envia la tabla de encaminamiento a todos los routers vecinos, cada 30
segundos.
Cuando RIP detecta que la métrica ha cambiado la difunde por broadcast a
los routers.
Cuando se recibe se valida y si es necesario se actualiza.
Las rutas que RIP aprende de otros routers expiran a los 180 segundos (
6x30) a no ser que se vuelva a difundir.
Cuando una ruta expira la métrica se pone a infinito y 60 segundos más
arde se borra de la tabla.
IP header
UDP header
RIP message
z
z
20 bytes
z
z
z
z
73
74
Tema 2: IP
z
Tema 2: IP
RIPv2 (Routing Information Protocol)
Se describe en el RFC 1721 y RFC 1722
Descrito en www.isi.edu/in-notes/rfc1721.txt y www.isi.edu/in-notes/rfc1722.txt
Es compatible con RIPv1.
No es tan potente como OSPF ni IS-IS pero tiene la ventaja de que
necesita una fácil implementación y menores factores de carga
Se puede usar en presencia de subnetting variable.
Soporta multicast con preferencia al broadcast, lo que implica una
reducción de carga a los host que no estan a la ecucha de mensajes
RIPv2.
z
z
OSPF (Open-Short Path First)
Primero se escoge la ruta más corta.
Protocolo de encaminamiento interior.
Link-state (estado del enlace entre dos routers) protocol
Se dibuja un mapa con toda la topología de la red
Cada router envía información a TODOS los routers de la red
cuando se produzca un cambio en la topología de la red
A partir de esa información se recalcula la tabla de
encaminamiento usando el algoritmo de Dijkstra
OPSF se basa en:
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
75
76
Enviar LSAs (Link State Advertisements), el estado de las interfaces y
adyacencias del router, con los cambios que se producen en la red
(LSAs van encapsulados en IP)
Mantener una base de datos con la topología de la red (Link State
Database) en cada router
Mantener una tabla de encaminamiento con los caminos y puertos
Un algoritmo de encaminamiento (Dijkstra) que rellena la tabla a partir
del contenido de la base de datos
Tema 2: IP
z
Tema 2: IP
OSPF (Open-Short Path First)
Funcionamiento general:
Los routers intercambian su conocimiento de la red (métricas)
con todos los routers de la red (usa un mecanismo llamado
flooding) enviando LSAs
z
z
z
z
z
z
z
z
z
OSPF (Open-Short Path First)
Desventajas
Flooding implica una gran cantidad de tráfico en la red,
degradando la eficiencia de la red temporalmente
z
z
z
z
Flooding consiste en que un router que recibe un LSA, lo reenvía
por todos sus puertos de salida excepto por el que le ha llegado
Si a un router le llega por segunda vez el mismo LSA, entonces
no lo reenvía, sino que lo descarta
El LSA llegará (con el tiempo) a todos los routers de la red
z
Eficiencia depende de:
z
z
El ancho de banda disponible
La cantidad de rutas que se deben advertir
Los algoritmos consumen gran cantidad de memoria y CPU
(routers potentes, y por tanto más caros)
Ventajas
Buena convergencia y buena reacción a cambios topológicos
Escala muy bien (útil en redes grandes y complejas)
Usa gran cantidad de métricas (retardos, cargas, ancho de
banda, ...)
z
Cada vez que hay un cambio en la red, este es advertido a
toda la red por medio de un LSA (no se envían LSAs
periódicamente, sólo cuando hay cambios)
A partir de los LSAs los routers construyen una base de datos
con la topología de la red mediante un algoritmo (Dijkstra)
A partir de la base de datos, se rellena la tabla de
encaminamiento
77
Un router recibe demasiados LSAs en vez de datos
Un router está demasiado tiempo calculando rutas (Dijkstra) en
vez de transmitiendo datos, ....
z
z
z
z
78
Tema 2: IP
z
Tema 2: IP
Sistemas Autónomos (AS)(Autonomous System)
z
z
z
z
z
Aparecen cuando una empresa tiene un crecimiento muy alto y el tráfico entre
sus elementos es también muy alto. La IANA es la responsable de la
asignación de los números de AS
Internet se organiza como una colección de AS, cada uno de ellos
administrado por una única entidad
El protocolo de encaminamiento que comunica routers dentro de un AS se le
llama IGP (Interior Gateway Protocol)(e.g.; RIP, OSPF, IGRP, EIGRP)
El protocolo de encaminamiento que comunica routers de distintos AS se le
llama EGP (Exterior Gateway Protocol) (e.g.; EGP, BGP)
IGPs: RIP, IGRP,
OSPF, EIGRP
BGP (Border Gateway Protocol)
Es un EGP (Exterior Gateway Protocol) usado para comunicar AS
Inicialmente se usó bastante un protocolo llamado EGP (versión
3), pero fue rechazado por su gran ineficiencia
Hoy en día se usa BGP (versión 4) como EGP
BGP permite conectar Sistemas Autónomos (AS) que pertenezcan
a distintas organizaciones
z
z
z
z
AS2=102
AS1=101
EGPs: BGP
IGP
BGP
IGP
AS3=103
IGP
Autonomous System 65000
79
Autonomous System 65500
80
• Puede haber 65535 (16
bits) AS
• Rango 1- 64511 son
asignados por IANA para
proveedores públicos
• Rango 64512 – 65535 son
identificadores para AS
privados
• Organizaciones con un
único proveedor usa identif
privados
Tema 2: IP
z
Tema 2: IP
Modelo topológico BGP
z
z
z
z
Stub AS: un AS que sólo tiene una única conexión con otro AS y por tanto
sólo lleva tráfico local
Multihomed AS: un AS que tiene más de una conexión con otros AS y pero
rechaza llevar tráfico de transito
Transit AS: un AS con multiples conexiones a otros AS y que lleva tráfico de
transito
BGP (Border Gateway Protocol)
BGP es un protocolo de encaminamiento que se basa en políticas
de red (organizaciones) y no en métricas
Un AS multihomed puede rechazar actuar como AS de tránsito
a otro AS
Un AS multihomed puede convertirse en un AS de tránsito
para un conjunto restrictivo de AS
Un AS de tránsito puede desfavorecer ciertos AS para llevar
tráfico él mismo
z
z
z
z
AS1
Stub AS
AS2
AS3
Transit AS
Transit AS
z
Shared
Network
Elección de rutas: elegir un camino basándose en la preferencia
Atravesar menor número de AS
Consideraciones administrativas
Presencia o ausencia de ciertos AS en el camino
Origen de la ruta
Dinámica de los enlaces
z
z
AS4
z
AS5
z
Transit AS
Multihomed AS
81
z
82
Tema 2: IP
Tema 2: IP
z
BGP (Border Gateway Protocol)
z
z
z
z
z
BGP usa TCP como protocolo de comunicaciones (puerto 179)
BGP es un protocolo de vectores de caminos (“path vector protocol”) que
anuncia AS
Un mensaje BGP envía una secuencia de números AS que indican el
camino completo hasta un destino
BGP envía UPDATES a sus vecinos cada vez que hay un cambio en la
red indicando los cambios
Destino AS1: (AS2,AS1)
AS1
Stub AS
AS2
Transit
AS
AS4
Multihomed AS
83
AS3
Protocolos de encaminamiento y los esquemas de direcciones IP
Classless Routing
protocols
Classfull Routing
protocols
RIP v1
RIP v2
IGRP
EIGRP
EGP
OSPF
BGP v3
IS-IS
Transit AS
Shared
Network
BGP v4
AS5
Transit AS
84
Protocolos de encaminamiento
que no envían la máscara:
• Si la dirección anunciada
pertenece a la misma
subred que la interfice por
la que se recibe, aplican la
mascara de la interficie por
donde reciben el mensaje
• Sino pertenecen a la
misma subred, aplican la
de la clase de la dirección
que reciben
Tema 2: IP
z
Tema 2: IP
Elegir el protocolo de encaminamiento en una red
z
z
Elegir el protocolo de encaminamiento en una red
Protocolos basados en vectores de distancias (RIP(v1-v2), IGRP)
Fáciles de configurar pero trabajan mal en redes grandes y
complejas debido a la cantidad de tiempo que tardan en
converger
RIP cuando balancea cargas lo hace por igual
independientemente de la velocidad del enlace
IGRP sí las tiene en cuenta hasta cierto grado
z
z
z
z
z
z
z
z
Elegir el protocolo más sencillo para tu red
Si la red no tiene enlaces redundantes o paralelos y no tiene
VLSM se puede usar RIPv1 y si usa VLSM entonces RIPv2
Si la red tiene enlaces redundantes o paralelos y no requiere
VLSM puede usar un protocolo estilo IGRP (CISCO)
Si la red tiene enlaces redundantes o paralelos y requiere VLSM
entonces usar OSPF, EIGRP, IS-IS , ...
Protocolos de estado del enlace (OSPF, EIGRP, ...)
Más difíciles de configurar pero convergen mejor en redes
grandes y complejas
z
85
86
Tema 2: IP
z
Tema 2: IP
DNS (Domain Name System):
z
z
z
z
z
z
z
Sistema usado en Internet para traducir nombres de nodos de red en
direciones IP.
A cada máquina se le asigna una dirección IP (e.g. 147.83.35.24) y un
nombre (aucanada.ac.upc.es)
DNS es una base de datos distribuida que permite realizar un mapeo entre
nombres de máquinas y direcciones IP
De esta manera cuando queramos acceder a una máquina (Web, Ftp,
Telnet, ...) en vez de recordar la IP, basta recordar el nombre
DNS usa un “resolver” para acceder a los nombres desde las IP
En UNIX las aplicaciones usan Llamadas al sistema para acceder a este
resolver, estas LLS son
*gethostbyname(char *name): dado un nombre devuelve su IP
*gethostbyaddr(char *addr, int len, int type): dado una IP devuelve el
nombre del host
Estas LLS consultan inicialmente el fichero /etc/host donde está
guardado la correspondencia nombre-IP. Sino está resuelto, entonces
se accede al servidor de DNS y se resuelve el nombre
La IP del servidor de nombres (DNS) se guarda en un fichero resolver:
/etc/resolv.conf
Asignación de Dominios
Un dominio es un mecanismo de identificación utilizado en Internet
z
z
z
z
z
z
z
z
z
Consta de varias palabras separadas por un punto: xxx.xxx.com
Las primeras palabras xxx.xxx indican un conjunto de nombres que
identifican a la empresa u organización (e.g.; ac.upc designa el
departament d’Arquitectura de Computadors de la UPC)
Las empresas deben registrar su nombre para que pase a ser su
marca en Internet (problemas con marcas ya registradas)
En España se encarga del registro RedIris (es-nic)
El resto del dominio está organizado en:
Dominios genérico: .com, .org, .net, .edu, ...
Dominios geográficos: .es, .fr, .uk, .it, ....
Propuesta (de CORE) para ampliar el número de dominios genericos.
.firm, .shop, .info, .web, .nom, .arts, .rec
z
z
z
z
z
z
87
El ICANN es la responsable que los nombres de las máquinas sean únicos
88
Tema 2: IP
z
Tema 2: IP
DNS basa su funcionamiento en un espacio jerárquico de nombres
z
DNS se basa en servidores de nombres distribuidos geográficamente
Puerto 53 (tanto UDP como TCP)
z
e.g.; aucanada.ac.upc.es
unamed root
z
Cada administrador de sistemas de una zona es responsable de
mantener
Un servidor de DNS primario (disk file), tiene la información de
una zona, y la autoridad sobre ella.
Uno o varios servidores de DNS secundarios (backups)
independientes del primario pero que obtienen la información a
partir del primario (normalmente se actualizan cada 3 horas)
Cuando se conecta un nuevo usuario hay que añadirlo al primario
(IP y nombre), mientras que los secundarios lo obtendrán (“zone
transfer”) del primario (hacen “querys” del primario cada 3 horas)
Si la información no está en el DNS de la zona, este servidor debe
acceder a uno de los servidores “root” para obtenerla (DNS
servers deben conocer la IP de los roots)
Los servidores DNS (no los resolver de la aplicación) disponen de
caches para resolver nombres que han mapeado recientemente
z
arpa
org
edu
com
uk
es
z
dominios geográficos
in-addr
7 dominios genéricos
upm
upc
z
147
ac
83
lsi
arpa es un dominio que
permite la resolución
inversa de direcciones
65
z
(address-to-names)
aucanada
z
13
89
90
Tema 2: IP
z
Tema 2: IP
Ejemplo de una “query recursiva”
z
Ejemplo de una “query iterativa”
root DNS server
zone DNS
server
root
2
zone DNS
server
3
5
4
1
2
DNS con dom .es
.es
3
4
5
DNS
.upc.es
6
6
1
.upc.es
7
8
DNS
ftp. upc.es
1. Host pregunta por ftp.upc.es a su DNS
2. Zone DNS pregunta al DNS server con
dominio .es
3. DNS con dominio .es pregunta a DNS
con dominio .upc.es
ftp. upc.es
4. DNS .upc.es le devuelve la IP del servidor
ftp.upc.es al dominio .es
5, 6 la IP del servidor ftp.upc.es vuelve al
cliente
*Cada DNS guarda en su cache las IP un tiempo indicado por TTL
91
92
1. Host pregunta por ftp.upc.es a su DNS
5. DNS .es devuelve la IP de DNS .upc.es
2. Zone DNS pregunta a su root DNS
6. Zone DNS pregunta a DNS .upc.es
3. Root DNS le devuelve la IP del DNS con
dominio .es al zone DNS
7. DNS .upc.es devuelve IP de server
ftp.upc.es
4. Zone DNS pregunta al DNS .es
8. Zone DNS devuelve la IP del server al host
*Zone DNS guarda en su cache las IP un tiempo indicado por TTL
Tema 2: IP
z
Tema 2: IP
Mensajes DNS
z
Mensajes DNS
Identification: permite mapear respuestas con peticiones (activado
por el cliente y retornado por el servidor)
16-bit flags: dividido en multiples campos (e.g. 1-bit QR:
Queries=0, Responses=1; 1-bit RD for iterative/recursive queries,
etc)
Los siguientes 4 campos indican cuantas peticiones (e.g. QR=0,
number of questions (QD) =1, resto=0) y respuestas (e.g. QR=1,
number of answers (AN), number of autority (NS), number of
aditional (AR) ≥ 1, resto ≥ 0) hay en el resto del mensaje
Question contiene las consulytas al servidor de nombres.
Answer, Autority, Additional Information contienen un número
variable de recursos como TTL, etc...
z
z
z
z
z
93
94
Tema 2: IP
z
Tema 2: IP
Comando “nslookup”
Permite averiguar en UNIX un nombre o una dirección IP
z
Resolución inversas
Conozco la IP y quiero el nombre
Cada servidor gestiona una rama que comienza con la etiqueta
“in-addr” de la que cuelgan las direcciones en sentido númerico
inverso
Es decir, las direcciones cuelgan del árbol en orden
descendiente: e.g.; la IP 147.83.65.13 estaría como
13.65.83.147.in-addr.arpa
En UNIX se usa el comando gethostbyaddr()
Con tcpdump podeis identificar mensajes DNS como
z
z
z
nslookup [ -option ...] [host-to-find | -[server]]
• nslookup
z
Default Server: gaudi.ac.upc.es
> finger joseb
Address: 147.83.32.3
[aucanada.ac.upc.es]
> aucanada.ac.upc.es
Welcome to Linux version 2.2.18 at aucanada.ac.upc.es
!
z
Server: gaudi.ac.upc.es
Address: 147.83.32.3
11:35am up 6 days, 14:34, 3 users,
Name:
Login: joseb
aucanada.ac.upc.es
Address: 147.83.35.24
Directory: /home/joseb
z
aucanada% ping teix.ac.upc.es
Name: Jose M. Barcelo
aucanada% tcpdump
Shell: /usr/bin/zsh
18:29:52.211280 aucanada.ac.upc.es.nimreg > gaudi.ac.upc.es.domain: 20983+ A?
teix.ac.upc.es. (32)
18:29:52.214912 gaudi.ac.upc.es.domain > aucanada.ac.upc.es.nimreg: 20983* 1/2/1 A
teix.ac.upc.es (106) (DF)
95
96
Tema 2: IP
z
Tema 2: IP
Gestión en la asignación de Dominios
Historia:
Hasta hace poco tiempo lo gestionaba IANA (Internet Assigned
Numbers Authority: http://www.iana.org) - organización del
gobierno USA
Ahora es privado (aunque con una organización sin ánimo de
lucro) que recogio las actividades del IANA. Esta organización
se llama ICANN (Internet Corporation for Assigned Names and
Numbers: http://www.icann.org) y que se encarga de dar
tanto dominios genéricos como IP
Los dominios genéricos son registrados por compañías a las que
ICANN da el derecho a que actúen como tales bajo ciertas
restricciones (Accredited Registrars)
España: (se puede pedir a cualquier entidad)
z
z
z
z
z
z
z
z
z
z
z
z
z
Gestión en la asignación de Dominios
El dominio territorial de España (.es) los asigna el Ministerio de
Fomento: servicio ES-NIC (http://www.nic.es) gestionado por
INECO (empresa pública)
Se restringe el acceso al dominio territorial (.es) a
“las organizaciones legalmente establecidas en España entendiendo
como tal toda persona jurídica de derecho público o privado
debidamente constituida de acuerdo con el marco normativo que
las regule”
Tarifas: (http://www.nic.es/tarifas/ )
Alta o registro de un nuevo dominio: 12.000 ptas (72.12 €)
Mantenimiento anual de un dominio: 8.000 ptas (48.08 €)
Nominalia (de la Fundació Catalana per a la Recerca:
http://www.nominalia.com) o,
Interdomain (Compañía internacional de registro de nombres y
dominios
tanto
genéricos
como
territoriales
http://www.interdomain.com)
97
98
Tema 2: IP
z
Tema 4: Conceptos Avanzados de IP
Gestión en la asignación de Dominios
Las empresas pueden:
Hacer uso de los servicios de un ISP sin tener un dominio
propio: e.g; www.isp.es/empresa.html y [email protected]
“Adquirir” un dominio propio y albergar sus servidores en la
empresa: e.g; www.empresa.es y [email protected]
“Adquirir” un dominio propio y albergar los servidores en un ISP
z
z
z
z
z
z
z
z
z
z
Firewalls:
Se emplean para proteger una red interna de Internet.
No protegen contra los ataques internos.
Son puntos entre dos redes por donde todo el tráfico debe pasar
(check point).
El tráfico puede ser controlado, puede ser autentificado en el
dispositivo y todo el tráfico puede ser registrado.
Definición del problema :
¿Qué?
¿Cómo?
¿Quién?
¿Cuánto?
z
z
z
z
99
100
Tema 4: Conceptos Avanzados de IP
Tema 4: Conceptos Avanzados de IP
•
Metodos de ataques:
Social engineering: Se obtiene información de la buena voluntad de la
gente, información de las papeleras.
Scanning: Se buscan puertos y direcciones IP mediante funciones
como “Ping”. Mediante War dialing se buscan modems que tengan
accesos a los host o redes.
Misadministration: Explota la relación de confianza del administrador.
Non-autenticated/centralized services: Hay que vigilar los servicios
no autenticados como SMTP, DNS, RIP, TFTP / SNMP, registros
remotos.
Malicious data: CD de autoarranque, mala programación, programas
maliciosos.
Spoofing: suplantar usuarios.
Exploit software bugs: utilizar agujeros causados por otros
programas, se cambian los privilegios.
Denial-of-service: estos ataques provocan la inutilización de las redes
o equipos que han sido atacados, discos, redes, tablas etc.
•
MZ
DMZ
•
WWW
DNS
FTP
SMTP
FW
Router
•
Internet
•
Router
•
•
•
•
101
102
Tema 4: Conceptos Avanzados de IP
•
Categorías de firewalls
z
z
z
z
103
Tema 4: Conceptos Avanzados de IP
Firewalls comerciales:
•
Packet filtering and screening routers: utiliza un filtro
basado en una combinación de la dirección IP del host de la
red. También puede añadir el número del puerto y otros
datos.
Application gateways or proxy servers: efectua de
intermediario aceptando los servicios de la red que solicita el
usuario, actuan a nivel de aplicación y pueden
examinar el contenido de la misma.
Stateful inspection (dinamic packet filtering): toma el
estado de las sesiones y las cambia las reglas siempre según
una política preestablecida.
Hybrid firewalls: combinación de las tres categorias.
z
z
z
z
z
104
CheckPoint – Firewall-1
Cisco – PIX Firewall
Axent – Raptor
Network Associates – Gauntlet
Secure Computing – Sidewinder
Tema 4: Conceptos Avanzados de IP
z
Tema 4: Conceptos Avanzados de IP
ACL:
Para identificar los bits que han de ser verificados en una dirección IP
o rango de direcciones IP es necesario utilizar mascaras y en este
caso se llama wildcard.
La wildcard funciona al contrario de la máscara IP, un “0” en la
mascara indica que hay que comprobar el bit correspondiente a la
dirección y si hay un “1” el bit puede ser ignorado.
Ejemplo: supongamos que deseamos comprobar las subredes IP
z
206.153.80.0/24 a 206.153.90.0/24
Red . Host
206.153.80. 0
z
01010000 = 80
01010001 = 81
Coin-Indif
…………
01011010 = 90
Máscara de wildcard que coinciden con los bits : 0000 comprobar
E.g.; 206.153.80.0 /24
• Máscara: 255.255.255.0
• Wildcard Mask: 0.0.0.255
Máscara de wildcard que no coinciden con los bits : 1111 ignorar,
en este caso hasta 1010
Dirección y mascara wildcard 206.153.80.0 0.0.10.255
105
Máscara wildcard 00001010 = .10
106
Tema 4: Conceptos Avanzados de IP
ACL
La sintaxis del comando access-list de una lista de acceso extendida:
Router(config)#access-list número_lista_de_acceso {permit I deny}
protocolo dirección_de_origen máscara_origen [puerto_del_operador]
dirección_de_destino máscara_destino [puerto_del_operador]
[established] [log]
Donde:
•número_lista_de_acceso: identifica la lista entre 100 y 199
•permit I deny: indica si se permitirá o bloqueará una lista especifica
•Protocolo: puede ser IP, TCP, UDP, ICMP, GRE, O IGRP
•origen y destino: identifican las direcciones IP origen y destino
•máscara_origen y máscara_destino: mascara wildcard los “0” las
posiciones que deben coincidir y los “1” no importan
•puerto_del_operador: puede ser lt(menor que), gt(mayor que), eq(igual
que), neq(distinto de) y un número de puerto del protocolo
•Established: solo para TCP de entrada, permite que el tráfico TCP pase si
el paquete utiliza una conexión preestablecida (ACK)
•Log: envia un mensaje de registro a la consola
Tema 4: Conceptos Avanzados de IP
z
107
z
ACL
Ejemplo : bloqueo el tráfico FTP desde una subred específica
206.150.80.0
206.150.0.0
206.150.81.0
S0
E0
E1
206.150.81.5
X
Tráfico FTP
Router(config)#access-list 101 deny tcp 206.150.81.0 0.0.0.255
206.150.80.0 0.0.0.255 eq 21
Router(config)#access-list 101 deny tcp 206.150.81.0 0.0.0.255
206.150.80.0 0.0.0.255 eq 20
Router(config)#access-list 101 permit any any
(Any = 0.0.0.0 255.255.255.255)
108
Descargar