Network Framework 1. Über Es gibt viele Netzwerkspezifische Funktionen die man oft verwendet (Verbindung aufbauen, trennen und überprüfen). Diese Aktionen sind aber stark abhängig davon welchen Netzwerktyp man verwendet. Dieses Framework soll die gleichen Befehle für alle Typen bereitstellen. Damit ist natürlich nicht möglich Netzwerktypische Befehle auszuführen. 1.1 Vorteile Man verwendet immer die gleichen Befehle für alle Verbindungsarten. Die Konfiguration wird vereinfacht. Es ist möglich Skripte beim Beenden und Starten von jeder Verbindung auszuführen. Einheitliche Befehle vereinfachen die Verwendung in Skripte. Man kann das ganze einfach für neue Verbindungen erweitern. 1.2 Bereits vorhandes Um Routen einrichten, Netzwerkkarten konfigurieren oder auflisten braucht man kein weiteres Framework, da dort bereits eine konsistente und flexible Tools (ifup,ifdown,ifconfig) vorhanden sind. 2. Netzwerktypen Für jeden Netzwerktyp braucht man ein eigenes Programm, welches den Netzwerktypischen Code enthält. möglich sind: - isdn über CAPI (pppd) - isdn über isdn4linux (isdnctrl) - Analoge Modem (ppd) - Netzwerk 10/100 MB - Bluetooth - USB Netzwerk - serielle/paralle Schnittstelle 3. Feststellen ob eine Verbindung besteht Es ist auch relativ schwierig tatsächlich festzustellen ob eine Verbindung tatsächlich besteht. Es gibt mehrere Möglichkeiten: - Schauen ob derzeit eine Verbindung aufgebaut ist VT: Sehr sichere Möglichkeit um Vorhandensein festzustellen - Überprüfen ob eine Verbindung zu einem vorgegebenen Host möglich ist. NT: langsam im Fehlerfall (timeouts) NT: Belastung des Netzwerkes VT: Sehr sichere Möglichkeit um Vorhandensein festzustellen - Kernel fragen ob Verbindung besteht - Schauen ob Interface vorhanden ist - Usertools von Netzwerktyp verwenden (isdnctrl, pppd) - Datenraten anschauen NT: geht vielleicht über ein Loopback Interface, weil Verbindung nicht besteht (vorallem bei dial on demand) - Usertools wie imontty verwenden. Optimal ist eine Kombination von obigen Punkten. 4. Interface Da es für jeden Typ anderer Code verwendet wird, ist es am besten das ganze wie bei fsck aufzuteilen, und ein Masterprogramm zu verwenden, dass die richtige Komponente für eine bestimmte Verbinung aufruft, bzw. für die Defaultverbindung wenn keine Parameter gegeben. 4.1 Rechte Die Programme sollten alle nur von root und Gruppe dialout ausgeführt werden können, damit Intern davon ausgegangen werden kann, dass der Benutzer auch die Rechte hat die Aktionen durchzuführen. Das ganze ist sehr distributionsspezifisch und die Distributionen müssen dafür sorge Tragen, dass alle Versionen zusammenspielen und bei allen Devices die Rechte richtig gesetzt sind. 4.2 Tools ifctrlWobei Aktion: - dial - hangup - status