D O K U M E N T U M A Z O N O S Í T Ó F á j l n é v : kadlecsik_jozsef_xdp_flowtables.jpg B é l y e g k é p : https://dka.oszk.hu/078300/078365/kadlecsik_jozsef_xdp_flowtables_kiskep.jpg F ő c í m : Az XDP és a flowtable B e s o r o l á s i c í m : XDP és a flowtable S z e r e p : létrehozó B e s o r o l á s i n é v : Kadlecsik U t ó n é v : József I n v e r t á l a n d ó n é v : N E s e m é n y : felvéve I d ő p o n t : 2021-05-18 E s e m é n y : elérhető I d ő p o n t : 2021-04-08 D á t u m r a v o n a t k o z ó m e g j e g y z é s : Az előadás időpontja. A t í p u s n e v e : prezentáció A t í p u s n e v e : előadás M e g n e v e z é s : Prezentáció M e g n e v e z é s : Könyvtártudomány - prezentáció M e g n e v e z é s : Networkshop 2021 M e g n e v e z é s : Videotorium A j o g t u l a j d o n o s n e v e : Kadlecsik József S z e r z ő i j o g i m e g j e g y z é s e k : Jogvédett T é m a k ö r : Számítástechnika, hálózatok A l t é m a k ö r : Operációs rendszerek T é m a k ö r : Számítástechnika, hálózatok A l t é m a k ö r : Biztonság T á r g y s z ó : operációs rendszer M i n ő s í t ő : tárgyszó/kulcsszó T á r g y s z ó : számítógép-hálózat M i n ő s í t ő : tárgyszó/kulcsszó T á r g y s z ó : adatvédelem M i n ő s í t ő : tárgyszó/kulcsszó T á r g y s z ó : 2021 M i n ő s í t ő : időszak K é p a l á í r á s : Az XDP és a flowtable N y e r s v a g y O C R - e s s z ö v e g : Az XDP és a flowtable
Kadlecsik József
Wigner Fizikai Kutatóközpont
kadlecsik.jozsef@wigner.hu
Tartalom
Nagyteljesítményű csomagfeldolgozás - "hardware speed"
XDP - Express Data Path
nftables és flowtable
XDP
eXpress Data Path
Nincs szükség speciális hardverre
De megfelelő hardver esetében: hardware offload
Nincs kernel bypass
Nem cseréli le a TCP/IP stacket
Átírhatja a csomagot + header push/pop
VLAN, tunneling
Nincs fairness vagy buffering (qdisc)
Ha TX lassú: packet drop
Sematikus áttekintés
Mire használható?
DDoS szűrés magán a célponton
DDoS előszűrés védett célpontok számára
PASS: stack lassít
TX: csomagot módosítani kell
REDIRECT
Load-balancing közvetlenül a backend szervereken
TX: csomagot módosítani kell
REDIRECT
Router
XDP-t támogató driverek
Mellanox: mlx4 és mlx5
Netronome: nfp
Cavium/Qlogic: qede
Cavium: thunder
Broadcom: bnxt
Intel: ixgbe
virtio-net
Teljesítmény
Jesper Dangaard Brouer
Single CPU: i7-6700K, 4.00GHz
Mellanox-CX4 50Gbit/s (mlx5)
Blacklist IPv4 cím alapján (packet drop)
XDP használata
eBPF kód megírása C-ben
Clang, LLVM
eBPF kód betöltése a kernelbe
Userspace kód megírása a vezérléshez
Userspace kód használata
Teljesítmény: csomag "maradjon" az XDP rétegben
Flowtable
nftables része
iptables-en keresztül nem használható
Tulajdonságok
Flow kezelés gyorsítása
Alrendszer a TCP/IP stack (nagy részének) kikerülésére
Nincs szükség speciális hardverre
De támogatott hardver esetében: hardware offload
Accept/drop/redirect/mangle/NAT/VLAN/tunnel
Network driver
A firmware kezelni tudja a flowtable-t:
Mellanox: mlx5, mlxsw
Broadcom: bnxt, bcm_sf2
Chelsio: cxgdb4
Intel: i40eia, iavf, igb
Qlogic: qede
Mscc: ocelot
Netronome: nfp
Flowtable használata
table inet filter {
flowtable flow {
hook ingress priority 0 devices = { eth0, eth1 }
flags offload
}
chain forward {
type filter hook forward priority 0; policy drop;
# offload established connections
ip protocol { tcp, udp } flow offload @flow
ipv6 nexthdr { tcp, udp } flow offload @flow
# established/related
ct state established,related accept
# ip protocol ... flow add @flow
...
}
}
Flowtable garbage collection
Bejegyzések törlődnek, ha 30 másodpercig nem érkezik új csomag
Protokoll-specifikus flowtable használat
TCP RST és FIN csomagok követik a normál útvonalat
Teljesítmény
Pablo Neira Ayuso
1 CPU, legkisebb csomagméret
Flowtable használat II.
Nem packet drop!
UDP:
DNS/NTP-t általában nem érdemes
TCP
ssh-t nem érdemes
http/https-t igen
Nincs full conntrack
Van NAT/mangle
Elegáns fallback
Hardware flowtable - software flowtable - network stack
Összefoglalás
Hol érdemes használni
High-end: sávszélesség kezelése
Low-end: CPU tehermentesítése
Middlebox: mindkettő :-)
XDP: kihívás
flowtable: admin-barát D o k u m e n t u m n y e l v e : magyar K a p c s o l ó d ó d o k u m e n t u m n e v e : Fulajtár József: DEVNET A f o r m á t u m n e v e : PowerPoint prezentáció O l d a l a k s z á m a : 16 T e c h n i k a i m e g j e g y z é s : Microsoft Office PowerPoint 2016 M e t a a d a t a d o k u m e n t u m b a n : N A f o r m á t u m n e v e : PDF dokumentum O l d a l a k s z á m a : 16 M e t a a d a t a d o k u m e n t u m b a n : N A f o r m á t u m n e v e : HTML dokumentum T e c h n i k a i m e g j e g y z é s : HTML 5 verzió M e t a a d a t a d o k u m e n t u m b a n : N L e g j o b b f o r m á t u m : JPEG képállomány L e g n a g y o b b k é p m é r e t : 770x433 pixel L e g j o b b f e l b o n t á s : 72 DPI S z í n : színes T ö m ö r í t é s m i n ő s é g e : közepesen tömörített Á l t a l á n o s m e g j e g y z é s : Networkshop konferencia 2021 A z a d a t r e k o r d s t á t u s z a : KÉSZ S z e r e p / m i n ő s é g : katalogizálás A f e l d o l g o z ó n e v e : Nagy Zsuzsanna |