基础网络图解|分层 TCP Socket
请求流程
- 浏览器请求
- socker到内核
- dns解析
- tcp udp 八万多端口,随机来一个
- ip 源id目标ip
- mac 原mac 目标mac
- 经过路由器层层转发,就到了目标地址,然后反向解析出来
CNI、负载均衡、防火墙、sermash截留
Socket
linux socket 基层 文件
socket本身就是一个文件
五元组(端口(原目)、ip(原目 )、协议)
- socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式Linux中的一切都是文件,为了表示和区分已经打开的文件,UNIX/Linux会给每个文件分配一个ID,这个ID就是一个整数,被称为文件描述符
- 网络连接也是一个文件,它也有文件描述符
- 服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接
- 在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了
- 服务端的Accept接收到请求以后,会生成连接FD,借助这个FD我们就可以使用普通的文件操作函数来传输数据了,例如 :
用read0读取从远程计算机传来的数据
用write0向远程计算机写入数据
Loading...