Kademlia protocol is widely used by many p2p applications, if kernel support the Kademlia protocol and its p2p network infrastracture. it will be easier to bring us into a new stage of network with much more freedom and equality. 1.systems could get public identity on network much more easier, and need not depend on DNS system, which usual controled by buraucracy agents. 2. system presence on network is easier to resolved in a dynamic ip environment that many ISPs use to effectively use IP address. and communication could be much easier. 3.many p2p applications could be releaved from building the p2p network infrastracture repeatedly and focus on application features. 4. some restrictions imposed by buraucracy censorship will be breaked and give us much more communication freedom 5. all linux systems could be equal citizens of a unified greate linux p2p network and promote the development of p2p network. --
And why exactly can't this be done in userspace? I assume that since you mention IP that (perhaps incorrectly) this protocol uses TCP/UDP on the lower layers... Valeo --
Sorry, but no. You're suggesting adding a protocol to the kernel that fits better in userspace without actually coming up with any reasons why having it in-kernel would be better. Not to mention that adding yet another protocol to the kernel means more vectors for possible exploits. Valeo --
1) You failed to explain what kernel support, if any, would be needed for this protocol. What does Kademlia do that the current kernel can't handle already? (Hint - if it runs on a Windows system without patching the Windows kernel, it almost certainly doesn't need extensive patches for Linux either). 2) You forgot to cc: netdev@vger.kernel.org, which is where all the networking people hang out.
---------- Forwarded message ---------- From: hp fk <fkhp101@gmail.com> Date: 2010/8/2 Subject: Re: a Great Idea - include Kademlia networking protocol in kernel To: Valdis.Kletnieks@vt.edu popular file sharing p2p applications like emule and bittorrent, innovative application like Osiris each has its own Kademlia protocol implementation in userspace presently. the imaginable kernel support needed is to reduce many repeated (different or same) Kademlia protocol implementations running in userspace to a consolidated one at kernel level, so that the Kademlia protocol as a p2p network infrastructure is provided in kernel and any p2p application could just use the interface provided by kernel, thus a great p2p network is easily created, and applications on that network infrastructure could grow rapidly. --
If all you want to do is share a Kademlia implementation among applications, it should be in a user-space shared library. This library could also be ported to other operating systems, unlike a Linux-only kernel module that portable applications wouldn't want to use anyway. I think Kademlia only belongs in the kernel if something in the kernel itself needs it. And even then it shouldn't be exported to user space. Damjan Jovanovic --
HTTP if more of an access protocol,the logical network is woven in the web page controled by html, the network needed is formed and take part in by tcp/ip protocol which usually lies in kernel. Kademlia itself has the responsibility to weave the p2p network and bring a node into the p2p network before access can be done. --
You're still failing to explain why the kernel needs to do this rather than some -lkademlia in userspace.
Specifically, the reasons a network protocol goes in the kernel is either because it needs a multiplex that isn't possible in userspace (UDP, for example, needs a port number multiplex), or because acceptable performance isn't possible in userspace (this mostly applies to NFS.) -hpa --
On Mon, 2010-08-02 at 20:24 +0800, hp fk wrote: -ENO_URL_WITH_INTRODUCTION_ON_KADEMLIA -ENO_PATCH [ Untechnical marketing and sales blurb deleted ] Bernd -- Bernd Petrovitsch Email : bernd@petrovitsch.priv.at LUGA : http://www.luga.at --
Candidate for LWN's quote of the week, surely!? ;) Valeo --
