看了下面的介绍,才明白为什么那些tomcat,weblogic默认端口都是80开头的了
2.3 应用层协议
传输层协议添加端口就可以标识应用层协议。应用层协议代表着服务器上的服务,服务器上的服务如果对客户端提供服务,必须在TCP或UDP端口侦听客户端的请求。
2.3.1 应用层协议和传输层协议的关系
传输层的协议TCP或UDP加上端口就可以标识一个应用层协议,TCP/IP协议中的端口范围是从0~65535。
1.端口的作用
端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过"IP地址+端口号"来区分不同的服务的。
服务器一般都是通过知名端口号来识别的,如图2-2所示。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。这些知名端口号由Internet号分配机构(Internet Assigned Numbers Authority,IANA)来管理。
![]() |
图2-2 应用层协议和传输层协议的关系 |
2.应用层协议和传输层协议的关系
下面是一些常见的应用层协议和传输层协议之间的关系。
HTTP默认使用TCP的80端口标识
FTP默认使用TCP的21端口标识
SMTP默认使用TCP的25端口标识
POP3默认使用TCP的110端口
HTTPS默认使用TCP的443端口
DNS使用UDP的53端口
远程桌面协议(RDP)默认使用TCP的3389端口
Telnet使用TCP的23端口
Windows访问共享资源使用TCP的445端口
3.知名端口
知名端口即众所周知的端口号,范围从0~1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP(文件传输协议)服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等。
网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在地址栏上指定端口号,方法是在地址后面加上冒号":"(半角),再加上端口号。比如使用"8080"作为WWW服务的端口,则需要在地址栏里输入"http://www.cce.com.cn:8080"。
但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。
客户端在访问服务器时,源端口一般都是动态分配的1024以上的端口。用浏览网页为例: 发送方: 1.输入网址:www.baidu.com,按了回车键,电脑使用应用层用IE浏览器将数据从80端口发出,给了下一层协议——传输层。 2.传输层将数据前面加上了TCP标记,标记这是80端口发出的哦,将这个数据段给了下一层——网络层。 3.网络层在使这个数据段前面加上了自己机器的IP和目的IP,这时这个段被称为IP数据包(也可以称为报文),然后将这个IP包给了下一层协议——网络接口层。 4.网络接口层,网络接口层先将IP数据包前面加上自己机器的MAC地址,以及目的MAC地址,这时加上MAC地址的数据称为帧,网络接口曾最后用对应的物理设备——网卡,将这个帧以比特流的方式发送到网络上。 互联网上有路由器,它会读取比特流中的IP地址进行选路,到达正确的网段,之后这个网段的交换机读取比特流中的MAC地址,找到对应要接收的机器。 接收方: 1.网络接口层用网卡接收到了比特流,读取比特流中的帧,将帧中的MAC地址去掉,就成了IP数据包,传递给了上一层网络层。 2.网络层接收了下层传上来的IP数据包,将IP从包的前面拿掉,取出带有TCP的数据(数据段)交给了传输层。 3.传输层拿到了这个数据段,看到TCP标记的是80端口发送的嘛,那就是HTTP协议咯,之后将TCP头去掉并将数据交给应用层,告诉应用层对方要求的是HTTP的数据。 4.应用层知道了这个是发送方以端口80发送过来的数据,知道TCP端口80是HTTP协议,要用IE来回复,所以将www.baidu.com的网址按照发送方的方式发送回去。