应用层协议和传输层协议的关系
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以上的端口