进程、线程、端口、套接字、端口状态枚举

版权声明:版权没有,转载随意 https://blog.csdn.net/MAOZEXIJR/article/details/89488614

1、什么是进程

进程是执行中的程序片段,资源分配和调度运行的基本单位

2、什么是线程

线程是进程中执行运算的最小单位

3、进程和线程的区别

(1)一个线程只能属于一个进程,但是一个进程可以拥有多个线程

(2)进程之间的通信依赖进程通信机制为维护,线程之间的通信通过读取/写入线程变量来实现

4、什么是端口

一台主机可同时运行多个进程,端口是区分进程的唯一标志

在网络通信中,其他主机想要访问该主机的某个进程,就需要知道该主机的IP地址和端口

这好比寻找某个人除了要知道他所在的 国家+省份+市县+街道+小区 以外还要知道他所在小区的 门牌号

这里的 国家+省份+市县+街道+小区名 即IP地址,门牌号 即端口

5、什么是套接字

进程通过一个称为 “套接字” 的软件接口向网络收发报文

套接字属于网络层的概念,可理解为 IP+端口

6、端口状态

CLOSED 未启用该套接字,netstat查询不到该状态
LISTEN 套接字正在监听连接
SYN_SENT 套接字主动连接已发送syn,但未收到对方应答的ack
SYN_RECEIVED 已收到对方syn应答,但未收到自己发送的syn的ack
ESTABLISHED 连接已建立
CLOSE_WAIT 远程套接字已关闭,本地套接字正在等待关闭
FIN_WAIT_1 套接字已关闭,正在关闭连接
CLOSING 套接字已关闭,远程套接字正在关闭
LAST_ACK 远程套接字已关闭,等待本地套接字关闭
FIN_WAIT_2  套接字已关闭,等待远程套接字关闭
TIME_WAIT 这个套接字已经关闭,正在等待远程套接字的关闭传送

参考资料

【1】《进程、线程的区别》 

【2】 《套接字与接口的区别》

【3】 《端口状态说明、三次握手》

猜你喜欢

转载自blog.csdn.net/MAOZEXIJR/article/details/89488614