
"Mir hunn eng Telefonverbindung tëscht eis an de KÀrelen vum SRI opgeriicht ...", sot de Kleinrock ... an engem Interview:
"Mir hunn de L ageschriwwen a mir hunn um Telefon gefrot: "Gesitt Dir de L?"
"Jo, mir gesinn den L," koum d'Ăntwert.
"Mir hunn den O getippt, a mir hu gefrot: "Kuckt Dir den O."
"Jo, mir gesinn den O."
"Dunn hu mir den G ageschriwwen, an de System ass erofgefall" ...Awer eng Revolutioun huet ugefaang ...
Den Ufank vum Internet.
Hallo jiddereen!
MÀin Numm ass Alexander, ech sinn en Netzwierkingenieur am Linxdatacenter. Am heutegen Artikel schwÀtze mir iwwer Traffic Exchange Points (Internet Exchange Points, IXP): wat virun hirem Optrëtt, wéi eng Aufgaben se léisen a wéi se gebaut ginn. Och an dësem Artikel wÀert ech de Prinzip vun der Operatioun vun IXP mat der EVE-NG Plattform an dem BIRD Software Router demonstréieren, sou datt Dir e VerstÀndnis hutt wéi et "ënnert der Hood" funktionnéiert.
E bësse vun der Geschicht
Wann Dir kuckt , da gesitt Dir datt de séiere Wuesstum vun der Unzuel vun de Verkéiersaustauschpunkten am Joer 1993 ugefaang huet. Dëst ass wéinst der Tatsaach, datt de gréissten Deel vum Traffic vun den Telekomoperateuren, deen deemools existéiert huet, duerch d'US Backbone-Netz gaang ass. Also, zum Beispill, wann de Verkéier vun engem Bedreiwer a FrankrÀich op en Bedreiwer an DÀitschland gaang ass, ass et fir d'éischt vu FrankrÀich an d'USA gaang, an eréischt duerno vun den USA an DÀitschland. De Backbone Reseau huet an dësem Fall als Transit tëscht FrankrÀich an DÀitschland gehandelt. Och de Verkéier an engem Land ass dacks net direkt gaang, mee duerch d'Backbone Netzwierker vun den amerikanesche Betreiber.
Dësen Zoustand beaflosst net nëmmen d'KÀschte fir den Transitverkéier ze liwweren, awer och d'Qualitéit vun de KanÀl a Verspéidungen. D'Zuel vun den Internetbenotzer ass eropgaang, nei Betreiber erschéngen, de Volume vum Traffic ass eropgaang, an den Internet reift. Opérateuren ronderëm d'Welt hunn ugefaang ze realiséieren datt eng méi rational Approche fir d'Interoperateur Interaktioun ze organiséieren néideg war. "Firwat soll ech, Bedreiwer A, den Transit duerch en anert Land bezuelen, fir de Bedreiwer B ze liwweren, deen op der nÀchster Strooss lÀit?" Dat ass ongeféier d'Fro déi d'Telekomoperateure sech deemools gestallt hunn. Also hunn de Verkéiersaustauschpunkten a verschiddenen Deeler vun der Welt op Bedreiwer Konzentratiounspunkte ugefaang:
- 1994 - LINX zu London,
- 1995 - DE-CIX zu Frankfurt,
- 1995 - MSK-IX, zu Moskau, etc.
Internet an eis Deeg
Konzeptuell besteet d'Architektur vum modernen Internet aus villen autonomen Systemer (AS) a ville Verbindungen tëscht hinnen, souwuel kierperlech wéi logesch, déi de Wee vum Traffic vun engem AS an en aneren bestëmmen.
ASs sinn normalerweis Telekomoperateuren, Internet Ubidder, CDNs, Datenzenteren, an Enterprise Segmentfirmen. ASes organiséieren logesch Verbindungen (peering) ënner sech, normalerweis mam BGP Protokoll.
Wéi autonom Systemer dës Verbindungen organiséieren gëtt vun enger Rei vu Faktoren festgeluegt:
- geographesch,
- wirtschaftlech,
- politesch,
- Accorden a gemeinsam Interesse tëscht AS Besëtzer,
- an esou weider.
Natierlech huet dëst Schema eng gewësse Struktur an Hierarchie. Also sinn d'Bedreiwer an Tier-1, Tier-2 an Tier-3 opgedeelt, a wann d'Clientë fir e lokalen Internetprovider (Tier-3) normalerweis normal Benotzer sinn, dann zum Beispill fir Tier-1 Niveau Opérateuren d'Clientë sinn aner Opérateuren. Tier-3 Betreiber aggregéiert de Traffic vun hiren Abonnenten, Tier-2 Telekombetreiber, am Tour, aggregéiert de Traffic vun Tier-3 Betreiber, an Tier-1 - all Internetverkéier.
Schematesch kann et esou duergestallt ginn:

Dëst Bild weist datt de Verkéier vun ënnen no uewen aggregéiert ass, d.h. vun Endbenotzer bis Tier-1 Bedreiwer. Et gëtt och en horizontalen Austausch vu Verkéier tëscht ASen déi ongeféier glÀichwÀerteg matenee sinn.
En integralen Deel a glÀichzÀiteg en Nodeel vun dësem Schema ass eng gewëssen Duercherneen vu Verbindungen tëscht autonome Systemer, déi méi no beim Endverbraucher sinn, an engem geographesche Gebitt. Bedenkt d'Bild hei drënner:

Loosst eis dovun ausgoen datt et an enger grousser Stad 5 Telekomoperateuren sinn, peering tëscht deenen, aus engem oder anere Grond, organiséiert ass wéi uewen gewisen.
Wann de Benotzer Petya, verbonne mam Go ISP, wëll Zougang zu engem Server verbonne mat dem ASM Provider, da gëtt de Verkéier tëscht hinnen gezwongen duerch 5 autonom Systemer ze passéieren. Dëst vergréissert d'Verspéidung well d'Zuel vun de Reseau Apparater duerch déi de Verkéier geet erop, wéi och de Volume vun Transitstreck Verkéier op autonom Systemer tëscht Go an ASM.
Wéi d'Zuel vun den Transit ASs ze reduzéieren, déi de Verkéier gezwongen ass duerchzegoen? Dat ass richteg - Verkéiersaustauschpunkt.
Haut gĂ«tt d'Entstoe vun neien IXPs duerch dĂ©iselwecht Bedierfnesser gedriwwen wĂ©i an de frĂ©ien 90er-2000er, nĂ«mmen op enger mĂ©i klenger Skala, als Ăntwert op d'ErhĂ©ijung vun den Telekomoperateuren, Benotzer a VerkĂ©ier, dĂ©i wuessend QuantitĂ©it un Inhalt generĂ©iert vun CDN Netzwierker an Daten Zentren.
Wat ass en Austauschpunkt?
E Verkéiersaustauschpunkt ass eng Plaz mat enger spezieller Netzwierkinfrastruktur, wou Participanten, déi am géigesÀitege Trafficaustausch interesséiert sinn, géigesÀitege Peering organiséieren. D'Haaptrei Participanten vun Verkéier Austausch Punkten: Telecom Opérateuren, Internet Ubidder, Inhalt Provider an Daten Zentren. Bei Verkéiersaustauschpunkte verbannen d'Participanten direkt mateneen. Dëst erlaabt Iech déi folgend Problemer ze léisen:
- latency reduzéieren,
- d'Quantitéit vum Transitverkéier reduzéieren,
- optimiséieren Routing tëscht AS.
Bedenkt datt IXPs a ville grousse Stied ronderëm d'Welt prÀsent sinn, huet dëst alles e positiven Effekt op den Internet als Ganzt.
Wann déi uewe genannte Situatioun mam Petya mat IXP geléist gëtt, da wÀert et esou erauskommen:

Wéi funktionéiert e Verkéiersaustauschpunkt?
Als Regel ass en IXP eng separat AS mat engem eegene Block vun ëffentlechen IPv4/IPv6 Adressen.
Den IXP Netz besteet meeschtens aus engem kontinuéierleche L2 Domain. Heiansdo ass dëst einfach e VLAN deen all IXP Clienten hÀlt. Wann et ëm méi grouss, geographesch verdeelt IXPs geet, kënnen Technologien wéi MPLS, VXLAN, etc., benotzt ginn fir en L2 Domain z'organiséieren.
IXP Elementer
- SKS. Et gëtt nÀischt ongewéinlech hei: Racken, optesch Cross-Connects, Patch Panels.
- Schalter - d'Basis vun IXP. De Schalterhafen ass den EntrĂ©e an den IXP Netz. Schalter maachen och en Deel vun de SĂ©cherheetsfunktiounen - si filteren de JunkverkĂ©ier deen net am IXP Netz soll sinn. Als Regel, Schalter sinn ausgewielt basĂ©iert op funktionell Ufuerderunge - ZouverlĂ€ssegkeet, Ă«nnerstĂ«tzt Port Geschwindegkeet, SĂ©cherheet Fonctiounen, sFlow ĂnnerstĂ«tzung, etc.
- Route Server (RS) - en integralen an noutwendegen Deel vun all modernen VerkĂ©iersaustauschpunkt. De Prinzip vun der Operatioun ass ganz Ă€hnlech wĂ©i de Routerreflektor an iBGP oder dem designĂ©ierte Router an OSPF a lĂ©ist dĂ©iselwecht Probleemer. WĂ©i d'Zuel vun de Participanten an engem VerkĂ©iersaustauschpunkt wiisst, erhĂ©icht d'Zuel vun de BGP Sessiounen, dĂ©i all Participant muss Ă«nnerstĂ«tzen, d.h. dĂ«st erĂ«nnert un dĂ©i klassesch Vollmesh Topologie an iBGP. RS lĂ©ist de Problem op dĂ©i folgend ManĂ©ier: et stellt eng BGP Sessioun mat all interessĂ©ierten IXP Participant, an dee Participant gĂ«tt en RS Client. Kritt e BGP Update vun engem vu senge Clienten, RS schĂ©ckt dĂ«sen Update un all seng aner Clienten, natierlech, mat Ausnam vun deem aus deem dĂ«sen Update kritt gouf. Also eliminĂ©iert RS de Besoin fir e Vollmesh tĂ«scht all IXP Memberen z'etablĂ©ieren an elegant de Skalierbarkeetproblem lĂ©ist. Et ass derwĂ€ert ze notĂ©ieren datt de Routeserver transparent Strecken vun engem AS an en anert iwwerdrĂ©it ouni Ănnerungen un den Attributer ze maachen, dĂ©i vu BGP iwwerdroe ginn, zum Beispill, et fĂŒĂŒgt d'Zuel a sengem AS net un den AS-Wee. Och op RS gĂ«tt et Basisfilter vu Strecken: zum Beispill, RS akzeptĂ©iert net Martians Netzwierker an d'PrĂ€fixe vum IXP selwer.
En Open Source Software Router, BIRD (Vogel Internet Routing Daemon), gëtt dacks als Route Server Léisung benotzt. Déi gutt Saach doriwwer ass datt et gratis ass, séier op déi meescht Linux Verdeelungen ofsetzt, e flexibele Mechanismus huet fir Routing-/Filterpolitiken opzestellen an net op Rechenressourcen erfuerderlech ass. Och eng Hardware / virtuell Router aus Cisco, Juniper, etc.. kann als RS ausgewielt ginn.
- Sécherheet. Well en IXP Netz eng Konzentratioun vun enger grousser Zuel vun ASen ass, muss d'Sécherheetspolitik déi all Participanten verfollegen muss gutt geschriwwe sinn. Am Allgemengen, all déiselwecht Mechanismen, déi gëllen wann Dir e BGP-Adjacency tëscht zwee separate BGP-Peer ausserhalb vun engem IXP opstellt, gëllen hei, plus e puer zousÀtzlech Sécherheetsfeatures.
Zum Beispill ass et gutt Praxis fir de Verkéier nëmme vun enger spezifescher Mac Adress vum IXP Participant z'erméiglechen, déi am Viraus ausgehandelt gëtt. Verleegnen Traffic mat Ethertype Felder aner wéi 0x0800 (IPv4), 0x08dd (IPv6), 0x0806 (ARP); dat gëtt gemaach fir den Traffic auszefilteren deen net an de BGP Peering gehéiert. Mechanismen wéi GTSM, RPKI, etc.
VlÀicht déi uewendriwwer sinn d'Haaptkomponente vun all IXP, onofhÀngeg vun der Skala. Natierlech kënne méi grouss IXPs zousÀtzlech Technologien a Léisungen op der Plaz hunn.
Et geschitt datt IXP och seng Participanten zousÀtzlech Servicer ubitt:
- op den IXP TLD DNS Server gesat,
- Hardware NTP Server installéieren, wat d'Participanten erlaabt d'ZÀit prÀzis ze synchroniséieren,
- bidden Schutz géint DDoS Attacken, etc.
Wéi se funktionéiert
Loosst eis op de Prinzip vun der Operatioun vun engem Verkéiersaustauschpunkt kucken, andeems Dir d'Beispill vun engem einfachen IXP benotzt, mat EVE-NG modelléiert, a betruecht dann d'Basiskonfiguratioun vun engem BIRD Software Router. Fir d'Diagramm ze vereinfachen, wÀerte mir sou wichteg Saachen wéi Redundanz a Feelertoleranz ausgoen.
D'Netzwierktopologie gëtt an der Figur hei ënnen gewisen.

Loosst eis unhuelen datt mir e klengen Austauschpunkt verwalten an déi folgend Peeringoptiounen ubidden:
- ëffentlech Peering,
- PrivatsphÀr,
- peering iwwer Route Server.
Eis AS Nummer ass 555, mir besëtzen e Block vun IPv4 Adressen - 50.50.50.0/24, aus deem mir IP Adresse erausginn fir déi, déi mat eisem Netz verbannen wëllen.
50.50.50.254 - IP Adress konfiguréiert op der Route Server Interface, mat dëser IP Clienten wÀert eng BGP Sëtzung am Fall vun Peering via RS etabléieren.
Och, fir Peering iwwer RS, hu mir eng einfach Routing Politik baséiert op der BGP Gemeinschaft entwéckelt, déi IXP Participanten erlaabt ze regléieren op wien a wéi eng Strecken ze schécken:
BGP Communautéit
Beschreiwung
LOCAL_AS:PEER_AS
Schéckt PrÀfixe nëmmen op PEER_AS
LOCAL_AS:IXP_AS
Transfert PrÀfixe fir all IXP Participanten
3 Clientë wëllen un eisem IXP konnektéieren an de Verkéier austauschen; Loosst eis soen datt dëst Internet Ubidder sinn. Si wëllen all Peering duerch e Routeserver organiséieren. Drënner ass en Diagramm mat Client Verbindung Parameteren:
Client
Client AS Nummer
Client ugekënnegt PrÀfixe
IP Adress un de Client ausgestallt fir un den IXP ze verbannen
ISP #1
AS 100 virgestallt
1.1.0.0/16
50.50.50.10/24
ISP #2
AS 200 virgestallt
2.2.0.0/16
50.50.50.20/24
ISP #3
AS 300 virgestallt
3.3.0.0/16
50.50.50.30/24
Basis BGP Setup um Client Router:
router bgp 100
no bgp enforce-first-as
bgp log-neighbor-changes
neighbor 50.50.50.254 remote-as 555
address-family ipv4
network 1.1.0.0 mask 255.255.0.0
neighbor 50.50.50.254 activate
neighbor 50.50.50.254 send-community both
neighbor 50.50.50.254 soft-reconfiguration inbound
neighbor 50.50.50.254 route-map ixp-out out
exit-address-family
ip prefix-list as100-prefixes seq 5 permit 1.1.0.0/16
route-map bgp-out permit 10
match ip address prefix-list as100-prefixes
set community 555:555
Et ass derwĂ€ert de no bgp enforce-first-as Astellung hei ze notĂ©ieren. Par dĂ©faut erfuerdert BGP datt den as-Wee vun engem empfangenen BGP Update d'as bgp Nummer vum Peer enthĂ€lt, aus deem den Update kritt gouf. Awer well de Routeserver keng Ănnerungen am as-path mĂ©cht, wĂ€ert seng Nummer net am as-path sinn an d'AktualisĂ©ierung gĂ«tt verworf. DĂ«s Astellung gĂ«tt benotzt fir de Router dĂ«s Regel ze ignorĂ©ieren.
Mir gesinn och datt de Client bgp Gemeinschaft 555:555 op dëse PrÀfix gesat huet, wat no eiser Politik bedeit datt de Client dëse PrÀfix fir all aner Participanten wëll annoncéieren.
Fir Router vun anere Clienten wÀerten d'Astellunge Àhnlech sinn, mat Ausnam vun hiren eenzegaartege Parameteren.
Beispill BIRD Konfiguratioun:
define ixp_as = 555;
define ixp_prefixes = [ 50.50.50.0/24+ ];
template bgp RS_CLIENT {
local as ixp_as;
rs client;
}
Déi folgend beschreift e Filter deen net Martians PrÀfixe akzeptéiert, souwéi d'PrÀfixe vum IXP selwer:
function catch_martians_and_ixp()
prefix set martians;
prefix set ixp_prefixes;
{
martians = [
0.0.0.0/8+,
10.0.0.0/8+,
100.64.0.0/10+,
127.0.0.0/8+,
169.254.0.0/16+,
172.16.0.0/12+,
192.0.0.0/24+,
192.0.2.0/24+,
192.168.0.0/16+,
198.18.0.0/15+,
198.51.100.0/24+,
203.0.113.0/24+,
224.0.0.0/4+,
240.0.0.0/4+ ];
if net ~ martians || net ~ ixp_prefixes then return false;
return true;
}
Dës Funktioun implementéiert d'Routing Politik déi mir virdru beschriwwen hunn.
function bgp_ixp_policy(int peer_as)
{
if (ixp_as, ixp_as) ~ bgp_community then return true;
if (ixp_as, peer_as) ~ bgp_community then return true;
return false;
}
filter reject_martians_and_ixp
{
if catch_martians_and_ixp() then reject;
if ( net ~ [0.0.0.0/0{25,32} ] ) then {
reject;
}
accept;
}
Mir konfiguréieren Peering, applizéieren entspriechend Filteren a Politiken.
protocol as_100 from RS_CLIENT {
neighbor 50.50.50.10 as 100;
ipv4 {
export where bgp_ixp_policy(100);
import filter reject_martians_and_ixp;
}
}
protocol as_200 from RS_CLIENT {
neighbor 50.50.50.20 as 200;
ipv4 {
export where bgp_ixp_policy(200);
import filter reject_martians_and_ixp;
}
}
protocol as_300 from RS_CLIENT {
neighbor 50.50.50.30 as 300;
ipv4 {
export where bgp_ixp_policy(300);
import filter reject_martians_and_ixp;
}
}
Et ass derwĂ€ert ze notĂ©ieren datt et op engem Routeserver gutt ass fir Strecken vu verschiddene Peer a verschidde RIBs ze setzen. BIRD erlaabt Iech dĂ«st ze maachen. An eisem Beispill, fir Einfachheet, all AktualisĂ©ierungen, dĂ©i vun alle Cliente kritt ginn, ginn op eng gemeinsam RIB bĂ€igefĂŒĂŒgt.
Also, loosst eis kucken wat mir hunn.
Um Route Server gesi mir datt eng BGP Sessioun mat allen drÀi Clienten etabléiert ass:

Mir gesinn datt mir PrÀfixe vun alle Cliente kréien:

Op den als 100 Router gesi mir datt wann et nëmmen eng BGP Sessioun mam Routeserver gëtt, mir PrÀfixe vu béiden 200 an als 300 kréien, wÀhrend d'BGP Attributer net geÀnnert hunn, wéi wann d'Peering tëscht Clienten direkt duerchgefouert gouf:

Also gesi mir datt d'PrÀsenz vun engem Routeserver d'Organisatioun vum Peering op der IXP staark vereinfacht.
Ech hoffen datt dës Demonstratioun Iech gehollef huet besser ze verstoen wéi IXPs funktionnéieren a wéi de Routeserver op engem IXP funktionnéiert.
Linxdatacenter IX
Am Linxdatacenter hu mir eisen eegene IXP gebaut op Basis vun enger Feelertolerant Infrastruktur vun 2 Schalteren an 2 Routeserveren. Eis IXP leeft elo am Testmodus, a mir invitĂ©ieren jiddereen op Linxdatacenter IX ze verbannen an un Testen deelzehuelen. Wann Dir ugeschloss hutt, kritt Dir e Port mat enger Bandbreedung vun 1 Gbit / s, d'FĂ€egkeet fir duerch eise Routeserver ze peeren, souwĂ©i Zougang zu Ărem persĂ©inleche Kont vum IX Portal, verfĂŒgbar op .
Schreift a Kommentarer oder privat Messagen fir Zougang zum Test ze kréien.
Konklusioun
Verkéiersaustauschpunkte sinn am Sonnenopgang vum Internet entstanen als Tool fir d'Fro vum suboptimale Verkéiersfloss tëscht Telekomoperateuren ze léisen. Elo, mat dem Advent vun neie globale Servicer an enger Erhéijung vun der Quantitéit vum CDN-Traffic, Austauschpunkte weider fir d'Operatioun vum globalen Netzwierk ze optimiséieren. D'Erhéijung vun der Unzuel vun IXPs op der Welt profitéiert souwuel den Endbenotzer vum Service wéi och Telekomoperateuren, Inhaltsbedreiwer, etc. Fir IXP Participanten ass de Benefice ausgedréckt an d'Reduktioun vun de KÀschte fir extern Peering z'organiséieren, d'Reduktioun vum Betrag vum Traffic fir dee méi héije Bedreiwer musse bezuelen, d'Routing optimiséieren an d'FÀegkeet fir en direkten Interface mat Inhaltsbedreiwer ze hunn.
Nëtzlech Adressen
- Kuckt eng Kaart vun der Lag vun de Verkéiersaustauschpunkten:
- Kuckt detailléiert Statistiken iwwer BGP Peering, inklusiv PrÀsenz op IXP:
Source: will.com
