抬起头

也未曾察觉

我在黑暗的天空飞过

· 所有 · [程序] · [网络] · [模版] · [音乐] · [视频] · [转载] · [记忆] · [考试]· 未分类 ·

badtobone @ 2011-03-12 20:33

Firefox与IE浏览器缓存的两个重要区别

 当你建立好一个WEB服务后,通常有两个类型的缓存需要配置:

  设置网站有更新的时候html资源马上过期,以便正在浏览的用户可以很快地得到更新.

  设置所有其它资源(例如图片,CSS,javascript脚本)在一定时间后过期.

  这个缓存方案涵盖Two Simple Rules for HTTP Caching文章中提到关于如何处理更新的一些思想.

  现在HttpWatch 6.0支持Firefox了,我们想探讨一下Firefox在处理缓存上与IE有些什么不同.设置较长过期时间的使用方式(上面第二条)仍可以直接用于Firefox,但配置1在两者之间还是存在细微差别的.

  在之前的文章 中,我们把第一条划分为:

  某些时候动态HTML页面需要即时从服务器更新以备随时显示-甚至是使用后退按钮的时候.例如,显示银行帐号的状态或在线订单.

  静态HTML页面,比如联系,FAQs或者站点地图等页面,如果它们设置了Last-Modified响应头,允许浏览器在需要的时候重新校验,就可以利用到缓存.

  本文剩下部分探讨了Firefox中影响HTML页面缓存的两个重要不同点.

  1. 使用no-cache防止Firefox缓存无效

  你可以简单地设置如下的响应头预防IE缓存任何东西:

  Cache-Control: no-cache

  使用了这个响应头的页面不会保存在缓存里,IE总会重新从服务器加载;即使你使用后退按钮.下面这个例子使用HttpWatch监听一个网上商店,当我们在提交订单表单后点击后退按钮,结果如下图:

Firefox与IE浏览器缓存的两个重要区别

  然而,这个响应头却不能防止Firefox的缓存.这意味着,Firefox在正常访问的情况下,将一直使用缓存的页面,直到它发送GET请求重新检验.并且,如果是通过后退按钮访问页面,Firefox不会再次访问服务器,而是简单直接地从缓存加载.

  那怎样才能关掉Firefox中的缓存呢? 答案很简单,关不了. 因为Firefox依靠缓存中的副本为"文件->另存为","查看源代码"这样的操作服务.但是,你可以控制页面缓存到哪里及那些缓存条目可以用于显示.

  下面响应头在Firefox中可以防止持久化的缓存,强制页面被缓存到内存中:

  Cache-Control:no-store

  这个头也可以防止使用后退按钮时访问了缓存页面,它将触发一个HTTP GET请求.

  这两个响应头的值组合使用可以在IE与Firefox得到期待的结果:

  Cache-Control: no-cache, no-store

  如下HttpWatch响应头标签所示:

Firefox与IE浏览器缓存的两个重要区别

  2. 如果没有设置过期时间Firefox会为你设置一个

  当IE遇到没有Expires头的http响应时,它就认为永远不能自动使用缓存条目,直到它重新从服务校验.由于IE的临时文件的一个设置项"检查所在网页的较新版本"默认为"自动",所以通常都是一个会话做一次.

  这就为控制静态的html内容的缓存提供了一个合理的方式.用户新打开的IE会得到html的最新版本,而缓存的版本就在关闭IE前会一直被使用.

  Firefox处理缺失Expires头的方式不同.如果影响中有Last-Modified头它就会使用HTTP 1.1规范RFC2616中指定的一个尝试性的过期值:

  (引用规范:)

  并且,如果响应中有Last-Modified时间值,尝试性的过期值不能超过这个值到现在时间间隔的一个比率,一般设置这个比率为10%.

  计算方式如下:

  过期时间 = 现在时间 + 0.1 * (Last-Modified到现在的时间差)

  例如,如果你的静态HTML文件上次修改时间是100天前,那过期时间就是10天之后.下面的示例是一个没有Expires头页面的HttpWatch缓存标签:

Firefox与IE浏览器缓存的两个重要区别

  Firefox自动设置了过期时间为8天后,因为这个页面大概80天没有被修改过了.

  这意味着,为了保持控制好你的HTML页面,正如我们在 Two Simple Rules for HTTP Caching 文章中讨论过的,你最好为你的静态资源如HTML,图片,CSS文件等,在你的WEB服务器设置一个合适的Expires值.

  结论

  为了确保IE与Firefox的缓存行为一致,你应该:

  总是指定一个Expires头. 一般设置-1使用html页面能即时刷新或者对其它如图片,CSS,javascript脚本资源设置一个特定的过期时间

  如果你要强制页面刷新,甚至是点击后台按钮的时候,那就设置 Cache-Control: no-cache, no-store



 
badtobone @ 2011-03-12 17:47

转: firefox缓存文件夹位置设置

◇Sw上网技巧 2010-03-31 14:03:50 阅读1651 评论0  字号: 订阅

From:Web. http://www.firefoxdiy.com/firefox/2009/09/firefox-cache.asp  

Through < Blog-Module. 网易博客IE按钮\一键转贴



firefox缓存文件夹位置设置及火狐清除缓存

在日常的工作生活中,每天浏览无数的网站网页,电脑系统难免会多了很多的缓存文件,如firefox临时文件。使用IE浏览器的用户一般会在工具栏点“工具”-Internet选项-删除文件,清除Cookies等操作来清除缓存文件,你会发现删除文件右边有个“设置”按钮,这里就是IE缓存文件夹设置的。那么使用firefox浏览器的用户对于firefox缓存文件夹位置以及firefox清除缓存等问题该如何操作呢?firefox缓存设置又在哪里呢?我们带着问题看看firefoxDIY的操作你就会明白了。

firefox缓存文件夹位置查看
打开firefox浏览器在地址栏输入:about:cache
你会看到如下的firefox缓存文件夹的默认位置显示(第一个是内存,底下的是硬盘),这里列出Disk cache device和Offline cache device对于的信息。其中Disk cache device对应的Cache Directory就是firefox缓存的文件夹位置了。你可以通过这个地址的路径提示打开就能找到火狐缓存在哪,更快的方法是复制地址然后在文件夹的地址栏输入马上到达firefox缓存文件夹。我这里通过firefox缓存查看到文件占的空间是93M的,有点小多哦。
Disk cache device
Number of entries:     3360
Maximum storage size:     51200 KiB
Storage in use:     31700 KiB
Cache Directory:     C:\Documents and Settings\Administrator\Local Settings\Application Data\Mozilla\Firefox\Profiles\vpzup8qs.default\Cache这里就是firefox缓存位置(火狐缓存文件夹)。
List Cache Entries
------------
Offline cache device
Number of entries:0
Maximum storage size:512000 KiB
Storage in use: 0 KiB
Cache Directory:C:\Documents and Settings\Administrator\Local Settings\Application Data\Mozilla\Firefox\Profiles\vpzup8qs.default\OfflineCache
List Cache Entries

firefox清除缓存:打开刚才的firefox缓存文件夹地址后直接删除里面的文件即可完成火狐清除缓存问题。

firefox缓存位置设置
地址栏输入 about:config,右键新建两个字符串,一个名为: "browser.cache.disk.parent_directory" (硬盘缓存)
另一个名为:"browser.cache.offline.parent_directory"(脱机缓存)
然后 输入新的临时文件的路径即可。比如 D:\Temporary Internet Files
检查 browser.cache.disk.enable和browser.cache.offline.enable,这个必须要设定为 true
地址栏输入 about:cache,可以看到缓存目录已经改变了

另外:可能为了更高的提高firefox浏览器的速度把缓存设置到了内存上,如临时文件夹指定为:B:\firefoxDIY\firefoxTemp。不过内存小的建议不要这样设置



 
badtobone @ 2010-08-18 19:16

...



 
badtobone @ 2010-08-17 12:29

喜欢散漫,喜欢颓废,喜欢之不需要理由
-------------------
             Linkin Park - In the end
  It starts with one thing 这起始于一件事
  I don't know why It doesn't even matter How hard you try我不明白,为什么有些事不管你怎样努力都无济于事
  Keep that in mind 我如此的不甘,一直记在心里
  I designed this rhyme写下这首歌曲
  To explain in due time在适当的时间 作一下解释
  All I know 我所知道的是
  Time is a valuable thing 时间是宝贵的
  Watch it fly by as the pendulum swings 看着它随着钟摆飞逝
  Watch it count down To the end of the day 看着一天天慢慢结束
  The clock ticks life away 生命在钟表的滴答声中流逝
  It's so unreal 如此的不真实
  Didn't look out below 我没有小心以下的事
  Watch the time go Right out the window 看着时光从窗外流过
  Trying to hold on But didn't even know 我努力地去奋斗 但却不知道
  Wasted it all just To watch you go 我投入一切的结果 是看着你离我而去
  I kept everything inside and 我只能把一切放在心里
  Even though I tried It all fell apart 即使我努力过 也无济于事
  What it meant to me will 这一切对我来说
  Eventually be a Memory of a time when 最后都成为了一段往事
  I tried so hard 我曾那么努力
  And got so far 付出了那么多
  But in the end 可是结果却
  It doesn't even matter 无济于事
  I had to fall 我不得不失去
  To lose it all 我的一切
  But in the end 可是在最后
  It doesn't even matter 没人去关心
  One thing, 有件事
  I don't know why It doesn’t even matter How hard you try,我不明白,为什么有些事不管你怎样努力都无济于事
  Keep that in mind 我如此的不甘,一直记在心里
  I designed this rhyme,To remind myself how 写下这首歌曲 来提醒我自己
  I tried so hard 我那么的努力
  In spite of the way you were mocking me 你用尽了各种办法打击我
  Acting like I was part of your property 就像我是你的玩偶
  Remembering all the times you fought with me 回忆起每一次你和我争吵的时候 
  I'm surprised it got so (far) 我很惊奇,那已经过去很久了
  Things aren't the way They were before现在的情况不同了
  You wouldn't even recognise me anymore 你可能都认不出我了
  Not that you knew me back then 我不再是你记得的原来的样子
  But it all comes back to me (in the end) 但是当思绪回到过去(最后的结局)
  I kept everything inside 我只能把一切放在心里
  And even though I tried, 即使我努力过
  It all fell apart 也无济于事
  What it meant to me will Eventually be a 这一切对我来说 最后都
  Memory of a time when I 成为了一段往事
  I tried so hard 我那么努力
  And got so far 那么坚持
  But in the end 可是结果却
  It doesn't even matter 无济于事
  I had to fall 我不得不失去
  To lose it all 我的一切
  But in the end 但最后 
  It doesn't even matter 却没有人关心 
  I've put my trust in you 我那么的信任你
  Pushed as far as I can go 为了你我付出了一切
  And for all this 为了这个
  There's only one thing you should know 只希望你能知道一件事
  I've put my trust in you 我那么的信任你
  Pushed as far as I can go 为了你我付出了一切
  And for all this 为了这个
  There's only one thing you should know 只希望你能知道一件事
  I tried so hard 我那么努力
  And got so far 那么坚持
  But in the end 可是结果却
  It doesn't even matter 无济于事
  I had to fall 我不得不失去
  To lose it all 我的一切
  But in the end 只到最后
  It doesn't even the matter 也没有人关心,就这样,尴尬的结束……


 
badtobone @ 2010-07-28 12:04

没有战争,没有和平
没有口号,没有宣言
没有死亡,没有荣耀
忽略所有迷惑世人的东西

我的眼里还能剩下什么



 
badtobone @ 2010-07-19 10:13

三层交换机和路由器的区别   
      zz from http://blog.chinaunix.net/u1/41845/showart_338109.html

三层交换机和路由器都工作在网络的第三层,根据ip地址进行数据包的转发(或交换),原理上没有太大的区别, 这两个名词趋向于统一,所谓交换路由器和路由交换机指的是同一样东西。我们可以认为三层交换机就是一个多端口的路由器。

  但如果从二者的历史的发展的角度去寻找,我们还是能够找出一些差别的:

路由器的历史比较久远一些,80年代中期思科就推出了业界第一台路由器。路由器的推出是为了解决远程的、 不同网段的互连互通,
所谓“路由”就是根据网络上数据包(如IP Packet)的目的地址(如IP地址)查表, 以决定并将该数据包转发到通往目的地的“下一跳”。由于路由算法比较复杂, 早期的路由器一般都是基于CPU以“单跳时钟”指令计算的方式来处理和转发数据包,这种方式转发数据包的效率是比较低的。 但我们不要忘了,在当时,远程广域的互连互通是第一位的,而需要并用得起路由器的是大企业大机构(如银行)。一方面, 承载数据的广域网链路速度比较低(低于1个E1=2Mbps,如PSTN、ISDN、DDN、Frame Relay等),
另一方面当时的应用以UNIX主机计算为主,所以网络传输的速度并不是大问题。

  总结起来,传统的路由器有3个特点:

基于CPU的单步时钟处理机制
能够处理复杂的路由算法和协议
主要用于广域网的低速数据链路


  进入90年代,PC机的飞速发展,导致以太网和TCP/IP协议的迅速崛起和广泛应用,企业内部网络越来越庞大, Internet已经成为最大的广域网,企业的远程互连互通已经越来越从自建(租)的专网转向Internet。 这些变化直接导致了交换机的出现,路由器的升级换代,以及路由器和交换机的融合。

  最早的以太网交换机于95年前后问世,其前身是网桥。网桥工作在网络的第二层,它的作用之一是隔离网络广播风暴。我们知道, 以太网上主机之间通讯链路的建立很大程度上依赖于一种广播包,严格来说广播包只负责建立和维系通讯而不传送有效的数据, 当网络上主机数量增大时广播包会以指数级增长,占用太多带宽,降低网络效率(权威的说法,一个以太网段的主机数量不要超过30台, 超过时就应该用网桥加以隔离)。网桥很像一个有着左膀和右臂的人, 它根据以太网上数据帧(Frame)的目的MAC地址决定是否将帧在左右手之间交换。广播包是没有目的地址的(意味着给所有人), 所以被隔断。我们可以把交换机理解成一个多端口的网桥,连接在它的每一个端口上的主机或网段独享带宽,各端口之间的交换相对独立, 提高了网络效率。交换机工作在网络第二层,算法相对简单,很快就有芯片厂家将其固化, 生产出交换机的核心ASIC芯片,推出硬件的线速度交换机。

  总结起来,传统的交换机有3个特点:

基于ASIC硬件,线速度交换
工作在网络第二层,主要是以太网主要用于局域网的快速数据交换
  随着企业内部网络的进一步扩到,主机增加到成百上千台,网络第三层的广播风暴成为了问题(权威的说法: 一个TCP/IP网段上的主机数量不要超过300台)。传统的交换机工作在网络第二层,不能隔离三层的广播。 一个的解决办法是在交换机上做VLAN隔离,再将VLAN上汇聚到上级路由器上,由路由器实现不同网段(3层网段)之间的路由转发。 这就是最初的路由+交换模型,典型的产品是CISCO的Catalyst 5500路由交换机。路由+交换是一个过渡产品, 今天的三层交换机在体系结构上已有很大的改观,路由和交换通过ASIC充分揉合,第一个包经过路由算法确定路径后, 后续的数据包交由交换引擎实现线速度交换。当然,把所有的路由算法都固化还很困难, 这就是今天的三层交换机要么不能100%实现线速交换,要么只能支持有限的简单的路由协议的原因。

  传统的路由器随着Internet的发展也继续保持其生命力。复杂的协议(如BGP、MPLS), 新的功能和应用(如VPN、Security)都离不开软件和CPU的计算,但路由器在体系结构上也进行了非常大的改进, 并融合了越来越多的固件和ASIC。


路由和交换的发展透析着IT产业软件和硬件的演变,并将随着人们对功能和性能的不懈追求而继续演变下去。


最简单的区别是3层交换机便宜,路由器贵
一个具有第三层交换功能的设备是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单的把路由器设备的硬件及软件简单地叠加在局域网 交换机上。其指导思想为:一次路由,多次交换。而传统的路由器对每一个数据包都进行拆包、打包的操作,限制了系统的带宽。

HUB是基于MAC地址的广播,所有端口共享带宽,用于构建小型局域网;
二层交换机是基于MAC来确定转发方向,每对端口都有标称带宽,用于将多个用HUB构建局域网连接为一个大的局域网,或者将局域网划分为多个子网,起隔离广播的作用

三层交换机是基于IP地址来确定转发方向
路由器是基于IP地址中的网络地址确定转发方向


交换机过去是电信设备的称谓,比如电话交换机、ATM交换机、FR交换机。后来以太网的设备也有了二层的智能,虽然不象电信交换机能交换电路或虚电路,但 是各厂商从开拓市场考虑,就把多口的桥称为交换机。

HUB工作在第一层;而SWITCH从局域网的发展来看,为了便于管理,把比较大的网络从物理上分隔, 成为不同的网段,为了逻辑上连接这些不同的网段,使之可以相互通信,产生了网桥,连接多个网段需要多口的网桥,多口的网桥采用硬件来实现,就成为第二层交 换机,
随着LAN规模的进一步扩大,第二层交换机采用了专用软件来在逻辑上把同一个LAN划分为不同的子网,即虚拟的子网(VLAN)。而这不同VLAN 间的通信,早期由交换机上一级的专用路由器负责,但VLAN一多的话,转发速度就比较慢,所以后来将路由模块简化并采用硬件实现后集成到二层交换机中,成 为第三层交换机。
其实对于三层交换,每个厂商的实现都是不太一样的。但关键的就是尽量不查路由表;减轻核心CPU负担(增加ASIC,每个模块都放 CPU等措施)。

简单的说三层交换就是switch通过硬件来实现ip的路由,而传统的router主要是通过软件实现的,所以转发速率没有switch 高。

各个厂家对三层交换的解释也不同,但有一点是一致的,三层交换就是能路由。简要介绍一下: Hub:是所有端口共享一个通道,既同一网段的主机共享固有的带宽,传输通过碰撞检测进行,同一网段计算 机越多,传输碰撞也越多,传输速率会变慢;本意是枢纽,就是好多线都连在这个东西上,因为最早的以太网拓扑结构是总线型的,后来,以AT&T为首 的几家公司开发了在双绞线上跑的星型以太网,所有的网线都汇聚在一台设备上,这台设备就是网络枢纽---HUB,不管是共享式集线器还是交换机,都是 HUB。在星型结构中,它是连接的中间结点,它起放大信号的作用;所有设备共享Hub的带宽,也就是说,如果hub的带宽是10M,连结了10个设备,每 个设备就是1M;Hub所有端口共享一个MAC地址。

交换机(SWITCH):是2个相互通讯的端口独占一个端口!每个端口为固定带宽,有独特的传输方式,传输速率不受计算机增加影响, 其独特的NWAY、全双工功能增加了交换机的使用范围和传输速度。实质就是多端口网桥,只不过传统网桥的实现以软件为主,而交换机则一硬件为主来实现,所 以速度才够快,如果这么多端口全靠软件也不会有这么好的性能了.这两种设备的设计出发点不同:网桥是用来连接两个LAN的,目的是连通,而交换机则是为了 提高网络性能而设计的,着眼点在性能。用于星型结构时,它作为中心结点起放大信号的作用;端口不共享带宽,如果是一个10M的switch,那么每个端口 的带宽就是10M;每个端口拥有自己的MAC地址。它是一个网络设备,拥有路由器的一部分功能,它可以决定接收到的数据向什么地方发送,它的速度比路由器 要快。

交换机根据工作的ISO模型不同,分为三层交换机和二层交换机,即有无路由功能来区分。而交换式HUB是二层交换机的一种通俗叫法。
SWITCH是 每个端口都是交换式的,每个端口都有MAC地址表,通过学习形成一张转发对应表,根据各公司的技术不同,有些是每端口都有BUFFER和ASIC,有些是 所有端口共用一个BUFFER和ASIC(CPU),一般说来,前者用在高端交换机上,后者用在低端或桌面型交换机上。至于是否可网管,不是HUB和 SWITCH之间的区别,CISCO的一些型号的HUB也是可网管的。
交换式HUB,D-LINK有这样称呼的产品,是10/100M的,HUB的原理是广播和信号放大,所谓交换,实际上是当端口是 100M的状态时,数据从100M的端口到10M端口去,或者从10M端口到100M的端口去,因为速率不同,因此需要有一个交换模块起存储转发作用,避 免丢包太多,作用类似于CPU加缓存,但在10M端口或100M端口之间采用的还是广播的形式,这样可以降低成本。Switch   hub是一个过渡性的名词,现在很少用了,大家能清楚搞明白swtich和hub的区别也就可以了。

交换式HUB和SWITCH间,其实倒很难说有什么特别明显的界限。一些介绍以太网等相关知识的资料里,大多建议把中低档桌面式的称 为“交换式集线器” SWITCH-HUB,而把背板带宽较大、转发速率较高、带网管的中高档的称“交换机” SWITCH,这是根据两者在一个网络中所处的不同地位来划分的。前者仅起一个汇集作用,后者则网管,并不是狭义的网管,而是指划 VLAN、绑MAC等管理功能都在其上实现。FTTB+LAN的三层模式是汇集、转发、路由。 就“交换机”本身的涵义而言,合理的划分似乎应是这样: 早期LAN:客户机——HUB——SWITCH(二层)——路由器(网关) 现在LAN:客户机——HUB/SWITCH(二层)——SWITCH(三层)(网关)——路由器 早期划分:HUB(集线器)/SWITCH(交换机)(二层) 现在划分:HUB(集线器)/SWITCH HUB(交换式集线器)(即原先的中低档二层交换机)/SWITCH(交换机)(三层) 但由于历史的原因,加上个别厂商出于商业考虑的不负责任的宣传,交换式HUB其实可能是以下几种情况: 1 SWITCH---交换机、交换器、网络开关(不同的译法,同一种东西) 2 带交换模块内含两个中继器的共享式HUB(10/100M自适应) 3 可附加交换模块的共享式HUB 具体情况可以看看产品说明书。 若一定要在概念上划分,那SWITCH HUB和SWITCH的区别可以理解为SWITCH HUB是把端口分组,组与组之间进行交换,组内部通信通过竞争来实现通信,而SWITCH就是能够实现所有端口之间的交换。这样 L2 SWITCH就能很方便的划分VLAN,而SWITCH HUB就只能简单的划分网段了。 通俗的讲,交换式集线器是端口分组交换,交换机是MAC交换,我的意思是前者是对所有端口进行分组,同一组中采用HUB式的第一层共 享,不同组间采用第二层交换,但可能采用了特殊算法,使实际应用中,每一端口在通讯时,并不向其它端口广播),后者则所有端口完全是第二层以上的交换,以 此来划分。(前者1~2层,后者2~3层)

第二层交换机应该是客户机自己通过ARP去获得IP->MAC的对应,如果是同一个switch下的其它host,它 就“安排”了,如果需要通过路由器出去的话(比如IP是www.online.sh.cn的IP 218.1.64.50),上 层路由器会回答说:218.1.64.50的MAC是……(路由器自己的端口的MAC),然后交换机就把包送到上层的路由器那里去了,这是发生在 proxy ARP时。GW会冒充另一网段的主机的MAC地址。这种方法有一定容错能力,但scalability较差。

应该 是:node(节点)通过mask判断目标是否同一个网段。如果不是,就试图与gateway通讯,如果ARP(地址解析协议) cache(缓存)里没有gateway(网关)的MAC地址,就ARP广播,得到GW的MAC地址,转发给GW。

早期的“交换机”是指第二层的设备,但随着网络的发展,第三层交换机(SWITCH)才能在整个网络中,真正起到了“交换”的作用, 交换通讯录、交换IP包;而原先的第二层交换机,除了自己下属端口可以直接交换外,其它的,都不管三七二十一,全部转手给上层交换机或路由器做,自身只起 到了一个汇集用户的作用。所以我觉得照现在的应用,倒是称前者为交换机,而称后者为交换式集线器SWITCH-HUB更贴切一些。SWICH通过MAC地 址交换,当然是在2层,MAC(硬件地址)是数据连路层标准,因此SWICH是2层硬件,HUB是物理层硬件,严格意义上不存在第3层的概念,7层模型只 是逻辑概念的划分。厂商设计产品时可以根据需要按照ISO标准来进行分类,这是7层模型带来的好处。以前认为3层交换机不能代替路由器,但从目前的发展来 看,这种看法有值得商榷之处。

把IP理解为一个人的姓名(例:张三),MAC理解为其住址。访问过程应如下: “客户机向上级交换机发出ARP请求“我要给张三寄东西”,交换机看通讯录“张三归哪个邮局管?”,有,则通知客户机可发,客户机在 IP包内封装己方IP和MAC、目标IP和自己网关(可能是承担路由功能的普通服务器,也可能是第三层交换机或者专用的路由器)MAC、内容,发往路由交 换机(第一个路由),再通过一个个路由(每到一个路由,此路由器就将己方MAC改为自己的,目标MAC改为下一个路由器的MAC,这样才能不断的传送), 最终到达张三处;若无,交换机向上一层交换机/路由器发出ARP请求,要求查询,查到所属邮局后反馈。为了下次使用方便,交换机(路由)同时将其记录在自 己的通讯录上。”

路由器根据内部的动态路由表或利用预设的固定路由规则生成动态路由表,以此决定IP包的最终去向(在多条可达路由中挑选一条捷径)。 整个传送过程中,源IP和目标IP是不变的,但MAC则由路由器“盖上自己的邮戳”。对于外网,本机只知道IP(通过DNS),而MAC是交由路由器处理 的——本机发送的IP包中的目标MAC是路由器的。

进一步理解三层交换: 三层就是IP层了。三层交换机应该功能和路由器相似,不过前者是由硬件实现路由后者是主要由软件来做。 三层路由和三层交换的区别:后者简化查表的动作,最简单的模型是所谓route cache,复杂的,比如 netflow, CEF or deCEF 简单介绍netflow, CEF or deCEF: 比较Process Switching,Fast Switching和CEF。 Process Switching In process switching the first packet is copied to the system buffer. The router looks up the Layer 3 network address in the routing table and initializes the fast-switch cache. The frame is rewritten with the destination address and sent to the outgoing interface that services that destination. Subsequent packets for that destination are sent by the same switching path. The route processor computes the cyclical redundancy check (CRC). 翻译:在Process Switching,第一包被复制到系统buffer,然后查路由表并初始化 fast-switch cache。帧(是第2层的哦)的目标地址(比如MAC地址)被改写,发到出口interface。后 续的同一目标的包按照同样的switching path发送。路由处理器计算CRC。 Fast Switching When packets are fast switched, the first packet is copied to packet memory and the destination network or host is found in the fast-switching cache. The frame is rewritten and sent to the outgoing interface that services the destination. Subsequent packets for the same destination use the same switching path. The interface processor computes the CRC. 翻译:当包被fast switching,第一包复制到内存,发现与fast- switching cache的某一表项吻合。帧被重写二层地址,发到出口interface。后续的同一目标的包按照同样的 switching path发送。interface处理器计算CRC。 CEF Switching When CEF mode is  enabled, the CEF FIB and adjacency tables reside on the route processor, and the route processor performs the express forwarding. You can use CEF mode  when line cards are not available for CEF switching or when you need  to use features not compatible with distributed CEF switching. 当打开CEF模式,CEF FIB(转发信息库)和邻居表位于路由处理器,如果模块不支持分布式处理,就由路 由处理器执行快速转发。 其实现在的技术发展的那么快, 底层的设备都在向上层发展, HUB从物理层向数 据链路层发展, SWITCH向网络层发展, 目前三层SWITCH有完整的路由功能, 但是做的主要工作还是VLAN之间的路由, 做外网IP的路由还是靠路由器。

 然而 随着千兆以太网的迅速发展我想传统的共享式HUB和传统的路由器可能在市场上的占有率会越来越少的。 可以这样理解,就是三层交换机的交换表中多了一个IP的条目或者干脆多了一个路由表,这样它在将包交付路由器之前就已经知道了到达远 程IP所需经过路线的下一个路由的MAC地址了。无论是hub,switch,在发送正是数据前会侦测线路,如果发现线路繁忙,它会暂时不送数据到总线 上,而是随机等待一个时延后再侦测.所以也就不存在丢弃冲突的包的情况。 随着网络的发展,接入层的switch必然会在控制成本的前提下越来越完善,支持snmp、icmp、甚至简单的qos。cisco 新推出的2950多了什么,主要就是服务质量(QoS)和组播管理,这是网络应用发展的必然。 

单纯的路由器逐渐退到网络边缘,最终会被swtich取代。而所谓交换集线器这个名词很快会消失——实际上现在有几个做网络的人还会用这个名词?现在的新名词是:桌面式交换机、骨干交换机、路由交换机……    




三层交换机和路由器有什么不同?
悬赏分:0 - 解决时间:2005-12-24 11:47
提问者: mhjwyc - 助理 三级 
最佳答案
一、三层交换机与路由器的主要区别 之所以有人搞不清三层交换机和路由器之间的区别,最根本就是三层交换机也具有“路由”功能,与传统路由器的路由功能总体上是一致的。虽然如此,三层交换机与路由器还是存在着相当大的本质区别的,下面分别予以介绍。 1. 主要功能不同 虽然三层交换机与路由器都具有路由功能,但我们不能因此而把它们等同起来,正如现在许多网络设备同时具备多种传统网络设备功能一样,就如现在有许多宽带路 由器不仅具有路由功能,还提供了交换机端口、硬件防火墙功能,但不能把它与交换机或者防火墙等同起来一样。因为这些路由器的主要功能还是路由功能,其它功 能只不过是其附加功能,其目的是使设备适用面更广、使其更加实用。这里的三层交换机也一样,它仍是交换机产品,只不过它是具备了一些基本的路由功能的交换 机,它的主要功能仍是数据交换。也就是说它同时具备了数据交换和路由 由发两种功能,但其主要功能还是数据交换;而路由器仅具有路由转发这一种主要功能。 2. 主要适用的环境不一样 三层交换机的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接。正因如此,三层交换机的路由功能通常比较简单,路由路径远没有路由器那么复杂。它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。 

而路由器则不同,它的设计初哀就是为了满足不同类型的网络连接,虽然也适用于局域网之间的连接,但它的路由功能更多的体现在不同类型网络之间的互联上,如 局域网与广域网之间的连接、不同协议的网络之间的连接等,所以路由器主要是用于不同类型的网络之间。
它最主要的功能就是路由转发,解决好各种复杂路由路径 网络的连接就是它的最终目的,所以路由器的路由功能通常非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。它的优势在于选择 最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。为了与各种类型的网络连接,路由器的接口类型非常丰富,

而三层交换机 则一般仅同类型的局域网接口,非常简单。 

3. 性能体现不一样 
从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的软件路由引擎执行数据包交换,而三层交换机通过硬件执行数 据包交换。三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而 不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。

同时,三层交换机的路由查找是针对数据流的,它利用缓存技术,很 容易利用ASIC技术来实现,因此,可以大大节约成本,并实现快速转发。而路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现,转发效率较 低。 
正因如此,从整体性能上比较的话,三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;
而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。如果把路由器,特别是高档路由器用于局域网中,则在相 当大程度上是一种浪费(就其强大的路由功能而言),而且还不能很好地满足局域网通信性能需求,影响子网间的正常通信。 
综上所述,三层交换机与路由器之间还是存在着非常大的本质区别的。无论从哪方面来说,在局域网中进行多子网连接,最好还选用三层交换机,特别是在不同子网 数据交换频繁的环境中。一方面可以确保子网间的通信性能需求,另一方面省去了另外购买交换机的投资。当然,如果子网间的通信不是很频繁,采用路由器也无可 厚非,也可达到子网安全隔离相互通信的目的。具体要根据实际需求来定。


 

自由自在

C/C++学习博客

最新评论

我的电台

 >>>    英文100

友情连接

· C++博客
· VC知识库
· 人物志
· 何昕博客
· MoFunk
· Round

订阅 RSS
0010891
歪酷博客