http://lxhzju.blog.163.com/blog/
在TCP/IP的世界里,每个节点都使用一个IP地址来标识,当需要和进程绑定时,还需要配上一个端口号,这样,两个进程之间的联系可以表示为: 源端 IP:PORT+目的端 IP:PORT 。但是,IP地址只有32位,数量是有限的,根据目前的情况看,已经使用得差不多了。而在P2P的世界里,资源的数量是如此庞大,单靠32位的IP地址是远远不够用的。为此,JXTA使用了其专有的ID来描述P2P世界的各种资源,它的格式是:“urn:jxta:uuid-34位16进制数值”。典型的表示为:
"urn:jxta:uuid-59616261646162614E504720503250338944BCED387C4A2BBD8E9411B78C284104"
这个id可以表示:
对等点(peerID),每个jxta应用都可以做为P2P世界的一个节点,拥有一个全局唯一的ID标识。
对等点组(PeerGroupID),提供相同服务的jxta对等点集合在一起,构成了一个对等点组。
管道(pipeID),jxta专有,功能类似于轻量级的socket。
socket(socketID),jxta重载了TCP/IP的socket。
等等诸如此类的ID标识,使得P2P世界的各种资源,都可以得到一个唯一的“身份牌”,而且身份牌的数量应该多于地球上的原子数量,从而保证这些身份牌最后不会和现在的IP地址一样不够用。这样,要连接一个Jxta资源,可以直接connect(... , ****ID, ...)。jxta的底层协议会负责帮你在整个互联网世界中寻找这个ID所唯一标识的资源,无论中间穿越了多少防火墙,经过了多少路由器。