ZTV-2钱江都市频道 <情爱传奇>栏目 21:20 : 代孕妈妈 的无法自拔.
因天生母性的升起, 已经无法遵守当初的约定. 没有办法,母性是成熟女性天生拥有和期望得到的, 奉劝各位女性朋友, 轻易不要试图走进这样的圈圈.
ZTV-2钱江都市频道 <情爱传奇>栏目 21:20 : 代孕妈妈 的无法自拔.
因天生母性的升起, 已经无法遵守当初的约定. 没有办法,母性是成熟女性天生拥有和期望得到的, 奉劝各位女性朋友, 轻易不要试图走进这样的圈圈.
网桥基础知识介绍
一、什么是网桥?
网桥工作在数据链路层,将两个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的头部和尾部,并把剩下的部分加到点到点协议的有效载荷中,然后在目的网桥中产生新的头部和尾部。它的缺点是到达目的主机的校验和并非是源主机所计算的校验和,因此网桥存储器中某位损坏所产生的错误可能不会被检测到。
[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中。不过,它常常是某些操作系统的唯一选择。
[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地址也有些了解吧!提醒大家 应该学以致用,千万不要用来整别人啊!
同事电脑好多天不能internet了, ping 127.0.0.1 也是通的,但ping 网关却不通,后来发现是mac地址丢失了^_^
医学专家忠告:水,是们生命的源泉,请大家每天定时定量灌水。每天逛
一逛,灌一灌,有益身心健康。早晨起来一桶水,饭前饭后一桶水,关键在于坚
持,重点在于参与
对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收录是十分有必要的…
Google Adsense技巧100条
基本提示
遵守 Google Adsense 条款和协议,这是Google的游戏,遵守他们的规则,有疑问就问Google。
高访问量最重要,可以适当进行SEO
内容为王,经常更新你的网站。
为你的访客提供价值。
使用一些技巧可以使你的收入翻倍。
不停的试验。
不要抱住Adsense不放,尝试其他广告发布网络。(不要一同放置内容关联广告。)
不停的学习。
永不放弃。
扩展提示
AdSense 收入 = 广告展示次数 x 点击率 x 点击单价 x 智能定价因素(Smart Price)
广告展示次数基于你的网站流量,该项代表Adsense广告展示次数。
点击率为广告被点击次数÷广告展示次数,基本范围为0.1%-30%,大多数为1%-10%(中文广告偏低,大陆地区平均点击率约0.2%)。
点击单击为每次点击的收入,一般根据广告商付出的点击单价决定。
智能定价机制为Google衡量你的网站刊登广告价值的系统,如果你的网站上用户点击广告后转化为购买用户的比例较低,您只能获得较低的收入。
通过 bokee.com 申请Adsense项目,帐号批准速度更快。
不要点击自己网站上的广告,也不要让朋友去点击,包括使用代理服务器的情况下。(Google会实时反查服务器代理服务并拥有大量代理服务器地址)
不要使用自动点击程序。
不要要求访客点击广告,Adsense广告周围仅允许放置“赞助商链接”或“广告”字样。
不要在放置Adsense的网页放置网页内容匹配广告,例如Yahoo Publisher Network,百度主题推广。可以放置与页面不自动相关的广告。
不要将广告放置在成人站点,违反法律的站点或有版权问题(如MP3下载)的站点等。
访问你自己的网站不会使帐号被封停,但不要点击任何广告。
不断的刷新自己的网页可能使你的帐号被封停。(这将影响展示次数和点击率)
不要欺骗Google Adsense,Google的经验永远比你多。
对条款有疑问时主动联系Google,他们会很快答复你。
同一页面不要放置过多广告。
可以通过 cwire.org 寻找高价关键字,但请注意,竞争者会很多。
通过 Overture 的关键字分析工具寻找合适的关键字(Google Adwords和Google Trend也有类似功能。)
考虑加入Google AdWords并小额投放广告,这将有助于你理解Adsense的运作机制。
将你的目标关键字放置在网页标题中。(在网页文件名和目录上体现更佳。)
在正文中重复你的关键字。(不要超过5%,最好为3%)
学习HTML。
在关键字上使用粗体标签如、等。
域名中尽量包含目标关键字。
将你的站点提交到知名网页目录系统,如dmoz.org, Yahoo目录等。
将你的站点提交到搜索引擎。
使用Google Sitemap。
不要仅面向Google优化网页,还有很多搜索引擎。
软广告(枪稿)是最好的SEO方法,在文章作者信息中包含你的网页链接,然后投稿到知名网站。
不要使用恶意手段留下用户,如间谍软件,浏览器劫持等方法,这将可以能使你的帐号被封停。
新访客比经常浏览你网站的人更容易点击广告。
经常浏览你网站的人将更容易向他人推荐你的网站。
新访客大多数来自于搜索引擎,做好网页优化工作(SEO)。
不要建立镜像站点,即URL不同而内容相同的网站。
建立多个点击单价网站比几个高点击单价网站更容易。
论坛通常是展示次数多而点击率低。
点击率不是最重要的,如果转化率过低(点击用户转化为广告商客户),广告单价也不会高。
遵循好的网页设计,避免常规错误。
优化网站导航设计,这将有助于延长用户在网站的停留时间。
使用Google Analytics统计访问信息,这有助于SEO。
不同的论坛有不同的广告热区,通常是左侧控制面板,第一贴下边和页脚前边。
论坛是互通交流,注意关注热点问题。
尝试300×250, 336×280,160×600等高点击率广告格式。
使用网页主色调编辑调色板,即将广告和内容混合在一起。
让文章正文围绕广告单元。
广告周围紧挨图片有助于提高点击率。
使用广告渠道跟踪不同位置、不同颜色的广告单元。
文字广告和图片广告都选择。
翻译:Cloudream,转载请保留此信息。
Adsense 包含CPM广告,Adsense将自动选择展示。(通常需要广告商指定网站进行展示,CPM:每千次展示付费。)
图片广告和文字广告都可能有CPM广告。
页面底部可放置广告 链接单元。
尝试在底部放置 Adsense For Search 搜索框。
在提高内容质量上多下功夫,Adsense不是一夕致富的项目。
去掉低质量网站的链接。
在Google中搜索“AdSense Tips”,有许多站长会与你分享经验。
这里是在Blog投放Adsense的建议。
关注Inside AdSense(Google Adsense官方博客)。(大陆用户可通过此Feed订阅:http://feeds.feedburner.com/blogspot/GjwI)
你可以从AdSense Help Group获取更多经验和帮助。
如果你希望以Adsense维生,购买AdSense Secrets。(谨慎参考。)
少放置广告单元,通过渠道寻找到页面上单价最高的广告单元,去掉其它广告单元。
不停的试验,不断尝试新的广告格式。
除非你的网站规模足够大,否则去掉“在本网站刊登广告”链接,这可以避免许多MFA网站(Made For Adsense,为Adsense制作的网站)。你可以在账户设置中禁用它。
广告展示基于访客地理位置,尝试Adsense 广告预览工具。
使用“竞争性广告过滤器”去除劣质网站广告,包括盗窃他人网站内容,提供大量无用链接等。
使用“竞争性广告过滤器”去除不相关广告。
AdsBlackList.com包括一些可以过滤掉的广告URL。
尝试不断的变化广告位置、颜色、样式,使访客对广告更不可预知。
学习简单的CSS
如果放置多个广告单元,将单价高的广告单元放置在HTML中靠前的位置,可以使用CSS定位。
对动态网页地址使用URL导向变为静态网页地址。(即不包含?及参数的网址)
验证网页HTML和CSS。
多大文章拆为多个小文章。(按主题分拆,一个文章分为多页不利于广告匹配。)
每篇文章重点关注一个主题。
关注统计系统,注意那些带来较多访客的文章。
发布更吸引访客的主题的文章。
熟悉电脑网络的人较少点击广告。
有耐心,提高流量需要时间。
做长期规划,分析你的访客需要什么,提高网站价值。
关注每日的收入,感觉数据有异常时及时通知Google,你的竞争者可能恶意点击你的广告或者你的朋友会多点击你的广告,并认为他是在帮你。
使用“区段定位”以提高广告匹配度。
使用“替代广告链接”以防Google无法匹配你的网页。
使用多个调色板,防止用户对广告形成盲区。
尝试Yahoo Publisher Network,百度主题推广等项目。但不要在放置Adsense广告单元的网页。
页面上可以放置Amazon广告联盟等销售联盟的广告,但应该是不会自动匹配网页内容的广告。
不遵守条款和协议将使你的账户被封停并且该个人将永远不能再申请Adsense项目。
如果你遵守条款和协议而帐号被封停,写信给Google,注意要客气,不要灰心,可以提供你的服务器访问日志,尽量证明你的清白。
多链你的网站,如电子邮件签名、论坛签名、Blog评论等。
将你的文章提交到网摘网站,如digg、del.icio.us等。
提供“将本文E-mail给朋友”链接。
掌握你的Adsense报告,根据广告收入来源确定网站未来内容。
提供网站更新通知。(如邮件列表或RSS文档。)
你可以在Adsense帮助中找到大部分你需要的信息。