Servicios ISP (Internet Service Provider) - Redes
Transcripción
Servicios ISP (Internet Service Provider) - Redes
Peering and .... • 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 Peering and .... • 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 Peering and .... • 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 and .... • Peering: – 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 and .... • Peering: – Emparejamiento privado • 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 Peering and .... • 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 Peering and .... • 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, MidleEast, North-Africa • APNIC (Asian-Pacific Network Information Center): Asia, Oceania • LACNIC: South America Peering and .... • 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 Peering and .... • 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 ............ Peering and .... • RPLS: – Person class: clase que define la persona de contacto del ISP, tienen los siguientes objetos: • • • • • • Person name Address Phone Fax-no E-mail ..... Peering and .... • RPLS: – Route class: clase que define las rutas entre AS’s (inter-AS communication), tienen los siguientes objetos: • • • • • • – etc route origin Member-of import export ..... Peering and .... • 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) Peering and .... • RPLS: – 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 and .... • 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 Peering and .... • 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 Cliente Tráfico IP Proveedor-a-cliente Cliente Peering and .... • Los proveedores forman una jerarquía, un proveedor a su vez es un cliente de un proveedor mayor Tráfico IP Proveedor-a-cliente Peering and .... • 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 Peering and .... • 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 Peering and .... • 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 Peering and .... • Políticas de exportación de rutas: – Un cliente exporta a su proveedor todas sus rutas y las rutas de sus clientes Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes propias Redes clientes Redes clientes Peering and .... • 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 Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes propias Redes clientes Redes clientes Peering and .... • 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 Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes propias Redes clientes Redes clientes Peering and .... • 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 Proveedor-a-cliente Par-a-Par Siblings Redes de tu proveedor Redes de un par Redes propias Redes clientes Redes clientes Peering and .... • Internet (2003) – 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 Peering and .... • Internet (2003) C PEER P P Core sub-graph Core area AS5 P Whole graph C Regional area AS4 P C AS1 P C C AS2 AS3 Number of AS's End customers area 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 Regional area sub-graph Peering and .... • Multihoming: – 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-a-cliente cliente Proveedor Proveedor-a-cliente cliente Proveedor Proveedor Proveedor-a-cliente cliente Peering and .... • Algunos ejemplos: – 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) Peering and .... • Algunos ejemplos: – Single-homed AS: • posibles combinaciones ISP IGP IBGP Estático ISP IGP IBGP IGP IGP Cliente ISP IGP IBGP EBGP IGP Cliente IGP Cliente • Hay otras combinaciones (dentro del cliente se use IBGP, el ISP pone un router dentro del cliente, etc) Peering and .... • Algunos ejemplos: – Single-homed AS: • 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 R1 ISP 129.34.0.0/22 E-BGP R2 • Filtered table s0 129.34.0.0/22 • Full table cliente Peering and .... • Algunos ejemplos: – 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) R1 R2 R3 Quien quiero que me envíe que tráfico Balanceo de cargas (Outbound) R1 R2 R3 A quien quiero enviar que tráfico Peering and .... • Algunos ejemplos: – 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 (R2 sobre R1) R1 I-BGP R2 R1 R2 Default –1 backup MED=50 Default –2 backup MED=100 Default 0/0 LocPref=200 R3 No balanceo de cargas pero controlo Inbound traffic (entra por R2-R3) Default 0/0 LocPref=300 R3 No balanceo de cargas pero controlo Outbound traffic (salgo por R2-R3) Peering and .... • Algunos ejemplos: – 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 R1 mientras que el tráfico que le llega a la red W y Z venga de R2 ISP IBGP R1 C3 R2 C4 Red X MED=100 C2 Red Y MED=100 Red Y MED=50 Red W MED=100 Red Z MED=100 Red W MED=50 IBGP Red X MED=50 Red Z MED=50 R3 C1 R4 Redes X, Y, W, Z Peering and .... • Algunos ejemplos: – 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 R1 mientras que el tráfico que le llega a la red W y Z venga de R2 y el resto de tráfico (redes en C1) por el default-1 backup ISP IBGP R1 C3 R2 C4 Red W MED=50 C2 Red Z MED=50 Red Y MED=50 others=300 (default-2 backup) others=200 (default-1 backup) IBGP Red X MED=50 R3 C1 R4 Redes X, Y, W, Z Peering and .... • Algunos ejemplos: – 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 R1 C3 ISP IBGP R2 C4 C2 Rutas aprendidas por R4 activarle IBGP Rutas aprendidas por R3 activarle Rutas de Cliente C2: LocPref=200 Rutas de Cliente C3: LocPref=200 Rutas de Cliente C4: LocPref=100 R3 C1 Rutas de Cliente C2: LocPref=100 R4 Rutas de Cliente C3: LocPref=100 Rutas de Cliente C4: LocPref=200 Redes X, Y, W, Z Peering and .... • Algunos ejemplos: – 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=2 a AS=4 Rutas anunciadas por AS=1 a AS=4 Red X: AS-PATH= 3, 3, 3, 3, 2 AS=4 Red X: AS-PATH= 3, 1 Red Y: AS_PATH=3, 2 Red Y: AS_PATH=3, 3, 3, 3, 1 AS=1 ISP 1 R2 AS=2 R1 ISP 2 Rutas anunciadas por R3 a R2 Rutas anunciadas por R3 a R1 Red X: AS-PATH= 3, 3, 3, 3 Red X: AS-PATH= 3 Red Y: AS_PATH=3, 3, 3, 3 Controlo Inbound traffic con AS-PATH R3 cliente AS=3 Red Y: AS_PATH=3 Controlo Outbound traffic con LocPref Peering and .... • 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 Peering and .... • 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) Peering and .... • 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 AS3 E-BGP 12.5.0.0/16 12.5.0.0/16 12.5.128.0/17 NO-EXPORT E-BGP 12.5.128.0/17 12.5.0.0/16 Peering and .... • Uso de comunidades: uso de la comunidad NO-ADVERTISE – AS1 y AS2 tienen una conexión E-BGP entre R1 y R5, R4 no entiende BGP – R4 usa la /24 y R3 el resto de la /16, de forma que R5 querría que R1 enviase los paquetes destinados a /24 directamente a R4 y no a R5 para que este luego no tuviese que reenviárselos a R4 – R3 usa NEXT-HOP para que R1 envíe los paquetes a R4, pero si R1 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 R4 R3 R1 I-BGP 12.5.1.0/24 E-BGP LAN E-BGP 12.5.0.0/16 R2 R5 Peering and .... • 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) E-BGP AS1 AS2 ISP1 ISP2 E-BGP E-BGP cliente 12.5.0.0/16 (backup) 21.3.0.0/16 AS3 12.5.0.0/16 21.3.0.0/16 12.5.0.0/16 21.3.0.0/16 (backup) Peering and .... • 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 E-BGP AS1 AS2 ISP1 ISP2 E-BGP 12.5.0.0/16 (backup) 21.3.0.0/16 E-BGP cliente 12.5.0.0/16 AS3 21.3.0.0/16 (backup) 12.5.0.0/16 21.3.0.0/16 Peering and .... • Uso de comunidades: transito de rutas – Puedo crear mis propias comunidades: ISP= AS2 crea la comunidad Community 2:100 rutas clientes locales AS3 exporta a su ISP: 2:20 (las rutas de sus clientes) AS3 exporta a su ISP 2:100 (sus propias rutas) Si community 2:100 then set LocPrf =100 Community 2:20 rutas clientes transito AS2 hace: Si community 2:20 then set LocPref=20 Si community 2:30 then set LocPref=30 Community 2:30 AS2 rutas de los prov. 2:30 2:20 AS value 2:100 AS4 AS3 AS2 prefiere las rutas de AS3 por el enlace AS3, el resto de rutas (AS4 y AS1 por su enlace con AS4 AS1