Regisztráció és bejelentkezés

eBPF alapú adatközpont-hálózati megoldások funkcionális- és teljesítményvizsgálata

Az utóbbi években a felhő alapú technológiák új kihívást jelentenek a távközlési szolgáltatóknak. A valós idejű adattovábbítás kulcsfontosságú szerepet tölt be számos területen, például az intelligens közlekedés során felmerülő azonnali beavatkozásoknál, videókonferenciánál, vagy olyan kliens-oldali alkalmazásoknál, ahol megbízható, valós idejű kiszolgálást kell biztosítanunk [1]. Az ötödik generációs mobil celluláris hálózatok megjelenésével ezt az igényt is ki lehet szolgálni, köszönhetően egy újszerű technológiának, a hálózat szeletelésnek (Network Slicing) [2]. Ennek a segítségével képesek vagyunk hálózati szegmenseket elkülöníteni abból a célból, hogy a kívánt szolgáltatási igényeket folyamatosan kielégítsük. Az iparban jelenleg elterjedtek a Multi Protocol Label Switching (MPLS) alapon működő transzport- és maghálózatok, melyekben az MPLS lehetőséget nyújt a hálózatszeletelés támogatására, és szolgáltatási garanciát is képes biztosítani. A hátránya azonban az, hogy nagyon sok féle protokollt használ egy ilyen teljes vertikumú hálózat. Célszerű lenne olyan forgalomtovábbítási technológiára támaszkodni, amely az MPLS szolgáltatásait megtartva képes lenne egy egyszerűbb architektúrális működést lehetővé tenni, és támogatja a ráépülő maghálózati és adatközpont-hálózati igényeket is, egyben egységesebb protokollhierarchiát honosít meg. Az egyik lehetséges megoldás a Segment Routing over IPv6 (SRv6) [3][4]. Ebben a megközelítésben az összes köztes csomópont a csomag útvonala során előre meg van határozva. Ezek egy úgynevezett szegmens listában vannak elhelyezve, ami egy IPv6 protokoll kiegészítés. Maga a szegmens lista utasításokból áll, amelyek tulajdonképpen speciális IPv6-os címek. Ezekből minden egyes router feldolgoz egyet-egyet, és így kerül feldolgozásra egy adott csomag az útvonala során. Ahhoz, hogy SRv6-al képesek legyünk hálózatszeletelést megvalósítani, az MPLS-hez hasonlóan szolgáltatási garanciát kell biztosítanunk. Az ehhez szükséges SRv6 alapú kiegészítő funkciók implementálásához jól használható a szintén újszerű extended Berkeley Package Filter (eBPF) technológia [5]. Tulajdonképpen ez egy RISC alapú virtuális gép a Linux kernelben, mellyel programozható az operációs rendszer működése anélkül, hogy a kernel forráskódját módosítanánk, vagy írnánk egy új kernel modult. Ez azért lényeges tulajdonság, mert annak ellenére, hogy egy nyílt forráskódú projekt fejlesztésébe rengetegen bekapcsolódnak, nem olyan ütemben fejlődnek bizonyos kiegészítések a kernel működését tekintve, mint amekkora igény lenne rá. Ezzel a megoldással azonban a kompatibilitási probléma megszűnne, és gyakorlatilag tetszőlegesen írható lenne egy olyan SRv6 logika a csomagfeldolgozásra, ami a jelenlegi modulokban nincsen implementálva. Nem mellesleg ezzel a technológiával a csomagfeldolgozási időn is lehet javítani, köszönhetően annak, hogy az eBPF programok segítségével a csomag nem megy végig a kernel protokoll rétegein, hanem a megfelelő ponthoz érve egyből átirányításra kerül a cél interfészhez. Munkám során ezen technológiai együttes megoldásokat fogom vizsgálni, és javaslatokat tenni a csomagfeldolgozás módjairól felhő alapú környezetben. A dolgozatom első felében egy elméleti áttekintést adok az ötödik generációs mobilhálózatok architektúrájáról, működéséről. Majd összehasonlítom az MPLS, és az SRv6 protokollokat, valamint a szolgáltatásgarancia biztosítására vonatkozó megfontolásokat (Traffic Engineering). A dolgozat második felében bemutatásra kerül az eBPF, és ennek kapcsán a Cilium működése, architektúrája is. Ezután következik a tesztrendszer összeállításának részletezése, melynek során egy adatközpontot reprezentáló környezetet hozok létre. Teljesítménymérést végzek arra vonatkozóan, mennyivel hatékonyabb az eBPF programok használata két végpont közötti kommunikáció során. A tesztrendszerem egy Kubernetes alapú adatközponti hálózati környezet. Végül elvégzem a mérést SRv6 enkapszulációval is, és kiértékelem az eredményeket.

[1] H. Kim, J. Pinola, Olli Apilo, "5G Vertical Trials, Use Cases and Trials of Transportation", International Telecommunication Networks and Applications Conference (ITNAC), 2022, doi: 10.1109/ITNAC55475.2022.9998352

[2] S. Zhang, "An Overview of Network Slicing for 5G", IEEE Wireless Communications, vol. 26, no. 3, pp. 111-117, June 2019, doi: 10.1109/MWC.2019.1800234

[3] C. Filsfils Ed., D. Dukes Ed., S. Previdi, J. Leddy, S. Matsushima, and D. Voyer, "IPv6 Segment Routing Header (SRH)", RFC 8754, https://www.rfc-editor.org/info/rfc8754, March 2020, doi: 10.17487/RFC8754

[4] C. Filsfils Ed., P. Camarillo Ed., J. Leddy, D. Voyer, S. Matsushima, and Z. Li, "Segment Routing over IPv6 (SRv6) Network Programming", RFC 8986, https://www.rfc-editor.org/info/rfc8986, February 2021, doi: 10.17487/RFC8986

[5] Introduction to the concept and available tutorials of eBPF. Available online: https://ebpf.io/ (accessed on 26th of September, 2023)

szerző

  • Matusovits Döme
    Villamosmérnöki szak, alapképzés
    alapképzés (BA/BSc)

konzulensek

  • Leiter Ákos
    Óraadó, Hálózati Rendszerek és Szolgáltatások Tanszék
  • Dr. Bokor László
    egyetemi docens, Hálózati Rendszerek és Szolgáltatások Tanszék

helyezés

II. helyezett