nppnc 发表于 2012-2-23 21:52:05

网络管理之端口详述篇

什么是端口
在Internet上,各主机之间通过TCP/TP协议发送和接收数据包,各个数据包根据其目的主机IP地址来进行互联网络中的路由选择。可见,把数据包顺利传到目的主机是没有问题的。问题出在哪里呢?我们知道,大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。
本地操作系统会给那些有需求的进程分配协议端口(Protocol Port),即常说的端口。每个协议端口由一个正整数标识,如80,139,445等。当目的主机接收到数据包后,将根据包文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。

在网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535。

端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址 端口号”来区分不同的服务的。

需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口,如图1所示。



  图1


按对应的协议类型,端口有两种:TCP端口和UDP端口。由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也可以有235端口,两者并不冲突。

端口是怎样分配的

与IP地址一样,端口号也不是随意使用的,而是按照一定的规定进行分配。端口的分类标准有好几种,我们这里不做详细讲解,只介绍一下周知端口和动态端口。

1.周知端口(Well Known Ports)

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候(比如www.***.com.cn)是不必指定端口号的,因为在默认情况下WWW服务的端口号是“80”。

网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在地址栏上指定端口号,方法是在地址后面加上冒号“:”(半角),再加上端口号。比如使用“8080”作为WWW服务的端口,则需要在地址栏里输入“www.***.com.cn:8080”。

但是有些系统协议使用固定的端口号,它是不能被改变的,比如139端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。

2.动态端口(Dynamic Ports)

动态端口的范围是从1024到65535。之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。动态分配是指当一个系统进程或应用程序进程需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。当这个进程关闭时,同时也就释放了所占用的端口号。

怎样查看端口

一台服务器有大量的端口在使用,怎么来查看端口呢?有两种方式:一种是利用系统内置的命令,一种是利用第三方端口扫描软件。

1.用“netstat -an”查看端口状态

在Windows 2000/XP中,可以在命令提示符下使用“netstat -an”查看系统端口状态,可以列出系统正在开放的端口号及其状态,如图2所示。


  图2

共2页: 上一页12下一页

自由的风 发表于 2012-3-13 19:00:12

感謝樓主

uqaqgvc 发表于 2012-3-13 19:00:12

我的啦嘿嘿

uqaqgvc 发表于 2012-3-13 19:00:12

支持~~顶顶~~~

terkcov 发表于 2012-3-13 19:00:12

楼主,支持!{:3_41:}
页: [1]
查看完整版本: 网络管理之端口详述篇