|
本帖最后由 jobinson99 于 2010-4-9 00:22 编辑
目前以google docs的文档作为标准版本进行协作式改进:http://docs.google.com/Doc?docid=0AeoCTmjcpOM5YWpqNjNrYzVqemNxXzgyZGdyNG56Zng&hl=en
开始时间:2010-03-23 原帖发表于“西西河”
ps:胡乱涂鸦的,目前还没理好思路,现在先占坑,以后有空慢慢修正(下面没有任何一段文字可以称为完善的,都需要进行或多或少的修正)。完工之时,此行文字去掉,欢迎有想法的和我合作一起完成,如果能像:why git is the best那样的排版效果,应该会更棒。因为本篇相信会和git与svn的对比类似
思路发起者:黑传说([email protected] 恩,俺技术不行,所以只能提思路,而不能直接提可实现方案)
核心贡献者:
参与者(按参与时间排列,请按格式自己添加。格式:姓名/号+联系方式):
鸣谢:所有研究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 |
|