命名这章重要,需要重点看
这一章主要讲命名,分类
无结构命名,
有结构名字,
注意与以下的概念区分
无结构查找,
有结构查找
主机1,主机2,主机3.。。。每个都配置一个网络登录地址,
名称和地址是无关联的
标识符与名字的区别,感觉表示符有点像代号,是更加正规点。。。名字就很随意。。。
这里先给出无结构的命名和有结构的命名的区别:
无结构的命名(也叫flat name)中的标识符就是没有啥意义,比如标001,002,003
有结构的命名中的表示符就有代表你本身的某些信息,你如学号,SA代表硕士,19代表19阶
这种方式就有点像以前的手机漫游
A,B都是合肥用户,突然有点B去了苏州
A想要拨号打给B
A就与合肥的主服务地址建立联系,查找B,但是合肥的人说,B不在我这,B现在在苏州
A就与苏州那边的RR建立联系,找到B
重要!!!!!!!!!!!!!
重要!!!!!!!!!!!!!
重要!!!!!!!!!!!!!
有结构的查找就是利用分布式哈希表
这里举例的是p2p系统中chord系统使用的有结构的命名
chord系统利用hash函数为每一个节点分配一个m位的标识符,这样就形成一个大小为2^m的chord环,节点的维护由后继结点进行维护
怎么加入一个节点?
重要!!!!!!!!!!!!!
重要!!!!!!!!!!!!!
重要!!!!!!!!!!!!!
每个节点都在维护自身的一个hash table
hash 函数是:
下面补充说明
层次式位置服务也是无结构的命名,有结构的查找
就是把每个结点向上做索引(如图),比如a想与c相连,就得向上面的目录结点查找,没有就继续向上查找
直到找到该位置
有点像Napster,整个系统中有集中式服务器的存在用来记录索引
注意
有结构命名:名字是有含义的
有结构查找:有规律的进行查找结点,不是像多播那样以flooding方式查找。
问题:怎么对名字进行解析?
答:采用就近原则,就是一层一层往上迭代找
这里是DNS的命名解析
下面补一个DNS解析过程