BIO底层详解
2022-04-26 14:04:35 0 举报
BIO底层详解
作者其他创作
大纲/内容
socket()建立套接字并返回文件描述符(fd3)
kernel buffer
recv()CPU COPY
connect()生成一个随机的客户端端口,并绑定到fd5上
操作系统内核层
Server
accept()生成连接套接字
SYN_RECV
三次握手
Client
ACK
netstat对应进程状态为RECV
socket buffersend buffer
socket()建立套接字并返回文件描述符fd5
硬件层
send()CPU COPY
由于数据是有网卡流入,所以可以直接将数据采用DMA(直接储存器访问)拷贝到内存
kernel
连接确认队列
SYN_SENT
这个时候就能够确认TCP网络连接的四元组CIP:CPORTSIP:SPORT
ESTABLISHED
NIC
netstat进程状态更改为ESTABLISHED
SYN
连接未确认队列
SYN+ACK
连接套接字
网络
socket bufferrecv buffer
由于是内存直接到网卡,所以数据拷贝会直接采用DMA(直接储存器访问)拷贝
listen(fd3)监听文件描述符实际上就是监听对应绑定的端口
0 条评论
回复 删除
下一页