[cnsl Bolivia 2005]redes De Alto Rendimiento

  • August 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View [cnsl Bolivia 2005]redes De Alto Rendimiento as PDF for free.

More details

  • Words: 1,260
  • Pages: 43
Redes de alto rendimiento Eloy Espozo Espinoza

Introducción Las redes de alto rendimiento requieren de dispositivos especializados Mantenimiento especializado Resulta una opción de elevado costo

Linux – la alternativa

Es un sistema operativo robusto Presenta capacidades de alto rendimiento en redes Usa mecanismos y algoritmos abier tos

Configuración de la red en Linux ➲

Se pueden utilizar los viejos comandos ● ●



Ifconfig Route

O utilizar el conjunto de herramientas de Iproute2

IProute2 ➲ ➲

Permite manipular todo los detalles relacionados a comunicaciones por red Permite configurar ● ● ● ●

Manipulación de direcciones de red Tablas de enrutamiento Manipulación de túneles Servicios virtuales

IProute2 ➲

Configuración de interfaces de red ●



# ip addr add|del dev

Configuración de rutas ● ●

# ip route add|del dev # ip route add|del 0.0.0.0/0 via dev

Agregación de enlaces ➲

Permite a un equipo tener dos interfaces de red distintas funcionando como una sola ●

Dos equipos interconectados por un cable cruzado (cross-over) pueden sacar ventaja de esta característica

Agregación de enlaces ➲ ➲ ➲ ➲

# modprobe bonding # ip addr add dev bond0 # ip link set bond0 up # ifenslave bond0 eth1 eth2

Alta disponibilidad ➲ ➲

Linux viene con el soporte para Bonding Un equipo puede tener varias conexiones físicas con diferentes switches y presentar una sola dirección al usuario

Alta disponibilidad ➲ ➲ ➲ ➲ ➲

# modprobe bonding mode=1 miimon=100 downdelay=200 updelay=200 # ip link set bond0 addr <MAC> # ip addr add dev bond0 # ip link set bond0 up # ifenslave bond0 eth1 eth2

Linux como conmutador ➲ ➲ ➲ ➲ ➲

Baja Latencia Soporte Spanning Tree Compilar el kernel con soporte para Bridging Instalar bridge-utils Levantar las instancias correspondientes



➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲

Bridge-utils

# brctl addbr switch # brctl addif switch eth0 # brctl addif switch eth1 # brctl addif switch eth2 # ip addr flush dev eth0 # ip addr flush dev eth1 # ip addr flush dev eth2 # brctl stp switch on # ip link set switch up

Bridge-utils ➲ ➲ ➲ ➲ ➲ ➲ ➲

#ip link switch down # brctl stp switch off # brctl delif switch eth0 # brctl delif switch eth1 # brctl delif switch eth2 # brctl delbr switch # rmmod bridge



➲ ➲ ➲ ➲

Ebtables

Proyecto que busca implementar un cortafuegos de capa 2 Impacto mínimo en una red Transparente a las aplicaciones finales Permite MAC-NAT, Brouting

Ebtables ➲ ➲

Se instala generalmente en un bridge Se debe reconfigurar el kernel ●



802.1d Ethernet Bridging (CONFIG_BRIDGE)

Se puede instalar también arptables

Vlan ➲ ➲ ➲

Una manera de dividir una LAN en segmentos lógicos Requiere recompilar el kernel Configuración ● ● ●

# vconfig add eth0 7 # ip addr add dev eth0.7 192.168.1.3/24 # ip link set eth0.7 up

Linux como enrutador Permite establecer diferentes tipos de enrutado Permite filtrar y seleccionar información a enrutar Trabaja con rutas estáticas y dinámicas

Linux como enrutador ➲

Se debe habilitar el reenvío IP (IP forwarding) ● ●

/proc/sys/net/ipv4/ip_forwarding /proc/sys/net/ipv4/conf/$DEV/forward

Selección de rutas ➲

Se basan en la dirección destino ● ●

Se consulta la caché de enrutamiento Se consulta la Base de Datos de Políticas de Enrutamiento (RPDB)

Calidad de Servicio ➲

Servicio que provee diferenciación y rendimiento asegurado para aplicaciones Internet ● ●

Diferentes servicios a diferentes aplicaciones de acuerdo a sus requerimientos Ancho de banda, retardos, retardo y variación de retardo (jitter) controlados



Calidad de servicio



Permite trabajar con Diffserv/Intserv



No se limita sólo a tráfico saliente



Se puede utilizar el comando tc de Iproute





Policing



Shaping

Existe una gran variedad de selectores y filtros

Linux Virtual Server ➲

Es un parche que permite al kernel establecer balanceo de carga y virtualización



Establece un contenedor de servidores virtuales



Provee capacidades de virtualización y balanceo de carga entre servidores

Balanceo de carga ➲ ➲ ➲

Los servidores pueden resultar pequeños para la carga que reciben Se convierten en cuellos de botella Un alternativa es instalar más servidores

Balanceo de carga ➲ ➲ ➲

Los clientes sólo conocen a uno de los servidores Se tendría que replicar la información en todos los servidores Si uno falla, el servicio por completo puede detenerse

Balanceo de carga ➲

Se requiere ● ●



Mecanismo para mantener varios equipos interconectados Mecanismos para aparentar ser un solo servicio

LVS. Linux Virtual Server

Balanceo de Carga ➲

Se debe tener cuidado de: ● ●

Disponibilidad de los servidores reales usando verificaciones de salud Disponibilidad de balanceadores de carga usando protocolos de sobrefalla

Balanceo de carga ISP

ENRUTADOR 1

Servidor 1

Servidor 2

Servidor 3

Enrutadores redundantes ➲ ➲ ➲

Generalmente los clientes utilizan sólo un enrutador para conectarse a Internet Un enrutador es un punto de falla crítico La solución es tener múltiples enrutadores redundantes

Enrutadores redundantes ➲



Los clientes no utilizan protocolos de enrutamiento, no saben como lidiar con varios enrutadores Sólo tienen una dirección de pasarela por defecto (aunque falle)

Enrutadores redundantes ➲

La solución ● ●

➲ ➲

Mecanismos de monitoreo entre enrutadores Mecanismos para aparentar tener un único enrutador

HSRP. Hot Standby Router Protocol VRRP. Virtual Router Redundancy Protocol

VRRP ➲ ➲



Es un protocolo que provee redundancia entre enrutadores Permite a dos o más enrutadores presentar una dirección IP común virtual a todos los sistemas de la red Se basa en una especificación IETF

Solución de alta disponibilidad ISP

ENRUTADOR 1

Servidor 1

ISP

VRRP

Servidor 2

ENRUTADOR 2

Servidor 3

Caso Práctico La UCB La Paz, ve con interés el uso de nuevas tecnologías: Ipv6, VoIP, MPLS, etc.. Se viene experimentando con soluciones de alta disponibilidad de bajo costo Se trata de utilizar equipos en “desuso”

Recursos utilizados Equipos monoprocesador AMD K6 Memoria RAM 32-64 MB Disco duro de 1-10 GB Tarjetas de red 10/100 Mbps Cableado Linux (2.4.31)

Arquitectura implementada ISP

ENRUTADOR 1

ISP

VRRP

SWITCH 1

ENRUTADOR 2

SWITCH 2

SWITCH 3

Keepalived

Aplicación del área de usuario que interactúa con LVS Realiza verificación en capa 3, 4 y 5 Balanceo de Carga verificación de conexión (healthcheck) Usa VRRP como director

Keepalived vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 1 priority 100 authentication { auth_type PASS auth_pass password

} virtual_ipaddress { 192.168.10.10/24 brd 192.168.10.255 dev eth0

} virtual_routes { src 192.168.10.10 to 192.168.100 dev eth0 src 192.168.10.10 to 0.0.0.0/0 via 192.168.10.100 dev eth0

}

}

Keepalived vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 1 priority 50 authentication { auth_type PASS auth_pass password

} virtual_ipaddress { 192.168.10.10/24 brd 192.168.10.255 dev eth0

} virtual_routes { src 192.168.10.10 to 192.168.100 dev eth0 src 192.168.10.10 to 0.0.0.0/0 via 192.168.10.100 dev eth0

}

}

Comportamiento del tráfico ICMP ➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲ ➲

64 bytes from 192.168.10.100: icmp_seq=23 ttl=63 time=1.12 ms 64 bytes from 192.168.10.100: icmp_seq=24 ttl=63 time=1.07 ms 64 bytes from 192.168.10.100: icmp_seq=25 ttl=63 time=1.21 ms 64 bytes from 192.168.10.100: icmp_seq=26 ttl=63 time=1.02 ms 64 bytes from 192.168.10.100: icmp_seq=27 ttl=63 time=1.05 ms 64 bytes from 192.168.10.100: icmp_seq=28 ttl=63 time=1.31 ms 64 bytes from 192.168.10.100: icmp_seq=29 ttl=63 time=1.19 ms 64 bytes from 192.168.10.100: icmp_seq=30 ttl=63 time=1.13 ms 64 bytes from 192.168.10.100: icmp_seq=31 ttl=63 time=1.09 ms 64 bytes from 192.168.10.100: icmp_seq=32 ttl=63 time=1.18 ms 64 bytes from 192.168.10.100: icmp_seq=33 ttl=63 time=1.20 ms

Comportamiento del tráfico ICMP

Comportamiento del tráfico TCP

Enlaces de interés • • • • • • •

http://www.linux-ip.net http://www.lartc.org http://ebtables.sourceforge.net http://www.keepalived.org http://www.linux-ha.org http://bridge-utils.sourceforge.net http://www.netfilter.org

Muchas gracias

Related Documents