L
linuxping
Unregistered / Unconfirmed
GUEST, unregistred user!
1,nat穿透最好使用什么技术? upnp?
互联网上容易找到的nat穿透方法都需要一个具有公网ip的server。这有点违背p2p精神。
如何实现只需要知道p2p grid中一个已经存在的节点(种子)就可以登录p2p grid?
假设已经知道了一个p2p grid中的节点NodeA(ip xxx.xxx.xxx.xxx,port 12345 当然这只是映射到nat之后的ip,port)。它的前缀节点是predA,后缀节点是SuccA。
问题2:
如果NodeA处在一个nat后面,而没有server,如何连接到NodeA?
问题3:
Chord 上的节点A突然下线(比如 直接关机)。 ,在没有服务器的情况下,如何通知它的前缀节点和后缀节点? 一个方法是每个节点都定时轮询它的前缀节点predA和后缀节点SuccA。当节点A突然下线时,前缀节点predA轮询发现NodeA无法连接,它怎么重新建立chord 环?
一个容易想到的方法是在每个节点上存储多个前缀节点(predA1,predA2,predA3.。。。),多个后缀节点(SuccA1,SuccA2,SuccA3。。。),当前缀节点predA1轮询发现NodeA无法连接时,他就直接连接到succA1,建立chord环。但是这时轮询成本增大,如果每个节点上存储5个前缀节点,5个后缀节点,哪么它就要轮询10个节点? 这会增加网络负荷。 有没有什么更好的方法?
如果每个节点上保存的前缀节点和后缀节点太少,那么,如果choed环上的几个连续的节点同时下线,怎么办?
即使我们保存足够多的前缀节点和后缀节点,choed环上的足够多的连续的节点同时下线的可能还是有的。这时chord环会断裂。chord网络会崩溃。怎么办?
////////////////////////////////////////////////////////////
最后给个网站: http://pdos.csail.mit.edu/chord/#downloads
程序下载: http://pdos.csail.mit.edu/chord/snapshots/
还有Macedon (C++).
i3/Chord (C, appears to support Windows).
P2 (A custom declarative language).
The Circle (Python).
Open Chord (Java).
Overlay Weaver (Java).
i3 (Java, J2EE).
nchord (C#)
可以在sf.net上找到。
互联网上容易找到的nat穿透方法都需要一个具有公网ip的server。这有点违背p2p精神。
如何实现只需要知道p2p grid中一个已经存在的节点(种子)就可以登录p2p grid?
假设已经知道了一个p2p grid中的节点NodeA(ip xxx.xxx.xxx.xxx,port 12345 当然这只是映射到nat之后的ip,port)。它的前缀节点是predA,后缀节点是SuccA。
问题2:
如果NodeA处在一个nat后面,而没有server,如何连接到NodeA?
问题3:
Chord 上的节点A突然下线(比如 直接关机)。 ,在没有服务器的情况下,如何通知它的前缀节点和后缀节点? 一个方法是每个节点都定时轮询它的前缀节点predA和后缀节点SuccA。当节点A突然下线时,前缀节点predA轮询发现NodeA无法连接,它怎么重新建立chord 环?
一个容易想到的方法是在每个节点上存储多个前缀节点(predA1,predA2,predA3.。。。),多个后缀节点(SuccA1,SuccA2,SuccA3。。。),当前缀节点predA1轮询发现NodeA无法连接时,他就直接连接到succA1,建立chord环。但是这时轮询成本增大,如果每个节点上存储5个前缀节点,5个后缀节点,哪么它就要轮询10个节点? 这会增加网络负荷。 有没有什么更好的方法?
如果每个节点上保存的前缀节点和后缀节点太少,那么,如果choed环上的几个连续的节点同时下线,怎么办?
即使我们保存足够多的前缀节点和后缀节点,choed环上的足够多的连续的节点同时下线的可能还是有的。这时chord环会断裂。chord网络会崩溃。怎么办?
////////////////////////////////////////////////////////////
最后给个网站: http://pdos.csail.mit.edu/chord/#downloads
程序下载: http://pdos.csail.mit.edu/chord/snapshots/
还有Macedon (C++).
i3/Chord (C, appears to support Windows).
P2 (A custom declarative language).
The Circle (Python).
Open Chord (Java).
Overlay Weaver (Java).
i3 (Java, J2EE).
nchord (C#)
可以在sf.net上找到。