Servicios ISP (Internet Service Provider): Un ISP ofrece distintos tipos de servicios Servicios de Acceso dedicado a Internet Líneas T1/E1 (1.5, 2 Mbps), T3/E3 (45, 34 Mbps), OC3 (155 Mbps), OC12 (622 Mbps), OC48 (2.5 Gbps), etc Servicios de Acceso conmutado: FR (Frame Relay) o ATM Otros accesos Modems, ADSL, RDSI (BRI, PRI), etc Servicios de hosting (Proveedores de contenido) Racks para poner servidores (e.g.; de Web) u otros equipos Otros servicios: VPNs, servicios de e-mail, news, Web, IP multicast, etc
Servicios ISP (Internet Service Provider): Servicios de hosting (Proveedores de contenido) Redes de contenido de operadoras de red: Proxing caches: el operador almacena contenido en caches para ofrecer mejor servicio en caso de repetir la petición Proveedores de redes de contenido Farm servers (granjas de servidores): redes de contenido locales para proporcionar balanceo de cargas y por tanto mayor capacidad Mirrors: servidores distribuidos en distintas localizaciones geográficas pero no automatizado (el user tiene que clicar el link) CDNs (Content Distribution Networks): servidores distribuidos en distintas localizaciones geográficas pero automatizado (AKAMAI dispone de 15.000 servidores) Redes de contenido de usuarios: Redes peer-to-peer (P2P): e.g. Gnutella, freenet, napster
Elección del ISP: Tener en cuenta aspectos tales como Conexiones físicas (bandwidth) SLA (Service Level Agreement): como monitorizan las garantías de rendiminento que ofrecen y que penalización tienen si no lo cumplen» Garantizan tasa de perdida de paquetes, retardos y disponibilidad del acceso Que no sea un cuello de botella ISPs que sobrecargan sus líneas Tasa de subscripción (no más de un ratio de 5:1 5 líneas de cliente E1 por 1 de backbone E1) Servidores conectados a líneas de baja velocidad pero clientes intentan acceder desde alta velocidad (recordar flow control ) Nivel de redundancia Multihoming puede ser una buena solución (aumenta el coste) Distancia al destino Hay dispositivos L2 (switches), L3 (routers) una buena regla es mínimo número de saltos respecto a número de AS s a atravesar Acuerdos de intercambio de tráfico Públicos o privados????
Peering: Peering and... Emparejamiento de tipo público: Punto neutro (NAP: Network Access Point) Conmutador de alta velocidad para que se interconecten routers de ISPs para el intercambio de tráfico Switches de cómo mínimo 100 Mbps Alguna entidad o asociación sin ánimo de lucro gestiona el NAP Los ISPs que se quieran conectar firman un contrato con ciertas condiciones (dependen del NAP) que deben cumplir Puntos neutros en España: hay varios, por ejemplo Espanix (ver link) y Catnix (ver link)
Peering: Emparejamiento privado Peering and... Conexiones punto-a-punto entre los dos AS s o parejas que transportan la mayor parte del tráfico Aumentan la fiabilidad del enlace y el ancho de banda pero aumenta el coste Indirectamente alivian el tráfico que puede pasar por los puntos neutros Las conexiones son negociadas bilateralmente entre los dos ISPs (peer-to-peer basis) Las políticas usadas suelen ser confidenciales ya sea por temor a la fiabilidad de un punto neutro o por temor a dar a conocer los acuerdos entre ISPs
Organización de los AS s en Internet: Ver RFC 2050 Internet Registry IP Allocation Guidelines define la jerarquía de Registros de Internet y la asignacion de bloques de direcciones IP IANA: www.iana.org ARIN: www.arin.net RIPE: www.ripe.net APNIC: www.apnic.net LACNIC: www.lacnic.net Internet Regional Registries Internet Local Registries
Organización de los AS s en Internet: IANA Internet Assigned Numbers Authority tiene autoridad sobre TODO el espacio de números usados en Internet Espacio de direcciones IP Espacio de AS Numbers Regionals Internet Registries (RIR): operan en regiones geopolíticas ARIN (American Registry for Internet Number): América (North and Caribbean area), Sub-Sahara Africa RIPE (Reseux IP European Coordination Center): Europe, Midle- East, North-Africa APNIC (Asian-Pacific Network Information Center): Asia, Oceania LACNIC: South America
Organización de los AS s en Internet: Local IR (LIR): operan en dimensiones nacionales (e.g.; un país o una comunidad) Ofrecen servicios como proveedores de servicios de Internet Servicios finales (AS customers) Servicios de transito (AS Proveedores) Tienen que estar registrados en un RIR En España hay actualmente 138 LIR s
LIR s en RIPE: Peering and...
RPLS (Routing Policy specification Language) RFC 2622 Es un lenguaje que permite especificar a un operador de red las políticas de encaminamiento en cualquier nivel de la jerarquía de Internet (e.g.; nivel AS) Es orientado a objetos Cada objeto contiene parte de la información administrativa o de la política usada por un AS Los objetos se registran en los RIR Cada conjunto de objetos forma una clase donde la clase describen cierto tipo de información Person Role Route...
RPLS: Peering and... Person class: clase que define la persona de contacto del ISP, tienen los siguientes objetos: Person name Address Phone Fax-no E-mail...
RPLS: Peering and... Route class: clase que define las rutas entre AS s (inter-as communication), tienen los siguientes objetos: etc route origin Member-of import export...
RPLS: Set classes: permiten especificar políticas As-set class: clase que especifica el AS, tienen los siguientes objetos: As-set name members Members-by-ref Etc, hay todo un conjunto de clases y objetos que no vamos a estudiar. El objetivo es que entendáis que este lenguaje se usa para definir el AS, la persona de contacto, las políticas que usa el AS, etc y que se mantienen en una base de datos en el IRR (e.g.; RIPE)
RPLS: Peering and... Herramientas para consultar la base de datos Un conjunto de ejecutables en Linux Ratools que permiten consultar las redes de un AS, etc www.isi.edu/ra/ratoolset Whois: herramienta UNIX pero también desde un browser Si nos conectamos a www.ripe.net whois db search: as766 (Rediris, AS al que se conectan las universidades españolas) (ver link)
Peering (intercambio de tráfico y rutas) Los AS s pueden establecer varios tipos de relaciones entre ellos que definirán el tipo de políticas que establecerán Un AS puede tener una relación de: Proveedor-a-cliente (Provider-to-Customer): el proveedor ofrece servicios de transito a un cliente Cliente-a-Proveedor (Customer-to-Provider): un cliente necesita de por lo menos un proveedor para acceder a Internet Par-a-Par (Peer-to-Peer): dos AS s que se ponen de acuerdo para intercambiar entre ellos tráfico de sus clientes sin coste monetario pero no transitan tráfico Hermandad (Siblings): dos AS s que se ponen de acuerdo no solo en intercambiar tráfico de sus clientes, sino que además permiten el transito de tráfico de clientes de otros AS s
Proveedor-a-cliente (Provider-to-Customer): el proveedor ofrece servicios de transito a un cliente para que pueda acceder a Internet o a servicios del mismo proveedor, el cliente paga por los servicios Proveedor Tráfico IP Proveedor-a-cliente Cliente Cliente
Los proveedores forman una jerarquía, un proveedor a su vez es un cliente de un proveedor mayor Tráfico IP Proveedor-a-cliente
Par-a-Par (Peer-to-Peer): dos AS s que se ponen de acuerdo para intercambiar entre ellos tráfico de sus clientes sin coste monetario, pero no transitan tráfico de otros AS s Par-a-Par Proveedor-a-cliente Tráfico IP permitido Tráfico IP NO permitido
Hermandad (Siblings): dos AS s que se ponen de acuerdo no solo en intercambiar tráfico de sus clientes, sino que además permiten el transito de tráfico de clientes de otros AS s Siblings Par-a-Par Proveedor-a-cliente Tráfico IP permitido Tráfico IP NO permitido
Las relaciones peer-to-peer y siblings me ofrecen atajos para a llegar a destinos Tráfico IP Proveedor-a-cliente Par-a-Par Redes clientes
Políticas de exportación de rutas: Un cliente exporta a su proveedor todas sus rutas y las rutas de sus clientes Redes propias Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes clientes Redes clientes
Políticas de exportación de rutas: Un proveedor exporta a sus clientes todas sus rutas, todas las rutas de sus clientes, las de sus proveedores y las de sus pares Redes propias Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes clientes Redes clientes
Políticas de exportación de rutas: Un par exporta a otro par todas sus rutas y todas las rutas de sus clientes pero NO las de sus proveedores y las de sus pares Redes propias Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes clientes Redes clientes
Políticas de exportación de rutas: Sibling exporta a otro sibling todas sus rutas, todas las rutas de sus clientes, las de sus proveedores y las de sus pares Redes propias Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes clientes Redes clientes
Internet (2003) Peering and... Aproximadamente 16300 AS s Clientes finales: AS s conectados a pocos proveedores (multihoming) 13000 AS s ISP s regionales: hacen de proveedores de los clientes finales pero no usan conexiones peer-to-peer 1500 AS s ISP s del core de Internet: forman el corazón de Internet, altamente interconectados entre sí con todo tipo de conexiones (peer-to-peer, siblings, P2C,...), también hacen de proveedores a gran cantidad de clientes finales 1800 AS s
Internet (2003) Whole graph C PEER P AS5 P P C AS4 P P Core area Regional area Core sub-graph Regional area sub-graph C AS1 C AS2 C AS3 End customers area Number of AS's Number of Links Maxim degree Average degree Whole AS graph 16244 43483 3407 5.35 Reg. area sub-graph 3120 16660 773 10.67 Core sub-graph 1817 13174 516 14.5
Multihoming: Peering and... Single-homed AS: un cliente solo tiene un punto de salida a su proveedor Multi-homed AS: un cliente tiene más de un punto de salida a su proveedor o tiene más de un proveedor Multi-homing incrementa la fiabilidad del acceso a Internet de forma que si la conexión primaria falla hay una línea de back-up Si el ISP es muy fiable (empresa que es difícil que desaparezca) se puede hacer multi-homing con el mismo ISP conectándose a dos routers del ISP Si el ISP no es muy fiable (pequeña empresa) puede valer la pena hacer multi-homing a otro ISP Proveedor Proveedor Proveedor Proveedor Proveedor-a-cliente Proveedor-a-cliente Proveedor-a-cliente cliente cliente cliente
Algunos ejemplos: Peering and... Single-homed AS: un cliente solo tiene un punto de salida a su proveedor. El cliente puede usar ruta por defecto para acceder a Internet ya que no necesita aprender todas las rutas de Internet desde su proveedor El ISP tiene que aprender las rutas del cliente El proveedor basta con que tenga una/varias entrada/s estática/s en su tabla de encaminamiento o un IGP si redes discontiguas (no es normal) Puede usar BGP para que el ISP aprenda y advierta las rutas del cliente pero es difícil obtener un AS number ya que las políticas del AS stub son las mismas que las del proveedor El ISP de la un AS number privado (65412-65535)
Algunos ejemplos: Single-homed AS: posibles combinaciones Peering and... ISP IGP IBGP ISP IGP IBGP ISP IGP IBGP Estático IGP EBGP Cliente IGP Cliente IGP Cliente IGP Hay otras combinaciones (dentro del cliente se use IBGP, el ISP pone un router dentro del cliente, etc)
Algunos ejemplos: Single-homed AS: Peering and... Ejemplo de que cliente use E-BGP El proveedor puede pasar la tabla completa de redes de Internet El proveedor puede pasar una tabla parcial (filtrada) de rutas de Internet ya que usa ciertas políticas administrativas El cliente pasa sus redes al ISP s0 R 1 ISP 129.34.0.0/22 Full table E-BGP Filtered table s0 R 2 129.34.0.0/22 cliente
Algunos ejemplos: Peering and... Balanceo de cargas: repartir el tráfico entre distintos enlaces Controlar el tráfico de entrada (Inbound traffic) Controlar el tráfico de salida (Outbound traffic) Balanceo de cargas (Inbound) Balanceo de cargas (Outbound) R 1 R 2 R 1 R 2 R 3 R 3 Quien quiero que me envíe que tráfico A quien quiero enviar que tráfico
Algunos ejemplos: Peering and... Multi-homed AS con el mismo proveedor: un cliente tiene más de un punto de salida pero al mismo proveedor. El cliente usa rutas por defecto con distintas distancias administrativas para acceder a Internet y dar preferencia a un router sobre el otro, sino es decidido por el protocolo IGP (interno) Si el cliente usase BGP, podría exportar sus rutas con MED para influir en el proveedor para que este elija un router u otro (R 2 sobre R 1 ) R 1 I-BGP R 2 R 1 R 2 Default 2 backup MED=100 Default 1 backup MED=50 Default 0/0 LocPref=200 Default 0/0 LocPref=300 R 3 No balanceo de cargas pero controlo Inbound traffic (entra por R2-R3) R 3 No balanceo de cargas pero controlo Outbound traffic (salgo por R2-R3)
Algunos ejemplos: Peering and... Balanceo de cargas (Inbound): Controlar el tráfico de entrada Enviar MED para indicar por qué interfaz quieres que te entre el tráfico El cliente quiere que el tráfico que le llegue a la red X e Y venga del router R 1 mientras que el tráfico que le llega a la red W y Z venga de R 2 C3 ISP R 1 R IBGP 2 C4 C2 Red X MED=50 Red Y MED=50 Red W MED=100 Red Z MED=100 R 3 IBGP C1 R 4 Redes X, Y, W, Z Red X MED=100 Red Y MED=100 Red W MED=50 Red Z MED=50
Algunos ejemplos: Peering and... Balanceo de cargas (Inbound): Controlar el tráfico de entrada Enviar MED para indicar por qué interfaz quieres que te entre el tráfico El cliente quiere que el tráfico que le llegue a la red X e Y venga del router R 1 mientras que el tráfico que le llega a la red W y Z venga de R 2 y el resto de tráfico (redes en C1) por el default-1 backup C3 ISP R 1 R IBGP 2 C4 C2 Red X MED=50 Red Y MED=50 others=300 (default-2 backup) R 3 IBGP C1 R 4 Redes X, Y, W, Z Red W MED=50 Red Z MED=50 others=200 (default-1 backup)
Algunos ejemplos: Peering and... Balanceo de cargas (Outbound): Controlar el tráfico de salida Usar el atributo LocPref para elegir por que interfaz hay que salir Tráfico a los clientes C2 y C3 quiero que salgan por R3 y tráfico al cliente C4 quiero que salga por R4 C3 ISP R 1 R IBGP 2 C4 C2 Rutas aprendidas por R3 activarle Rutas de Cliente C2: LocPref=200 Rutas de Cliente C3: LocPref=200 Rutas de Cliente C4: LocPref=100 R 3 IBGP C1 R 4 Redes X, Y, W, Z Rutas aprendidas por R4 activarle Rutas de Cliente C2: LocPref=100 Rutas de Cliente C3: LocPref=100 Rutas de Cliente C4: LocPref=200
Algunos ejemplos: Peering and... Multi-homed AS con distinto proveedor: un cliente tiene más de un punto de salida pero a distinto proveedor Mismas ideas que antes pero cuidado, MED es no-transitivo (es decir, no se pasa de un ISP a otro), puedes controlar el Inbound traffic (como llegar a tus redes) anunciando AS-PATHs duplicados Rutas anunciadas por AS=1 a AS=4 Red X: AS-PATH= 3, 1 Red Y: AS_PATH=3, 3, 3, 3, 1 AS=4 R AS=2 AS=1 R 2 ISP 1 1 ISP 2 Rutas anunciadas por AS=2 a AS=4 Red X: AS-PATH= 3, 3, 3, 3, 2 Red Y: AS_PATH=3, 2 Rutas anunciadas por R3 a R1 Red X: AS-PATH= 3 Red Y: AS_PATH=3, 3, 3, 3 R 3 Rutas anunciadas por R3 a R2 Red X: AS-PATH= 3, 3, 3, 3 Red Y: AS_PATH=3 Controlo Inbound traffic con AS-PATH cliente AS=3 Controlo Outbound traffic con LocPref
Uso de comunidades (community): atributo BGP opcional y transitivo (RFC 1997) Red o grupo de rutas destino que comparten ciertas propiedades Ofrece la posibilidad de asociar un identificador con una ruta Permite que esa ruta reciba la misma política por parte de varios AS s Se codifica con 32 bits 4 Bytes de los cuales Típicamente los dos primeros Bytes es el AS# que crea la interpretación de la comunidad los 2 últimos bytes son definidos por el AS Es decir: AS:value (en decimal) Reservados comunidades 0x00000000 a 0x0000ffff (0:value) y 0xffff0000 a 0xffffffff (65535:value) Se pueden usar el resto: desde 1:0 a 65534:65535
Uso de comunidades (community): atributo BGP opcional y transitivo (RFC 1997) tres comunidades definidas por el RFC 1997 NO_EXPORT (0xFFFFFF01): todas las rutas que se reciban con este atributo no deben ser advertidas fuera del AS que lo recibe NO_ADVERTISE (0xFFFFFF02): todas las rutas que se reciban con este atributo no deben ser advertidas a otros vecinos BGP (dentro del AS) NO_EXPORT_SUBCONFED (0xFFFFFF03): todas las rutas que se reciban con este atributo no deben ser advertidas a otros vecinos externos BGP (de otra confederación)
Uso de comunidades: uso de la comunidad NO-EXPORT AS1 anuncio 12.5.0.0/16 y las subredes 12.5.0.0/17 y 12.5.128.0/17 para que AS2 haga balanceo de cargas AS3 no gana nada si recibe tres rutas (la /16 y las subneteadas /17). Luego, AS1 exporta a AS2 las /17 con la comunidad NO-EXPORT AS1 E-BGP AS2 NO-EXPORT 12.5.0.0/17 12.5.0.0/17 E-BGP AS3 12.5.0.0/16 12.5.0.0/16 12.5.0.0/16 12.5.128.0/17 NO-EXPORT 12.5.128.0/17 E-BGP
Uso de comunidades: uso de la comunidad NO-ADVERTISE AS1 y AS2 tienen una conexión E-BGP entre R 1 y R 5, R 4 no entiende BGP R 4 usa la /24 y R 3 el resto de la /16, de forma que R 5 querría que R 1 enviase los paquetes destinados a /24 directamente a R 4 y no a R 5 para que este luego no tuviese que reenviárselos a R 4 R 3 usa NEXT-HOP para que R 1 envíe los paquetes a R 4, pero si R 1 es el único router de AS1 que debería conocer esa política, otros routers de AS1 no deberían saberlo (suponemos AS1 usa I-BGP con otros routers) AS1 AS2 R 3 R 4 12.5.1.0/24 I-BGP R 1 E-BGP LAN E-BGP 12.5.0.0/16 R 2 R 5
Uso de comunidades: rutas de backup automáticas (multihoming) AS3 hace multihoming con ISP1 y ISP2. La red 12.5.0.0/16 con el ISP1 y la red 21.3.0.0/16 con ISP2, pero manteniéndolas como backup (no se pude usar MED, porque no hay dos routers entre ISP1/2 y el cliente) AS1 E-BGP AS2 ISP1 E-BGP cliente 12.5.0.0/16 (backup) AS3 21.3.0.0/16 12.5.0.0/16 21.3.0.0/16 E-BGP ISP2 12.5.0.0/16 21.3.0.0/16 (backup)
Uso de comunidades: rutas de backup automáticas (multihoming) AS1 con AS3 reacciona a la comunidad 1:60 poniendo el LocalPref=60 y a 100 si la comunidad no aparece AS2 con AS3 reacciona a la comunidad 2:70 poniendo el LocalPref=60 y a 100 si la comunidad no aparece AS3 marca la ruta 12.5.0.0/16 hacia AS1 con 1:60 y la ruta 21.3.0.0/16 con AS2 con 1:70 El proceso de decisión da preferencia a LocalPref sobre AS-PATH length AS1 E-BGP AS2 ISP1 E-BGP cliente 12.5.0.0/16 (backup) AS3 21.3.0.0/16 12.5.0.0/16 21.3.0.0/16 E-BGP ISP2 12.5.0.0/16 21.3.0.0/16 (backup)
Uso de comunidades: transito de rutas Puedo crear mis propias comunidades: ISP= AS2 crea la comunidad Community 2:100 rutas clientes locales Community 2:20 rutas clientes transito AS3 exporta a su ISP: 2:20 (las rutas de sus clientes) AS2 hace: AS3 exporta a su ISP 2:100 (sus propias rutas) Si community 2:100 then set LocPrf =100 Si community 2:20 then set LocPref=20 Si community 2:30 then set LocPref=30 Community 2:30 rutas de los prov. AS2 2:30 AS4 AS value 2:20 2:100 AS3 AS1 AS2 prefiere las rutas de AS3 por el enlace AS3, el resto de rutas (AS4 y AS1 por su enlace con AS4