[Prex-devel] Prex Networking
Status: Beta
Brought to you by:
kohtani
From: Ivo V. <ivo...@gm...> - 2005-09-19 11:38:08
|
Hello all I've beel browsing sf.net for RTOS related projects and found PREX. I like the current architecture and wnat to help someway. I'm currently a student and have some experience with networking and system programming. So I'd like to propose a way to organise the NET server in PREX. It's multi level "engine", with layer close to the OSI model, using message passing between the stages: - OSI Layer 1 support - device drivers as separate processes; - post-L1/pre-L2 hooks in the NET server - OSI Layer 2 support - Ethernet/FR, MAC, LLC, HDLC support - post-L2/pre-L3 hooks in the NET server - OSI Layer 3 support - IP[v6], ICMP, routing, QoS support - post-L3/pre-L4 hooks in the NET server - OSI Layer 4 support - TCP/UDP support - post-L4 hooks - for upper layers/filters/etc - socket library Kernel must support structure with entries for all of these stages. Each process, who wants to take part in the networking should "register" for slot in the structure. The place shows what kind of data it's going to recieve. For example - one registers as OSI Layer 3 support - so it gets IP packets and care about routing. Post-/Pre- hooks should allow any process easy access to the data in the network system at any stage, for examples - filters, converters, queue managers, delayers, probability packet droppers, etc. --=20 "UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." Dennis Ritchie |