This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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 puntosneutros
• 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, Midle-East, 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:• route• origin• Member-of• import• export• .....
– etc
Peering and ....
• RPLS:– Set classes: permiten especificar políticas– As-set class: clase que especifica el AS, tienen los
– 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-a-clienteTráfico IP
Cliente
Proveedor
Cliente
Peering and ....
• Los proveedores forman una jerarquía, un proveedor a su vez es un cliente de un proveedor mayor
Proveedor-a-clienteTráfico IP
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
Proveedor-a-clienteTráfico IP permitidoPar-a-Par
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áspermiten el transito de tráfico de clientes de otros AS’s
Proveedor-a-clientePar-a-ParSiblings
Tráfico IP permitidoTráfico IP NO permitido
Peering and ....
• Las relaciones peer-to-peer y siblings me ofrecen atajos para a llegar a destinos
Proveedor-a-cliente
Tráfico IP
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
Redes clientes
Redes clientes
Redes propias
Redes de tu proveedor
Redes de un par
Proveedor-a-cliente
Par-a-ParSiblings
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
Redes clientes
Redes clientes
Redes propias
Redes de tu proveedor
Redes de un par
Proveedor-a-cliente
Par-a-ParSiblings
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
Redes clientes
Redes clientes
Redes propias
Redes de tu proveedor
Redes de un par
Proveedor-a-cliente
Par-a-ParSiblings
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
Redes clientes
Redes clientes
Redes propias
Redes de tu proveedor
Redes de un par
Proveedor-a-cliente
Par-a-ParSiblings
Peering and ....
• Internet (2003)– Aproximadamente 16300 AS’s
• Clientes finales: AS’s conectados a pocos proveedores (multi-homing) à 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)
P
AS3 AS2 AS1
AS4
AS5
P
P
C C C
P PEER
P
C
Core area
Regional area
End customers area
C Core
sub-graph Regional area
sub-graph Whole graph
14.5516131741817Core sub-graph
10.67773166603120Reg. area sub-graph
5.3534074348316244Whole AS graph
Averagedegree
Maxim degree
Numberof Links
Number of AS's
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-a-cliente
cliente
Proveedor
Proveedor-a-cliente
ProveedorProveedor
cliente
Proveedor-a-cliente
cliente
Proveedor
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
• Hay otras combinaciones (dentro del cliente se use IBGP, el ISP pone un router dentro del cliente, etc)
ISP
Estático
ClienteIGP
IGP IBGP ISP
EBGP
ClienteIGP
IGP IBGPISP
IGP
ClienteIGP
IGP IBGP
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
R2
R1 ISP
E-BGP
s0
s0
129.34.0.0/22cliente
129.34.0.0/22 • Full table
• Filtered table
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)
R3
R1 R2
Quien quiero que me envíe que tráfico
Balanceo de cargas (Inbound)
R3
R1 R2
A quien quiero enviar que tráfico
Balanceo de cargas (Outbound)
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)
R3
R1
R2
Default –1 backup MED=50
Default –2 backup MED=100
No balanceo de cargas pero controlo Inbound traffic (entra por R2-R3)
R3
R1 R2
Default 0/0 LocPref=300
Default 0/0 LocPref=200
No balanceo de cargas pero controlo Outbound traffic (salgo por R2-R3)
I-BGP
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
R3
R1 R2
Red X MED=50
Red Y MED=50
Red W MED=100
Red Z MED=100 Redes X, Y, W, Z
ISPIBGP
R4C1
C2
C3 C4
Red X MED=100
Red Y MED=100
Red W MED=50
Red Z MED=50IBGP
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
R3
R1 R2
Red X MED=50
Red Y MED=50
others=300 (default-2 backup) Redes X, Y, W, Z
ISPIBGP
R4C1
C2
C3 C4
Red W MED=50
Red Z MED=50
others=200 (default-1 backup)IBGP
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
R3
R1 R2
Rutas aprendidas por R3 activarle
Rutas de Cliente C2: LocPref=200
Rutas de Cliente C3: LocPref=200
Rutas de Cliente C4: LocPref=100 Redes X, Y, W, Z
ISPIBGP
R4C1
C2
C3 C4
Rutas aprendidas por R4 activarle
Rutas de Cliente C2: LocPref=100
Rutas de Cliente C3: LocPref=100
Rutas de Cliente C4: LocPref=200
IBGP
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
R3
R1R2
ISP 1 ISP 2
Controlo Inbound traffic con AS-PATH
Rutas anunciadas por R3 a R1
Red X: AS-PATH= 3
Red Y: AS_PATH=3, 3, 3, 3
cliente
AS=1
AS=3
AS=2
Rutas anunciadas por R3 a R2
Red X: AS-PATH= 3, 3, 3, 3
Red Y: AS_PATH=3
AS=4Rutas anunciadas por AS=1 a AS=4
Red X: AS-PATH= 3, 1
Red Y: AS_PATH=3, 3, 3, 3, 1
Rutas anunciadas por AS=2 a AS=4
Red X: AS-PATH= 3, 3, 3, 3, 2
Red Y: AS_PATH=3, 2
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
AS3
AS1 AS2
12.5.0.0/17
12.5.0.0/16
12.5.128.0/17
12.5.0.0/16
NO-EXPORT
NO-EXPORT
12.5.0.0/17
12.5.128.0/17
12.5.0.0/16
E-BGP
E-BGP
E-BGP
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
12.5.1.0/24
12.5.0.0/16
R1
R5
R4
LAN
R3
R2
E-BGPE-BGPI-BGP
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)
AS1 AS2
AS3
12.5.0.0/16
21.3.0.0/16
12.5.0.0/16
21.3.0.0/16 (backup)
12.5.0.0/16 (backup)
21.3.0.0/16
E-BGP
E-BGP E-BGP
ISP1 ISP2
cliente
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
AS1 AS2
AS3
12.5.0.0/16
21.3.0.0/16
12.5.0.0/16
21.3.0.0/16 (backup)12.5.0.0/16 (backup)
21.3.0.0/16
E-BGP
E-BGP E-BGP
ISP1 ISP2
cliente
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
AS4AS2
Community 2:20
rutas clientes transito
Community 2:30
rutas de los prov.
AS3 exporta a su ISP: 2:20 (las rutas de sus
clientes)
AS3 exporta a su ISP 2:100 (sus propias
rutas)
AS1
Si community 2:100 then set LocPrf =100
Si community 2:20 then set LocPref=20
Si community 2:30 then set LocPref=30
AS2 hace:
AS value2:1002:20
2:30
AS2 prefiere las rutas de AS3 por el enlace AS3, el resto de rutas (AS4 y AS1 por su enlace con AS4