随着现代应用程序和工作负载变得越来越复杂,为其选择合适的服务器变得至关重要。服务器的核心数量是影响性能的关键因素,必须根据特定应用程序和工作负载进行优化。
了解不同类型的工作负载
在选择服务器核数之前,了解不同类型的工作负载非常重要。常见的工作负载类型包括:
- 计算密集型工作负载:这些工作负载涉及大量计算操作,例如科学建模和视频渲染。
- 内存密集型工作负载:这些工作负载需要大量内存来存储数据,例如数据库和数据仓库。
- 输入/输出密集型工作负载:这些工作负载涉及大量数据输入/输出操作,例如文件服务和 Web 服务器。
- 网络密集型工作负载:这些工作负载需要大量的网络带宽,例如视频流和游戏。
选择最佳服务器核数
在选择服务器核数时,需要考虑以下因素:
- 应用程序要求:某些应用程序需要更多内核来处理计算密集型任务。
- 工作负载大小:较大的工作负载需要更多的内核来并行处理。
- 预算:服务器核数越多,价格就越高。
- 可扩展性:随着工作负载的增长,您可能需要添加更多内核来扩展服务器。
常见的工作负载核数建议
以下是针对不同工作负载类型的常见服务器核数建议:
工作负载类型 | 推荐核数 |
---|---|
计算密集型 | 4-8 核或更多 |
内存密集型 | 8-16 核或更多 |
输入/输出密集型 | 4-8 核或更多,加上高速固态驱动器 |
网络密集型 | 2-4 核或更多,加上高速网络接口 |
结论
为您的服务器选择合适的核数对于优化性能和满足您的应用程序和工作负载需求至关重要。通过了解不同类型的工作负载并考虑上述因素,您可以做出明智的决策,确保您的服务器得到充分利用。
win10系统哪种版本比较好用
目前Win10操作系统众多版本里,功能最全的版本是企业版,其次是专业工作站版,两者近乎同等级别。大家可以这样理解,Win10版本由高往低排序:企业版 专业工作站版 专业教育版 教育版 专业版 家庭版,其中LTSC版是企业版的精简版。
Win10系统有很多不同版本,那我们该如何去选择适合自己的呢?
Win10系统主要有六个大版本,分别是家庭版、教育版、企业版、专业版、移动版、物联网版 。
如果再把以上版本细分一下,目前一共有10个版本在服役,依次是企业版、企业LTSC版、专业工作站版、专业教育版、教育版、专业版、家庭版、家庭单语言版、移动版、物联网版。
这个问题其实很好回答,Win10系统众多版本里,企业版和工作站版属于最高级别版本,其次是专业版和教育版,家庭版属于入门级,功能相对较少。
家庭用户可以安装专业版,IT从业者、影音设计、工程制图等追求高效率办公的朋友们建议使用专业工作站版或者企业版。
需要注意的是:个人用户可以使用任意版本,而对于商用来说需要慎重选择,因为微软一直在打击盗版。
现在新买的电脑都是预装的Win10家庭版,个别高配机型配备的是专业版。
因为家庭版功能少,所以价格是最便宜的,电脑厂家为了缩减成本,预装的都是OEM家庭版。
开启“卓越性能”电源模式,通过识别CPU和GPU工作量来优化系统让其达到最高性能。
新增ReFS文件系统,它是继FAT32、NTFS之后的又一个文件格式,专注于容错以及大数据运算。
新增高速文件共享,优化电脑之间的文件传输,更注重于高速数据传输并降低CPU的使用。
更高的硬件扩展,支持Intel Xeon和AMD Opteron,支持4颗CPU以及最高6TB内存。
归纳总结:Win10系统众多版本里,企业版和工作站版功能最强大,其次是专业版和教育版,家庭版属于入门级别。至于选择哪一版本,文章中已经说了,普通家庭用户推荐专业版、追求高效率办公推荐企业版和工作站版。
朋友,很高兴回答你这个问题,选择一个合适自己使用的系统,首先我们来了解一下,现在Win10系统有很多的版本,如win10家庭版、win10专业版、Win10教育版、Win10企业版等等,后面又增加了Win10专业工作站版、Win10 LTSB 2016版、Win10 LTSC 2019版本,那么win10哪个版本好?哪个版本适合大家使用?下面我就来告诉你win10什么版本好,看完后就知道自己应该选择哪个版本了。
一、Win10家庭版
Win10家庭版(也就是Win10 Home):对普通用户来说,Win10家庭版就是不错的选择。
其中包括最新的Windows通用应用商店、Edge浏览器、Cortana(小娜)个人助理、Continuum平板模式,以及Windows Hello生物识别等功能。
这对于在家使用的用户来说,功能已经足够使用了。
Win10家庭版还会包括 游戏 串流功能, 游戏 玩家可以在PC上直接进行Xbox One的 游戏 。
当然,为了提高系统安全性,家庭版用户对于来自Windows Update的补丁无法做出自己的判断,只能照单全收,系统将会自动安装任何安全补丁,不再向用户询问。
家庭版还包括了一个针对平板电脑设计的称之为“Continuum”的功能,其向用户提供了简化的任务栏以及开始菜单,应用也将以全屏模式运行。
此外,任务栏上会出现返回按钮,整个界面针对触控操作进行了优化,开始菜单也将进入全屏模式。
该功能在桌面及平板电脑设备间实现了完美的过渡体验。
同时,对于那些拥有Win7或8.1家庭版的用户来说,升级至Win10家庭版是免费的。
二、Win10专业版
其次是Win10专业版(也就是Win10 Pro):该版本是以家庭版为基础,主要面向技术爱好者和企业的技术人员,都会内置一系列增强技术,包括组策略、Bitlocker驱动加密、远程访问服务、域名链接,还有全新的Windows Update for Business。
因此该版本功能上是比较强大的,而且很多功能即便是不经常使用,但是也会用到,所以该版本是我推荐大家使用的比较好的Win10版本,当然也是用户数量最多的版本。
家庭版显然无法满足商业用户的需求,针对这部分消费者,微软依照惯例为他们准备了专业版。
专业版用户可以获得加入域、群策略管理、BitLocker(全碟加密)、企业模式IE浏览器、Assigned Access 8.1、远程桌面、Hyper-V客户端(虚拟化)、加入Azure活动目录、浏览Win10商业应用商店、企业数据保护(计划于今年秋季推出)以及接收特别针对商业用户推出的更新功能。
拥有Win7以及8.1专业版的用户可以免费升级至Win10专业版。
三、Win10企业版
最后是Win10企业版(也就是Win10 Enterprise):在这个版本里,以专业版为基础,包含了专业版所有的功能,另外为了满足企业用户的需求,还专门增加了PC管理和部署,以及更先进的安全性和虚拟化等功能。
Win10企业版在提供全部专业版商务功能的基础上,还增加了特别为大型企业设计的强大功能。
包括无需VPN即可连接的Direct Access、支持应用白名单的AppLocker、通过点对点连接与其他PC共享下载与更新的BranchCache以及基于组策略控制的开始屏幕。
Windows 10企业版将提供长期服务分支。
但是我们普通用户一般无法免费升级win10企业版,需要批量许可授权。
四、Win10教育版
Windows 10教育版以企业版为基础,面向学校职员、管理人员、教师和学生。
它将通过面向教育机构的批量许可计划提供给客户,学校将能够升级Windows 10家庭版和Windows 10专业版设备。
在Win10之前,微软还从未推出过教育版,这是专为大型学术机构设计的版本,具备企业版中的安全、管理及连接功能。
是win10版本中功能最多的一款
除了更新选项方面的差异之外,教育版基本上与企业版一样。
五、Win10专业工作站版
win10专业工作站版本的英文全名叫Windows 10Pro for Workstations。
win10专业工作站版本属于win10专业版的顶级系统,专门为pc电脑打造.拥有服务器级别的硬件支持,专为高负载场景设计。
可以这样说,安装了win10专业工作站版本的电脑就成了一台高性能服务器。
win10专业工作站版本包括了很多普通版本没有的功能,主要面向企业用户,主要优化了多核处理器以及大文件处理。
Win10工作站专业版加入了ReFS文件系统、永固内存、快速文件分享、扩展的硬件支持。
工作站模式:微软通过识别CPU和GPU工作量来优化系统让系统达到最高性能,这是普通版本根本没有的功能。
ReFS文件系统(Dubbed ReFS):这是NTFS文件格式的继承者,专注于容错以及大数据运算,自带容错
高速文件共享(SMBDirect):SMBDirect优化电脑之间的文件传输,注重于高速传输以及低CPU使用,在节能和性能方面得到了很好的平衡
更高的硬件支持:支持Intel Xeon和AMD Opteron处理器,支持4颗CPU以及最高6TB内存,这个非常惊人。
所以说和专业版相比,Win10专业工作站版拥有大的能力,但是对于一般用户来说,使用起来似乎区别不大。
六、Win10移动企业版
这一版本是针对大规模企业用户推出的移动版,采用了与企业版类似的批量授权许可模式,但微软尚未透露更多细节……需要我们慢慢去了解。
七、Win10 LTSB 和Win10 LTSC版
目前有Win10 LTSB 2016 和 LTSC 2019两个版本
Win10长期服务版这个版本专门给一些企业用户的,相比一般版本会缺少很多新功能,例如没有应用商店、没有Edge浏览器,没有cortana,大家可以把Win10 TLSB看成是Windows10企业版的精简版本。
LTSB是英语Long Term Servicing Branch的首字母缩写,汉语一般翻译成长期服务分支。
LTSB分支是专门面向企业版的,Win10企业版LTSB分支支持周期长达10年,但只会获取安全更新(应该也可以获取热补丁更新),而不获取功能更新,即不会增加任何新功能。
这也是Win10企业版LTSB分支和Win10企业版最根本性的区别。
Windows10 自从1803版本开始,分为两大类:Consumer editions 零售版,相当于之前的零售版,使用零售许可证(retail license)单独授权和激活;Business editions 商业版,批量许可(Volume Licensing),使用KMS服务器激活,相当于之前的 VL(批量许可) 版本。
Consumer editions 零售版包括:家庭版、家庭单语言版、教育版、专业版、专业教育版、专业工作站版;
Business editions 商业版包括:教育版、企业版、专业版、专业教育版、专业工作站版;
划重点:零售版用密钥(key)激活, 商业版是KMS激活。
按功能,最强大的版本应该是专业工作站版(Pro For Workstations),比如支持服务器系列CPU、4个物理CPU和最多6TB内存的支持,电源管理中的卓越性能模式,ReFS (Resilient file system)文件系统等,但是对于一般电脑硬件或许发挥不出这个版本的强大功能。
划重点:在选择Win10版本时,选择零售版或商业版要从自己采取的激活方式考虑;如果按照功能考虑一般用户推荐使用专业版(pro)。
我使用的是widows10家庭中文版的,感觉挺好用的,运行各种软件,工具,甚至玩LOL都没有什么毛病。
我刚升级的专业版感觉挺好的啊,之前用的家庭版,感觉没有专业版流畅
你好!现在安装win10我都是使用旗舰版。
家庭版从不在我的考虑之列。
即使是win7我也不会用家庭版本,用的都是旗舰版。
家庭版一直评价就不高,我也和大家一样基本算是随大流的一类。
win10我一直用的是专业版。
而企业版对于我们个人来说真的没什么太大用到的地方。
win10对硬件要求还是很高的,CPU4核以上的,内存最好是8G起。
重点是硬盘一定要固态起,否则在有些旧的电脑主机上win10还不如win7甚至不如XP系统。
对于一些会自己做系统的朋友你们会发现,win10做完系统以后很少出现缺少驱动等情况。
以前在win7和XP中我们经常可能因为打开较多的程序会出现死机了然后蓝屏,但在win10中也会有,但是在频率上要远远少于前两者出现蓝屏的次数。
在 游戏 性能上和稳定性上也好了很多。
俗话说瑕不掩瑜,win10还是一款很不错的系统的,以后微软又重点以它为主,XP早已经离去,win7也将下岗。
win10取代天下只是时间问题。
如果你的电脑配置不足以支撑换win10那是没办法,如果可以还是升吧。
早晚你也得适应win10,大势所趋
以前用专业版,企业版,功能全,但更新频繁,现在用Win10 ltsc长期支持版,更新也会,但不那么频繁,况且也舍去了很多功能,比如小娜,商店,自带浏览器(当然有IE11)等,常用软件都可以用,开发软件也都可以, 游戏 也木有问题,虽然一些Win10新功能不能用,比如Windows Terminal,不过使用命令行不多的话影响不大。
仁者见仁智者见智,用户群体不同使用版本不同,普通用户家庭版足够,稍微懂一下专业版,具体功能差别可以看网络对比,系统是一样的,只是少一些功能
服务器和普通电脑在硬件配置上的区别是什么?
服务器和普通电脑在硬件配置上的区别是什么?
首先从主板开始说 主板是分层的 服务器的主板用的多层的 质量要好很多不容易老化 cpu方面首先服务器的cpu是不要求超频的 因为服务器要求最高的就是要稳定 超频会导致内部数据与外部数据不统一 服务器不像普通电脑作为终端 所以必须要求数据统一 服务器的cpu一般用志强系列的 服务器的主板支持多cpu分担 相对于周边的接口也比较多 比如说硬盘线口 pci–e插口
服务器的硬件配置和普通电脑有什么区别
CPU:Pc的CPU应用环境一般是解决单个任务,而服务器面向的应用则是数十甚至数百用户同时发出请求时,系统能从容地处理这些任务,所以系统内部的多线程运算能力和交换速度就会起到至关重要的作用。
内存:服务器使用的内存要求很严格,必须是具有ECC功能的DRAM、SDRAM或DDRRAM。
普通PC由于数据流量小,运算时间短,所以对系统的ECC功能并不十分要求。
硬盘:一般采用SCSI高速硬盘,高档服务器上的硬盘还具备热插拔功能,以便在线更换。
专用的服务器和普通电脑区别是什么?
一、高扩展性可扩展性是指服务器的配置(内存、硬盘、处理器等)可以在原有基础上很方便地根据需要增加。
为了实现扩展性,服务器的机箱一般都比普通的机箱大一倍以上。
设计大机箱的原因有两个:一是机箱内部通风良好;二是机箱设有七八个硬盘托架,可以放置更多硬盘。
服务器的电源输出功率比普通PC大得多,甚至有冗余电源(即两个电源)。
机箱电源的D型电源接口有十几个之多,普通PC的机箱只有五六个。
服务器的内存在可以根据需要扩展,一般可以扩展到几GB二、高可靠性因为服务器在网络中是连续不断地工作的,因此,服务器的可靠性要求是非常高的,目前,提高可靠性的普通做法是部件的冗条配置。
服务器可采用ECC内存、RAID技术、热插拨技术、冗余电源、冗余风扇等做法使服务器具备(支持热插拨功能)容错能力和安全保护能力,从而提高可靠性硬件的冗余设备支持热插拨功能,如冗余电源风扇等,可以在单个部件夹效的情况下自动切换到备用的设备上,保证系统运行的连续性。
RAID技术可保证硬盘在出现问题时在线切换,从而保证了数据的完整性。
三、高处理能力服务器可能需要同响应数十、数百、数千台客户机的请求,因此,服务器的速度应该比普通的PC快。
决定CPU性能的因素有很多,CPU只是其中一个因素,其它,如硬盘的速度、内存的大小、网卡的数据吞吐能力等,都是制约服务器性能的重要因素。
四、高I/O性能SCSI技术、RAID技术、高速智能网卡、较大的内存扩充能力都是提高IA架构服务器的I/O能力的有效途径。
五、高无故障运行时间一般来说,工作服务器的要求是工作时间内(每天8小时,每周5天)没有故障;部门级服务器的要求是每天24小时,每周5天内没有故障;企业服务器要求全年365天,每天24小时都没有故障,服务器随时可用,简称为7×24。
六、高强管理性IA架构服务器主板上集成了各种传感器,用于检测服务器上的各种硬件设备。
配合相应软件,可以远程监测服务器。
七、运行服务器操作系统服务器是硬件与软件相结合的系统虽然在一台普通PC上安装网络操作系统,也可以称之为服务器,但这台服务器不具备真正服务器的特性。
八、提供网络服务已经具备了相应硬件平台和操作系统的服务器还不能发挥它的作用。
如果要发挥它的作用,必须在网络服务器上安装网络服务软件。
服务器和普通电脑的区别
你可以这样理解服务器就是计算机群组服务器相当于N多台电脑
服务器 专门提供网络服务的,如 或者 ftp 等等
普通电脑 一般是 Desk 桌面型的,工作电脑
服务器和普通PC上的区别
服务器与PC的区别应该从硬件和软件两方面来看,根据应用的不同两者的差别很大,打个比方,PC就是那什么都会的门诊医生,但是医术不是那么精湛,而服务器就应该是某个方面的专家了,处理能力越出众,它“专”的就越厉害。
我先从硬件上,根据各个组件说说他们的不同 服务器CPU的指令一般是采用的RISC(精简指令集)。
根据研究,在大多数的应用中,CPU仅仅使用了很少的几种命令,于是研究人员就根据这种情况设计了该指令集,运用集中的各种命令组合来实现各种需求。
这种设计的好处就是针对性更强,可以根据不同的需求进行专门的优化,处理效更高。
相对应的则是CISC(复杂指令集),他的特点就是尽量把各种常用的功能集成到一块,例如我们常常听到的MMX,SSE,SSE+,3D!NOW!等等都是这种类型的。
另外,服务器的CPU设计一般都要考虑它的多路功能,说白了就是好几个甚至上千上万个CPU一起工作的问题,而PC则简单多了,这种多路功能用上实在浪费,而它的价钱也的确是上面兄弟说的,不是谁都能受的了的。
(补充:服务器的寻址能力很早前就是64位了;APPEL采用的指令集也是RISC,他是个另类,不过现在已经投靠INTEL了)2.内存。
内存在服务器上的原则也上越快越大越好,不过它对纠错和稳定提出了更高的要求,比如ECC(错误检查和纠正好象没人这么叫的)。
我们现在使用的PC上很少有人能够用到1G的内存(玩游戏的不算),而在服务器上,这G级的内存有时也会显着捉襟见肘,记得去年国家发布银河最新超级计算机时,他的内存更是达到了1个T;相比内存的速度,人们在应用的时候更优先考虑内存的稳定和纠错能力,只有在保证了这两条,才能再考虑别的东西。
3.硬盘。
硬盘性能无论是在PC上还是服务器上,性能的提升一直很缓慢,个人认为,依靠机械的发展,硬盘的发展是不可能出现质的飞跃。
由于使用服务器的一般都是企业单位,里面都是保存了大量珍贵数据,这对硬盘就提出了安全稳定的要求,硬盘上出现的相关技术也基本上围绕这两个要求转。
比如:数据冗余备份,热插拔等。
另外,服务器硬盘必须能做到24*7不间断工作的要求。
4.主板.这个我了解的比较少,很少看到服务器有主板的说法,不过我觉得应该提提服务器的总线设计——多路,就是多个CPU如何能够协调工作。
有兴趣建议你看看操作系统方面的书,看老外写的,很好!5.显卡.除了图形和3D设计(那个人家好象都叫工作站,哪位达人知道请告诉我对不对),服务器上的显卡基本上就是你只要能接上显示器能显示就行!接下来我说说软件,软件就主要指操作系统,比如我们熟悉的NT,2000 SERVER,2003 SERVER,LINUX,SOLRAIS和UNIX等等,都是专门针对服务器设计的,比如:负载均衡,多路CPU的支持。
服务器与普通电脑之间的区别是什么?
1. 稳定性:服务器要求7×24(x365)不间断运行,PC只需要5×8;2. 性能:服务器需要及时响应众多客户端的请求,并提供相应服务,PC一般只由少数人操作;尤其是网络性能,对PC来讲如果不联网,没有网卡,PC仍是PC,而对服务器来讲没有网卡就不是服务器了,因为,服务器的定义就是在网络中给其它计算机提供服务的计算机系统。
3. 扩展性:PC一般不需要很多外插卡,对扩展性要求不高,而服务器一般需要考虑增加网卡、RAID卡、HBA卡等;另外,扩展性还包括,内存、硬盘等存储位、电源,甚至是CPU的扩展,这些更是服务器的特性;4. 网络中的角色:用户直接操作PC进行,发出服务请求,是客户端;服务器工作在后台,只和发出服务请求的客户机进行通信,是服务提供者;5. 多机协同:服务器可由多台构成一个集群,共同提供服务,PC往往独立工作;6. 图形显示、键盘和鼠标的要求:普通台式机和显示器、键鼠等都是一对一的,而且,一般对显卡性能有要求,服务器不直接和用户交互对显卡性能基本无要求,一般键盘鼠标显示器是多台共用的。
希望能帮到你
我们平常所听说的服务器,有的是从软件服务的角度说的,有的是指的真正的硬件服务器。
比如我们说配置一个 Web 服务器,就是指在操作系统里实现网站信息发布和交互的一个服务,只要机器能跑操作系统,这个服务器就能在这台机器上实现。
有时在要求不高的情况下,我们也确实是用普通 PC 来做硬件服务器用的。
有人可能要说了,我们既然能用普通 PC 来做硬件服务器用,那为什么还要花那么多钱买硬件服务器呢? 其实,在硬件服务器和普通 PC 之间存在着很大的不同!任何产品的功能、性能差异,都是为了满足用户的需求而产生的。
硬件服务器的没工作环境需要它长时间、高速、可靠的运行,不能轻易断电、关机、停止服务,即使发生故障,也必须能很快恢复。
所以服务器在设计时,必须考虑整个硬件架构的高效、稳定性,比如总线的速度,能安装多个 CPU,能安装大容量的内存,支持 SCSI 高速硬盘及 Raid,支持阵列卡,支持光网卡,能支持多个 USB 设备。
有的服务器设计有双电源,能防止电源损坏引起的当机。
服务器的维护和我们普通的 PC 也不相同。
服务器的生产厂家都是国际上大的计算机厂家,他们对服务器都做了个性化设计,比如服务器的硬件状态指示灯,只要观察一下灯光的颜色就能判断故障的部位。
比如 BIOS,里面的程序功能要比 PC 完善的多,可以保存硬件的活动日志,以利于诊断故障、消除故障隐患。
有的厂家的服务器在拆机维修时,根本不需要螺丝刀,所有配件都是用塑料卡件固定的。
稍微好点的服务器一般都需要配接外部的存储设备,比如盘阵和 SAN 等,服务器都有管理外部存储的能力,以保证数据安全和可靠、稳定的协同工作。
为了提高服务器的可用性和可靠性,服务器还需要支持集群技术,就是多台机器协同工作,提供负载均衡,只要其中有一台服务器正常,服务就不会停止! 服务器的功能还有很多!这些都是它比普通 PC 好的地方,好的东西它的设计和生产就需要消耗技术和生产成本,价格自然就高。
再说到前面的软件服务器和硬件服务器 2 个概念,自然用真正的硬件服务器来提供我们的软件服务才是最合适的,才能真正发挥服务的最大性能。
哈哈~~ 以后买服务器不要可惜小钱了吧? 专业做效果图的简称图型工作站。
“图形工作站”是一种专业从事图形、图像(静态)、图像(动态)与视频工作的高档次专用电脑的总称。
从工作站的用途来看,无论是三维动画、数据可视化处理乃至cad/cam和eda,都要求系统具有很强的图形处理能力,从这个意义上来说,可以认为大部分工作站都用作图形工作站。
当然图型工作站需要性能比较强悍的电脑来完成任务。
显卡、CPU和内存一样都不能差。
至于你说的高配这个东西真给不出具体的参数,要看你来完成那些工作的。
可以流畅快地完成你的专业制作我觉得就可以了,没有盲目追求高配置的必要。
VPS服务器和普通电脑有什么区别?
1、VPS主机是介于虚拟主机和独立服务器之间的折中方案。
2、 VPS服务器还是和其他用户分享服务器资源,比如CPU和内存,但文件系统是完全分开的。
也就是说从文件系统角度看,VPS用户完全独立,看不到这台机器的其他用户。
对VPS用户来说,其功能和使用方法与真正的整体租用是完全一样的。
3、 同时,CPU、内存和其他服务器资源的划分方法与虚拟主机不同,各个VPS主机用户有自己固定的CPU、内存和其他资源,互不干扰。
也就是说,VPS上的任何一个用户只能使用划分给自己的那部分资源,而不会用完整台服务器的资源,也就不会影响其他用户。
4、vps是属于服务器,而普通电脑则是针对个人用户。
同配置的服务器和普通电脑哪个性能更好
首先 服务器 的主要作用是处理数据, 它不需要渲染所以 一般服务器 都是 多核 低频 CPU,很多的CPU 组成一个服务器。
家用普通电脑 要兼顾 影音娱乐, 需要渲染 高频的CPU。
还要用显卡来加速 渲染。
所以 你说的性能 主要是干嘛。
硬件防火墙的基本原理及内部构造
防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。
在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。
天下的防火墙至少都会说两个词:Yes或者No。
直接说就是接受或者拒绝。
最简单的防火墙是以太网桥。
但几乎没有人会认为这种原始防火墙能管多大用。
大多数防火墙采用的技术和标准可谓五花八门。
这些防火墙的形式多种多样:有的取代系统上已经装备的TCP/IP协议栈;有的在已有的协议栈上建立自己的软件模块;有的干脆就是独立的一套操作系统。
还有一些应用型的防火墙只对特定类型的网络连接提供保护(比如SMTP或者HTTP协议等)。
还有一些基于硬件的防火墙产品其实应该归入安全路由器一类。
以上的产品都可以叫做防火墙,因为他们的工作方式都是一样的:分析出入防火墙的数据包,决定放行还是把他们扔到一边。
所有的防火墙都具有IP地址过滤功能。
这项任务要检查IP包头,根据其IP源地址和目标地址作出放行/丢弃决定。
看看下面这张图,两个网段之间隔了一个防火墙,防火墙的一端有台UNIX计算机,另一边的网段则摆了台PC客户机。
当PC客户机向UNIX计算机发起telnet请求时,PC的telnet客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。
接下来,协议栈将这个TCP包“塞”到一个IP包里,然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机。
在这个例子里,这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机。
现在我们“命令”(用专业术语来说就是配制)防火墙把所有发给UNIX计算机的数据包都给拒了,完成这项工作以后,“心肠”比较好的防火墙还会通知客户程序一声呢!既然发向目标的IP数据没法转发,那么只有和UNIX计算机同在一个网段的用户才能访问UNIX计算机了。
还有一种情况,你可以命令防火墙专给那台可怜的PC机找茬,别人的数据包都让过就它不行。
这正是防火墙最基本的功能:根据IP地址做转发判断。
但要上了大场面这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了。
不过根据地址的转发决策机制还是最基本和必需的。
另外要注意的一点是,不要用DNS主机名建立过滤表,对DNS的伪造比IP地址欺骗要容易多了。
服务器TCP/UDP 端口过滤 仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,比方说,我们不想让用户采用 telnet的方式连到系统,但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧?所以说,在地址之外我们还要对服务器的TCP/ UDP端口进行过滤。
比如,默认的telnet服务连接端口号是23。
假如我们不许PC客户机建立对UNIX计算机(在这时我们当它是服务器)的telnet连接,那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包,把其中具有23目标端口号的包过滤就行了。
这样,我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗?不,没这么简单。
客户机也有TCP/UDP端口 TCP/IP是一种端对端协议,每个网络节点都具有唯一的地址。
网络节点的应用层也是这样,处于应用层的每个应用程序和服务都具有自己的对应“地址”,也就是端口号。
地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系。
比如,telnet服务器在端口23侦听入站连接。
同时telnet客户机也有一个端口号,否则客户机的IP栈怎么知道某个数据包是属于哪个应用程序的呢? 由于历史的原因,几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号。
只有UNIX计算机上的root用户才可以访问1024以下的端口,而这些端口还保留为服务器上的服务所用。
所以,除非我们让所有具有大于1023端口号的数据包进入网络,否则各种网络连接都没法正常工作。
这对防火墙而言可就麻烦了,如果阻塞入站的全部端口,那么所有的客户机都没法使用网络资源。
因为服务器发出响应外部连接请求的入站(就是进入防火墙的意思)数据包都没法经过防火墙的入站过滤。
反过来,打开所有高于1023的端口就可行了吗?也不尽然。
由于很多服务使用的端口都大于1023,比如X client、基于RPC的NFS服务以及为数众多的非UNIX IP产品等(NetWare/IP)就是这样的。
那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗?连这些客户程序都不敢说自己是足够安全的。
双向过滤 OK,咱们换个思路。
我们给防火墙这样下命令:已知服务的数据包可以进来,其他的全部挡在防火墙之外。
比如,如果你知道用户要访问Web服务器,那就只让具有源端口号80的数据包进入网络: 不过新问题又出现了。
首先,你怎么知道你要访问的服务器具有哪些正在运行的端口号呢? 象HTTP这样的服务器本来就是可以任意配置的,所采用的端口也可以随意配置。
如果你这样设置防火墙,你就没法访问哪些没采用标准端口号的的网络站点了!反过来,你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器。
有些黑客就是利用这一点制作自己的入侵工具,并让其运行在本机的80端口! 检查ACK位 源地址我们不相信,源端口也信不得了,这个不得不与黑客共舞的疯狂世界上还有什么值得我们信任呢?还好,事情还没到走投无路的地步。
对策还是有的,不过这个办法只能用于TCP协议。
TCP是一种可靠的通信协议,“可靠”这个词意味着协议具有包括纠错机制在内的一些特殊性质。
为了实现其可靠性,每个TCP连接都要先经过一个“握手”过程来交换连接参数。
还有,每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应。
但并不是对每个TCP包都非要采用专门的ACK包来响应,实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了。
所以,只要产生了响应包就要设置ACK位。
连接会话的第一个包不用于确认,所以它就没有设置ACK位,后续会话交换的TCP包就要设置ACK位了。
举个例子,PC向远端的Web服务器发起一个连接,它生成一个没有设置ACK位的连接请求包。
当服务器响应该请求时,服务器就发回一个设置了ACK位的数据包,同时在包里标记从客户机所收到的字节数。
然后客户机就用自己的响应包再响应该数据包,这个数据包也设置了ACK位并标记了从服务器收到的字节数。
通过监视ACK位,我们就可以将进入网络的数据限制在响应包的范围之内。
于是,远程系统根本无法发起TCP连接但却能响应收到的数据包了。
这套机制还不能算是无懈可击,简单地举个例子,假设我们有台内部Web服务器,那么端口80就不得不被打开以便外部请求可以进入网络。
还有,对UDP包而言就没法监视ACK位了,因为UDP包压根就没有ACK位。
还有一些TCP应用程序,比如FTP,连接就必须由这些服务器程序自己发起。
FTP带来的困难 一般的Internet服务对所有的通信都只使用一对端口号,FTP程序在连接期间则使用两对端口号。
第一对端口号用于FTP的“命令通道”提供登录和执行命令的通信链路,而另一对端口号则用于FTP的“数据通道”提供客户机和服务器之间的文件传送。
在通常的FTP会话过程中,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行LOGIN、DIR等各种命令。
一旦用户请求服务器发送数据,FTP服务器就用其20端口 (数据通道)向客户的数据端口发起连接。
问题来了,如果服务器向客户机发起传送数据的连接,那么它就会发送没有设置ACK位的数据包,防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了。
通常只有高级的、也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口,然后才许可对该端口的入站连接。
UDP端口过滤 好了,现在我们回过头来看看怎么解决UDP问题。
刚才说了,UDP包没有ACK位所以不能进行ACK位过滤。
UDP 是发出去不管的“不可靠”通信,这种类型的服务通常用于广播、路由、多媒体等广播形式的通信任务。
NFS、DNS、WINS、NetBIOS-over-TCP/IP和 NetWare/IP都使用UDP。
看来最简单的可行办法就是不允许建立入站UDP连接。
防火墙设置为只许转发来自内部接口的UDP包,来自外部接口的UDP包则不转发。
现在的问题是,比方说,DNS名称解析请求就使用UDP,如果你提供DNS服务,至少得允许一些内部请求穿越防火墙。
还有IRC这样的客户程序也使用UDP,如果要让你的用户使用它,就同样要让他们的UDP包进入网络。
我们能做的就是对那些从本地到可信任站点之间的连接进行限制。
但是,什么叫可信任!如果黑客采取地址欺骗的方法不又回到老路上去了吗? 有些新型路由器可以通过“记忆”出站UDP包来解决这个问题:如果入站UDP包匹配最近出站UDP包的目标地址和端口号就让它进来。
如果在内存中找不到匹配的UDP包就只好拒绝它了!但是,我们如何确信产生数据包的外部主机就是内部客户机希望通信的服务器呢?如果黑客诈称DNS服务器的地址,那么他在理论上当然可以从附着DNS的UDP端口发起攻击。
只要你允许DNS查询和反馈包进入网络这个问题就必然存在。
办法是采用代理服务器。
所谓代理服务器,顾名思义就是代表你的网络和外界打交道的服务器。
代理服务器不允许存在任何网络内外的直接连接。
它本身就提供公共和专用的DNS、邮件服务器等多种功能。
代理服务器重写数据包而不是简单地将其转发了事。
给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都躲在代理的后面,露面的不过是代理这个假面具。
小结 IP地址可能是假的,这是由于IP协议的源路有机制所带来的,这种机制告诉路由器不要为数据包采用正常的路径,而是按照包头内的路径传送数据包。
于是黑客就可以使用系统的IP地址获得返回的数据包。
有些高级防火墙可以让用户禁止源路由。
通常我们的网络都通过一条路径连接ISP,然后再进入Internet。
这时禁用源路由就会迫使数据包必须沿着正常的路径返回。
还有,我们需要了解防火墙在拒绝数据包的时候还做了哪些其他工作。
比如,防火墙是否向连接发起系统发回了“主机不可到达”的ICMP消息?或者防火墙真没再做其他事?这些问题都可能存在安全隐患。
ICMP“主机不可达”消息会告诉黑客“防火墙专门阻塞了某些端口”,黑客立即就可以从这个消息中闻到一点什么气味。
如果ICMP“主机不可达”是通信中发生的错误,那么老实的系统可能就真的什么也不发送了。
反过来,什么响应都没有却会使发起通信的系统不断地尝试建立连接直到应用程序或者协议栈超时,结果最终用户只能得到一个错误信息。
当然这种方式会让黑客无法判断某端口到底是关闭了还是没有使用。
…防火墙分为软件防火墙和硬件防火墙两种。
软件防火墙是安装在pc平台的软件产品,它通过在操作系统底层工作来实现网络管理和防御功能的优化。
但对国内市场上的硬件防火墙产品介绍仔细研读后,记者发现,对于硬件防火墙的定义,厂商们似乎仍莫衷一是。
大多数厂商对产品的介绍,往往用大量的篇幅向消费者灌输产品的防护功能,而关于防火墙的实际配置,则基本没有提及。
查阅国内外大量资料后,发现硬件防火墙一般有着这样的核心要求:它的硬件和软件都需要单独设计,有专用网络芯片来处理数据包;同时,采用专门的操作系统平台,从而避免通用操作系统的安全性漏洞。
对软硬件的特殊要求,使硬件防火墙的实际带宽与理论值基本一致,有着高吞吐量、安全与速度兼顾的优点。
而国内市场的硬件防火墙,大部分都是所谓的“软硬件结合的防火墙”,采用的是定制机箱+x86硬件架构+防火墙软件模块(大多数是基于unix类系统下开发的),而且是pc box结构。
这种防火墙的核心技术实际上仍然是软件,吞吐量不高,容易造成带宽瓶颈。
并且pc架构本身就不稳定,更不可能长时间运行。