什么是通信协议?它主要包含哪些要素?
通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。 协议主要由以下三个要素组成:1语法:“如何讲”,数据的格式、编码和信号等级(电平的高低)。2语义:“讲什么”,数据内容、含义以及控制信息。 3定时规则(时序):明确通信的顺序、速率匹配和排序.
通信协议 所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。一、物理接口标准1.串行通信接口的基本任务(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。(2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。(4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。(6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。2、串行通信接口电路的组成为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。芯片同步(USRT)异步(UART)(起止式)传输速率b/s面向字符HDLC同步异步INS825056KMC68501MMC68521.5MMC68541.5MInt8251A64K19.2KInt827364KZ-80 SIO800K3.有关串行通信的物理标准为使计算机、电话以及其他通信设备互相沟通,现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于三个方面:传输率,电特性,信号名称和接口标准。1、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。大多数CRT终端都能够按110到9600范围中的任何一种波特率工作。打印机由于机械速度比较慢而使传输波特率受到限制,所以,一般的串行打印机工作在110波特率,点针式打印机由于其内部有较大的行缓冲区,所以可以按高达2400波特的速度接收打印信息。大多数接口的接收波特率和发送波特率可以分别设置,而且,可以通过编程来指定。2、RS-232-C标准:RS-232-C标准对两个方面作了规定,即信号电平标准和控制信号线的定义。RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232-C将-5V~-15V规定为“1”,+5V~+15V规定为“0”。图1是TTL标准和RS-232-C标准之间的电平转换。图1二、软件协议1.OSI协议和TCP/IP协议图2(1)OSI协议OSI七层参考模型不是通讯标准,它只给出一个不会由于技术发展而必须修改的稳定模型,使有关标准和协议能在模型定义的范围内开发和相互配合。一般的通讯协议只符合OSI七层模型的某几层,如: EIA-RS-232-C:实现了物理层。 IBM的SDLC(同步数据链路控制规程):数据链路层。ANSI的ADCCP(先进数据通讯规程):数据链路层IBM的BSC(二进制同步通讯协议):数据链路层。应用层的电子邮件协议SMTP只负责寄信、POP3只负责收信。(2)TCP/IP协议实现了五层协议。(1)物理层:对应OSI的物理层。(2)网络接口层:类似于OSI的数据链路层。(3)Internet层:OSI模型在Internet网使用前提出,未考虑网间连接。(4)传输层:对应OSI的传输层。(5)应用层:对应OSI的表示层和应用层。2.串行通信协议串行通信协议分同步协议和异步协议。(1)异步通信协议的实例——起止式异步协议图3特点与格式:起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。其格式如图3所示。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。传送时,数据的低位在前,高位在后,图4表示了传送一个字符E的ASCAII码的波形1010001。当把它的最低有效位写到右边时,就是E的ASCII码1000101=45H。图4起/止位的作用:起始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。它的到来,表示下面接着是数据位来了,要准备接收。而停止位标志一个字符的结束,它的出现,表示一个字符传送完毕。这样就为通信双方提供了何时开始收发,何时结束的标志。传送开始前,发收双方把所采用的起止式格式(包括字符的数据位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。传送开始后,接收设备不断地检测传输线,看是否有起始位到来。当收到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定的数据位和奇偶校验位以及停止位。经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。一个字符接收完毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。由上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。(2)面向字符的同步协议特点与格式:这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。它的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字。由于被传送的数据块是由字符组成,故被称作面向字符的协议。特定字符(控制字符)的定义:由上面的格式可以看出,数据块的前后都加了几个特定字符。SYN是同步字符(synchronous Character),每一帧开始处都有SYN,加一个SYN的称单同步,加两个SYN的称双同步设置同步字符是起联络作用,传送数据时,接收端不断检测,一旦出现同步字符,就知道是一帧开始了。接着的SOH是序始字符(Start Of Header),它表示标题的开始。标题中包括院地址、目的地址和路由指示等信息。STX是文始字符(Start Of Text),它标志着传送的正文(数据块)开始。数据块就是被传送的正文内容,由多个字符组成。数据块后面是组终字符ETB(End Of Transmission Block)或文终字符ETX(End Of Text),其中ETB用在正文很长、需要分成若干个分数据块、分别在不同帧中发送的场合,这时在每个分数据块后面用文终字符ETX。一帧的最后是校验码,它对从SOH开始到ETX(或ETB)字段进行校验,校验方式可以是纵横奇偶校验或CRC。另外,在面向字符协议中还采用了一些其他通信控制字,它们的名称如下表所示:名 称ASCIIEBCDIC序始(SOH)000000100000001文始(STX)000001000000010组终(ETB)001011100100110文终(ETX)000001100000011同步(SYN)001011000110010送毕(EOT)000010000110111询问(ENQ)000010100101101确认(ACK)000011000101110否认(NAK)001010100111101转义(DLE)001000000010000数据透明的实现:面向字符的同步协议,不象异步起止协议那样,需要在每个字符前后附加起始和停止位,因此,传输效率提高了。同时,由于采用了一些传输控制字,故增强了通信控制能力和校验功能。但也存在一些问题,例如,如何区别数据字符代码和特定字符代码的问题,因为在数据块中完全有可能出现与特定字符代码相同的数据字符,这就会发生误解。比如正文有个与文终字符ETX的代码相同的数据字符,接收端就不会把它当作为普通数据处理,而误认为是正文结束,因而产生差错。因此,协议应具有将特定字符作为普通数据处理的能力,这种能力叫做“数据透明”。为此,协议中设置了转移字符DLE(Data Link Escape)。当把一个特定字符看成数据时,在它前面要加一个DLE,这样接收器收到一个DLE就可预知下一个字符是数据字符,而不会把它当作控制字符来处理了。DLE本身也是特定字符,当它出现在数据块中时,也要在它前面加上另一个DLE。这种方法叫字符填充。字符填充实现起来相当麻烦,且依赖于字符的编码。正是由于以上的缺点,故又产生了新的面向比特的同步协议。(3)面向比特的同步协议特点与格式:面向比特的协议中最具有代表性的是IBM的同步数据链路控制规程SDLC(Synchronous Data Link Control),国际标准化组织ISO(International Standard Organization)的高级数据链路控制规程HDLC(High Level Data link Control),美国国家标准协会(Americal National Standard Institute)的先进数据通信规程ADCCP(Advanced Data Communication Control Procedure)。这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向比特”的协议。这中协议的一般帧格式如图5所示:图5帧信息的分段:由图5可见,SDLC/HDLC的一帧信息包括以下几个场(Filed),所有场都是从有效位开始传送。(1)SDLC/HDLC标志字符:SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是 01111110,称标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索“01111110”来探知帧的开头和结束,以此建立帧同步。(2)地址场和控制场:在标志场之后,可以有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之通信的次站的地址。控制场可规定若干个命令。SDLC规定A场和C场的宽度为8位或16位。接收方必须检查每个地址字节的第一位,如果为“0”,则后面跟着另一个地址字节;若为“1”,则该字节就是最后一个地址字节。同理,如果控制场第一个字节的第一位为为“0”,则还有第二个控制场字节,否则就只有一个字节。(3)信息场:跟在控制场之后的是信息场I(Information)。I场包含有要传送的数据,并不是每一帧都必须有信息场。即数据场可以为0,当它为0时,则这一帧主要是控制命令。(4)帧校验信息:紧跟在信息场之后的是两字节的争校验,帧校验场称为FC(Frame Check)场或称为帧校验序列FCS(Frame check Squence)。SDLC/HDLC均采用16位循环冗余校验码CRC(Cyclic Redundancy Code)。除了标志场和自动插入的“0”以外,所有的信息都参加CRC计算。实际应用时的两个技术问题:(1)“0”位插入/删除:如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它与标志区分开来,所以采取了“0”位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5个“1”,就自动插入一个“0”,当接收端在接收数据时(除标志字节)如果连续收到5个“1”,就自动将其后的一个“0”删除是,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。 (2)SDLC/HDLC异常结束:若在发送过程中出现错误,则SDLC/HDLC协议常用异常结束(Abort)字符,或称为失效序列使本帧作废。在HDLC规程中,7个连续的“1”被作为失效字符,而在SDLC中失效字符是8个连续的“1”。当然在试销序列中不使用“0”位插入/删除技术。SDLC/HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧之间,发送器可以连续输出标志字符序列,也可以输出连续的高电平,它被称为空闲(Idle)信号。

TCP与UDP之间有什么相同点和不同点
相同点: 1、OSI网络层它们都根据OSI参考模型生活在同一层。我们称这层为传输层。在套接字之间的这一层中,传输数据。他们在这方面没有区别。2、安全从安全角度来看,TCP和UDP都是相同的。实际上,TCP由于其会话管理而具有一些小优势,但从总体上看,如果实现SSL,加密等安全机制,则存在安全性。除UDP之外,实现类似TCP的协议的SSL/TLS非常容易。另一方面,像RTP这样的语音通信协议可以升级到SRTP,使底层UDP更安全。不同点:1、数据包结构UDP具有精简包结构。UDP在其标题部分中仅提供源,目标端口,长度,校验和。TCP在包中有更多字段,因为TCP传输有更多的步骤和控件来进行包传递。TCP有12个头字段。2、复杂程度TCP绝对比UDP协议更复杂。正如我们在上侧看到的,TCP具有很多传输相关机制的区域。例如,TCP提供了设置传输缓冲区相关内存的窗口机制。UDP只有校验和机制和数据包计数器,有时候没有实现。3、算法要使用TCP传输数据,必须使用名为3次握手的方法创建会话。第一个客户端发送一个包含SYN标志的数据包,服务器用ACK标志响应,最后一步客户端发送SYNC+ACK以完成与相关服务器的TCP会话。UDP没有任何特殊算法。UDP包直接发送到服务器的端口。管理层通常在上层应用程序层中执行。4、速度TCP协议的复杂性使TCP比UDP慢。至少要发送一个字节,需要进行会话初始化,并在数据传输后关闭会话。这使TCP变慢。关于TCP的速度已经做了一些工作,但架构是有限的新增强功能。如果您通过光纤传输UDP,则UDP 速度很快.UDP速度很快,因为没有会话或会话终止的算法。5、可靠性TCP是一种可靠的协议,因为它运行机制来防止数据丢失或更改。TCP使用会话来提高数据传输的可靠性。同样在数据传输中,在两侧之间检查传输的数据,并且如果发生一些丢失或改变,则再次重新传输数据。UDP也不可靠。真的不是。但是,如果您希望它是可靠的上层应用程序级别机制可以实现,但这些将使传输更复杂。6、协议在这部分中,列出使用UDP或TCP或两者的协议。UDP以下协议使用UDP传输。DHCPDNS流RDPTFTPSNMPVOIPTCP以下协议使用TCP传输。HTTPHTTPSFTPSMTP TELNET
相同点:都处于传输层 不同点:TCP~面向连接、可靠、传输慢、保证数据的顺序UDP~面向无连接、不可靠、传输快、数据按照不同路径到,不保证数据顺序 且两者传输的模式不一样
TCP与UDP的区别:1.基于连接与无连接;2.对系统资源的要求(TCP较多,UDP少);3.UDP程序结构较简单;4.流模式与数据报模式 ;5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
划分为使用TCP端口(面向连接如打电话)和使用UDP端口(无连接如写信)两种。 网络中可以被命名和寻址的通信端口是操作系统的一种可分配资源。由网络OSI(开放系统互联参考模型,OpenSystemInterconnectionReferenceModel)七层协议可知,传输层与网络层最大的区别是传输层提供进程通信能力,网络通信的最终地址不仅包括主机地址,还包括可描述进程的某种标识。所以TCP/IP协议提出的协议端口,可以认为是网络通信进程的一种标识符。应用程序(调入内存运行后一般称为:进程)通过系统调用与某端口建立连接(binding,绑定)后,传输层传给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都从该端口输出。在TCP/IP协议的实现中,端口操作类似于一般的I/O操作,进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写方式访问类似于文件描述符,每个端口都拥有一个叫端口号的整数描述符,用来区别不同的端口。由于TCP/IP传输层的TCP和UDP两个协议是两个完全独立的软件模块,因此各自的端口号也相互独立。如TCP有一个255号端口,UDP也可以有一个255号端口,两者并不冲突。端口号有两种基本分配方式:第一种叫全局分配这是一种集中分配方式,由一个公认权威的中央机构根据用户需要进行统一分配,并将结果公布于众,第二种是本地分配,又称动态连接,即进程需要访问传输层服务时,向本地操作系统提出申请,操作系统返回本地唯一的端口号,进程再通过合适的系统调用,将自己和该端口连接起来(binding,绑定)。TCP/IP端口号的分配综合了以上两种方式,将端口号分为两部分,少量的作为保留端口,以全局方式分配给服务进程。每一个标准服务器都拥有一个全局公认的端口叫周知口,即使在不同的机器上,其端口号也相同。剩余的为自由端口,以本地方式进行分配。TCP和UDP规定,小于256的端口才能作为保留端口。按端口号可分为3大类:(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。系统管理员可以"重定向"端口:一种常见的技术是把一个端口重定向到另一个地址。例如默认的HTTP端口是80,不少人将它重定向到另一个端口,如8080。如果是这样改了,要访问本文就应改用这个地址http://wwd.3322.net:8080/net/port.htm(当然,这仅仅是理论上的举例)。实现重定向是为了隐藏公认的默认端口,降低受破坏率。这样如果有人要对一个公认的默认端口进行攻击则必须先进行端口扫描。大多数端口重定向与原端口有相似之处,例如多数HTTP端口由80变化而来:81,88,8000,8080,8888。同样POP的端口原来在110,也常被重定向到1100。也有不少情况是选取统计上有特别意义的数,象1234,23456,34567等。许多人有其它原因选择奇怪的数,42,69,666,31337。近来,越来越多的远程控制木马(RemoteAccessTrojans,RATs)采用相同的默认端口。如NetBus的默认端口是12345。BlakeR.Swopes指出使用重定向端口还有一个原因,在UNIX系统上,如果你想侦听1024以下的端口需要有root权限。如果你没有root权限而又想开web服务,你就需要将其安装在较高的端口。此外,一些ISP的防火墙将阻挡低端口的通讯,这样的话即使你拥有整个机器你还是得重定向端口。按对应的协议类型端口有两种:TCP端口和UDP端口。由于TCP和UDP 两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也可以有235端口,两者并不冲突。1.周知端口(Well Known Ports)周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给W WW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候( 比如www.cce.com.cn)是不必指定端口号的,因为在默认情况下WWW服务的端口号是“80”。网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.cce.com.cn:8080”。但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。2.动态端口(Dynamic Ports)动态端口的范围是从1024到65535。之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。动态分配是指当一个系统进程或应用程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。编辑本段端口的相关工具1 netstat -an的确,这并不是一个工具,但他是查看自己所开放端口的最方便方法,在cmd中输入这个命令就可以了。如下:C:>netstat -anActive ConnectionsProto Local Address Foreign Address StateTCP 0.0.0.0:135 0.0.0.0:0 LISTENINGTCP 0.0.0.0:445 0.0.0.0:0 LISTENINGTCP 0.0.0.0:1025 0.0.0.0:0 LISTENINGTCP 0.0.0.0:1026 0.0.0.0:0 LISTENINGTCP 0.0.0.0:1028 0.0.0.0:0 LISTENINGTCP 0.0.0.0:3372 0.0.0.0:0 LISTENINGUDP 0.0.0.0:135 *:*UDP 0.0.0.0:445 *:*UDP 0.0.0.0:1027 *:*UDP 127.0.0.1:1029 *:*UDP 127.0.0.1:1030 *:*这是我没上网的时候机器所开的端口,两个135和445是固定端口,其余几个都是动态端口。2 fport.exe和mport.exe这也是两个命令行下查看本地机器开放端口的小程序,其实与netstat -an这个命令大同小异,只不过它能够显示打开端口的进程,信息更多一些而已,如果你怀疑自己的奇怪端口可能是木马,那就用他们查查吧。3 activeport.exe(也称aports.exe)还是用来查看本地机器开放端口的东东,除了具有上面两个程序的全部功能外,他还有两个更吸引人之处:图形界面以及可以关闭端口。这对菜鸟来说是个绝对好用的东西,推荐使用喔。4 superscan3.0它的大名你不会没听说过吧,纯端口扫描类软件中的NO.1,速度快而且可以指定扫描的端口,不多说了,绝对必备工具。5 Visual Sniffer这个可以拦截网络数据包,查看正在开放的各个端口,非常好用。编辑本段保护好自己的端口刚接触网络的朋友一般都对自己的端口很敏感,总怕自己的电脑开放了过多端口,更怕其中就有后门程序的端口,但由于对端口不是很熟悉,所以也没有解决办法,上起网来提心吊胆。其实保护自己的端口并不是那么难,只要做好下面几点就行了:1) 查看:经常用命令或软件查看本地所开放的端口,看是否有可疑端口;2) 判断:如果开放端口中有你不熟悉的,应该马上查找端口大全或木马常见端口等资料(网上多的很),看看里面对你那个可疑端口的作用描述,或者通过软件查看开启此端口的进程来进行判断;3) 关闭:如果真是木马端口或者资料中没有这个端口的描述,那么应该关闭此端口,你可以用防火墙来屏蔽此端口,也可以用本地连接-TCP/IP-高级-选项-TCP/IP筛选,启用筛选机制来筛选端口;注意:判断时候要慎重,因为一些动态分配的端口也容易引起你多余的怀疑,这类端口一般比较低,且连续。还有,一些狡猾的后门软件,他们会借用80等一些常见端口来进行通信(穿透了防火墙),令人防不胜防,因此不轻易运行陌生程序才是关键。编辑本段怎样查看端口一台服务器有大量的端口在使用,怎么来查看端口呢?有两种方式: 一种是利用系统内置的命令,一种是利用第三方端口扫描软件。1.用“netstat -an”查看端口状态在Windows 2000/XP中,可以在命令提示符下使用“netstat -an”查看系统端口状态,可以列出系统正在开放的端口号及其状态.编辑本段常被黑客利用端口一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行攻击,以下是计算机端口的介绍以及防止被黑客攻击的简要办法。8080端口端口说明:8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号,比如http://www.cce.com.cn:8080。端口漏洞:8080端口可以被各种病毒程序所利用,比如Brown Orifice(BrO)特洛伊木马病毒可以利用8080端口完全遥控被感染的计算机。另外,RemoConChubo,RingZero木马也可以利用该端口进行攻击。操作建议:一般我们是使用80端口进行网页浏览的,为了避免病毒的攻击,我们可以关闭该端口。端口:21服务:FTP说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。端口:22服务:Ssh说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。端口:23服务:Telnet说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。端口:25服务:SMTP说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。端口:80服务:HTTP说明:用于网页浏览。木马Executor开放此端口。端口:102服务:Message transfer agent(MTA)-X.400 over TCP/IP说明:消息传输代理。端口:109服务:Post Office Protocol -Version3说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。端口:110服务:SUN公司的RPC服务所有端口说明:常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等端口:119服务:Network News Transfer Protocol说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。端口:135服务:Location Service说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。端口:137、138、139服务:NETBIOS Name Service说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。端口:161服务:SNMP说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络端口:177服务:X Display Manager Control Protocol说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。端口:389服务:LDAP、ILS说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。限制端口防非法入侵[分享]一般来说,我们采用一些功能强大的反黑软件和防火墙来保证我们的系统安全,本文拟用一种简易的办法——通过限制端口来帮助大家防止非法入侵。非法入侵的方式简单说来,非法入侵的方式可粗略分为4种:1、扫描端口,通过已知的系统Bug攻入主机。2、种植木马,利用木马开辟的后门进入主机。3、采用数据溢出的手段,迫使主机提供后门进入主机。4、利用某些软件设计的漏洞,直接或间接控制主机。非法入侵的主要方式是前两种,尤其是利用一些流行的黑客工具,通过第一种方式攻击主机的情况最多、也最普遍;而对后两种方式来说,只有一些手段高超的黑客才利用,波及面并不广泛,而且只要这两种问题一出现,软件服务商很快就会提供补丁,及时修复系统。对于个人用户来说,您可以限制所有的端口,因为您根本不必让您的机器对外提供任何服务;而对于对外提供网络服务的服务器,我们需把必须利用的端口(比如WWW端口80、FTP端口21、邮件服务端口25、110等)开放,其他的端口则全部关闭。这里,对于采用Windows 2000或者Windows XP的用户来说,不需要安装任何其他软件,可以利用“TCP/IP筛选”功能限制服务器的端口。具体设置如下:1、右键点击“网上邻居”,选择“属性”,然后双击“本地连接”(如果是拨号上网用户,选择“我的连接”图标),弹出“本地连接状态”对话框。2、点击[属性]按钮,弹出“本地连接属性”,选择“此连接使用下列项目”中的“Internet协议(TCP/IP)”,然后点击[属性]按钮。3、在弹出的“Internet协议(TCP/IP)”对话框中点击[高级]按钮。在弹出的“高级TCP/IP 设置”中,选择“选项”标签,选中“TCP/IP筛选”,然后点击[属性]按钮。4、在弹出的“TCP/IP筛选”对话框里选择“启用TCP/IP筛选”的复选框,然后把左边“TCP端口”上的“只允许”选上。这样,您就可以来自己添加或删除您的TCP或UDP或IP的各种端口了。添加或者删除完毕,重新启动机器以后,您的服务器就被保护起来了。 最后,提醒个人用户,如果您只上网浏览的话,可以不添加任何端口。但是要利用一些网络联络工具,比如OICQ的话,就要把“4000”这个端口打开,同理,如果发现某个常用的网络工具不能起作用的时候,请搞清它在您主机所开的端口,然后在“TCP /IP“里把此端口打开

TCP/IP协议具有哪些特点?
TCP/IP 是供已连接因特网的计算机进行通信的通信协议。 TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。在私网中,它也被用作通信协议。当你直接网络连接时,你的计算机应提供一个TCP/IP程序的副本,此时接收你所发送的信息的计算机也应有一个TCP/IP程序的副本。 TCP/IP是一个两层的程序。高层为传输控制协议,它负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的TCP层,接收端的TCP层把包还原为原始文件。低层是网际协议,它处理每个包的地址部分,使这些包正确的到达目的地。网络上的网关计算机根据信息的地址来进行路由选择。即使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/IP使用客户端/服务器模式进行通信。TCP/IP通信是点对点的,意思是通信是网络中的一台主机与另一台主机之间的。TCP/IP与上层应用程序之间可以说是“没有国籍的”,因为每个客户请求都被看做是与上一个请求无关的。正是它们之间的“无国籍的”释放了网络路径,才是每个人都可以连续不断的使用网络。 许多用户熟悉使用TCP/IP协议的高层应用协议。包括万维网的超文本传输协议(HTTP),文件传输协议(FTP),远程网络访问协议(Telnet)和简单邮件传输协议(SMTP)。这些协议通常和TCP/IP协议打包在一起。 使用模拟电话调制解调器连接网络的个人电脑通常是使用串行线路接口协议(SLIP)和点对点协议(P2P)。这些协议压缩IP包后通过拨号电话线发送到对方的调制解调器中。 与TCP/IP协议相关的协议还包括用户数据报协议(UDP),它代替TCP/IP协议来达到特殊的目的。其他协议是网络主机用来交换路由信息的,包括Internet控制信息协议(ICMP),内部网关协议(IGP),外部网关协议(EGP),边界网关协议(BGP)。

简述TCP与UDP之间的相同点和不同点
相同点:1、OSI网络层它们都根据OSI参考模型生活在同一层。我们称这层为传输层。在套接字之间的这一层中,传输数据。他们在这方面没有区别。2、安全从安全角度来看,TCP和UDP都是相同的。实际上,TCP由于其会话管理而具有一些小优势,但从总体上看,如果实现SSL,加密等安全机制,则存在安全性。除UDP之外,实现类似TCP的协议的SSL / TLS非常容易。另一方面,像RTP这样的语音通信协议可以升级到SRTP,使底层UDP更安全。不同点:1、数据包结构UDP具有精简包结构。UDP在其标题部分中仅提供源,目标端口,长度,校验和。TCP在包中有更多字段,因为TCP传输有更多的步骤和控件来进行包传递。TCP有12个头字段。2、复杂程度TCP绝对比UDP协议更复杂。正如我们在上侧看到的,TCP具有很多传输相关机制的区域。例如,TCP提供了设置传输缓冲区相关内存的窗口机制。UDP只有校验和机制和数据包计数器,有时候没有实现。3、算法要使用TCP传输数据,必须使用名为3次握手的方法创建会话。第一个客户端发送一个包含SYN标志的数据包,服务器用ACK标志响应,最后一步客户端发送SYNC + ACK以完成与相关服务器的TCP会话。UDP没有任何特殊算法。UDP包直接发送到服务器的端口。管理层通常在上层应用程序层中执行。4、速度TCP协议的复杂性使TCP比UDP慢。至少要发送一个字节,需要进行会话初始化,并在数据传输后关闭会话。这使TCP变慢。关于TCP的速度已经做了一些工作,但架构是有限的新增强功能。如果您通过光纤传输UDP,则UDP 速度很快.UDP速度很快,因为没有会话或会话终止的算法。5、可靠性TCP是一种可靠的协议,因为它运行机制来防止数据丢失或更改。TCP使用会话来提高数据传输的可靠性。同样在数据传输中,在两侧之间检查传输的数据,并且如果发生一些丢失或改变,则再次重新传输数据。UDP也不可靠。真的不是。但是,如果您希望它是可靠的上层应用程序级别机制可以实现,但这些将使传输更复杂。6、协议在这部分中,列出使用UDP或TCP或两者的协议。UDP以下协议使用UDP传输。DHCPDNS流RDPTFTPSNMPVOIPTCP以下协议使用TCP传输。HTTPHTTPSFTPSMTPTELNET
一、不同点:1、数据包结构不同:UDP具有精简包结构。UDP在其标题部分中仅提供源,目标端口,长度,校验和。TCP在包中有更多字段,因为TCP传输有更多的步骤和控件来进行包传递。TCP有12个头字段。3、算法不同:要使用TCP传输数据,必须使用名为3次握手的方法创建会话。第一个客户端发送一个包含SYN标志的数据包,服务器用ACK标志响应,最后一步客户端发送SYNC + ACK以完成与相关服务器的TCP会话。UDP没有任何特殊算法。UDP包直接发送到服务器的端口。管理层通常在上层应用程序层中执行。二、相同点:从安全角度来看,TCP和UDP都是相同的。实际上,TCP由于其会话管理而具有一些小优势,总体上看,如果实现SSL,加密等安全机制,则存在安全性。除UDP之外,实现TCP的协议的SSL / TLS非常容易。另一方面,像RTP这样的语音通信协议可以升级到SRTP,使底层UDP更安全。传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了TCP软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个TCP数据流传输以及如何结束这一传输。TCP最大的特点就是提供的是面向连接、可靠的字节流服务。以上内容参考:百度百科-TCP/UDP协议
相同;都是传输层协议,都为用户提供服务不同点;tcp是可靠的,面向链接的,udp是不可靠的,无链接的
共同点: 都是传输层协议。区别:TCP是面向连接的 可靠传输 ,有三次握手 是有状态的 UDP是无连接的不可靠传输 ,没有状态。
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快现在Internet上流行的协议是TCP/IP协议,该协议中对低于1024的端口都有确切的定义,他们对应着Internet上一些常见的服务。这些常见的服务可以分为使用TCP端口(面向连接)和使用UDP端口(面向无连接)两种。说到TCP和UDP,首先要明白“连接”和“无连接”的含义,他们的关系可以用一个形象地比喻来说明,就是打电话和写信。两个人如果要通话,首先要建立连接——即打电话时的拨号,等待响应后——即接听电话后,才能相互传递信息,最后还要断开连接——即挂电话。写信就比较简单了,填写好收信人的地址后将信投入邮筒,收信人就可以收到了。从这个分析可以看出,建立连接可以在需要痛心地双方建立一个传递信息的通道,在发送方发送请求连接信息接收方响应后,由于是在接受方响应后才开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。但也正因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出相应的信号等),独占一个通道,在断开连接钱不能建立另一个连接,即两人在通话过程中第三方不能打入电话。而无连接是一开始就发送信息(严格说来,这是没有开始、结束的),只是一次性的传递,是先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,就像写信一样,我们只是将信寄出去,却不能保证收信人一定可以收到。TCP是面向连接的,有比较高的可靠性,一些要求比较高的服务一般使用这个协议,如FTP、Telnet、SMTP、HTTP、POP3等,而UDP是面向无连接的,使用这个协议的常见服务有DNS、SNMP、QQ等。对于QQ必须另外说明一下,QQ2003以前是只使用UDP协议的,其服务器使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不难理解在一般的显IP的QQ版本中显示好友的IP地址信息中端口常为4000或其后续端口的原因了),即QQ程序既接受服务又提供服务,在以后的QQ版本中也支持使用TCP协议了。 参考资料:http://zhidao.baidu.com/question/79577.html

协议的特点
协议还有其他的特点:1) 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。2) 协议中的每个人都必须同意并遵循它。3) 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议或通信协议协议也可以这样说,就是连入网络的计算机都要遵循的一定的技术规范,关于硬件、软件和端口等的技术规范。网络是一个信息交换的场所,所有接入网络的计算机都可以通过彼此之间的物理连设备进行信息交换,这种物理设备包括最常见的电缆、光缆、无线WAP和微波等,但是单纯拥有这些物理设备并不能实现信息的交换,这就好像人类的身体不能缺少大脑的支配一样,信息交换还要具备软件环境,这种“软件环境”是人类事先规定好的一些规则,被称作“协议”,有了协议,不同的电脑可以遵照相同的协议使用物理设备,并且不会造成相互之间的“不理解”。这种协议很类似于“摩尔斯电码”,简单的一点一横,经过排列可以有万般变化,但是假如没有“对照表”,谁也无法理解一新产生的协议也大多是在基层协议基础上建立的,因而协议相对来说具有较高的安全机制,黑客很难发现协议中存在的安全问题直接入手进行网络攻击。但是对于某些新型协议,因为出现时间短、考虑欠周到,也可能会因安全问题而被黑客利用。对于网络协议的讨论,更多人则认为:现今使用的基层协议在设计之初就存在安全隐患,因而无论网络进行什么样的改动,只要现今这种网络体系不进行根本变革,就一定无法消除其潜在的危险性。数据在IP互联网中传送时会被封装为报文或封包。IP协议的独特之处在于:在报文交换网络中主机在传输数据之前,无须与先前未曾通信过的目的主机预先建立好一条特定的“通路”。互联网协议提供了一种“不可靠的”数据包传输机制(也被称作“尽力而为”);也就是说,它不保证数据能准确的传输。数据包在到达的时候可能已经损坏,顺序错乱(与其它一起传送的封包相比),产生冗余包,或者全部丢失。如果 应用需要保证可靠性,一般需要采取其他的方法,例如利用IP的上层协议控制。网络协议通常由语法,语义和定时关系3部分组成。网络传输协议或简称为传送协议(Communications Protocol),是指计算机通信的共同语言。现在最普及的计算机通信为网络通信,所以“传送协议”一般都指计算机通信的传送协议,如:TCP/IP、NetBEUI等。然而,传送协议也存在于计算机的其他形式通信,例如:面向对象编程里面对象之间的通信;操作系统内不同程序之间的消息,都需要有一个传送协议,以确保传信双方能够沟通无间。其他含义协商:双方协议提高价格 对共同达到统一目的 可制定协议。通俗概念:协议是做某些事情之前共同协商,共同达到统一目的,对统一达成问题作为书面形式共同约束。协商好了就点仁义、仗义。协议要是用上了,那就是没意义了,也就是证明即将要结束协议。定义协议(protocol)是指两个或两个以上具有独立性的主体为了开展某项活动,经过协商后达成的一致意见。

本文由 在线网速测试 整理编辑,转载请注明出处。