端口
1、什么是端口?
端口是传输层服务访问点(TSAP),它在传输层的作用类似于IP地址在网络层的作用,MAC地址在数据链路层的作用。只不过IP地址和MAC地址标识的是主机,而端口标识的是主机中的应用进程。
数据链路层的SAP是MAC地址,网络层的SAP是IP地址,传输层的SAP是端口。
2、端口的作用?
端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。
在协议栈层间的抽象的协议端口是软件端口,它与路由器或交换机上的硬件端口是完全不同的概念。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与传输实体进行层间交互的一种地址。传输层使用的是软件端口。
应用进程通过端口号进行标识,端口号长度16bit,能够表示65536个不同的端口。
端口号只具有本地意义,即端口号只标识本计算机应用层中的各进程。
传输层的报文中会携带端口号,因此接收方可以识别出该报文是发送给哪个应用
端口号的分为划分是:
- 0~1023:知名端口号,其中HTTP、FTP、SSH等这些广泛使用的应用层协议,端口号都固定在前1024个端口号之中。
- 1024~65535:操作系统动态分配的端口号,客户端程序的端口号,会由操作系统在这个范围内进行分配。
一个进程可以和多个端口号绑定,即这个进程可以通过这些端口号分别建立连接,实现通信,但是一个端口号只能绑定一个进程,假如绑定多个进程,这个端口号在通信时无法判断应该将数据具体交给哪个进程!
3、常见的端口号
- 80端口:Web服务器用的(HTTP传输的默认端口)
- 443端口:HTTPS服务器
- 21端口:FTP服务器
- 22端口:远程登录服务器(SSH服务器)用的
- 23端口:Telnet服务器
- 53端口:DNS协议对应的端口