端口号,一个端口号是否可以被多个进程使用?

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一个子进程,这样的话就可以是实现多个进程绑定一个端口号,但是两个不同的进程绑定同一个端口号是不可以的
--------------------- 
作者:dangzhangjing97 
来源:CSDN 
原文:https://blog.csdn.net/dangzhangjing97/article/details/80958819 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/u013755520/article/details/91368598
今日推荐