08.05.2022 11:00
Ich bin seit mehreren Tagen daran an meinem außerhalb der EU aber im Ripe Gebiet Peering BGP – Communities zu implemenentieren damit Asien/Osteuropa Traffic dort also vor Ort ankommt und hingeleietet wird udnncih so sher zu den Peers in (Zentral-)europa innerhalb der EU. Das ist mit einem einzelen Prefix und AS das an unter-schiedliche geografisch hunderte/tausende Kilometer voneinander enfernr liegenden Orten nicht ganz einfach. Jeder Provider tagt andere Commuty Attribute an seine Routen, es sit nicht ersichtlich welches Prefix regional in welches land gehört aber so ist das im Backbone nunmal die PI-IPv4-Space Providernetze die nachher den PA-IPv4 Space routen, also die endkudnenenetze, sind ja von der Natur her schon länderübergeifend. Anhand eines AS Handles kann man (Ausnahme Telia oder UUnet) nämlich nur sehr schlecht feststellen wo man Traffi am besten anlandet, insbesondre wenn Provider an meheren Orten gleichzeitg präsent sind. Idealerwise sollte das so us-sehen das der Traffic aus asien im Asien am gegografsich nächstliegenden Peerr abgsendet/entgegengenommen wird Also im Süd/Osten und der nach Amerika an eienm Peer im Nordwesten. Also mit Präferenz, beim Ausfall eiens Peerings sollen natürlich die verbleibenden Peers den Traffic des ausgefallnen übernehmen. Miets kann man nur Communities taggen wie: D*CIX eingehend prependen (schlechtere Priorität) woebi man dann auch korrespondierend eingehend den BGP Feed des Peers

anpassen sollte damit die AS-Pfand anzhal Routesdistanz eigehend und augehend gelich ist. Das Bedute man muß dan anch AS Pfad udn am besten noch den eingehenden Communiyt Tgas suchen udn shcuen daß man bei dem BGP Full Table Feed den der Upstream anliefert dann entsprechend für diese Routen ebeenfalls noch ein AS Pfad prependet wird. Damit die Route hin udn zurück gleich lang bleibt und Traffic auf dem gelh weg rasugeht wie er reienkommt. Verifcht kann amn sichd as so vortellen daß die Pakte die UPS anliefert cuh von UPS abgeholt werden, dei die DHLS liefrt auch bei DHL aufgegeben werden, die bei Hermeis ... usw., so läuft das in einem (flächenmäßig) großen EDV Netz auch bei ausfallsicherem Roting. Was man aslo vemridne muß st das Pakte die per UPS annkommen per DHL zurück ge-schickt werden, etea wiel beim Emfänger der DHL Shop näher ist als der UPS Shop, umgekehrt wie beim Absnder Wo dann im realen Leben in der analogen Welt zusätz-lich Kosten entstehenw enn man nicht zurückversendet auf dem gleichen Wge wie hin, das ksote inder EDV auch zusätzlich, nämlch “round trip time”,Laufzeit, ist der eingehende Weg sagen wir 100ms shcnell und der aus-gehende 200 ms dann wird darsu ne paketlaufzeit von 150 Ms, also shclchter als es sien könntew enn der optimal Weg genommenwird. Daduch snstht dann Jitter, also Störungen etwa in Reltimeandnwendugwn wie der VoIP Sprachqualität wenn man Pech hat. Und um das

zu optimieren mußte ich dann ertsmalmeien looking glass scirptee auf vodermann bringen cnhdem ich letzte woche ja schon scripts für dei glue record monitoring geschichte (die sach mit der Domain) geschrieben habe. Laso viel viel arbiet woe man von andern abhängig ist, in deren Looking Glass schauen muß ob AS path Preepnds und Communitys auch wiklich so ankommen und wirken wie man das will. Multihomed/multipath routing udn das balncen der Laod ist ne wisscaft für sich. Das ist nicht so einfacht wie das MLPPP Büdneln mehere ISDN Kanäle.

202205081100-0-1.jpg
[0] "202205081100-0-1.jpg"

202205081100-0-2.jpg
[1] "202205081100-0-2.jpg"

202205081100-0-3.jpg
[2] "202205081100-0-3.jpg"
08.05.2022 11:30
#!/bin/bash

D="${1}"

T=`echo ${D} | sed s/'.*\.'//`

T=`echo "${T}" | sed -ne /'^\(at\|de\|eu\|name\|net\|me\|re\|top\)$'/p`
if [ "${T}" == "" ]; then
echo "${0} invalid argument \"${1}\""
exit 1
fi


W=`whois -h whois.iana.org ${T} | sed -ne /"^\(nserver\|whois\)"/p`
w=`echo "${W}" | sed -ne /^whois:/p | sed s/whois:// | sed s/'[ \t]*'//`
#echo ${w}

case "${T}" in
at) R=`whois -h whois.nic.at ${D} | sed /'^%'/d | sed '/^$/d'` ;;
de) R=`whois -h whois.denic.de ${D} | sed /'^%'/d | sed /^$/d` ;;
eu) R=`whois -h whois.eu ${D} | sed /'^%'/d | sed /'^$'/d | sed /'Script: LATIN'/d | sed /'Please visit www.eurid.eu for more info.'/d` ;;
name) R=`whois -h whois.nic.name ${D} | sed -ne /'^ '/p | sed /'^\([ \t]*\)$'/d | sed /'^ \(\*\)*$'/d | sed s/'^ '//` ;;
net) R=`whois -h whois.verisign-grs.com ${D} | sed -ne /'^ '/p | sed /'^$'/d | sed s/'^\([ \t]*\)'//` ;;
me) R=`whois -h whois.nic.me ${D} | sed -e '/^>>>/,$ d'` ;;
re) R=`whois -h whois.nic.re ${D} | sed /'^%%'/d | sed s/'^source:.*'/'&\n---'/ | sed /'^$'/d | sed '$d' | sed /'^\(anonymous\|obsoleted\|\(reach\|elig\)status\):'/d`;;
top) R=`whois -h whois.nic.top ${D} | sed -e '/^>>>/,$ d' | sed /'REDACTED FOR PRIVACY'/d | sed s/'Please query the RDDS service of the Registrar of Record.*'/'... query RDDS Service ...'/` ;;
*)
R="WHOIS \"${T}\" NOT IMPLEMENTED"
;;
esac
echo "${R}"

echo -ne "\n${w}\n"
N=`echo "${W}" | sed -ne /^nserver:/p | sed s/'nserver:'// | sed s/'[ \t]*'//`
#echo -ne "\n"

#echo "${N}"

n=`echo "${N}" | head -n 1`

#echo n: "${n}"
X=`echo "${n}" | sed s/' \(.*\)$'//`
a=`echo "${n}" | sed s/'^\(.*\) '//`
A=`echo "${n}" | sed s/"^${X}"// | sed s/"${a}"// | sed s/'\([ \|\t]*\)'//g`
if [ "${X}" != "" ] && [ "${a}" != "" ] && [ "${A}" != "" ] && [ "${a}" != "${A}" ] && [ "${X}" != "${A}" ] && [ "${X}" != "${a}" ]; then
x=`echo "${A}" | sed -ne /':'/p`
if [ "${x}" == "" ]; then
x="${a}"; a="${A}"; A="${x}"
fi
n="${X} ${a} ${A}"
fi
echo '>' "${n}"
echo "${N}" | sed s/'^'/'* '/ | tail -n +2

i=`echo "${n}" | sed s/'\([A-Za-z0-9\._\-]*\) '// | sed s/' .*'//`
#echo ${i}
echo -ne "\n"
C="dig @${i} ${D} in ns"
echo ${C}
c=`${C} | sed /'^$'/d | sed /'^;'/d`
S=`echo "${c}" | sed -ne /'NS'/p`
G=`echo "${c}" | sed -ne /'A'/p`
s=`echo "${S}" | sed s/'.*IN\([ \t]*\)NS\([ \t]*\)'//`
g=`echo "${G}" | sed s/'\([0-9]*\)\([ \t]*\)IN\([ \t]*\)\(A\|AAAA\)\([ \t]*\)'//`
for f in ${s}; do
echo "${S}" | sed -ne /"${f}\$"/p
f=`echo "${f}" | sed -ne /"${D}"/p`
if [ "${f}" != "" ]; then

H=`echo "${f}" | sed s/"\.${D}\.$"//`
h=`echo "${f}" | sed s/"^${H}"//`
R=`echo ".${D}." | sed s/'[A-Za-z0-9\._\-]'/'\ '/g`
r="${H}${R}"
if [ "${#r}" -gt 23 ]; then
C=""
c=0
while [ "${c}" -le 22 ]; do
C="${C}${r:${c}:1}"
c=$((c + 1))
done
r="${C}"
fi

F=`echo "${g}" | sed -ne /"^${f}"/p`
if [ "${F}" != "" ]; then
echo "${G}" | sed -ne /"^${f}"/p | sed s/"^${f}"/"${r}"/ | sed -ne /'[ \t]IN\([ \t]*\)A[ \t]'/p
echo "${G}" | sed -ne /"^${f}"/p | sed s/"^${f}"/"${r}"/ | sed -ne /'[ \t]IN\([ \t]*\)AAAA[ \t]'/p
fi
fi
done


202205081130-0-1.jpg
[0] "202205081130-0-1.jpg"

202205081130-0-2.jpg
[1] "202205081130-0-2.jpg"

202205081130-0-3.jpg
[2] "202205081130-0-3.jpg"
08.05.2022 11:31
Als kleines Besipiel mal mein Script mit dem ich mir von der iana authorative die root-name-server IPs hole per whois, zduem den wohis server der TLD Domain, dann diesen Abfrage und den Nameserver nach den etwaigen und jeweiligen gue records wobei ich nur die Einträge mit Glue Record addressen rausfiltere die wirklich in der zone liegen. Quick and dirty gecoded als Bash shellscript.

202205081131-0-1.jpg
[0] "202205081131-0-1.jpg"
08.05.2022 12:00
So, ich glaub jezt verstehen alle die das lesen das ich mit irgendwelchen kritischen Dingen beschäfigt bin die bei der Verwaltung des zsnur ud aufallsicehren Routings von meienm Blogauftritt anfallen. Für Fernsehen hatte ich da keine Zeit, sowas sind Nchsstchcihte, da fängt man wenn wenig Last im Netz ist Nacht mitdenabrite ana udndie zuehen sich oft/meist mehr als acht Studnen am stück oft ohen apsue. Getsrn hab ich etwa einrpogramm in C geshcirben das den Zebra/QUAGGA/FRR Dump den ich mit per TCL/expect fesgetserutem telenet gezogen habe (natürlich nur auf dem Loopback adapter “ferngesteurt”) so umzushciben daß die routen des “sh ip bg ” am An-fang jeder Zeile angezeigt werden, satt gar nicht, wenn es die slebe Route istw ie inder vorherigen Zeil, qausi mit nem virtuellen “Gänsefüßchen” vesrehen um die routen tabelle “human redable” zu mchen nicht. Einfach mal die Cisco Syntx anschaun. Was da gezeitw ird ist wenn man eine Routentabelle mit über 900.000 Prefixen die wiel sie von mehren Feeds her erricbr sind meist midntsns 3 mal vorhandn isnd für jeden Eitrag. Ich muß die Nälich dann nach next hop im AS Pfad ornen um ehruszufdne an welchem Peer ich im Mix wie vile Routen von welchem Upsetram meisn Upsterams bekomme. Wäre die DTAG mein Upstream, dann bruch ich ne asuwertung woe ich sehe wie viel üebdie mit sgan wir vodefone und o2/eplus tlefoneirt wird udn umgekehrt uf dem o2/eplus Anshcluß wie viel Geprcähe ans DTG netz gehen. Auch das hab ich

Anfangs per shellscript egcmht aber das dauret Stunden, das Progarmm das ich in C compilier haeb erledit das in Minuten. Was ichd a amche ist seh ählich zu dem was Das Scipt da sich gerde gepstet habe mcht, wenn es die A und AAA recordnamen aus dem dig output modifizert so daß es ein wneig ausssieht wie ein Binds-Zonefile, wo die einzelnen Records nicht Fully Qualified sind. Verifht egsgat also nur die Vornamen angezeigt werden zu dem jewsils darüberstehenden Familiennamen um es indie analoge wlt zu üebrstzen. Dig gibt da anders aus,als nen FQDN der die Spaltenbreite sprenbt bei langen Eiträgen. Und so ähloch sieht die Optuput von eienm “sh ip bg” Auch aus, di eosrets Zeil eigt die route, für die rouetns ans elcihe zeil wird inder neeun Zeil nur der next hop und AS-pfad angezigt, es fehlt ab der zeoten zeile das Prefix als die Distiantion. Udn u mchher Asuwertungen udn statsikne erstelle zu könen wo man danns ieht, agen wir in Asien/Osteuropa kommt viel Traffi üerb den Upsteram meines BGP-Upsteram-Providers bruch ich halt eien ander Tabbel als die die ausgegebnw ird. Und mit der hab ich dann alle AS die mehr als 100.000 Routen nalanden ben mit Communities FEIN GRANULIERT. Des-halb bekommr jetzt Tinet/Saprkle über das Peering aus dem Osten keien Route merh zum Announcen ans D*CIX udndie lokal vorhnden Provder werden bevorzugt satt das man den Traffic üerb Osteruopa/Asien “Out Of EU” Area aber imRipe Areal umleitet. Richttig viel Arbeit.

Als aktulaitätsnchweis hab ich dennoch getsrn am späten abend kurz das TV ansgschlatte, das “#DuellUmDieWelt” mit Joko udn Kaas auf Pro7. Das musste ein Frau in einer Höhle die von Fledermäsen besidelt war im Dschungel irgendeine seleten Blume pflücken. Ich glaube das gnügt als Aktualitätsnachweis für mein Blog, lait eien Trailer den ich vor ein paar Tagen zufällig sah inder Werbepause War das ne neue Folge der Sndung, keien Wiederholung.

https://www.tvinfo.de/fernsehprogramm/1522493151-das-duell-um-die-welt-team-joko-gegen-team-klaas

202205081200-0-1.jpg
[0] "202205081200-0-1.jpg"

202205081200-0-2.jpg
[1] "202205081200-0-2.jpg"

202205081200-0-3.jpg
[2] "202205081200-0-3.jpg"