www.wikidata.de-de.nina.az
Das Berkeley Packet Filter BPF auch Berkeley Filter bietet auf unixahnlichen Betriebssystemen eine Schnittstelle zur Sicherungsschicht an die es erlaubt Datenpakete der Sicherungsschicht zu senden und zu empfangen Falls der Treiber der Netzwerkschnittstelle den Promiscuous Mode unterstutzt kann die Schnittstelle in diesen Modus geschaltet werden damit alle Pakete des Netzwerkes auch jene die fur andere Netzwerkadapter bestimmt sind empfangen werden konnen Das BPF unterstutzt ausserdem das Filtern von Datenpaketen damit nur interessante Pakete verarbeitet werden und somit Rechenleistung gespart wird Die Berkeley Filter Funktionalitat ist als Interpreter in Maschinensprache fur die BPF VM implementiert Computerprogramme konnen somit Daten aus dem Paket lesen arithmetische Operationen darauf ausfuhren das Resultat gegen die Filterdefinition vergleichen und anschliessend das Paket akzeptieren oder verwerfen Auf manchen Systemen einschliesslich FreeBSD und WinPcap wird Just in time Kompilierung Konvertierung von Instruktionen der virtuellen Maschine in Maschinensprache unterstutzt um die Leistung des Systems zu verbessern Seitdem auch unter Linux die Just in time Kompilierung unterstutzt wird entwickelt sich der BPF dort zu einer universalen virtuellen Maschine im Kernel 1 BPF ist ein offizielles Back End fur LLVM ab Version 3 7 2 Der Interpreter kann im Kernel Modus oder Benutzer Modus laufen Kernel Modus Interpreter werden z B fur Socket Filter unter Linux oder WinPcap Mechanismen benutzt Einen Benutzer Modus Interpreter bietet die libpcap WinPcap Implementierung des Pcap API Auf Systemen ohne Kernel Modus Unterstutzung fur den Filtermechanismus konnen damit Pakete im Benutzermodus gefiltert werden 2007 wurden von Robert Watson und Christian Peron die Zero copy buffer extensions zur BPF Implementierung hinzugefugt Damit konnen vom Geratetreiber erfasste Pakete direkt in den Speicher von Programmen im Benutzermodus geschrieben werden und es entfallt ein zusatzliches Kopieren der Daten Einzelnachweise Bearbeiten Michael Larabel Understanding The Linux Kernel s BPF In Kernel Virtual Machine Phoronix 3 Marz 2015 abgerufen am 4 Marz 2015 Michael Larabel BPF Goes Through With Becoming An Official LLVM Back End Phoronix 10 Juni 2015 abgerufen am 11 Juni 2015 Weblinks Bearbeiten1993 USENIX Artikel zu BPF englisch PDF 133 kB FreeBSD Entwicklergipfel Prasentation zu Zero copy buffer extensions fur BPF englisch PDF 80 kB BPF Hilfeseiten englisch Filterdefinitionssyntax englisch PDF 77 kB bpfc BPF compiler fur Linux Teil des netsniff ng toolkit Dokumentation im Linux Kernel Linux Socket Filtering aka Berkeley Packet Filter BPF eBPF io Introduction Tutorials amp Community Resources Abgerufen von https de wikipedia org w index php title Berkeley Packet Filter amp oldid 233599498