32
Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Embed Size (px)

Citation preview

Page 1: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Comunicación de Datos I

IP, ARP, Subredes, Reenvío de Paquetes, Construcción de

Tablas de Ruteo

Page 2: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Algunas preguntas

¿Cómo se relaciona lo visto hasta ahora con Internet?

¿Qué es esa dirección IP que se configura cuando quiero tener acceso a una red? Y la máscara?

¿Cómo se relacionan todos estos elementos con Ethernet?

Page 3: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

TCP/IP

Conjunto de Protocolos utilizados en Internet.

Proceso usuario

APLICACION

PRESENTACION

SESION

TRANSPORTE

RED

ENLACE

FISICA

ARP Interface RARP

ICMP IP IGMP

TCP UDP

Proceso usuario

IEEE 802.2 ETHERNET ATM X.25 SLIP PPP

Link layer

Internet layer

Transport layer

Processs/Applicationlayer

OSI/ISO TCP/IP

FTP SSH SNMP

DNS DHCP HTTP

Page 4: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

TCP/IP - Resumen Link Layer: Contiene toda la funcionalidad para enviar

una trama de bits sobre un medio físico a otro sistema. A su vez organiza los datos a enviar en una unidad de datos llamada frame y se encarga de su envío a un equipo adyacente.

Network Layer: Envía datos en la forma de paquetes desde un origen a un destino, a lo largo de tantos vínculos como sea necesario aunque los mismos no sean adyacentes

Transport Layer: Referido al envío de información entre procesos.

Application Layer: Referido a diferencias en representaciones internas de datos, interfaces de usuario y otros requerimientos del mismo

Page 5: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Dirección física o MAC MAC (Media Access Control) Es un número único asignado a cada tarjeta de red. 48 bits. 24 bits asignados por la IEEE al fabricante

(OUI). 24 bits asignados por el fabricante como número de serie.

En la mayoría de los casos no se necesita conocerla, salvo para hacer filtrado en redes wireless por dir MAC.

Comandos en Windows IPCONFIG /ALL y GETMAC.

Page 6: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Direcciones IP - Introducción Identifican unívocamente un punto de acceso

(interfaz) a la red y tienen un significado global en Internet. Un router tiene varias.

Son números de 32 bits, expresados en notación decimal con puntos, byte a byte (p.ej. 123.3.45.77).

Para facilidad de los usuarios, se define un mapping estático de las direcciones IP con nombres “mas legibles” para las personas (DNS - Domain Name Server).

Page 7: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Direcciones IP - Introducción Esquema jerárquico, constan de una parte que indica de

qué red física se trata, y otra que indica la interface o punto de conexión a la red (host).

El componente RED de la dirección IP se utiliza para ubicar la red física de destino (ruteo) y el componente HOST se utiliza para identificar la interfaz dentro de esa red física

Las direcciones IP son identificadores en una red virtual; en última instancia deben ser mapeadas a direcciones físicas de las distintas subredes (X.25, Ethernet, etc.). Este proceso se denomina resolución de direcciones.

Evolución: subnetting y classless addressing.

RED HOST

Page 8: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Direcciones IP - Introducción

Clase

A

B

C

D

E

8 16 240 32

0 RED HOST HOST HOST

HOST HOST

HOSTRED RED

RED 10

110

1110

11110

RED

RED

ID GRUPO MULTICAST

E X P E R I M E N T A L

0.0.0.0 a 127.255.255.255

128.0.0.0 a 191.255.255.255

192.0.0.0 a 223.255.255.255

224.0.0.0 a 239.255.255.255

240.0.0.0 a 247.255.255.255

Formato Rango Redes/Hosts

126/16.777.214

16.382/65.534

2.097.150/254

Page 9: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Direcciones IP No asignables La dirección 255.255.255.255 se utiliza para indicar

broadcast en la propia red. La dirección 0.0.0.0 identifica al host actual. Las direcciones con el campo host todo a ceros

identifican redes. La dirección con el campo host todo a unos se utiliza

como dirección broadcast dentro de la red. La dirección con el campo red todo a ceros identifica a

un host en la propia red. La dirección 127.0.0.1 se utiliza para pruebas loopback. Las redes 127.0.0.0, 128.0.0.0, 191.255.0.0, 192.0.0.0 y

el rango de 240.0.0.0 en adelante (clase E) están reservados y no deben utilizarse.

Las redes 10.0.0.0 (clase A), 172.16.0.0 a 172.31.0.0 (clase B) y 192.168.0.0 a 192.168.255.0 (clase C) están reservadas para redes privadas ('intranets') por el RFC 1918.

Page 10: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Direcciones IP - Ejemplo

eth0 eth0

eth0eth1sl0

eth0

eth0

eth0 eth1

eth0

sl0

RED 202.2.2.0

RED 202.2.4.0RED 202.2.3.0

202.2.4.2

202.2.4.1202.2.3.2

202.2.3.4

202.2.3.3

202.2.3.1

202.2.2.3202.2.2.2

202.2.2.1

202.2.9.1

202.2.9.2

INTERNET

HOST A HOST B

HOST C

HOST D

HOST E

ROUT. X

ROUT. Y

Page 11: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

De MAC a IP (ARP) ARP (Address Resolution Protocol) tiene como

misión precisamente traducir la dirección IP de una máquina a la dirección física del adaptador de red.

Internet está basado en direcciones IP. Ethernet está basado en direcciones MAC.

NetworkLayer

Link Layer

IP

ARP NetworkAccess RARP

Media

ICMP IGMP

TransportLayer

TCP UDP

Page 12: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

12

Funcionamiento

Un Equipo envía un ARP Request en broadcast preguntando por la dirección física de una determinada IP.

Le responde el equipo que tiene esa IP con un ARP Reply que le informa la dirección física.

Debido a que enviar ARP Request/Reply para cada paquete IP introduce demasiado overhead, cada host mantiene una tabla ARP donde cada entrada expira después de 20 minutos.

Page 13: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

13

EsquemaArgon

128.143.137.14400:a0:24:71:e4:44

Router137128.143.137.1

00:e0:f9:23:a8:20

ARP Request:What is the MAC addressof 128.143.71.1?

Argon128.143.137.144

00:a0:24:71:e4:44

Router137128.143.137.1

00:e0:f9:23:a8:20

ARP Reply:The MAC address of 128.143.71.1is 00:e0:f9:23:a8:20

ARP Request de Argon: Source hardware address: 00:a0:24:71:e4:44Source protocol address: 128.143.137.144Target hardware address: 00:00:00:00:00:00Target protocol address: 128.143.137.1

ARP Reply desde Router137: Source hardware address: 00:e0:f9:23:a8:20 Source protocol address: 128.143.137.1 Target hardware address: 00:a0:24:71:e4:44Target protocol address: 128.143.137.144

Page 14: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

14

Formato del paquete ARPDestination

address

6

ARP Request or ARP Reply

28

Sourceaddress

6 2

CRC

4

Type0x8060

Padding

10

Ethernet II header

Hardware type (2 bytes)

Hardware addresslength (1 byte)

Protocol addresslength (1 byte)

Operation code (2 bytes)

Target hardware address*

Protocol type (2 bytes)

Source hardware address*

Source protocol address*

Target protocol address*

* Note: The length of the address fields is determined by the corresponding address length fields

Page 15: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Tablas ARP Por cada interfaz del Router se construye una tabla

ARP (Address Resolution Protocol), la cuál contiene información que asocia una dirección hardware (Ethernet MAC) con una determinada dirección IP.

Dirección IP Dir. de red202.2.3.4 ee.ee.ee.ee.ee.ee

202.2.3.3 cc.cc.cc.cc.cc.cc

202.2.3.1 xx.xx.xx.xx.xx.xx

Interface eth0

Page 16: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Tablas de Ruteo Red de destino: Red de destino del datagram. D/I: indica si el datagram debe será enviado a

su dirección de destino o a un router intermedio.

Dir. router: dirección del router a través del cual se accederá a la red destino.

Interface: salida física (p.ej. LAN Ethernet) por la cual se debe enviar el datagram.

Red de destino d/i dir. router interface202.2.2.0 i 202.2.3.1 eth0202.2.3.0 d ----------------- eth0202.2.4.0 d ----------------- eth1

Tabla de ruteo Router Y

Page 17: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Direcciones IP - Ejemplo

eth0 eth0

eth0eth1sl0

eth0

eth0

eth0 eth1

eth0

sl0

RED 202.2.2.0

RED 202.2.4.0RED 202.2.3.0

202.2.4.2

202.2.4.1202.2.3.2

202.2.3.4

202.2.3.3

202.2.3.1

202.2.2.3202.2.2.2

202.2.2.1

202.2.9.1

202.2.9.2

INTERNET

HOST A HOST B

HOST C

HOST D

HOST E

ROUT. X

ROUT. Y

RED DEST D/I ROUTER IF

202.2.2.0 I 202.2.3.1 eth0202.2.3.0 D ----------- eth0202.2.4.0 D ----------- eth1default I 202.2.3.1 eth0

ROUTER Y

DIR. IP DH

202.2.3.1 hx202.2.3.3 hc202.2.3.4 he

eth0DIR. IP DH

202.2.4.2 hd

eth1

Page 18: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Máscara de subred La máscara de red es un número con el formato de una dirección

IP que nos sirve para distinguir cuando una máquina determinada pertenece a una subred.

En formato binario todas las máscaras de red tienen los "1" agrupados a la izquierda y los "0" a la derecha.

Ejemplo: 11111111 11111111 11111111 00000000255 255 255 0

Para obtener a que red pertenece un equipo con una dirección IP dada debo realizar la operación lógica AND (bit a bit) entre esta y la máscara correspondiente.

Ejemplo:150.214.141.32          10010110.1101010.10001101.00100000255.255.255.0            11111111.1111111.11111111.00000000____________________________________________________150.214.141.0            10010110.1101010.10001101.00000000

Page 19: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Subredes - Introducción Cuando una red se vuelve muy grande, conviene

dividirla en subredes lógicas.

Algunos bits de la parte de host se “pasan” a la parte de red, quedando la dirección divida en Red-Subred-Host

Sirve para establecer una estructura jerárquica y poder administrar la red de manera más manejable

Se utiliza un parámetro de 32 bits (máscara) para determinar dónde está la frontera entre red y host

Page 20: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Subredes – Ejemplo Supongamos que queremos dividir la red

200.3.25.0 en 8 subredes

Red Original

Red Subdividida

Red (200.3.25)

Máscara de 24 bits

11111111 . 11111111 . 11111111 . 00000000

24 bits 8 bits

Red (200.3.25) SRMáscara de 27

bits 11111111 . 11111111 . 11111111 . 111 00000

24 bits 3 bits 5 bits Hos

t

Host

Page 21: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Subredes – Ejemplo (cont)

Red Rango Host Broadcast

200.3.25.0 200.3.25.1 200.3.25.30 200.3.25.31

200.3.25.32 200.3.25.33 200.3.25.62 200.3.25.63

200.3.25.64 200.3.25.65 200.3.25.94 200.3.25.95

200.3.25.96 200.3.25.97 200.3.25.126

200.3.25.127

200.3.25.128

200.3.25.129

200.3.25.158

200.3.25.159

200.3.25.160

200.3.25.161

200.3.25.190

200.3.25.191

200.3.25.192

200.3.25.193

200.3.25.222

200.3.25.223

200.3.25.224

200.3.25.225

200.3.25.254

200.3.25.255

La máscara de subred para este caso es 255.255.255.224. Las subredes resultantes de la red 200.3.25.0/27 son:

Page 22: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Subredes – Ejemplo (cont)

eth0 eth0

eth0eth1sl0

eth0

eth0

eth0 eth1

eth0

sl0

RED 202.2.2.0/29

RED 202.2.2.16/29RED 202.2.2.8/29

202.2.2.18

202.2.2.17202.2.2.10

202.2.2.12

202.2.2.11

202.2.2.9

202.2.2.3202.2.2.2

202.2.2.1

202.2.2.25

202.2.2.26

INTERNET

HOST A HOST B

HOST C

HOST D

HOST E

ROUT. X

ROUT. Y

Page 23: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Reenvío de Paquetes Función correspondiente al nivel

IP Para un datagrama debe

decidirse, en base a su dirección de destino, hacia qué equipo enviarlo

La decisión se toma en base a tablas de ruteo

Un equipo que sólo funcione como host no reenvía datagramas

TCP , UDP

IPTabla de ruteo

eth0 eth1

datagram entrante

Salida

Tabla ARP

Tabla ARP

Page 24: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Envío de datagrama:

•Acceder a tabla ARP de interface en tabla de ruteo

•Obtener dirección de hardware correspondiente a dir. IP

•Encapsular el dg original en frame de la red, con dirección de hardware destino igual a la accedida en la tabla

Envío de datagrama:

•Acceder a tabla ARP de interface en tabla de ruteo

•Obtener dirección de hardware correspondiente a dir. IP

•Encapsular el dg original en frame de la red, con dirección de hardware destino igual a la accedida en la tabla

Hay_matching s=TMatching=entrada de la tabla

Existe default route

Error, destino no alcanzable

Fin

Extraer dirección de destinodel datagrem entrante=DD

Si

Acceder a próxima entradaen tabla de ruteo

(T(máscara) AND DD )==

T(red)

Inicializar búsqueda en tabla Hay_matchings = F

Es el matching de mayorlongitud?

No

Fin tabla de ruteo

SiNo

No

Hay _matchingNo

Si

DESTINO = default route

Si

No DESTINO = Router de mayormatching

Enviar a DESTINO

Si

RED DEST D/I ROUTER MASCARA IF

202.2.2.32 I 202.2.2.65 255.255.255.224 eth0202.2.2.64 D ----------- 255.255.255.224 eth0202.2.2.96 D ----------- 255.255.255.224 eth1default I 202.2.2.65 --------------------- eth0

ROUTER Y

Page 25: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Reenvío de Paquetes

eth0 eth0

eth0eth1sl0

eth0

eth0

eth0 eth1

eth0

sl0

RED 202.2.2.0

RED 202.2.4.0RED 202.2.3.0

202.2.4.2

202.2.4.1202.2.3.2

202.2.3.4

202.2.3.3

202.2.3.1

202.2.2.3202.2.2.2

202.2.2.1

202.2.9.1

202.2.9.2

INTERNET

HOST A HOST B

HOST C

HOST D

HOST E

ROUT. X

ROUT. Y

RED DEST D/I ROUTER IF

202.2.2.0 I 202.2.3.1 eth0202.2.3.0 D ----------- eth0202.2.4.0 D ----------- eth1default I 202.2.3.1 eth0

ROUTER Y

DIR. IP DH

202.2.3.1 hx202.2.3.3 hc202.2.3.4 he

eth0DIR. IP DH

202.2.4.2 hd

eth1

Page 26: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Comandos en Linux

arp Permite visualizar y manejar las entradas a la tabla ARP

cuyo objetivo es manejar las mapeos entre las direcciones MAC e IP

Principales usos y Sintaxis arp -a para obtener todas las entrada ARP de la tabla arp -d nombre_de_la_máquina para suprimir una

entrada de la tabla arp -s nombre_de_la_máquina dirección_mac para

añadir una nueva entrada en la tabla

Page 27: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Comandos en Linux

ifconfig Permite configurar una interfaz de red ifconfig [interfaz] [dirección] [opciones]

Sin argumentos detalla el estado de todas las interfaces del equipo

Con el nombre de una interfaz muestra el estado de esa interfaz solamente

interfaz: es el nombre de la interfaz con la que se va a operar. Ej: eth0

dirección: es la dirección IP que se asigna a dicha interfaz. Ej: 192.168.0.2

Page 28: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Comandos en Linux

ifconfig [interfaz] [dirección] [opciones] opciones:

up Marca la interfaz como disponible para que sea usada por la capa IP

Ej: ifconfig eth0 up down Marca la interfaz como inaccesible a la capa IP

Ej: ifconfig eth0 down netmask dirección Esto asigna una máscara de subred

a una interfaz. Ej: ifconfig eth0 netmask 255.255.255.0

broadcast dirección Si se da un argumento de dirección, establece la dirección de emisión broadcast de la interfaz

Ej: ifconfig eth0 broadcast 192.168.1.255

Page 29: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

Comandos en Linux

ping Es una herramienta de red que sirve para comprobar

entre redes si llegamos a un host remoto. ping [opciones] destino

donde el destino es la dirección IP o la dirección DNS del host al que queremos comprobar que llegamos desde nuestra red. Ej: 192.168.0.2

Opciones: -R: Muestra la traza del paquete que es enviado y recibido.

De esta forma, se pueden observar los distintos saltos que atraviesa el paquete hasta llegar al destino.

Muchas más…..

Page 30: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

30

IpRoute2 Iproute2 es un paquete de utilidades desarrollado por

Alexey Kuznetsov. Este paquete es un conjunto de herramientas muy potentes para administrar interfaces de red y conexiones en sistemas Linux.

Reemplaza completamente las funcionalidades presentes en ifconfig, route, y arp y las extiende llegando a tener características similares a las provistas por dispositivos exclusivamente dedicados al ruteo y control de tráfico.

Este paquete lo podemos encontrar incluido en distribuciones de Debian y RedHat con versiones del núcleo mayores a 2.2.

Page 31: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

31

IpRoute2 ip [ OPTIONS ] OBJECT [ COMMAND [ ARGUMENTS ]] ip route Add

Syntaxis:# ip route add <Net/IP>/<Mask> via <Gateway> dev <IntX>Ejemplo: Agregar un camino hacia la red 10.0.0/24 por la puerta de enlace 192.168.0.2# ip route add 10.0.0.0/24 via 192.168.0.2 Agregar un camino por por la puerta de enlace 192.168.1.1 a través de la

interfaz eth0# ip route add default via 192.168.1.1 dev eth0

Show# ip route show

20.20.20.2/24 via 192.168.1.1 dev eth0default via 192.168.1.1 dev eth0

Page 32: Comunicación de Datos I IP, ARP, Subredes, Reenvío de Paquetes, Construcción de Tablas de Ruteo

32

IpRoute2 List

# ip route list 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1 10.0.1.0/24 dev eth1 proto kernel scope link src 10.0.1.1 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link

# ip route list match 10.0.1.2 10.0.1.0/24 dev eth1 proto kernel scope link src 10.0.1.110.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1

# ip route list match 10.0.1.2/8:10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1

DeleteElimina una entrada de la tabla de ruteo

ReplaceCrea o cambia una entrada de la tabla de ruteo

ChangeCambia una entrada de la tabla de ruteo