7 月 062006
 

新浪博客3.0的圈子诱惑

齐飞2006年07月05日 21:52

  昨天新浪博客进行了3.0版的蜕变。由于圈子功能的出现,使新浪博客给人以脱胎换骨的感觉,不过新功能的出现并不一定伴随着成功。配合着新浪博客独有的特点,3.0的新功能又会有什么样的作用?

  作为最主要的改动,圈子是3.0后的最大看点。这次就主要讨论圈子的变化。
和讯、网易、QQ群组功能,申请起来相当简单,但相当的,圈子发挥的功效也相应的降低了。新浪究竟要圈子发挥什么样的功效?
圈子的功效无非是让博客抱成团。但在新浪,圈子的功能需要的是提供更多的消息,无论是评论还是新闻。现有的bsp面临一个尴尬的问题。bsp利用内容,而《条例》的出台则意味着,内容并不能随意利用,挂上个“禁止转载”,连链接都不那么方便,而圈子则意味着圈子内的博客将自主贡献内容。如果说对于bsp,博客贡献内容还存有疑问;那么对于圈子,博主是自愿的贡献。
权限的释放很关键,并不是所有的博客都可以组建圈子,毕竟有些圈子没有实际效果。或者做到有广度也有深度。
网易在圈子建设上还是有自己的独到之处的,由各个圈子提供头条新闻,分类首页选取优秀的做自己的头条。比如以草根组织锐博客为例,草根的博客圈子很多,锐博客的头条就可以由各个圈子组题,选取合适的。
以往的圈子,如IT圈的IPTV俱乐部、媒体圈、创业圈,都是用静态页面了事,而现在,看来有机会转正。
希望新浪将IM整合进来。毕竟圈子内成员的沟通很重要。
都说电子杂志的市场很大,其实有内容就是老大,新浪博客要是提供个做杂志的模版,圈子都可以出自己的杂志。
更多的问题,杂志的广告,圈子的广告…………

7 月 012006
 

陈彤:从论坛斑竹到新浪全球总裁

从"网盲"到如今中国最大门户网站网络新闻的掌门人,新浪总编陈彤的经历可谓神奇。作为"互联网媒体规则的制订者",新浪新闻是他一手养大的孩子,作为网络赛场的一分子,陈彤又是最不惜体力的前锋。

35岁的陈彤已经头顶无数光环:新浪元老,新浪网全球副总裁,新浪总编,中国网络新闻第一人……

第一次亲密接触

陈彤对自己的第一次触网经历记得非常清楚,至今说起来仍然历历在目。那是1997年春节刚过,读研二的陈彤在中关村一个朋友的公司里第一次上了网。当时互联网刚刚进入中国,仅供一些大的科研机构、新闻机构和极少数大公司使用,知道互联网的人寥寥无几,更不用说能够接触到这个神奇的世界了。

陈彤回忆说,当他听到"猫"发出"兹兹"的拨号声时,"既兴奋,又焦急,像在等待初次和自己约会的恋人。"当白底红字的CNN网站一下子在屏幕上打开时,陈彤觉得眼前豁然开朗了,他说:"我见到了原汁原味的网络新闻!它从形式到内容甚至语言都和我们以前所见过的新闻完全不一样……"

从朋友的公司出来,陈彤直奔银行从自己菲薄的存款中提取了一笔"巨款",到中关村配件市场买"猫"上网。"当时'猫'很贵,将近2000元,我上研究生每月生活补助才260元呢,现在想起来真是太冲动、太奢侈了!"他回忆道。

版主陈彤的幸福生活

陈彤从此就被困在了网中央。1997年4月,陈彤在网上结识了四通利方体育沙龙创始人李嵩波。陈彤暗示,如果让他来做体育沙龙版主,保证访问量提高10 倍。李嵩波火速在中关村小饭馆"老四川"里请这个在论坛里很有人气的老网友吃了顿饭,"名为吃饭,实际上是火力侦察,来验货的。"陈彤指出了沙龙存在的问题和解决方案,吃完这顿饭,他就正式成为了四通利方的体育沙龙版主。

1997年11月底,在汪延(现新浪总裁)、陈彤的努力并推动下,四通利方推出了它的第一个频道--体育频道。当陈彤将搜罗来的新闻都放在频道之后,体育频道的流量很快超过了火爆一时的论坛。

当陈彤正开始满意自己的成绩时,他也感觉到了另外一种压力--谁来为自己的"信息饕餮"买单?尽管陈彤向妻子保证"以网养网",但第一次和李嵩波吃饭的时候,并没有和李嵩波提钱的事情。他觉得,"如果对方压根就没有给钱的意思,自己也不好开口,否则太没面子了。"虽然上网的账号是中关村朋友给的,但电话费总归还是要自己出吧。经常泡在网上的陈彤,有一个月的电话费花了1700多元!"当时我看见那张电话单,都差点晕过去了,不敢跟老婆说,这日子还怎么过呀?"陈彤回忆说,"如何让自己付得起这笔奢侈的费用成为自己的当务之急。"

1997年底,网站的访问报告显示,流量一共有一万多人次,而陈彤管的那块就占了很大一部分。也正是从那个月起,四通利方每月支付陈彤600元津贴。因工作之需,还让陈彤把价值几千元的扫描仪搬回了家,陈彤说,"当时非常有成就感,梦里笑醒好几回,从此可以'以网养网'了。"

1998年陈彤研究生毕业,后来的新浪网总裁汪延和陈彤促膝长谈,对他"招安",在妻子的支持下,他谢绝了包括诺基亚在内的几家赫赫有名的跨国公司的邀请,去了当时前途尚不明朗的四通利方。陈彤当时的头衔很高,号称网站主编,管所有内容的事,另外还包括对外媒体联络、管理论坛等。陈彤形容自己"相当于生产车间主任","管的东西虽多,但我却是个光杆司令,很长一段时间都是。"

陈彤被正式"招安"不久,法国世界杯足球赛就开始了,陈彤拿出了比做版主还要玩命的态度,采用了全新的工作流程--24小时滚动更新。他在后方指挥所有编辑每天24小时录入、上传、更新内容,在四分之一决赛的时候日访问记录达到了300万人次,创造了中文网站的访问记录。

1998年,四通利方和北美最大的中文网站华渊网站合并,正式更名为新浪网,成为全球最大的中文网站。

与时事赛跑

新浪网成立后,陈彤的职务是新闻中心主编,网上发布的所有内容都要经过他的审查。他把重点放在了最重要的新闻和体育上。陈彤说,传统媒体当时并没有从媒体角度看待我们,可能他们感觉像我这样没有媒体经历的外行搞新闻是"关公面前舞大刀"。

1998年12月英美对伊拉克的"沙漠之狐"行动时,陈彤已经和世界级大通讯社建立了合作关系,确保第一时间拿到消息。他凌晨4点从床上爬起来,眼盯 CNN网站,直到第一炮的打响,将消息同步发布出去。"我们几乎是直播那场战争",陈彤自豪地说:"很长一段时间,我们都是孤独的领先者,没有第二家接近我们的做法。新浪的新闻编辑随时处于一级战备状态,24小时值班成为固定制度。"

到1999年北约轰炸中国驻南联盟大使馆的时候,陈彤他们已经对突发事件的处理驾轻就熟了。"经过这么多次磨练,我们什么事都能够对付。"

到2001年初,各大媒体都跟新浪签订了媒体合作协议,允许新浪网付费转载其内容。"可能他们意识到,对互联网采取保守态度,最后吃亏的只能是他们自己。互联网会不会冲击传统媒体?肯定会,新浪不冲击,旧浪也会冲击;中国互联网媒体不冲击,外国互联网媒体也会冲击。竞争是必然的,也是有好处的,关键看不同媒体采取怎样的应对措施。"

在这以后,新浪网新闻中心在科索沃战争、台湾大地震、中国加入WTO、悉尼奥运会等事件报道中逐步牢固确立了新浪网内容建设在全球中文网站中的强大优势。

高处不胜寒?

与所有同龄人一样,学生时代的陈彤也曾为自己的未来编织了许多绮丽的梦想:科学家、艺术家、球星,他也曾经梦想过做一名出色的记者。如今,他终于找到了自己的"奶酪",这令他觉得上天对自己很宠爱。陈彤无不自豪地说:"中国人只有很少一部分人在从事自己喜欢的事业,而同时又能得到别人的承认,从这一点上说,我是幸福的。"

根据媒体和业界内的普遍说法,是陈彤在中国成功地打造了第四媒体最成功的范例,是陈彤制定了网络新闻的游戏规则。陈彤说,这个称号既让自己自豪,又让自己紧张,丝毫不敢懈怠。

陈彤现已是新浪网的全球副总裁了,他除了一些高层的行政事务、经营事务以外,仍然全面负责新浪的核心部分--内容。他最大的愿望是让他参与打造的新浪媒体品牌的优势永远保持下去。随着新浪越来越大,他已经不可能像以前那样事必躬亲了,所以他必须让新浪所有的编辑真正领会新闻理念和游戏规则,并在工作中融会贯通,坚定地按照既定的方向前进。在下属眼里,他很严厉,很难侥幸过关,陈总常常发脾气"敲打"员工,但是编辑们也承认:"都是为了把新浪做好,陈总是个完美主义者,从来都是对事不对人,确实都是自己做得不好,让他着急。私下里他更像我们的哥们!"

6 月 262006
 

华为3Com全球技术服务论坛 » □-SOHO类产品Aolynk品牌 » 认识UPnP

H3 2004-8-18 05:04

认识UPnP

问:我刚上宽带网,我听说如果运用好“UPNP”协议可以提高上网速度,请问“UPNP”协议是什么含义?具体如何应用?

  答:UPNP的全称是Universal Plug and Play。UPnP规范基于TCP/IP协议和针对设备彼此间通讯而制订的新的Internet协议。事实上,UPNP的制定正是希望未来所有联入Internet中的设备能够不受网关阻碍的相互通信。比如用MSN Messager传输文件将更加快捷方便了
,那到底如何如何利用UPNP呢?

  首先我们需要进入路由器的Web控制界面中打开路由器的UPNP功能。在浏览器中输入路由器的地址,进入路由器的管理页面之后,找到UPNP功能,并将其设置为Enable。

  然后我们便可以进入Windows XP的设置。在Windows XP中,UPNP支持模块并不是默认安装的,因此我们需要按照以下步骤对其进行手动安装:

  在“添加或删除程序”对话框中,点击“添加/删除Windows组件”。在“Windows组件向导”中,点击“网络服务”,点击“详细”,然后选择“通用即插即用”复选框。重新启动之后,Windows XP提示找到新硬件,进入网上邻居后你会发现路由器,说明UNNP功能就打开了。现今市场上几乎所有的宽带路由器都提供UPNP功能的支持,通过我们的合理配置,可以让我们在点对点文件传输等方面获得更好的体验和更快的速度。(GSF)

H3 2004-8-18 05:05

 统一即插即用英文是Universal Plug and Play,缩写为UPnP。要说计算机外设的即插即用(Plug and Play(缩写PnP)),大家可能很熟悉,但对统一即插即用,多数人会感到是一头雾水。由于windows xp加入对UPnP的支持,并且被查出存在很严重的安全问题,所以,一时间,使得UPnP名声大噪。巧的是,本人原来查阅过关于UPnP的技术白皮书,而且也较为详细地看了关于此次发现的安全缺陷的介绍。因此,趁着这个机会,将UPnP以及引起安全缺陷的详情披露出来。

一、 UPnP是用来干什么的?

  网络发展到现在,已经可以使我们在网上冲浪、收发邮件、听到远方传送来的声音、搜索感兴趣的内容、下载软件、点播节目、即时聊天等等、等等……实现的功能好像已经不少,但,人的欲望无止境,享福人还想更享福,还有许多目标没有达到:例如,怎样才能使我们在网络上,像平时用遥控器那样,操作空调器、电风扇、厨房电器,或网络远端的电器设备呢?如何利用网络上的计算机资源,使这种“遥控”更具智能化?甚至,将一系列相关的控制写到一个脚本中,以便用户定制自己所喜爱的控制流程?……等等。实现诸如此类的效果,将是有巨大需求的应用技术。如果实现通过网络用UPnP控制家用设备,将给我们的生活带来很大的方便和很多新的体验。例如:

  1.你在下班之前,或在回去的路上,就可以先打开家里的空调器和厨房设备,等进入家门,立刻就是一个温度宜人的环境――厨房里的饭也做好了。房间温度的高低和厨房内煮饭的过程,都是根据事先设计好的“脚本”程序进行的,绝对可靠。
  2.你若是一位上档次的音乐发烧者,肯定对聆听音乐的环境要求很严:音箱位置高低、音量大小、灯光明暗、窗帘拉不拉上都有讲究。手动控制随好,毕竟不方便。你要使用上UPnP,一切都会为你代劳。还能将你习惯的音响音量、灯光亮度、音箱的高度等等,以你认为最佳的参数写到执行脚本中,以后可以都以此为准。如果你拥有自己的专门听音室,只要你打开听音室的门,上述的环境就会立刻设置好。曲终人散,只管放心离开好了,UPnP系统会自己关闭音响,熄灭电灯,拉上窗帘。
  3.你人在办公室,心里却放不下家里的孩子。用上UPnP,只要在家里安装摄像头,建立好与网络的连接。在办公室内,启用桌面电脑的WEBTV,连通网络后,可以即时监视孩子在家里的一举一动。

  凡此种种的方便和诱人之处还很多,不胜枚举。

  其实,这已经不是科学幻想、也不是专家预言。目前用UPnP协议就可以实现这些操作!这正是windows xp系统急于加入UPnP的原因。正因为UPnP是一个协议,UPnP的使用可跨越各种操作系统平台,开发应用程序也没有开发语言的局限。可工作于各种形式的网络结构。且仅以现在的网络设施为基础,仅仅加上这个UPnP协议,既不用添加新的设施,也不用重新架设网络介质就可以投入使用!

H3 2004-8-18 05:06

  UPnP协议具有下述特色:

  1. 以网络为应用环境,不考虑“孤岛”中的计算机。
  2. 以TCP/IP和整个Internet为基础。这样是“中立”的,不依附于任何操作系统或应用程序,不使用特定的API函数,不受程序设计语言的局限。可以无缝地接入传统网络。
  3. 设备可以动态地进入网络中,随后获得IP地址,“学习” 或查找自己应当进行的操作和服务的信息;“感知”别的设备是否存在以及它们的作用和当前的状态 。所有这些,都应当是可自动完成的。
  4. 每个设备都可读取属于自己的、特定的状态和参数;完成控制操作后应当发出“操作完成”的响应信号。如果失败,则应发出控制失败的信号。

二、UPnP协议的层:

  UPnP协议的最终目的,是建立一个可用的设备模型, 因篇幅这里不对整个结构进行详细的分析,但你应当记住下面的主要特征:

  1. UPnP是一个多层协议构成的框架体系,每一层都以相邻的下层为基础,同时又是相邻上层的基础。直至达到应用层为止。该图中的最下面是就是IP和TCP,共两层,负责设备的IP地址。
  2. 三层是HTTP、HTTPU、HTTPMU,这一层,大家应当是熟悉的,属于传送协议层。传送的是内容都经过“封装”后,存放在特定的XML文件中的。对应的SSDP、GENA、SOAP指的是保存在XML文件中的数据格式。到这一层,已经解决了UPnP设备的IP地址和传送信息问题。
  3. 第四层是UPnP设备体系定义,仅仅是一个抽象的、公用的设备模型。任何UPnP设备都必须使用这一层。
  4. 第五层是UPnP论坛的各个专业委员会的设备定义层,在这个论坛中,不同电器设备由不同的专业委员会定义,例如:电视委员会只负责定义网络电视设备部分,空调器委员会只负责定义网络空调设备部分……,依此类推。所有的不同类型的设备都被定义成一个专门的架构或者模板,供建立设备的时候使用。可以推知,进入这一层,设备已经被指定了明确用途。当然,这些都必须遵守标准化的规范。从目前看,UPnP已经可以支持大部分的设备:从电脑、电脑外设,移动设备和家用消费类电子设备等等,无所不包,随着这个体系的普及,将可能有更多的厂家承认这一标准,最终,可能演化为公认的行业标准。
  5. 最上层,也就是应用层,由UPnP设备制造厂商定义的部分。这一层的信息是由设备制造厂商来“填充” 的,这部分一般有设备厂商提供的、对设备控制和操作的底层代码,然后,就是名称序列号呀,厂商信息之类的东西。

H3 2004-8-18 05:06

三、协议内部的详细情况

  仅仅有这样五层UPnP协议,也只不过有了一个共同遵守的框架,实际的UPnP系统究竟是如何构成的呢?

  完整的UPnP服务系统由支持UPnP的网络和符合UPnP规范的设备共同构成的。

  整个系统是由设备、服务、和控制指针三部分所构成。

  设备:
  这里是指符合UPnP规范的设备。一个UPnP设备可以看成一个包含服务并嵌套了常规设备的“容器” 。例如,一个UPnP的VCR(录像机)设备可以包含磁带传送服务、调谐服务和时钟服务。就是说,UPnP之下的设备不能仅仅理解为硬件意义上的设备,而应当包括服务功能。

  不同种类的UPnP设备将关联不同的设置、服务和嵌入设备。如打印机和VCR属于不同用途的设备,服务就不可能定义成一样的。

  服务:
  设备执行用户请求的控制过程,可划分成一个个很小的阶段或单位,每个单位就称为一个服务。每一个服务,对外都表现为具体的行为和模式,而行为和模式又可以用状态和变量值进行描述。只要可以用数值描述,在计算机里面就容易处理了。例如,模仿一个时钟,它只有一个工作模式:这个模式就是模拟并显示当前的时间。而一个时钟的行为共有两种(也只有两种):

  1. 设置时间(用来“即平时说的对表”).
  2. 得到时间(用于显示时间)。

  其它设备服务,也是用这样思路来描述和定义的,一个设备也可以被定义多个服务。不论是设备的定义信息和服务的描述信息,都保存在一个XML文件中,这个文件也是UPnP协议构成的一部分。当设备建立和使用服务的时候,XML文件可以与它们进行关联。

  XML文件中还有一个很关键的“状态表”,状态表可进一步分为“服务状态表”和“事件状态表”。整个UPnP设备运行的全过程内,状态表贯穿始终,当设备状态改变的时候,例如发生参数变化或状态刷新的时候,立即就在“状态表”中反映出来。如控制服务器在接收到设置时间的行为请求时,就立即执行请求(对时操作),并给出响应,同时更新状态表中的有关数据。相应地,事件服务器负责向对此事件感兴趣的设备公布所发生的状态改变。例如,一个火灾事件发生后,事件服务器就向火灾报警器发布这个事件,导致报警器动作产生报警信号。

H3 2004-8-18 05:07

  控制指针:
  在UPnP网络中,用户请求设备执行的控制是通过控制指针实现的,控制指针首先是一个有能力控制别的设备的控制者,还要具有在网络中 “发现”控制目标的能力。在发现(控制目标)之后,控制指针应当:

  ①取得设备的描述信息并得到所关联的服务列表。
  ②取得相关服务的描述。
  ③调用控制服务行为。
  ④确定服务的事件 “源”,不论何时,只要服务状态发生改变,事件服务器会立即向控制指针发送一个事件信息。

  从上面说到的各种信息,都保存在XML文件中,不同用途的信息,格式不同。保证可以各取所需,不会混淆。

  那么,UPnP的完整工作过程是怎样的呢?

  UPnP在控制指针和被控制设备之间提供通讯功能。而络介质、TCP/IP协议、HTTP仅提供基本的连接和IP地址分配。整个工作过程需要处理六个方面的内容,即地址分配、发现设备、对设备的描述、设备控制、设备事件、设备表达。

  地址问题:
  地址是整个UPnP系统工作的基础条件,每个设备都应当是DHCP(Dynamic Host Configuration Protocol 动态主机配置协议)的客户。当设备首次与网络建立连接后,利用DHCP服务,使设备得到一个IP地址。这个IP地址可以是DHCP系统指定的,也可以是由设备选择的,当然,有能力自己选择IP地址的设备,必然是那些“聪明”的设备才行!这也就是所谓的“自动”IP地址。

  如果遇到本地DHCP管理范围之外的IP地址请求,还需要解决“友好设备”

  的地址分配问题,这个问题通常由域名服务器来解决。

  发现设备:
  可分成两种情况,一种是在有控制请求之后,在当前的网络中查找有无对应的可用设备;另一种情况是某一设备接入网络、取得IP地址之后,就开始向网络“广播”自己已经进入网络,即寻找控制请求。

  设备的描述:
  简单说,这是声明“自己”是什么样的设备,例如名称、制造厂商、序列号码等等。刚开始“发现”设备后,控制指针对这个设备的“了解”还很少,需要依据ULR找到该设备的描述文件,从这些文件中读取更多的描述信息。描述信息的范围很广,一般都是由设备的制造厂商提供的。主要的描述项目有:控制的模式名称和模式号码、设备序列号、制造厂商名称、厂商的WEB的ULR……等等。这些一般都存放在特定的XML文件中;

H3 2004-8-18 05:08

  设备控制:
  控制指针找到设备描述之后,会从描述中“提炼”出要进行的操作并获悉所有的服务;对每个UPnP设备来说,这些描述必须是很确切、很详细的,描述中可能包含有命令或行为列表、服务响应信息、用到的参数等等。对于服务的每个行为,也伴有描述信息:主要是整个服务进行期间的变量、变量的数据类型、可用的取值范围和事件的特征。

  要控制某个设备,控制指针必须先发送一个控制行为请求,要求设备开始服务,然后再按设备的ULR发送相应的控制消息,控制消息就是放置在XML文件中的那些SOAP格式的信息。最后,服务会返回响应信息,指出服务是成功或是失败。

  设备事件:
  在服务进行的整个时间内,只要变量值发生了变化或者模式的状态发生了改变,就产生了一个事件,系统将修改上述提到的事件列表的内容。随之,事件服务器把事件向整个网络进行广播。另一方面,控制指针也可以事先向事件服务器预约事件信息,保证将该控制指针感兴趣的事件及时准确地传送过来。

  广播或预约事件,传送的都是事件消息,事件消息也放在XML文件中,使用的格式是GENA。

  设备投入工作之前的准备―――初始化过程,也是一个事件,初始化需要的各种信息也是用事件消息传送的。包括的内容主要是:变量初始值,模式的初始状态等等。

  设备表达:
  只要得到了设备的ULR,就可以取得该设备表达页面的ULR,然后可以将此表达纳入用户的本地浏览器上。这部分还包括与用户对话的界面,以及与用户进行会话的处理。

  整个UPnP系统,是在“中枢神经”的指挥下协同工作的。其大致情形如下:

  凡是具备IP地址的的设备都必须直接使用网络的IP地址,但有些设备可能并不具备直接使用网络IP地址的能力,例如,电灯开关的控制就是这样,这是非IP设备;非IP设备通过网桥(UPnP Bridge)来与控制指针交换信息。

  直接使用IP地址的有:控制指针(可在口袋电脑和远程设备上发出控制)、本地设备,例如VCR和时钟;以及网桥。非IP设备有所谓轻设备(如温度控制器)和非UPnP的设备(如电灯控制开关等)。

H3 2004-8-18 05:08

上述介绍属于硬件方面,下面再说作为控制灵魂的软件:

  在上面的叙述中,多次提到用XML文件存放需要的信息,因为无论是控制指针或设备服务,都需要很多信息,有读出的,有传出的,UPnP协议约定这些都存放在特定的文件XML中。用途不同的信息,在XML文件中的格式不同。所以,相关的XML文件是控制服务的灵魂。

四、关于UPnP隐藏的安全缺缺陷:

  这次发现的安全缺陷共有两个,其中第一个缺陷是对缓冲区(Buffer)的使用没有进行检查和限制。外部的攻击者,可以通过这里取得整个系统的控制特权!由于UPnp功能必须使用计算机的端口来进行工作,取得控制权的攻击者,还有可能利用这些端口,达到攻击者的目的。这个缺陷导致的后果很严重,不论那个版本的windows 系统,只要运行UPnP,就都存在这个危险!但严格地说,这并不完全是UPnP技术本身的问题,更多的是程序设计的疏忽。

  第二个缺陷就与UPnP的工作机理有关系了!

  该缺陷存在于UPnP工作时的“设备发现”阶段。发现设备可以分为两种情况:如果某个具备UPnP功能的计算机引导成功并连接到网络上,就会立刻向网络发出“广播”,向网络上的UPnP设备通知自己已经准备就绪,在程序设计这一级别上看,该广播内容就是一个M-SEARCH(消息)指示。该广播将被“声音所及”范围之内的所有设备所“听到”。并向该计算机反馈自己的有关信息,以备随后进行控制之用。

  相类似,如果某个设备刚刚连接到网络上,也会向网络发出“通知”,表示自己准备就绪,可以接受来自网络的控制,在程序设计这一级别上看,该通知就是一个NOTIFY(消息)指示。也将被“声音所及”范围之内的所有计算机接受。计算机将 “感知”该设备已经向自己“报到”。实际上,NOTIFY(消息)指示也不是单单发送给计算机听的,别的网络设备也可以听到。

  就是在上述的一播一听之间,出现了问题!

  如果某个黑客向某个用户系统发送一个NOTIFY(消息)指示,该用户系统就会收到这个NOTIFY(消息)指示并在其指示下,连接到一个特定服务器上,接着向相应的服务器请求下载服务―――下载将要执行的服务内容。服务器当然会响应这个请求。UPnP服务系统将解释这个设备的描述部分,请求发送更多的文件,服务器又需要响应这些请求。这样,就构成一个“请求――响应”的循环,大量占用系统资源,造成UPnP系统服务速度变慢甚至停止。所以,这个缺陷将导致“拒绝服务”攻击称为可能!

  结束语

  UpnP正在向我们一步步走近,现在已经是足声可闻了。不久的将来,必然对我们的工作和生活产生巨大影响。也蕴含着无限商机。尽管现在存在问题,也难保以后就不会再出现新的问题,但这既然体现了人的需求意向,就会有巨大的生命力,暂时的挫折不会使得它停下前进的脚步!

H3 2004-8-18 05:10

 附:这是本文出现的相关名词解释:

  传送协议:
  主要用HTTP 、HTTPU和HTTPMU:

  HTTP:
  这是大名鼎鼎的东西,不用多说,但就UPnP系统来说,HTTP及其派生协议都属于核心部分。

  HTTPU和HTTPMU:
  这些是从HTTP协议中派生定义出来的。主要用于传送SSDP格式的设备消息。

  SSDP:
  是一个“简单服务发现协议” ,即英文“Simple Service Discovery Protocol的缩写” , 该协议定义了如何在网络上发现网络服务的方法。SSDP也规定了存放在XML文件中的信息格式。SSDP信息的传送是依靠HTTPU和HTTPMU进行的。不论是控制指针,或是UPnP设备,工作中都必然用到SSDP,设备接入网络之后,要利用它向网络广播自己的存在(广播的信息中还有设备位置的描述),以便尽快与对应的控制指针建立联系;控制指针则利用SSDP来搜索自己将要控制的设备在哪里?并且可以排除已经存在的设备和控制指针――只为新近的或尚未“联络”上的双方服务。

  控制指针利用SSDP的方式是经由HTTPU发出搜索请求,这种请求可以很详细,能具体到需要什么样的设备以及何种服务。例如:请求对特定的VCR机进行设置时钟的服务。

  设备利用SSDP的方式是“收听”来自网络端口的消息,从中发现与自己匹配的信息,一旦找到与自己匹配的信息,经由HTTPMU来发送一个响应信息到控制指针。

  GENA:
  这是事件消息采用格式,是所谓“普通时间通知体系Generic Event Notification Architecture”的缩写。关于事件消息,在上面已经有介绍。

  SOAP:
  即简单对象访问协议,实际就是通过该协议传递控制消息并返回设备对消息的响应结果。它利用XML和HTTP进行远程调用。使用防火墙或别的网络安全措施不会影响SOAP的使用。

  每个UPnP控制请求都可作为一个SOAP控制消息,控制消息中还包含有控制行为描述和所用到的参数。

H3 2004-8-18 05:13

以下来自UPnP论坛www.upnp.org

Welcome to the UPnP™ Forum!

The UPnP™ Forum is an industry initiative designed to enable simple and robust connectivity among stand-alone devices and PCs from many different vendors. As a group, we are leading the way to an interconnected lifestyle.

The Forum consists of more than

702

vendors, including industry leaders in consumer electronics, computing, home automation, home security, appliances, printing, photography, computer networking, and mobile products.

Companies with interests in particular device classes are encouraged to become Forum members and participate in designing schema templates for their device classes.

By defining and publishing UPnP™ device and service descriptions, members of the UPnP™ Forum are creating the means to easily connect devices and simplify the implementation of networks. In doing so, the UPnP™ Forum members are creating new product opportunities for their companies and industries.

UPnP™ technology is all about making home networking simple and affordable for users so the connected home experience becomes a mainstream experience for users experience and great opportunity for the industry. UPnP™ architecture offers pervasive peer-to-peer network connectivity of PCs of all form factors, intelligent appliances, and wireless devices. UPnP™ architecture leverages TCP/IP and the Web to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office, and everywhere in between. UPnP™ technology can be supported on essentially any operating system and works with essentially any type of physical networking media – wired or wireless – providing maximum user and developer choice and great economics.

cnrouter 2004-8-19 03:31

谢谢H3

又了解到新的知识.

tracky 2004-9-12 05:10

感谢ing……但是刚买了br204没有看见upnp的设置选项在哪个地方啊,请指示

:D……谢谢!!!

H3 2004-9-12 10:41

缺省就是开的。需要把98或者xp的upnp功能打开,那么你QQ、msn的视频语音聊天就没问题了。

ADSLExpert 2004-9-25 10:26

这里的描述还有点没有考虑周全……

事实上,Win98需要利用WindowsXP的安装盘来安装UPnP,WinMe不需要,因为本身就附带了。

Originally posted by H3 at 2004-9-12 06:41 PM:
缺省就是开的。需要把98或者xp的upnp功能打开,那么你QQ、msn的视频语音聊天就没问题了。

————
有事,有ADSL的事,您说话!

ADSLExpert 2004-9-25 11:04

UPnP的好处其实很明白

1、允许LAN内多台PC同时运行P2P、DirectX游戏,而不用配置Virtual Server;
2、自动增删NAT项目,保证安全。
现在支持UPnP的应用也越来越多了,例如BT的软件、UPnP等等。
还需要注意:OS可以不支持UPnP,只要应用支持UPnP,就可以让应用自动在UPnP IGD上增删NAT项目了。

————
有事,有ADSL的事,您说话!

mwy0047 2005-4-11 08:04

xp系统打开方法

控制面板

添加删除程序—〉添加windows组件—〉网络服务—〉通用即插即用

安装好后,连接br系列路由器,会在网络邻居里出现 internet 网关设备

liu_up 2005-4-12 01:32

看过!

受益非浅

abu 2005-4-24 06:27

讲的太透彻了.厉害.

mqd 2005-4-25 03:11

建议加为精华

晴天 2005-6-10 01:16

谢谢H3,我懂了

abu 2005-7-26 09:04

过于详细.呵呵.

wuhanzhou 2005-7-26 09:37

BR204默认是开启UPnP的,
请问如何关闭呢?

ican 2005-7-27 03:50

不能关闭。默认是开启的。
既然它有那么多的好处,为什么要关闭它呢??

glanpa 2006-4-9 05:32

新知识给我们的感觉就是不一样.   以后我们的生活肯定会更好了,可能我们现在都想像不到他的厉害.更应了那句,只有想不到的,没有做不到的.哈哈…
    在这里仿佛又有了家的温暖.:)

glanpa 2006-4-9 05:38

新知识给我们的感觉就是不一样.   以后我们的生活肯定会更好了,可能我们现在都想像不到他的厉害.更应了那句,只有想不到的,没有做不到的.哈哈…
    在这里仿佛又有了家的温暖.

6 月 242006
 

网桥基础知识介绍

一、什么是网桥?

网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。

远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。

网桥与路
由器的比较

网桥并不了解其转发帧中高层协议的信息,这使它可以同时以同种凡是处理IP、IPX等协议,它还提供了将无路由协议的网络(如NetBEUI)分段的功能。

由于路由器处理网络层的数据,因此它们更容易互连不同的数据链路层,如令牌环网段和以太网段。网桥通常比路由器难控制。象IP等协议有复杂的路由协议,使网管易于管理路由;IP等协议还提供了较多的网络如何分段的信息(即使其地址也提供了此类信息)。而网桥则只用MAC地址和物理拓扑进行工作。因此网桥一般适于小型较简单的网络。

二、使用原因

许多单位都有多个局域网,并且希望能够将它们连接起来。之所以一个单位有多个局域网,有以下6个原因:

首先,许多大学的系或公司的部门都有各自的局域网,主要用于连接他们自己的个人计算机、工作站以及服务器。由于各系(或部门)的工作性质不同,因此选用了不同的局域网,这些系(或部门)之间早晚需相互交往,因而需要网桥。

其次,一个单位在地理位置上较分散,并且相距较远,与其安装一个遍布所有地点的同轴电缆网,不如在各个地点建立一个局域网,并用网桥和红外链路连接起来,这样费用可能会低一些。

第3,可能有必要将一个逻辑上单一的LAN分成多个局域网,以调节载荷。例如采用由网桥连接的多个局域网,每个局域网有一组工作站,并且有自己的文件服务器,因此大部分通信限于单个局域网内,减轻了主干网的负担。

第4,在有些情况下,从载荷上看单个局域网是毫无问题的,但是相距最远的机器之间的物理距离太远(比如超过802.3所规定的2.5km)。即使电缆铺设不成问题,但由于来回时延过长,网络仍将不能正常工作。唯一的办法是将局域网分段,在各段之间放置网桥。通过使用网桥,可以增加工作的总物理距离。

第5,可靠性问题。在一个单独的局域网中,一个有缺陷的节点不断地输出无用的信息流会严重地破坏局域网的运行。网桥可以设置在局域网中的关键部位,就像建筑物内的放火门一样,防止因单个节点失常而破坏整个系统。

第6,网桥有助于安全保密。大多数LAN接口都有一种混杂工作方式(promiscuous mode),在这种方式下,计算机接收所有的帧,包括那些并不是编址发送给它的帧。如果网中多处设置网桥并谨慎地拦截无须转发的重要信息,那么就可以把网络分隔以防止信息被窃。

三、兼容性问题

有人可能会天真地认为从一个802局域网到另一个802局域网的网桥非常简单,但实际上并非如此。在802.x到802.y的九种组合中,每一种都有它自己的特殊问题要解决。在讨论这些特殊问题之前,先来看一看这些网桥共同面临的一般性问题。

首先,各种局域网采用了不同的帧格式。这种不兼容性并不是由技术上的原因造成的,而仅仅是由于支持三种标准的公司(Xerox, GM和IBM),没有一家愿意改变自己所支持的标准。其结果是:在不同的局域网间复制帧要排格式,这需要占用CPU时间,重新计算校验和,而且还有可能产生因网桥存储错误而造成的无法检测的错误。

第二个问题是互联的局域网并非必须按相同的数据传输速率运行。当快速的局域网向慢速的局域网发送一长串连续帧时,网桥处理帧的速度要比帧进入的速度慢。网桥必须用缓冲区存储来不及处理的帧,同时还得提防耗尽存储器。即使是10Mb/s的802.4到10Mb/s的802.3的网桥,在某种程度上也存在这样的问题。因为802.3的部分带宽耗费于冲突。802.3实际上并不是真的10Mb/s,而802.4(几乎)确实为10Mb/s。

与网桥瓶颈问题相关的一个细微而重要的问题是其上各层的计时器值。假如802.4局域网上的网络层想发送一段很长的报文(帧序列)。在发出最后一帧之后,它开启一个计时器,等待确认。如果此报文必须通过网桥转到慢速的802.5网络,那么在最后一帧被转发到低速局域网之前,计时器就有可能时间到。网络层可能会以为帧丢失而重新发送整个报文。几次传送失败后,网络层就会放弃传输并告诉传输层目的站点已经关机。

第三,在所有的问题中,可能最为严重的问题是三种802 LAN有不同的最大帧长度。对于802.3,最大帧长度取决于配置参数,但对标准的10M/bs系统最大有效载荷为1500字节。802.4的最大帧长度固定为8191字节。802.5没有上限,只要站点的传输时间不超过令牌持有时间。如果令牌时间缺省为10ms,则最大帧长度为5000字节。一个显而易见的问题出现了:当必须把一个长帧转发给不能接收长帧的局域网时,将会怎么样?在本层中不考虑把帧分成小段。所有的协议都假定帧要么到达要么没有到达,没有条款规定把更小的单位重组成帧。这并不是说不能设计这样的协议,可以设计并已有这种协议,只是802不提供这种功能。这个问题基本上无法解决,必须丢弃因太长而无法转发的帧。其透明程度也就这样了。

由于各种802 LAN的特殊性,如:802.4帧带有优先权位、802.5帧字节中有A和C位等,九种网桥都有其特殊的问题,见下表:

    目的LAN
    802.3(CSMA/CD) 802.4(令牌总线) 802.5(令牌环)
源LAN 802.3   1,4 1,2,4,8
802.4 1,5,8,9,10 9 1,2,3,8,9,10
802.5 1,2,5,6,7,10 1,2,3,6,7 6,7

1、重新格式化帧,并计算新的校验和。
2、反转比特顺序。
3、复制优先权值,不管有无意义。
4、产生一个假想的优先权。
5、丢弃优先权。
6、流向环(某种程度上)。
7、设置A位和C位。
8、担心拥塞(快速LAN至慢速LAN)。
9、担心令牌因为交换ACK延迟或不可能而脱手。
10、如果帧对目的LAN太长,则将其丢弃。

设定的参数:
802.3:1500字节帧 10Mb/s(减去碰撞次数)
802.4:8191字节帧 10Mb/s
802.5:5000字节帧 4Mb/s

当IEEE802委员会开始制订LAN标准时,未能商定一个统一的标准,却产生了3个互不兼容的标准,这一失策已受到了严厉的抨击。后来,在制定互联这3种LAN的网桥的标准时,该委员会决心干得好一些。这一次确实较为成功,他们提出了2种互不兼容的网桥方案。直到目前为止,还无人要求该委员会制订连接它的2个不兼容网桥的网关标准。

四、两种网桥

1、透明网桥

第一种802网桥是透明网桥(transparent bridge)或生成树网桥(spanning tree bridge)。支持这种设计的人首要关心的是完全透明。按照他们的观点,装有多个LAN的单位在买回IEEE标准网桥之后,只需把连接插头插入网桥,就万事大吉。不需要改动硬件和软件,无需设置地址开关,无需装入路由表或参数。总之什么也不干,只须插入电就完事,现有LAN的运行完全不受网桥的任何影响。这真是不可思议,他们最终成功了。

透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。当一帧到达时,网桥必须决定将其丢弃还是转发。如果要转发,则必须决定发往哪个LAN。这需要通过查询网桥中一张大型散列表里的目的地址而作出决定。该表可列出每个可能的目的地,以及它属于哪一条输出线路(LAN)。在插入网桥之初,所有的散列表均为空。由于网桥不知道任何目的地的位置,因而采用扩散算法(flooding algorithm):把每个到来的、目的地不明的帧输出到连在此网桥的所有LAN中(除了发送该帧的LAN)。随着时间的推移,网桥将了解每个目的地的位置。一旦知道了目的地位置,发往该处的帧就只放到适当的LAN上,而不再散发。

透明网桥采用的算法是逆向学习法(backward learning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。

当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。

到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:

1、如果源LAN和目的LAN相同,则丢弃该帧。
2、如果源LAN和目的LAN不同,则转发该帧。
3、如果目的LAN未知,则进行扩散。

为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。其解决方法就是下面要讲的生成树(spanning tree)算法。

生成树网桥

解决上面所说的无限循环问题的方法是让网桥相互通信,并用一棵到达每个LAN的生成树覆盖实际的拓扑结构。使用生成树,可以确保任两个LAN之间只有唯一一条路径。一旦网桥商定好生成树,LAN间的所有传送都遵从此生成树。由于从每个源到每个目的地只有唯一的路径,故不可能再有循环。

为了建造生成树,首先必须选出一个网桥作为生成树的根。实现的方法是每个网桥广播其序列号(该序列号由厂家设置并保证全球唯一),选序列号最小的网桥作为根。接着,按根到每个网桥的最短路径来构造生成树。如果某个网桥或LAN故障,则重新计算。

网桥通过BPDU(Bridge Protocol Data Unit)互相通信,在网桥做出配置自己的决定前,每个网桥和每个端口需要下列配置数据:

网桥:网桥

ID(唯一的标识)端口:端口ID(唯一的标识) 端口相对优先权 各端口的花费(高带宽 = 低花费)

配置好各个网桥后,网桥将根据配置参数自动确定生成树,这一过程有三个阶段:

1、选择根网桥
具有最小网桥ID的网桥被选作根网桥。网桥ID应为唯一的,但若两个网桥具有相同的最小ID,则MAC地址小的网桥被选作根。

2、在其它所有网桥上选择根端口
除根网桥外的各个网桥需要选个根端口,这应该是最适合与根网桥通信的端口。通过计算各个端口到根网桥的花费,取最小者作为根端口。

3、选择每个LAN的“指定(designated)网桥”和“指定端口”
如果只有一个网桥连到某LAN,它必然是该LAN的指定网桥,如果多于一个,则到根网桥花费最小的被选为该LAN的指定网桥。指定端口连接指定网桥和相应的LAN(如果这样的端口多于一个,则低优先权的被选)。

一个端口必须为下列之一:

1、根端口
2、某LAN的指定端口
3、阻塞端口

当一个网桥加电后,它假定自己是根网桥,发送出一个CBPDU(Configuration Bridge Protocol Data Unit),告知它认为的根网桥ID。一个网桥收到一个根网桥ID小于其所知ID的CBPDU,它将更新自己的表,如果该帧从根端口(上传)到达,则向所有指定端口(下传)分发。当一个网桥收到一个根网桥ID大于其所知ID的CBPDU,该信息被丢弃,如果该帧从指定端口到达,则回送一个帧告知真实根网桥的较低ID。

当有意地或由于线路故障引起网络重新配置,上述过程将重复,产生一个新的生成树。

2、源路由选择网桥

透明网桥的优点是易于安装,只需插进电缆即大功告成。但是从另一方面来说,这种网桥并没有最佳地利用带宽,因为它们仅仅用到了拓扑结构的一个子集(生成树)。这两个(或其他)因素的相对重要性导致了802委员会内部的分裂。支持CSMA/CD和令牌总线的人选择了透明网桥,而令牌环的支持者则偏爱一种称为源路由选择(source routing)的网桥(受到IBM的鼓励)。

源路由选择的核心思想是假定每个帧的发送者都知道接收者是否在同一LAN上。当发送一帧到另外的LAN时,源机器将目的地址的高位设置成1作为标记。另外,它还在帧头加进此帧应走的实际路径。

源路由选择网桥只关心那些目的地址高位为1的帧,当见到这样的帧时,它扫描帧头中的路由,寻找发来此帧的那个LAN的编号。如果发来此帧的那个LAN编号后跟的是本网桥的编号,则将此帧转发到路由表中自己后面的那个LAN。如果该LAN编号后跟的不是本网桥,则不转发此帧。这一算法有3种可能的具体实现:软件、硬件、混合。这三种具体实现的价格和性能各不相同。第一种没有接口硬件开销,但需要速度很快的CPU处理所有到来的帧。最后一种实现需要特殊的VLSI芯片,该芯片分担了网桥的许多工作,因此,网桥可以采用速度较慢的CPU,或者可以连接更多的LAN。

源路由选择的前提是互联网中的每台机器都知道所有其他机器的最佳路径。如何得到这些路由是源路由选择算法的重要部分。获取路由算法的基本思想是:如果不知道目的地地址的位置,源机器就发布一广播帧,询问它在哪里。每个网桥都转发该查找帧(discovery frame),这样该帧就可到达互联网中的每一个LAN。当答复回来时,途经的网桥将它们自己的标识记录在答复帧中,于是,广播帧的发送者就可以得到确切的路由,并可从中选取最佳路由。

虽然此算法可以找到最佳路由(它找到了所有的路由),但同时也面临着帧爆炸的问题。透明网桥也会发生有点类似的状况,但是没有这么严重。其扩散是按生成树进行,所以传送的总帧数是网络大小的线性函数,而不象源路由选择是指数函数。一旦主机找到至某目的地的一条路由,它就将其存入到高速缓冲器之中,无需再作查找。虽然这种方法大大遏制了帧爆炸,但它给所有的主机增加了事务性负担,而且整个算法肯定是不透明的。

3、两种网桥的比较

特点 透明网桥 源路由选择网桥 注解
连接方式 无连接 面向连接  
透明性 完全透明 不透明 透明网桥对主机来说是完全不可见的,而且它与所有现在的802产品完全兼容。源路由选择网桥既不透明又不兼容。如果要用源路由选择网桥,主机必须知道桥接模式,必须主动地参与工作。
配置方式 自动 手工  
路由 次优化 优化 源路由选择网桥的几个不多的优点之一是:从理论上讲,它可使用最佳路由,而透明网桥则只限于生成树,另外,源路由选择网桥还可以很好地利用网间的并行网桥来分散载荷。不过在实际中,网桥能否利用这些理论上的优点是令人怀疑的。
定位 逆向学习 发现帧 逆向学习的缺点是:网桥必须一直等到碰巧有一特别的帧到来,才能知道目的地在何处。
查找帧的缺点是:在有并行网桥的大型互联网中,会发生指数级的帧爆炸。
失效处理 由网桥处理 由主机处理  
复杂性 在网桥中 在主机中 由于主机数量通常比网桥大一两个数量级,因此,最好把额外的开销和复杂性放到少量的网桥中而不是全部的主机中。

透明网桥一般用于连接以太网段,而源路由选择网桥则一般用于连接令牌环网段。

五、远程网桥

网桥有时也被用来连接两个或多个相距较远的LAN。比如,某个公司分布在多个城市中,该公司在每个城市中均有一个本地的LAN,最理想的情况就是所有的LAN均连接起来,整个系统就像一个大型的LAN一样。

该目标可通过下述方法实现:每个LAN中均设置一个网桥,并且用点到点的连接(比如租用电话公司的电话线)将它们两个两个地连接起来。点到点连线可采用各种不同的协议。办法之一就是选用某种标准的点到点数据链路协议,将完整的MAC帧加到有效载荷中。如果所有的LAN均相同,这种办法的效果最好,它的唯一问题就是必须将帧送到正确的LAN中。另一种办法是在源网桥中去掉MAC的头部和尾部,并把剩下的部分加到点到点协议的有效载荷中,然后在目的网桥中产生新的头部和尾部。它的缺点是到达目的主机的校验和并非是源主机所计算的校验和,因此网桥存储器中某位损坏所产生的错误可能不会被检测到。

6 月 242006
 

[center]路由器基础知识介绍 [/center]

最简单的网络可以想象成单线的总线,各个计算机可以通过向总线发送分组以互相通信。但随着网络中的计算机数目增长,这就很不可行了,会产生许多问题:

1、带宽资源耗尽。
2、每台计算机都浪费许多时间处理无关的广播数据。
3、网络变得无法管理,任何错误都可能导致整个网络瘫痪。
4、每台计算机都可以监听到其他计算机的通信。

把网络分
段可以解决这些问题,但同时你必须提供一种机制使不同网段的计算机可以互相通信,这通常涉及到在一些ISO网络协议层选择性地在网段间传送数据,我们来看一下网络协议层和路由器的位置。

我们可以看到,路由器位于网络层。本文假定网络层协议为IPv4,因为这是最流行的协议,其中涉及的概念与其他网络层协议是类似的。

 一、路由与桥接

路由相对于2层的桥接/交换是高层的概念,不涉及网络的物理细节。在可路由的网络中,每台主机都有同样的网络层地址格式(如IP地址),而无论它是运行在以太网、令牌环、FDDI还是广域网。网络层地址通常由两部分构成:网络地址和主机地址。

网桥只能连接数据链路层相同或类似)的网络,路由器则不同,它可以连接任意两种网络,只要主机使用的是相同的网络层协议。

 二、连接网络层与数据链路层
网络层下面是数据链路层,为了它们可以互通,需要“粘合”协议。ARP(地址解析协议)用于把网络层(3层)地址映射到数据链路层(2层)地址,RARP(反向地址解析协议)则反之。

虽然ARP的定义与网络层协议无关,但它通常用于解析IP地址;最常见的数据链路层是以太网。因此下面的ARP和RARP的例子基于IP和以太网,但要注意这些概念对其他协议也是一样的。

1、地址解析协议

网络层地址是由网络管理员定义的抽象映射,它不去关心下层是哪种数据链路层协议。然而,网络接口只能根据2层地址来互相通信,2层地址通过ARP从3层地址得到。

并不是发送每个数据包都需要进行ARP请求,回应被缓存在本地的ARP表中,这样就减少了网络中的ARP包。ARP的维护比较容易,是一个比较简单的协议。

2、简介

如果接口A想给接口B发送数据,并且A只知道B的IP地址,它必须首先查找B的物理地址,它发送一个含有B的IP地址的ARP广播请求B的物理地址,接口B收到该广播后,向A回应其物理地址。

 

注意,虽然所有接口都收到了信息,但只有B回应该请求,这保证了回应的正确且避免了过期的信息。要注意的是,当A和B不在同一网段时,A只向下一跳的路由器发送ARP请求,而不是直接向B发送。

下图为接收到ARP分组后的处理,注意发送者的对被存到接收ARP请求的主机的本地ARP表中,一般A想与B通信时,B可能也需要与A通信。

 3、IP地址冲突

ARP产生的问题中最常见的是IP地址的冲突,这是由于两个不同的主机IP地址相同产生的,在任何互联的网络中,IP地址必须是唯一的。这时会收到两个ARP回应,分别指出了不同的硬件地址,这是严重的错误,没有简单的解决办法。

为了避免出现这类错误,当接口A初试化时,它发送一个含有其IP地址的ARP请求,如果没有收到回应,A就假定该IP地址没有被使用。我们假定接口B已经使用了该IP地址,那么B就发送一个ARP回应,A就可以知道该IP地址已被使用,它就不能再使用该IP地址,而是返回错误信息。这样又产生一个问题,假设主机C含有该IP地址的映射,是映射到B的硬件地址的,它收到接口A的ARP广播后,更新其ARP表使之指向A的硬件地址。为了解决这个错误,B再次发送一个ARP请求广播,这样主机C又更新其ARP表再次指向B的硬件地址。这时网络的状态又回到先前的状态,有可能C已经向A发送了应该发送给B的IP分组,这很不幸,但是因为IP提供的是无保证的传输,所以不会产生大的问题。

4、管理ARP缓存表

ARP缓存表是对的列表,根据IP地址索引。该表可以用命令arp来管理,其语法包括:

向表中添加静态表项 — arp -s
从表中删除表项 — arp -d
显示表项 — arp -a
ARP表中的动态表项(没有手动加入的表项)通常过一段时间自动删除,这段时间的长度由特定的TCP/IP实现决定。

5、静态ARP地址的使用

静态ARP地址的典型使用是设置独立的打印服务器,这些设备通常通过telnet来配置,但首先它们需要一个IP地址。没有明显的方法来把此信息告诉该设备,好象只能使用其串口来设置。但是,这需要找一个合适的终端和串行电缆,设置波特率、奇偶校验等,很不方便。

假设我们想给一个打印服务器设置IP地址P-IP,并且我们知道其硬件地址P-hard,在工作站A上创建一个静态ARP表项把P-IP映射到P-hard,这样,虽然打印服务器不知道自己的IP地址,但是所有指向P-IP的数据就将被送到P-hard。我们现在就可以telnet到P-IP并配置其IP地址了,然后再删除该静态ARP表项。

 

有时会在一个子网里配置打印服务器,而在另一个子网里使用它,方法与上面类似。假设其IP地址为P-IP,我们分配一个本网的临时IP地址T-IP给它,在工作站A上创建临时ARP表项把T-IP映射到P-hard,然后telnet到T-IP,给打印服务器配以IP地址P-IP。接下来就可以把它放到另一个子网里使用了,别忘了删除静态ARP表项。

 

6、代理ARP

可以通过使用代理ARP来避免在每台主机上配置路由表,在使用子网时这特别有用,但注意,不是所有的主机都能理解子网的。基本的思想是即使对于不在本子网的主机也发送ARP请求,ARP代理服务器(通常是网关)回应以网关的硬件地址,见下图,注意与上面的图比较一下。

代理ARP简化了主机的管理,但是增加了网络的通信量(不是很明显),并且可能需要较大的ARP缓存,每个不在本网的IP地址都被创建一个表项,都映射到网关的硬件地址。在使用代理ARP的主机看来,世界就象一个大的没有路由器物理网络。

 

三、IP地址

在可路由的网络层协议中,协议地址必须含有两部分信息:网络地址和主机地址。存贮这种信息最明显的方法是用两个分离的域,这样我们必须考虑到两个域的最大长度,有些协议(如IPX)就是这样的,它在小型和中型的网络里可以工作的很好。

另一种方案是减少主机地址域的长度,如24位网络地址、8位主机地址,这样就有了较多的网段,但每个网段内的主机数目很少。这样一来,对于多于256个主机的网络,就必须分配多个网段,其问题是很多的网络给路由器造成了难以忍受的负担。

IP把网络地址和主机地址一起包装在一个32位的域里,有时主机地址部分很短,有时很长,这样可以有效利用地址空间,减少IP地址的长度,并且网络数目不算多。有两种将主机地址分离出来的方法:基于类的地址和无类别的地址。

1、主机和网关

主机和网关的区别常产生混淆,这是由于主机意义的转变。在RFC中(1122/3和1009)中定义为:

主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据,但它从不把数据从一个网络传向另一个。
网关是连接到多于一个网络的设备,它选择性的把数据从一个网络转发到其它网络。
换句话说,过去主机和网关的概念被人工地区分开来,那时计算机没有足够的能力同时用作主机和网关。主机是用户工作的计算机,或是文件服务器等。现代的计算机的能力足以同时担当这两种角色,因此,现代的主机定义应该如此:

主机是连接到一个或多个网络的设备,它可以向任何一个网络发送和从其接收数据。它也可以作为网关,但这不是其唯一的目的。
路由器是专用的网关,其硬件经过特殊的设计使其能以极小的延迟转发大量的数据。然而,网关也可以是有多个网卡的标准的计算机,其操作系统的网络层有能力转发数据。由于专用的路由硬件较便宜,计算机用作网关已经很少见了,在只有一个拨号连接的小站点里,还可能使用计算机作为非专用的网关。

2、基于类的地址

最初设计IP时,地址根据第一个字节被分成几类:

0: 保留
1-126: A类(网络地址:1字节,主机地址:3字节)
127: 保留
128-191: B类(网络地址:2字节,主机地址:2字节)
192-223: C类(网络地址:3字节主机地址:1字节)
224-255: 保留

3、子网划分

虽然基于类的地址系统对因特网服务提供商来说工作得很好,但它不能在一个网络内部做任何路由,其目的是使用第二层(桥接/交换)来导引网络中的数据。在大型的A类网络中,这就成了个特殊的问题,因为在大型网络中仅使用桥接/交换使其非常难以管理。在逻辑上其解决办法是把大网络分割成若干小的网络,但在基于类的地址系统中这是不可能的。为了解决这个问题,出现了一个新的域:子网掩码。子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位。传统的各类地址的子网掩码为:

A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
如果想把一个B类网络的地址用作C类大小的地址,可以使用掩码255.255.255.0。

用较长的子网掩码把一个网络分成多个网络就叫做划分子网。要注意的是,一些旧软件不支持子网,因为它们不理解子网掩码。例如UNIX的routed路由守护进程通常使用的路由协议是版本1的RIP,它是在子网掩码出现前设计的。

上面只介绍了三种子网掩码:255.0.0.0、255.255.0.0和255.255.255.0,它们是字节对齐的子网掩码。但是也可以在字节中间对其进行划分,这里不进行详细讲解,请参照相关的TCP/IP书籍。

子网使我们可以拥有新的规模的网络,包括很小的用于点到点连接的网络(如掩码255.255.255.252,30位的网络地址,2位的主机地址:两个主机的子网),或中型网络(如掩码255.255.240.0,20位网络地址,12位主机地址:4094个主机的子网)。

注意DNS被设计为只允许字节对齐的IP网络(在in-addr.arpa.域中)。

4、超网(supernetting)

超网是与子网类似的概念–IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络–超网。

假设现在有16个C类网络,从201.66.32.0到201.66.47.0,它们可以用子网掩码255.255.240.0统一表示为网络201.66.32.0。但是,并不是任意的地址组都可以这样做,例如16个C类网络201.66.71.0到201.66.86.0就不能形成一个统一的网络。不过这其实没关系,只要策略得当,总能找到合适的一组地址的。

5、可变长子网掩码(VLSM)

如果你想把你的网络分成多个不同大小的子网,可以使用可变长子网掩码,每个子网可以使用不同长度的子网掩码。例如:如果你按部门划分网络,一些网络的掩码可以为255.255.255.0(多数部门),其它的可为255.255.252.0(较大的部门)。

6、无类别地址(CIDR)

因特网上的主机数量增长超出了原先的设想,虽然还远没达到232,但地址已经出现匮乏。1993年发表的RFC1519–无类别域间路由CIDR(Classless Inter-Domain Routing)–是一个尝试解决此问题的方法。CIDR试图延长IPv4的寿命,与128位地址的IPv6不同,它并不能最终解决地址空间的耗尽,但IPv6的实现是个庞大的任务,因特网目前还没有做好准备。CIDR给了我们缓冲的准备时间。

基于类的地址系统工作的不错,它在有效的地址使用和少量的网络数目间做出了较好的折衷。但是随着因特网意想不到的成长出现了两个主要的问题:

已分配的网络数目的增长使路由表大得难以管理,相当程度上降低了路由器的处理速度。
僵化的地址分配方案使很多地址被浪费,尤其是B类地址十分匮乏。
为了解决第二个问题,可以分配多个较小的网络,例如,用多个C类网络而不是一个B类网络。虽然这样能够很有效地分配地址,但是更加剧了路由表的膨胀(第一个问题)。

在CIDR中,地址根据网络拓扑来分配。连续的一组网络地址可以被分配给一个服务提供商,使整组地址作为一个网络地址(很可能使用超网技术)。例如:一个服务提供商被分配以256个C类地址,从213.79.0.0到213.79.255.0,服务提供商给每个用户分配一个C类地址,但服务提供商外部的路由表只通过一个表项–掩码为255.255.0.0的网络213.79.0.0–来分辨这些路由。

这种方法明显减少了路由表的增长,CIDR RFC的作者估计,如果90%的服务提供商使用了CIDR,路由表将以每3年54%的速度增长,而如果没有使用CIDR,则增长速度为776%。如果可以重新组织现有的地址,则因特网骨干上的路由器广播的路由数量将大大减少。但这实际是不可行的,因为将带来巨大的管理负担。

 

四、路由

1、路由表

如果一个主机有多个网络接口,当向一个特定的IP地址发送分组时,它怎样决定使用哪个接口呢?答案就在路由表中。来看下面的例子:

 

目的 子网掩码 网关 标志 接口
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1

主机将所有目的地为网络201.66.37.0内主机(201.66.37.1-201.66.37.254)的数据通过接口eth0(IP地址为201.66.37.74)发送,所有目的地为网络201.66.39.0内主机的数据通过接口eth1(IP地址为201.66.39.21)发送。标志U表示该路由状态为“up”(即激活状态)。对于直接连接的网络,一些软件并不象上例中一样给出接口的IP地址,而只列出接口。

此例只涉及了直接连接的主机,那么目的主机在远程网络中如何呢?如果你通过IP地址为201.66.37.254的网关连接到网络73.0.0.0,那么你可以在路由表中增加这样一项:

 

目的 掩码 网关 标志 接口
73.0.0.0 255.0.0.0 201.66.37.254 UG eth0

此项告诉主机所有目的地为网络73.0.0.0内主机的分组通过201.66.37.254路由过去。标志G(gateway)表示此项把分组导向外部网关。类似的,也可以定义通过网关到达特定主机的路由,增加标志H(host):

 

目的 掩码 网关 标志 接口
91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0

下面是路由表的基础,除了特殊表项之外:

 

目的 掩码 网关 标志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
default 0.0.0.0 201.66.37.254 UG eth1

第一项是loopback接口,用于主机给自己发送数据,通常用于测试和运行于IP之上但需要本地通信的应用。这是到特定地址127.0.0.1的主机路由(接口lo0是IP协议栈内部的“假”网卡)。第二项十分有意思,为了防止在主机上定义到因特网上每一个可能到达网络的路由,可以定义一个缺省路由,如果在路由表中没有与目的地址相匹配的项,该分组就被送到缺省网关。多数主机简单地通过一个网卡连接到网络,因此只有通过一个路由器到其它网络,这样在路由表中只有三项:loopback项、本地子网项和缺省项(指向路由器)。

2、重叠路由

假设在路由表中有下列重叠项:

 

目的 掩码 网关 标志 接口
1.2.3.4 255.255.255.255 201.66.37.253 UGH eth0
1.2.3.0 255.255.255.0 201.66.37.254 UG eth0
1.2.0.0 255.255.0.0 201.66.37.253 UG eth1
default 0.0.0.0 201.66.39.254 UG eth1

之所以说这些路由重叠是因为这四个路由都含有地址1.2.3.4,如果向1.2.3.4发送数据,会选择哪条路由呢?在这种情况下,会选择第一条路由,通过网关201.66.37.253。原则是选择具有最长(最精确)的子网掩码。类似的,发往1.2.3.5的数据选择第条路由。

注意:这条原则只适用于间接路由(通过网关)。把两个接口定义在同一子网在很多软件实现上是非法的。例如下面的设置通常是非法的(不过有些软件将尝试在两个接口进行负载平衡):

 

接口 IP地址 子网掩码
eth0 201.66.37.1 255.255.255.0
eth1 201.66.37.2 255.255.255.0

对于重叠路由的策略是十分有用的,它允许缺省路由作为目的为0.0.0.0、子网掩码为0.0.0.0的路由进行工作,而不需要作为路由软件的一个特殊情况来实现。

回头来看看CIDR,仍使用上面的例子:一个服务提供商被赋予256个C类网络,从213.79.0.0到213.79.255.0。该服务提供商外部的路由表只以一个表项就了解了所有这些路由:213.79.0.0,子网掩码为255.255.0.0。假设一个用户移到了另一个服务提供商,他拥有网络地址213.79.61.0,现在他是否必须从新的服务提供商处取得新的网络地址呢?如果是,意味着他必须重新配置每台主机的IP地址,改变DNS设置,等等。幸运的是,解决办法很简单,原来的服务提供商保持路由213.79.0.0(子网掩码为255.255.0.0),新的服务提供商则广播路由213.79.61.0(子网掩码为255.255.255.0),因为新路由的子网掩码较长,它将覆盖原来的路由。

3、静态路由

回头看看我们已建立的路由表,已有了六个表项:

目的 掩码 网关 标志 接口
127.0.0.1 255.255.255.255 127.0.0.1 UH lo0
201.66.37.0 255.255.255.0 201.66.37.74 U eth0
201.66.39.0 255.255.255.0 201.66.39.21 U eth1
default 0.0.0.0 201.66.39.254 UG eth1
73.0.0.0 255.0.0.0 201.66.37.254 UG eth0
91.32.74.21 255.255.255.255 201.66.37.254 UGH eth0

 

这些表项分别是怎么得到的呢?第一个是当路由表初始化时由路由软件加入的,第二、三个是当网卡绑定IP地址时自动创建的,其余三个必须手动加入,在UNIX系统中,这是通过命令route来做的,可以由用户手工执行,也可以通过rc脚本在启动时执行。上述方法涉及的是静态路由,通常在启动时创建,并且没有手工干预的话将不再改变。

4、路由协议

主机和网关都可以使用称作动态路由的技术,这使路由表可以动态改变。动态路由需要路由协议来增加和删除路由表项,路由表还是和静态路由一样地工作,只是其增添和删除是自动的。

有两种路由协议:内部的和外部的。内部协议在自制系统(AS)内部路由,而外部协议则在自制系统间路由。自制系统通常在统一的控制管理之下,例如大的公司或大学。小的站点常常是其因特网服务提供商自制系统的一部分。

这里只讨论内部协议,很少有人涉及到甚至听说外部协议。最常见的外部协议是外部网关协议EGP(External Gateway Protocol)和边缘网关协议BGP(Border Gateway Protocol),BGP是较新的协议,在逐渐地取代EGP。

5、ICMP重定向

ICMP通常不被看作路由协议,但是ICMP重定向却与路由协议的工作方式很类似,所以将在这里讨论一下。假设现在有上面所给的六个表项的路由表,分组被送往201.66.43.33,看看路由表,除了缺省路由外,这并不能匹配任何路由。静态路由将其通过路由器201.66.39.254发送(trip 1),但是,该路由器知道所有发向子网201.66.43.0的分组应该通过201.66.39.253,因此,它把分组转发到适当的路由器(trip 2)。但是如果主机直接把分组发到201.66.39.253就会提高效率(trip 3)。

 

因为路由器把分组从同一接口发回了分组,所以它知道有更好的路由,路由器可以通过ICMP重定向指示主机使用新的路由。虽然路由器知道所有发向201.66.43.0子网的分组应该通过201.66.39.253,它通常发送特定的主机的ICMP重定向(此例中是201.66.43.33)。主机将在路由表中创建一个新的表项:

 

目的 掩码 网关 标志 接口
201.66.43.33 255.255.255.255 201.66.39.253 UGHD eth1

注意标志D,对所有由ICMP重定向创建的路由设置此标志。将来此类分组将通过新路由发送(trip 3)。

6、RIP

RIP是一种简单的内部路由协议,已经存在很久,被广泛地实现(UNIX的routed就使用RIP)。它使用距离向量算法,所以其路由选择只是基于两点间的“跳(hop)”数,穿过一个路由器认为是一跳。主机和网关都可以运行RIP,但是主机只是接收信息,而并不发送。路由信息可以从指定网关请求,但通常是每隔30秒广播一次以保持正确性。RIP使用UDP通过端口520在主机和网关间通信。网关间传送的信息用于建立路由表,由RIP选定的路由总是具有距离目的跳数最少的。RIP版本1在简单、较小的网络中工作得不错,但是在较大的网络中,就出现一些问题,有些问题在RIP版本2中已纠正,但有些是由于其设计产生的限制。在下面的讨论中,适用于两种版本时简单称为RIP,RIP v1和RIP v2则指特定的版本。

RIP并没有任何链接质量的概念,所有的链路都被认为是相同的,低速的串行链路被认为与高速的光纤链路是同样的。RIP以最小的跳数来选择路由,因此当在下面两个路由中选择时:

100Mbps的光纤链路,路由器,然后是10Mbps的以太网
9600bps的串行链路
RIP将选择后者。RIP也没有链路流量等级的概念。例如对于两条以太网链路,其中一个很繁忙,另一个根本没有数据流,RIP可能会选择繁忙的那条链路。

RIP中的最大hop数是15,大于15则认为不可到达。因此在很大的自制系统中,hop数很可能超过15,使用RIP是很不现实的。RIP v1不支持子网,交换的信息中不含子网掩码,对给定路由确定子网掩码的方法各不相同,RIP v2则弥补了此缺点。RIP每隔30秒才进行信息更新,因此在大网中断链信息可能要花些时间才能传播开来,路由信息的稳定时间可能更长,并且在这段时间内可能产生路由环路。对此有一些解决办法,但这里不进行讨论。

可以看出,RIP是一个简单的路由协议,有一些限制,尤其在版本1中。不过,它常常是某些操作系统的唯一选择。  

6 月 232006
 

[center]MAC地址完美攻略[/center]

先看一段英文解释:

MAC address Last modified: Tuesday, August 31, 2004  

MAC is a Part of the Data Link Layer, as defined by the IEEE, this sublayer contains protocols for gaining orderly access to cable or wireless media.

Short for Media Access Control address, a hardware address that uniquely identifies each node of a network. In IEEE 802 networks, the Data Link Control (DLC) layer of the OSI Reference Model is divided into two sublayers: the Logical Link Control (LLC) layer and the Media Access Control (MAC) layer. The MAC layer interfaces directly with the network medium. Consequently, each different type of network medium requires a different MAC layer.
On networks that do not conform to the IEEE 802 standards but do conform to the OSI Reference Model, the node address is called the Data Link Control (DLC) address.

  如果你是通过校园网或小区接入Internet,那么一定听说过MAC地址。什么是MAC地址,MAC地址在这种局域网环境中究竟起到什么作用?下面就来介绍一下MAC地址的知识,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题。

  一、基础知识

  如今的网络是分层实现的,就像是搭积木一样,先
设计某个特定功能的模块,然后把模块拼起来组成整个网络。局域网也不例外,一般来说,在组网上我们使用的是IEEE802参考模型,从下至上分为:物理层、媒体接入控制层(MAC),逻辑链路控制层(LLC)。

  标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址、IP地址和MAC地址,分别对应应用层、网络层、物理层。网络管理一般就是在网络层针对IP地址进行管理,但由于一台计算机的IP地址可以由用户自行设定,管理起来相对困难,MAC地址一般不可更改,所以把IP地址同MAC地址组合到一起管理就成为常见的管理方式。

  二、什么是MAC地址

  MAC地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地址,它由厂商写在网卡的BIOS里。MAC地址可采用6字节(48比特)或2字节(16比特)这两种中的任意一种。但随着局域网规模越来越大,一般都采用6字节的MAC地址。这个48比特都有其规定的意义,前24位是由生产网卡的厂商向IEEE申请的厂商地址,目前的价格是1000美元买一个地址块,后24位由厂商自行分配,这样的分配使得世界上任意一个拥有48位MAC地址的网卡都有唯一的标识。另外,2字节的MAC地址不用网卡厂商申请。

  MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。

  三、IP地址与MAC地址的区别

  IP地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。MAC地址在一定程度上与硬件一致,基于物理,能够标识具体。这两种地址各有好处,使用时也因条件而采取不同的地址。

  四、为什么要用到MAC地址

  这是由组网方式决定的,如今比较流行的接入Internet的方式(也是未来发展的方向)是把主机通过局域网组织在一起,然后再通过交换机和Internet相连接。这样一来就出现了如何区分具体用户,防止盗用的问题。由于IP只是逻辑上标识,任何人都随意修改,因此不能用来标识用户
;而MAC地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的(注意:其实也可以盗用,后面将介绍)。

  基于MAC地址的这种特点,局域网采用了用MAC地址来标识具体用户的方法。注意:具体实现:在交换机内部通过“表”的方式把MAC地址和IP地址一一对应,也就是所说的IP、MAC绑定。

  具体的通信方式:接收过程,当有发给本地局域网内一台主机的数据包时,交换机接收下来,然后把数据包中的IP地址按照“表”中的对应关系映射成MAC地址,转发到对应的MAC地址的主机上,这样一来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址,因此也不会收到数据包。发送过程和接收过程类似,限于篇幅不叙述。

  综上可知,只有IP而没有对应的MAC地址在这种局域网内是不能上网的,于是解决了IP盗用问题。

  五、怎样获得自己的MAC地

  MAC地址固化在网卡中的BIOS中,可以通过DOS命令取得。Win9x用户可以使用winipcfg命令,Win2k/XP用户可以使用ipconfig/all命令,其中用16进制表示的12位数就是MAC地址(图1)。
[center]MAC地址完美攻略[/center]

  如果你是通过校园网或小区接入Internet,那么一定听说过MAC地址。什么是MAC地址,MAC地址在这种局域网环境中究竟起到什么作用?下面就来介绍一下MAC地址的知识,MAC地址和IP地址的区别以及MAC地址在实际应用中所涉及到的安全问题。

  一、基础知识

  如今的网络是分层来实现的,就像是搭积木一样,先
设计某个特定功能的模块,然后把模块拼起来组成整个网络。局域网也不例外,一般来说,在组网上我们使用的是IEEE802参考模型,从下至上分为:物理层、媒体接入控制层(MAC),逻辑链路控制层(LLC)。

  标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址、IP地址和MAC地址,分别对应应用层、网络层、物理层。网络管理一般就是在网络层针对IP地址进行管理,但由于一台计算机的IP地址可以由用户自行设定,管理起来相对困难,MAC地址一般不可更改,所以把IP地址同MAC地址组合到一起管理就成为常见的管理方式。

  二、什么是MAC地址

  MAC地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。MAC地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的MAC地址,它由厂商写在网卡的BIOS里。MAC地址可采用6字节(48比特)或2字节(16比特)这两种中的任意一种。但随着局域网规模越来越大,一般都采用6字节的MAC地址。这个48比特都有其规定的意义,前24位是由生产网卡的厂商向IEEE申请的厂商地址,目前的价格是1000美元买一个地址块,后24位由厂商自行分配,这样的分配使得世界上任意一个拥有48位MAC地址的网卡都有唯一的标识。另外,2字节的MAC地址不用网卡厂商申请。

  MAC地址通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。

  三、IP地址与MAC地址的区别

  IP地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。MAC地址在一定程度上与硬件一致,基于物理,能够标识具体。这两种地址各有好处,使用时也因条件而采取不同的地址。

  四、为什么要用到MAC地址

  这是由组网方式决定的,如今比较流行的接入Internet的方式(也是未来发展的方向)是把主机通过局域网组织在一起,然后再通过交换机和Internet相连接。这样一来就出现了如何区分具体用户,防止盗用的问题。由于IP只是逻辑上标识,任何人都随意修改,因此不能用来标识用户
;而MAC地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的(注意:其实也可以盗用,后面将介绍)。

  基于MAC地址的这种特点,局域网采用了用MAC地址来标识具体用户的方法。注意:具体实现:在交换机内部通过“表”的方把MAC地址和IP地址一一对应,也就是所说的IP、MAC绑定。

  具体的通信方式:接收过程,当有发给本地局域网内一台主机的数据包时,交换机接收下来,然后把数据包中的IP地址按照“表”中的对应关系映射成MAC地址,转发到对应的MAC地址的主机上,这样一来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址,因此也不会收到数据包。发送过程和接收过程类似,限于篇幅不叙述。

  综上可知,只有IP而没有对应的MAC地址在这种局域网内是不能上网的,于是解决了IP盗用问题。

  五、怎样获得自己的MAC地址

  MAC地址固化在网卡中的BIOS中,可以通过DOS命令取得。Win9x用户可以使用winipcfg命令,Win2k/XP用户可以使用ipconfig/all命令,其中用16进制表示的12位数就是MAC地址(图1)。

  六、MAC地址涉及到的安全问题

  从上面的介绍可以知道,这种标识方式只是MAC地址基于的,如果有人能够更改MAC地址,就可以盗用IP免费上网了,目前网上针对小区宽带的盗用MAC地址免费上网方式就是基于此这种思路。如果想盗用别人的IP地址,除了IP地址还要知道对应的MAC地址。举个例子,获得局域网内某台主机的MAC地址,比如
想得到局域网内名为TARGET主机的MAC地址,先用PING命令:PING TARGET,这样在我们主机上面的ARP表的缓存中就会留下目标地址和MAC映射的记录,然后通过ARP A命令来查询ARP表,这样就得到了指定主机的MAC地址(图2)。最后用ARP -s IP 网卡MAC地址,命令把网关的IP地址和它的MAC地址映射起来就可以了。

图2

  如果要得到其它网段内的MAC地址,那么可以用工具软件来实现,我觉得Windows优化大师中自带的工具不错,点击“系统性能优化”→“系统安全优化”→“附加工具”→“集群Ping”(图3),可以成批的扫出MAC地址并可以保存到文件。

图3

  小知识:ARP(Address Resolution Protocol)是地址解析协议,ARP是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。ARP协议是通过IP地址来获得MAC地址的。

  ARP原理:某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后就会进行数据传输。如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文
。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。ARP表:为了回忆通信的速度,最近常用的MAC地址与IP的转换不用依靠交换机来进行,而是在本机上建立一个用来记录常用主机IP-MAC映射表,即ARP表。
   
  七、如何修改自己的MAC地址

  MAC地址是固化在网卡中的,MAC地址具有唯一性,难道没有办法更改了么?不是的,我们完全不用修EPROM的内容,而只通过修改存储单元的内容就能达到修改MAC地址的目的。例如在Windows中可以通过注册表来修改。

  在“开始”菜单的“运行”中输入regedit.exe,打开注册表编辑器,展开注册表到:HKEY_LOCAL_MACHINESystemCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}子键,在子键下的0000,0001,0002等分支中查找DriverDesc(如果你有一块以上的网卡,就有0001,0002……在这里保存了有关你的网卡的信息,其中的DriverDesc的内容就是你的网卡的信息描述,比如我的网卡就是Intel 21041 based Ethernet Controller),在这里假设你的网卡在0000子键。

  在0000子键下添加一个字符串,命名为“NetworkAddress”,键值为修改后的MAC地址,要求为连续的12个16进制数。然后在“0000”子键下的NDIparams中新建一项名为NetworkAddress的子键,在该子键下添加名为“default”的字符串,键值为修改后的MAC地址。

  在NetworkAddress的子键下继续建立名为“ParamDesc”的字符串,其作用为指定NetworkAddress的描述,其值可为“MAC Address”。这样以后打开网络邻居的“属性”,双击相应的网卡就会发现有一个“高级”设置,其下存在MAC Address的选项,它就是你在注册表中加入的新项NetworkAddress,以后只要在此修改MAC地址就可以了。

  关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项,用于直接修改MAC地址。

  当然,你还可以用工具软件来修改网卡的MAC地址,如MAC2001这款软件就可以达到我们的目的。

  八、如何解决MAC地址带来的安全问题

  我们可以将IP地址和MAC地址捆绑起来来解决这个问题。进入“MS-DOS方式”或“命令提示符”,在命令提示符下输入命令:ARP -s 10.88.56.72 00-10-5C-AD-72-E3,即可把MAC地址和IP地
址捆绑在一起。这样,就不会出现IP地址被盗用而不能正常使用网络的情况,可以有效保证小区网络的安全和用户的应用。

  注意:ARP命令仅对局域网的上网代理服务器有用,而且是针对静态IP地址,如果采用Modem拨号上网或是动态IP地址就不起作用。

  不过,只是简单地绑定IP和MAC地址是不能完全的解决IP盗用问题的。作为一个网络供应商,他们有责任为用户解决好这些问题之的后,才交给用户使用,而不是把安全问题交给用户来解决。不应该让用户来承担一些不必要盗用的损失。

  作为网络供应商,最常用也是最有效的解决方法就是在IP、MAC绑定的基础上,再把端口绑定进去,即IP-MAC-PORT三者绑定在一起,端口(PORT)指的是交换机的端口。这就需要在布线时候做好端口定时管理工作。在布线时应该把用户墙上的接线盒和交换机的端口一一对应,并做好登记工作,然后把用户交上来的MAC地址填入对应的交换机端口,进而再和IP一起绑定,达到IP-MAC-PORT的三者绑定。这样一来,即使盗用者拥有这个IP对应的MAC地址,但是它不可能同样拥有墙上的端口,因此,从物理通道上隔离了盗用者。

  我想通过上面的介绍大家对MAC地址也有些了解吧!提醒大家 应该学以致用,千万不要用来整别人啊!

6 月 232006
 

对Google更新过程的最终解释

摘要:Google是如何更新全部索引的?这是一个范围相当宽的问题,大家都知道,Google为确保向用户提供最具相关性和质量最高的搜索结果而对其数据库按月进行更新。为了回答上述问题,在本文中我将向大家详细说明Google更新过程的每个步骤。

  有相当多的用户和公司都已经发现,为了在早期的搜索引擎优化中,能在Google里有个很好的排名,在认真做计划之前就要采取一切必要的措施。就免费提交的搜索引擎来说,Google是为数极少之中的一个,也是最早将网站收录到数据库的搜索引擎之一。到2003年7月10日为止,Google已经成为收录34亿个网页之多的最广泛的数据库。其中只有一小部分不能够被Google访问,因为这些站点是不能够被搜索引擎爬虫或蜘蛛所访问的。  就象在现实生活中一样,无论是对网站所有者、网站管理员还是搜索引擎优化专家来说,当开始一个新产品的市场时,有很大的风险和潜在的复杂性。然而大多数专家都一致同意在使用Google搜索时,要正确输入关键字,这样才可以有效地搜索到你所要查找的信息。因为Google每个月都会更新它的数据库。在这篇文章中,我们要解释关于“Google Dance”的信息,还有如何在恰当的时间理解“Googlebot”。另外,我们也会告诉你如何进行搜索引擎的优化。著名的“Google Dance”  
  如果你想写封信去参加在Google总部的年度更新过程,那么你可能希望继续读到GooglePlex这篇文章,从中了解Google数据库和搜索引擎机器人是何如工作的。关于Google每月周期性的更新过程有很多的文档记录。而在过去整整一年,Google的这种每个月的周期性更新(如今人们亲切称之为“Google Dance”)对那些焦虑等待的网站所有者和网站管理员来说,都变得愈加复杂和不可琢磨。
 每次的更新都是从Google的一个主要的深层次的爬虫开始的。我们先把它叫做爬虫A。它是如何索引到整个网站中至少三四十亿的网页的呢?Google使用了15,000多台位于不同数据中心的计算机,来索引全世界范围内的站点。当Googlebot来搜索数据库中现有站点时,同时也会搜索到最新的网站。一旦Google完成了爬虫A这个过程,就会为下一步的更新有效地搜索到所有的网页,然后便是两个星期后的第二次更新过程。 
 最后,Google会更新整个数据库,在www2.google.com和ww3.google.com这两个站点上可以看到最新的更新结果。在更新的同时,其结果会很快的连接在主要数据库和第二、第三个数据库之间。由于Google使用的服务器有15,000台之多,因此在整个更新结束之前,不同地方的人们所得到的搜索结果是不同的。“Google Dance”会持续好几天,但是不会超过一个星期。除非Google要改变一些主要的规则,比如2003年4月份的更新。无论是在Google的每个数据库更新的时候还是在更新之后, 只要其中一个数据库进行更新,Google又会开始新一轮的“全面”检索。我们把它称做爬虫B。这次检索仍然包括数据库中所有已被收录站点和一些新发布的网站。GoogleBot的这次检索完成之后,就是Google下一轮更新的起点,意味着下个月的更新又全面开始了。在完美时间“捕捉”Googlebot
  为了得到包括Google数据库在内的任何网站,或是数据库中有效反映更新的网站,一个有经验的网站管理员需事先作认真的计划,并准备好一切。这样他才能在能每月特定的更新过程中“抓住”Googlebot,以取得一个好的排名。多数好的搜索引擎优化专家都知道Googlebot一开始的索引都是在月初进行的,而深层次的索引是在更新之后开始的。如果一个网站管理员希望在Google的数据库中收录一个新站点,那么问题是,会不会有一个爬虫来保证收录呢?根据我们对其每月更新的经验来判断,并不总是这样的。毫无疑问,如果一个网站在月初就被索引的话,那么在这个月的更新过程中,就不会被收录。如果是在这个月的第二次索引中提交的话,就有可能被重新访问,并且在下次的更新时被收录。
  在其他情况下,Google只是简单浏览一下新提交的站点,记下主页和Rbots.txt文档。像这种行为通常是一个好的指示,Googlebot会在下次主要索引期间再次回来。所以站点通常会在第二次索引更新时被收录。对一个新的网站来说,被收录到Google的数据库中,要被在Googlebot那里访问两次。虽然有些例外的情况,但多数情况下是这样的。  为了确保快速被收录的可能,一个有经验的网站管理员需要做一些工作。如果网站被Googlebot第一次更新后索引的话,这其实是一个很好的迹象,很有可能会在Google下个月的更新中被收录。如果这次没有被索引的话,网站管理员就要为再次的索引等待更长的时间。  根据这一点,一个网站管理员如果要想让他的网站在Google更新时的这个非常时期得到索引,那么他一般应该怎么做呢?他完全可以做些必要的准备工作。如果有被Google已经收录的网站,那么可以通过这些网站的变化来观察整个检索过程和所有更新日期, 然后据此仔细规划新网站的发布。此外,如果没有已经为Google收录的网站,也不要紧,可以常访问www.google.com来观察它的更新过程。  然而,实际生活中几乎不可能100%的确定任何网站都可以部分的或是全部的被索引,为了能使您的网站被Googlebot索引到,网站管理员需要做一些工作。
  第一,要和那些页面等级高的站点交换连接。因为这些网站会经常被Google索引和更新。也就是说,如果和他们做连接的话,你的站点也会被经常地索引和更新。但要注意的是一定要有相关性:如果一个网站是做家具零售的,那就要和其相似的公司,比如家具制作或销售的站点做连接。这样做Google会给你一个较高的等级;反之,和那些无关的网站做连接则不会得到一个高的等级。
  第二,你也可以直接向Google做提交。虽然这不是最好的方法,但也是值得去做的。
  第三,网站管理员可以安装一个Google工具栏,通过这个工具栏可以访问到其它站点。自2002年中期起,就有很多关于网站被Google数据库收录和通过Google工具栏访问二者直接关系的报告。
  你也可以选择Yahoo的有偿收录服务,这样可以保证在七天内被Yahoo收录。一旦为Yahoo收录,你的网站就会很快被Google收录了。当然你不用每年都花299美元。还有一个不用花钱的方法,就是把你的网站提交到DMOZ。虽然它的服务器有时会出现问题,而且被DMOZ收录可能要花很长的时间。但这确是一个能让您的网站被Google收录的好方法。
  结论:所有可以提供给网站管理员和搜索引擎优化专家的技术信息,都是从Google爬虫和更新模式那里得到的。它们会对搜索引擎优化的计划和实施有很大帮助。其中最主要的是有助于我们安排计划,因为新的提高和更新需要一个被收录到搜索引擎数据库的特定时间和日期。由于Google决定了大部分的目标搜索引擎访问量,所以让你的网站为Google收录是十分有必要的…