服务器端口是个什么意思啊?高手给说详细点啊?
分类: 电脑/网络 >> 互联网
解析:
一、端口简介
随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协议就解决了这个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术,因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socket接口的计算机进行通信。端口在计算机编程上也就是"Socket接口"。
有了这些端口后,这些端口又是如何工作呢?例如一台服务器为什么可以同时是Web服务器,也可以是FTP服务器,还可以是邮件服务器等等呢?其中一个很重要的原因是各种服务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等,而邮件服务器是采用25号端口。这样,通过不同端口,计算机就可以与外界进行互不干扰的通信。
据专家们分析,服务器端口数最大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多。这是那么多黑客程序都可以采用某种方法,定义出一个特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在计算机启动之前自动加载到内存,强行控制计算机打开那个特殊的端口。这个程序就是"后门"程序,这些后门程序就是常说的木马程序。简单的说,这些木马程序在入侵前是先通过某种手段在一台个人计算机中植入一个程序,打开某个(些)特定的端口,俗称"后门"(BackDoor),使这台计算机变成一台开放性极高(用户拥有极高权限)的FTP服务器,然后从后门就可以达到侵入的目的。
二、端口的分类
端口的分类根据其参考对象不同有不同划分方法,如果从端口的性质来分,通常可以分为以下三类:
(1)公认端口(Well Known
Ports):这类端口也常称之为"常用端口"。这类端口的端口号从0到1024,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。例如:80端口实际上总是HTTP通信所使用的,而23号端口则是Tel服务专用的。这些端口通常不会像木马这样的黑客程序利用。为了使大家对这些常用端口多一些认识,在本章后面将详细把这些端口所对面应的服务进行列表,供各位理解和参考。
(2) 注册端口(Registered
Ports):端口号从1025到49151。它们松散地绑定于一些服务。也是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多数没有明确的定义服务对象,不同程序可根据实际需要自己定义,如后面要介绍的远程控制软件和木马程序中都会有这些端口的定义的。记住这些常见的程序端口在木马程序的防护和查杀上是非常有必要的。常见木马所使用的端口在后面将有详细的列表。
(3) 动态和/或私有端口(Dynamic and/or Private
Ports):端口号从49152到65535。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端口,因为这些端口常常不被引起注意,容易隐蔽。
如果根据所提供的服务方式的不同,端口又可分为"TCP协议端口"和"UDP协议端口"两种。因为计算机之间相互通信一般采用这两种通信协议。前面所介绍的"连接方式"是一种直接与接收方进行的连接,发送信息以后,可以确认信息是否到达,这种方式大多采用TCP协议;另一种是不是直接与接收方进行连接,只管把信息放在网上发出去,而不管信息是否到达,也就是前面所介绍的"无连接方式"。这种方式大多采用UDP协议,IP协议也是一种无连接方式。对应使用以上这两种通信协议的服务所提供的端口,也就分为"TCP协议端口"和"UDP协议端口"。
:ljpbxh027
服务器是指管理和传输信息的一种计算机系统
服务器是一种高性能计算机,作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。
它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。
服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。尤其是随着信息技术的进步,网络的作用越来越明显,对自己信息系统的数据处理能力、安全性等的要求也越来越高,如果您在进行电子商务的过程中被黑客窃走密码、损失关键商业数据;如果您在自动取款机上不能正常的存取,您应该考虑在这些设备系统的幕后指挥者————服务器,而不是埋怨工作人员的素质和其他客观条件的限制。
目前,按照体系架构来区分,服务器主要分为两类:ISC(精简指令集)架构服务器:这是使用RISC芯片并且主要采用UNIX操作系统的服务器,如Sun公司的SPARC、HP公司的PA-RISC、DEC的Alpha芯片、SGI公司的MIPS等。
IA架构服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或与其兼容的处理器芯片的服务器,如联想的万全系列、HP的Netserver系列服务器等。
从当前的网络发展状况看,以“小、巧、稳”为特点的IA架构的PC服务器得到了更为广泛的应用。
客户端分两种:
胖客户端应用程序
在二十世纪九十年代中期,为 Microsoft® Windows® 操作系统开发的胖客户端应用程序的数量急剧增长。设计这些客户端的目的是利用本地硬件资源以及客户端操作系统平台的功能。
尽管许多上述应用程序的功能令人印象深刻,但它们都具有局限性。许多上述应用程序是独立的并且在客户计算机上工作,对它们的工作环境所知甚少或一无所知。该环境包括其他计算机和网络上的任何服务,以及用户计算机上的任何其他应用程序。非常常见的情况是,应用程序之间的集成局限于使用 Windows 提供的剪切或复制并粘贴功能在应用程序之间传输少量的数据。
有一些有助于提高胖客户端应用程序连接性的技术。例如,两层应用程序使多个用户可以访问驻留在网络上的公用数据,而 DCOM 使应用程序可以具有更高的分布性。(就 DCOM 而言,不再将逻辑和状态与客户计算机相联系,而是将其封装在对象内,然后在多台计算机中分布这些对象。)但是,连接的应用程序的开发要复杂得多。随着这些分布式应用程序的规模和复杂性逐渐增加,将越来越难以维持客户端应用程序及它们使用的服务之间的紧耦合。
尽管胖客户端通常提供了高质量、响应迅速的用户体验,并且具有良好的开发人员和平台支持,但它们非常难于部署和维护。随着应用程序和客户端平台的复杂性不断增加,以可靠且安全的方式将应用程序部署到客户计算机的难度也将不断增加。如果部署了不兼容的共享组件或软件库,则一个应用程序可以很容易地破坏另一个应用程序,这种现象称为应用程序脆弱性。新版本的应用程序通常通过重新部署整个应用程序来提供,这可能使应用程序脆弱性问题变得更加严重。
瘦客户端应用程序
Internet 提供了传统胖客户端模型的替代模型,它解决了许多与应用程序部署和维护相关联的问题。基于浏览器的瘦客户端应用程序是在中央 Web 服务器上部署和更新的;因此,它们消除了将应用程序的任何部分显式部署到客户计算机并加以管理的必要性。
该模型使各个公司可以非常高效地将它们的应用程序公开给规模庞大、多种多样的外部受众。因为瘦客户端已被证明能够高效地解决一些部署和可管理性问题,所以它们现在用于向组织内的用户提供对许多业务线 (LOB) 应用程序的访问,以及向客户和合作伙伴提供对面向外界的应用程序的访问。尽管事实上这两种用户的需要和期望通常是根本不同的,也是如此。
瘦客户端应用程序具有一些缺点。浏览器必须总是具有网络连接。这意味着移动用户在断开连接时将无法访问应用程序,因此当他们返回办公室时,必须重新输入数据。而且,常用的应用程序功能(如拖放、撤消-重复以及上下文相关帮助)可能不可用,这可能降低应用程序的可用性。
因为应用程序的大部分逻辑和状态位于服务器上,所以瘦客户端会频繁地向服务器发回数据和处理请求。浏览器必须等待响应到达,然后用户才能继续使用该应用程序;因此,该应用程序的响应速度通常要比胖客户端应用程序慢得多。该问题在低带宽或高延迟的情况下被恶化了,并且产生的性能问题可能导致应用程序可用性和用户效率大幅度下降。要求输入大量数据以及/或者在多个窗口中频繁导航的 LOB 应用程序尤其会受到这一问题的影响。
智能客户端应用程序
经过设计,智能客户端应用程序可以将胖客户端应用程序的优点与瘦客户端应用程序的部署和可管理性优点结合起来,尽管这两种方法之间的平衡的准确性质取决于确切的情况。
智能客户端应用程序通常具有形形色色的要求,因此在设计和实现方面会有极大的差异。但是,所有智能客户端都具有下列部分或全部特征:
• 利用本地资源
• 利用网络资源
• 支持偶尔连接的用户
• 提供智能安装和更新
• 提供客户端设备灵活性
许多应用程序不需要具有上述所有特征。当您设计您的智能客户端时,将需要仔细考虑您的应用程序方案,并且决定您的智能客户端应用程序要求具备上述哪些特征。要将上述所有特征合并到您的应用程序中,将需要进行非常认真的计划和设计,并且在很多情况下您将需要大量的实现资源。
注 NET 框架可以帮助您实现智能客户端应用程序的许多特征。该框架提供了具备自我描述能力且牢固绑定的程序集,并且支持单独和并列安装应用程序的多个版本,从而有助于减少与胖客户端相关联的应用程序部署和脆弱性问题。NET 框架基类库为与 Web 服务进行交互提供了广泛的支持,并且提供了 Windows 窗体。通过使用公共语言运行库 (CLR),您可以利用任何受到 NET 支持的语言来开发智能客户端。
0条评论