斜塔图片:我是电脑新手,请问什么是端口号!!!!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 19:20:55

端口号---具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经定义)。当然,有很多应用软件有公认的默认的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,这里就不一一列举了。一个软件可以拥有多个端口号,这证明这个软件拥有不止一个网络功能。

0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的,而1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。

那么端口号到底有什么作用呢?请大家继续往下看。

当一台电脑启动了一个可以让远程其他电脑访问的程序,那么它就要开启至少一个端口号来让外界访问。我们可以把没有开启端口号的电脑看作是一个密封的房间,密封的房间当然不可能接受外界的访问,所以当系统开启了一个可以让外界访问的程序后它自然需要在房间上开一个窗口来接受来自外界的访问,这个窗口就是端口。
那么为什么要给端口编号来区分它们呢,既然一个程序开了一个端口,那么不是外部信息都可以通过这个开启的端口来访问了吗?答案是不可以。为什么呢?因为数据是用端口号来通知传输层协议送给哪个软件来处理的,数据是没有智慧的,如果很多的程序共用一个端口来接受数据的话,那么当外界的一个数据包送来后传输层就不知道该送给哪一个软件来处理,这样势必将导致混乱。

上一次提到提到在一个经过OSI第四层传输层封装的数据段的第四层报头里包含两个端口号,既源端口号和目的端口号,目的端口号的作用上面已经介绍了,下面让我们了解一下原端口号吧。
源端口号一般是由系统自己动态生成的一个从1024-65535的号码,当一台计算机A通过网络访问计算机B时,如果它需要对方返回数据的话,它也会随机创建一个大于1023的端口,告诉B返回数据时把数据送到自己的哪个端口,然后软件开始侦听这个端口,等待数据返回。而B收到数据后会读取数据包的源端口号和目的端口号,然后记录下来,当软件创建了要返回的数据后就把原来数据包中的原端口号作为目的端口号,而把自己的端口号作为原端口号,也就是说把收到的数据包中的原和目的反过来,然后再送回A,A再重复这个过程如此反复直到数据传输完成。当数据全部传输完A就把源端口释放出来,所以同一个软件每次传输数据时不一定是同一个源端口号。

嗯!!什么是端口号这个问题嘛,一个端口就是一个潜在的通讯通道,也是一个入侵通道,开放一个端口就是一台计算机在网络上打开了一扇窗户,黑客入侵的方法就是用手工扫描或利用扫描软件找到服务器所开放的端口,去根据其相应的漏洞对服务器进行入侵或攻击,因此对端口的了解是非常重要的。

端口大概分为三类:

1:公认端口(well known ports):从0-1023,他们是绑定于一些服务。通常这些端口的通信明确表明了某种服务的协议。比如,21端口是FTP服务所开放的。

2:注册端口(registrerd ports):从1024-49151,他们松散的绑定于一些服务也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。比如,许多系统处理动态端口是从1024开始的。

3:动态或私有端口(dynamic and/or private ports):从49512-65535,理论上不应该为服务分配这些端口。实际上,计算机通常从1024开始分配动态端口。当然也有例外的,SUN的RPC端口从32768开始

希望你有点了解啊 从端口的开放有时能查出自己的机子是不是中招了 这是新手要注意的

打个比方 你要进家门 就得先进入那个门 那个门就可以被称为一个端口port用个形象的比喻就是

两台机器上的程序通信时,怎样能够彼此找到对方的一个地址

A机器上的a程序要和B机器上的b程序进行通信,于是协议给程序分配了一个port号,这样a才能找到b,通过IP,A能找到B,通过port,a能找到b.

port在硬体上是不存在的,只是在内存上的数据结构