端口号 & 一个端口号是否可以被多个进程绑定?& 一个进程是否可以bind多个端口号?

1.端口号的作用

端口号可以用来标识同一个主机上通信的不同应用程序,端口号+IP地址就可以组成一个套接字,用来标识一个进程

2.端口号的应用场景

在TCP/IP协议中,用“源IP地址”,“目的IP地址”,“源端口号”,“目的端口号”,协议号(IP协议的协议号为4,TCP的协议号为6)这样的一个五元组来标识一个通信,通信的双方在发送消息时,消息的头部会带着这样的五元组

3.端口范围划分

(1)0~1023:知名端口号,是留着备用的,一把都是用于协议,例如HTTP、FTP、SSH
(2)1024~65535:是操作系统动态分配的端口号,客户端程序的端口号,就是由操作糸统从这个范围来分配的,在TCP与UDP的套接字通信中,客户端的端口号就是在此范围中

4.知名的端口号与端口号对应的服务器

HTTP服务器:80
FTP服务器:21

ps:FTP有一个控制连接和一个数据连接,所以FTP是有两个端口号的,控制连接的端口号是21,数据连接的端口号是20,但是如果FTP的端口号默认是21,如果指明FTP有两个端口号的话,那就是21和20,否则FTP服务器的端口号就是21

TELNET服务器:23
SSH服务器:22
HTTPS:443
WEB服务器:25

5.在linux中如何查看知名端口号?

cat /etc/services

6.一个进程是否可以bind多个端口号?

可以

因为一个进程可以打开多个文件描述符,而每个文件描述符都对应一个端口号,所以一个进程可以绑定多个端口号

7.一个端口号是否可以被多个进程绑定?

不可以

ps:如果进程先绑定一个端口号,然后在fork一个子进程,这样的话就可以是实现多个进程绑定一个端口号,但是两个不同的进程绑定同一个端口号是不可以的

猜你喜欢

转载自blog.csdn.net/dangzhangjing97/article/details/80958819
今日推荐