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

Documentos relacionados