Logo 开放平台实验室 | Open Platform Lab

四/10

7

可能性探讨:无需域名的互联网

by黑传说
开始时间:2010-03-23 原帖发表于“西西河”

ps:胡乱涂鸦的,目前还没理好思路,现在先占坑,以后有空慢慢修正(下面没有任何一段文字可以称为完善的,都需要进行或多或少的修正)。完工之时,此行文字去掉,欢迎有想法的和我合作一起完成,如果能像:why git is the best那样的排版效果,应该会更棒。因为本篇相信会和git与svn的对比类似
思路发起者:黑传说(jobinson99@gmail.com 恩,俺技术不行,所以只能提思路,而不能直接提可实现方案)
核心贡献者:
参与者(按参与时间排列,请按格式自己添加。格式:姓名/号+联系方式):
鸣谢:所有研究p2p的人,所有使用p2p网络的人

标题说明:这是一个非严格的标题,之所以非严格,是因为目前尚在设想中,而设想的起点就是:干吗需要域名?反对的是目前的域名体系,而不是域名本身。域名可能可以保留,也可能需要废除,完全根据的是实际目的需要,而这个目的就是:更可靠的、分布式互联网——或者说,是另一个互联网乌托邦体系。
也因此,很多名词需要重构,需要发明一些新词汇来准确表述。比如域名,可能就需要重新定义。

——————————————————————————–

缘起
最近在搞分布式计算的东西的时候,仔细看了bt的kad网络原理,然后今天又在星岛上看到一则新闻:
链接出处
下面是我综述
说goddady等国外域名注册商利用去年寒冬国内大力整肃互联网的时机,向国内站长们狂摇橄榄枝,于是国内有人认为此举违法,需要国内对这些国际域名商 进行制裁………………

看到这个,我吐血了,现在互联网创业的门槛已经够高了,这么穷追猛打,恐怕最终结果,会发展出另外的互联网模式来的,刚好昨晚深夜钻研bt的kad网络原理,就这么把这两件事给挂勾了,一个大胆的设想浮在我的脑海里:干吗需要域名?

目前的域名管理体系:
IP:在互联网上辨别一台电脑的方式是利用IP,但ip因为非语义化,不好记,需要引入符合人类语言的标识方式来指示(就是域名)。

根服务器:主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个(位于英国和瑞典),亚洲1个(位于日本)。所有根服务器均由美国政府授权的互联网名称与数字地址分配机构ICANN统一管理,负责互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理。
目前中国有3个根域名“镜像”服务器。

任何域名解析都要经过这13台根服务器获得顶级索引,但并不是说访问 .com 会经过这些服务器,访问 .cn 就不经过这些服务器。
而每一个顶级域,不管是gTLD(通用顶级域),还是ccTLD(国别顶级域),它们都有自己的域名服务器(即该顶级域的NS记录),比如:

   .com & .net 的域名服务器是:[a-m].gtld-servers.net 共13个
   .org 的域名服务器是:tld1.ultradns.net 等6个
   .biz 的域名服务器是:[a-h].gtld.biz 共8个
   .info 的域名服务器是:tld1.ultradns.net 等6个
   .cn 的域名服务器是:ns.cnc.ac.cn 等6个
   .jp 的域名服务器是:[a-f].dns.jp 共6个等等。
  .COM .NET服务器全球也有13个,其中,美国有8个、英国、瑞典、荷兰、日本和香港各有1个。由美国Verisign公司管理。

此处留着贴图(全球互联网节点分布图/体系架构图):

用户流程:
浏览器输入地址——》》到最近的域名解析服务器辨识该域名所对应的服务器IP——》》如果找到对应ip,则传送回ip给浏览器,由浏览器使用该ip,到达所需要浏览的网站。
域名解析服务器此时就是一个译码本的作用
性能考虑:访问都由一个256b的数据包完成(一个数据包13块)

特定网站流程:
注册唯一名字(域名)——》把域名绑定在特定ip上——》》在dns上写入域名和ip对应信息

(唵啊吽)问题的核心可能是ip地址资源???:域名只是ip的一个马甲,而ip地址分配采用的是集中式管理模式。
劫持ip和劫持域名服务器都可以达到同样效果。既然已经语义化了域名,为何不同时语义化了ip呢?把ip和域名同时统一?为了下面方便讨论,可先假定ip体系不变,而只是域名体系变更。

——————》》简单说域名是ip马甲好像不太准确,因为实际应用中,ip地址并非唯一对应域名,有时是一个ip对应多个域名,有时是一个域名对应众多ip。
ip和域名的区别实际应用中,可能更像是服务器物理地址和应用虚拟地址的区别。
因此,对于应用虚拟地址来说,并没有必要对服务器物理地址体系作颠覆。 应用是用户直接需要的,在新的域名体系下,可以clone到其他服务器里面,但仍然是同一个应用。

现有域名管理体系可能存在的问题
A、太过集中于某个大国阵营:坏处嘛,那就是美国的态度太重要了,不想玩了,就关了根服务器。看哪国不爽了,直接停止该国域名解析(伊战期间,伊拉克国别域名.iq就被停了)。美国太过强势,导致各国都试图建立自己独立的域名系统,把互联网割裂为局域网,不利于世界沟通。

B、太过依赖于十几个节点:假设个极端情况,所有的根域名服务器同时残废了,怎么办?才十几个哦,要同时残废难度还是比较小的。

可能存在的需求
A、大国要求控制互联网,都想控制的结果最终就是联合国安理会模式。(确实就有国家提议由联合国电信联盟(ITU)来管理,但被美国拒绝)
B、大国不想互联网喉咙控制于敌国之手,但网民也不想被国家过度控遏。
C、小国需要互联网的发言权
D、新创业的公司要求打破现有的域名体系,降低成本(好域名都被占光了,却没好好用,创业公司要搞个好域名,需要的成本太高)
E、大公司也备受域名占用困扰:域名的多样性,容易被人钻空子,比如谷姐,北度,八度(不过,他们财大气粗,根本没需要我给他们代言)
F、现有域名体系无法有效保护网民:某个域名是否可信任,无法判断,有必要引入信任机制。
G、现有域名体系,只要有域名,就可以制造无穷多的内容重复性网站,无法有效保护原创网站。所以有必要引入更专注于互联网内容,而不是基于内容关联性弱的域名体系。
H、众多基于互联网的新应用,要求互联网具备更高的可靠性:恩,没错,现有域名体系,导致这些和桌面紧密结合的应用不堪一击,留下了无穷隐患。

目标:
更可靠的互联网
何为更可靠:更不易受攻击,更不易被切断,更不易被欺骗
一个容易理解的标准:无论互联网那个关键节点断了,都不会妨碍其他人在互联网中的穿梭,只会妨碍到该被断节点的访问。
此处也涉及到速度问题,需要和可靠进行平衡。

思路
现在的域名相当于原来bt中的tracker,是为了方便网络访问的快捷方式,但这种方式和原来互联网的设计初衷就不是一致的。
互联网的设计初衷是提供一种生存能力特强的信息传输模式,要生存能力强,那么就要尽量避免只有一个中心,尽量分布式,鸡蛋放在多个篮子里。

而目前最好的实践,莫过于p2p网络下载,原来的bt下载中,bt-tracker还可以利用不同国家的政策,来躲避管理,类似于现在的域名商,利用不同国家的政策来规避不同国家的不同监管。但这种方式终究是有弊端的,谁也没法确保那一天该国不会像对待bt那样进行封杀,尤其是战争时期,这种封杀,不仅对普通的互联网企业,而且将对世界各国的国家安全构成巨大的潜在威胁。
这也是为什么中国一定要在国内也搞一套域名解析服务器的原因。

而如果参考bt的kad模式(为方便讨论,可以暂时把kad的那套全部引入,设想下效果),则根本可以不需要域名:只需要在相邻的节点互相保存对方的信息,那么整个互联网就可以构建起来

现有的域名机制将被推倒重来:
把每个网站都看成一个类似bt中的资源

相关联的因素
包括互联网的控制权,互联网的安全,互联网的易访问性,性能等

一些设想:
A、不再需要注册,不再需要根域名服务器(好像标题应该改为“不需根域名服务器的互联网”,因为实际上还是有域名的,只不过已经不是现在的域名形式了,叫 “站名”更合适)
B、名字可以重名(各种语言文字都可以作为名字,中文/英文/阿拉伯/俄……):命名并非是像现在的简单命名,而是有附加另外的信息的,比如:sina+ 新闻,sina+游戏,可以是两个所有人。更甚的是:sina+随机码
C、网站指向无关ip:现在很多大网站都不止一个ip的,而小网站很多是共享ip,于是,ip成了一个不痛不痒的鸡肋,除了表明硬件地理位置,几乎没啥别 作用。那么,以后就让ip直接去对应硬件地理位置吧,域名跟ip脱钩,自己可以本身就跨越了几个地理位置(kad中,为了保证节点在线率时时刻刻不是0, 复制了20份资源信息给该id周围的其他节点。此处也参考类似做法,所有网站的信息都自动备份若干份到其他机器上,不过这样可能行不通,毕竟机器是有所有 权人的。)
D、访问网站将类似于bt中的查找资源
E、域名/站名:站点可能是每个网站对应一个唯一的站点信息包————类似于bt 中的种子文件,但可以有短模式,不需要全部输入所有信息,只需要部分信息即可快速 访问——网友“老虎爱吃肉“说的没错,类似于现在google的那个i’am feeling lucky(其实这种域名访问模式有点类似当年的网络实名、中文实名之类的,只是机制不是集中控制式,而是分布式)。短模式就接近现在的域名形式了。
F、现有域名可以被兼容,但地址不再是硬写的地址,而是作为一个个可选标签,比如有cn标签的,则代表这是中国/中文的网站。

BT种子和新设计域名体系的一些对应关系
目的是为了方便理解,并体验下效果,实际不应该如此繁琐,用户使用上应该和现有方式一样:输入地址,访问之。
…………to be continued

网站唯一性/反伪造
A、引入社会化信任机制:借用搜索引擎的引用权重模式?(根据收藏夹统计结果?)
B、站点信任投票:缺乏投票的新站得不到广泛的引用(可以杜绝临时性的伪造站:长 期经营才有可能有信任度)???

性能/资源消耗
现在的域名体系,对域名解析的安排方法,和我这设想里的差别不大。
都不会完全复制,只会复制一小部分:
A、根据语言:这样就排除了绝大部分的了
B、加入类似于skype的supernode机制?

谁负责:浏览器

这种方式的好处很多:
A、网络生存能力/可靠性急剧提高
B、容易实施:不需要世界各国支持,只需要用户客户端改进,即可完成互联网的底层变革。同时,也兼容现有的域名体系(但现有域名体系只是一个可有可无的附庸)。

C、不再受制于任何一国政府:美国无法控制,中国也无法控制
D、允许域名重名(因为名字规则不再单单是名字,还有相应属性:可以在meta中规定),这样现在紧缺的这些域名,都将成为过去式。
E、人人都可以对应一个网站/站名/域名:很多人都非常讨厌自己的blog前面或者后面附上其他网站的地址,比如blog.sina.com.cn/xxxxx ,在新的域名体制下,将完全可以把xxxxx前面的部分去掉,而不影响使用(也无需注册,无需备案)。现有昂贵/廉价的域名,将飞入平常百姓家。
F、域名内容将紧密关联:现有域名和内容关联度不高,域名的指示作用有限,在实施了分布式域名体系之后,域名和内容将直接关联,将更加促进内容的发展。

对于浏览器的影响
A、浏览器输入地址的时候,需要更多的自动提示(类似firefox的智能地址栏, 甚至是opera的图形化标签栏的可见缩略图模式)
B、搜索地址即是搜索相关的资源(参照kad的双字典模式)
C、浏览器将类似于bt客户端,需要提供最初的几个起始点信息(现有浏览器里面默认附带的安全证书,已经在起到类似作用,但仍需扩充)

对于网站的影响
A、不再需要为想要的域名付出高昂费用,域名将不再需要注册。
B、需要更加注重社会评价,评价越低,将越被忽略
C、服务器本身也变成整个分布式域名体系的一部分,保存一份域名列表(类似现在的友情链接,但在此域名体系里面,将需要单独放置在根目录下)————当然,还有另外的方式,比如按机房来,而不是按网站来,这样可以有效降低小网站的负荷,将资源用于急需发展的部分。

假设一个实例?
………………to be continued
原文地址:http://docs.google.com/Doc?docid=0AeoCTmjcpOM5YWpqNjNrYzVqemNxXzgyZGdyNG56Zng&hl=en

我说:异想天开也是一种力量,虽然你可以很明显的指出这个构想里的很多问题。

No tags

8 comments

  • bagheera · 2010年04月7日于10:56 下午

    这个想法我在8年前就想过,客户端p2p,去中心化,做黄色网站,主要是图片和毛片。。
    现实是残酷滴,电驴尚且有没种子的时候,所以还是需要自己架设站点。
    而且,没法对动态网站支持,也就分发些静态的页面而已。
    综上:
    最适合的应用情景是黄色网站。

  • 黑传说 · 2010年04月8日于10:46 上午

    黄网因为受到各种限制和各种体验需求,反而会对新技术很有渴求,比如bt等下载方式,比如拍摄技术,比如3D效果等。可以说,黄色产业是科技的前哨和推动力。
    我这个,不仅仅是客户端p2p,连服务器都p2p(域名部分)。

    另外,这种方式,怎么会没法对动态网站作支持呢?如果是这样,那么就是说现在的域名也没法对动态网站作支持,是这样么?愿闻其详。

  • bagheera · 2010年04月8日于3:06 下午

    哦~你的意思是只对域名部分进行去中心?
    如你所说,服务器都是p2p的,那么,数据要如何存储?
    我们知道bt下载电影是基于一个文件固定的情况下,分块儿,才实现加速。
    如果是文件数据库,那么在更新后如何快速有效的分发出去?
    我们想下极限情况,10G的数据库。在增加一条的情况下,如何分发?

    如果只是做一个域名系统(你所说的名字,其实就是域名),那就简单了。定期获取域名和ip列表,更新本地。

    总之,这个问题很多。

  • 黑传说 · 2010年04月8日于3:12 下午

    看来你没看原文就发评论了。
    这里只涉及一个域名问题,把域名类比于bt下载中的种子部分,而不是bt下载中的资源部分。

    问题很多?那么是什么问题?可不可解决?请详细列出。

  • bagheera · 2010年04月8日于3:36 下午

    如果只是自建一套域名系统。。。那真的没什么价值了。
    1、管理问题。无管理,必混乱,试想love这个域名有10000人在用的时候,怎么办。
    2、习惯改变问题。
    3、用户量的问题(推广)p2p因其先天性应用场景,所以必须有很大用户群,才会有好一点的反应速度,不然一个域名访问以下需要5分钟,体验也不好吧。

  • 黑传说 · 2010年04月8日于10:06 下午

    如果真想探讨,建议先看完原文。
    第一条:原文已有解决方案
    第二条:原文已有解决方案
    第三条:原文已有解决方案

    另外一点,速度是个大问题,但不是用户量少导致的问题,而是需要传输的数据量比现有的多,并且访问次数比现有的多了几次,才导致的(请参考kad)

  • bagheera · 2010年04月8日于11:55 下午

    首先,这是讨论,不是争论和质疑呵呵,take it easy。

    1、原文未看到10000个重名的方法。
    2、有提到浏览器,插件?通用网址?
    3、kad就是去中心的概念。。实际应用中,用户量很重要,我不知道lz是认为我不懂kad还是怎么滴,响应速度绝对第一重要,作为域名系统,500ms都难接受。

    Orz,我觉得咱俩陷入矛盾了,首先,你文档就很意识流,其次,文字的东西,很容易偏差或者误解,理解不到位还请原谅。这次讨论到此为止。。。俺期待看到你的详细设计文档。。到时候再做交流,加油!

  • 黑传说 · 2010年04月9日于9:29 上午

    看来我还是有必要跟你说说怎么解决:
    1、命名方式不再是现有的方式,而是基于内容的多标签方式命名(具体的例子请打开一个torrent文件查看)+引入社会性信用评价机制(收藏夹、订阅量、信任站点间相互引用)。
    2、浏览器部分需要改造,但都属于后台性质,但对用户来说,外观和操作上都和现在没有任何区别。
    3、用户量不是问题,因为兼容现有域名系统,现有域名系统可以立刻变成一个优先度较高的子节点。——改造方式都不需要和这些节点沟通,只需要在浏览器端作改造。

    4、不是说你不懂kad,而是从你提问中看出你没仔细琢磨过原文。

Leave a Reply

<<

>>

Theme Design by devolux.nh2.me