he Peer-to-Peer Protocols Vegas Vegas Dancer Nasty Wildlife Gt" href="http://luckyw.nastyvegasdancer.com/feed//Wildlife/gt.htm" /> GNUnet Documentation:<img src="http://aporee.org/download/radio_aporee/ben_roberts__your_magnetic_lifetime/Ben_Roberts_Your_Magnetic_Lifetime_1.jpg"/>he Peer-to-Peer Protocols Vegas Vegas Dancer Nasty Wildlife Gt

Vegas Vegas Dancer Nasty Wildlife Gt

Vegas Nasty Dancer Dancer

GNUnet Documentation:he Peer-to-Peer Protocols Vegas Vegas Dancer Nasty Wildlife Gt

Vegas Vegas Dancer Nasty Wildlife Gt

  • NOISE
  • 典型地,核心本身并不直接实现这些消息,而是由内部服务插件实现。 但是,这些插件的加载不是可选的(核心在启动时将自动加载)。 因此,某种意义上,这些消息是核心消息。

    由一台主机发给其他机器的,最基本的序列是HELLO,用于声明它在网络上存在。 HELLO的接收者返回PING,确认那台主机确实可达。 PING的接收者返回PONG,确认可接收。

    随后,任何一方发送给另一方一个加密了SETKEYPING消息,启动一个连接。 接收者用另一个SETKEY确认,其中包含新的PING,已及和先收到的PING对应的PONG应答。 同样,这个PING以加密的PONG回答。 如果没有收到PONG,任意一方可以发送另一个SETKEY和PING。 如果在短时间内收到重复的SETKEY,密钥不应更换。 这个序列和启动TCP的三次握手非常相似。

    下图表示一种可能的消息序列:

    节点随后交换特定应用消息。 必须用NOISE使各分组大小一致。 MTU决定于传输层,并在HELLO消息中广告。 任何节点都可以用HANGUP终止连接。 长时间(约15分钟)不活动连接也被认为是终止连接。 HANGUP既不需要确认也不是必需的,但行为规范的节点都应实现它。

    GNUnet主机之间交换的分组可以包含任意数目的消息(仅受制于传输层MTU大小)。

    除加密消息外,GNUnet核心也是用附加信息扩展每个消息。 GNUnet核心添加校验和、带宽限制信息和序列信息,以避免重复处理消息。 加密、解密、校验由GNUnet核心完成,应用程序和传输代码都不需要关心这些。 由GNUnet核心给每个消息添加的消息头的格式如下:

    GNUNET_TransportPacket_HEADER
    偏移比特(bit)位
    0-78-1516-2324-31
    0纯文本的散列值(SHA-512)
    64序列好,0代表纯文本(11)
    68时间戳(秒)(NBO)
    72带宽限制(字节每分钟)(NBO)

    头后面紧跟各个消息。 再次说明,发送者标识也必须传送,以便核心可以选择正确的密钥解密。 然而,如何做随不同的传输层而不同。

    HELLO

    HELLO分组用于参与节点通过GNUnet广播信息。 每个GNUnet节点通过它的公钥K标识。 通过GNUnet,节点的公钥一般简化为K的散列值,简称为H(K)。

    HELLO分组是节点传播其他节点公钥的方法。 此外,节点的标识和地址是绑定的。 如何定义地址依赖于底层所使用的传输机制。 例如,UDP服务使用IP和UDP端口号。 SMTP传输实现可能选择使用电子邮件地址。 GNUnet可以有多个地址,并且可以在任何时候切换地址,例如,如果IP是动态设定的,象DHCP或拨号的情况。 HELLO消息用于通知其他主机地址的改变。

    安全考虑 kGNUnet Documentation:he Peer-to-Peer Protocols Vegas Vegas Dancer Nasty Wildlife Gtt s s Dancer Dancer Nasty zGNUnet Documentation:he Peer-to-Peer Protocols Vegas Vegas Dancer Nasty Wildlife Gtw Vegas