高并发-网络基础
文章平均质量分 70
从网络建立、数据包、网络协议方面结束
技术分子
用简洁方式表达
展开
-
网络基础- Socket 通讯和连接模式
HTTP也可以建立长连接的,使用Connection:keep-alive,HTTP1.1默认进行持久连接,举例:类似于踢足球,只能一个传给另一个人,两个人不能同时传球,球只有一个,单工,就是两者通信单向进行,只能一个主动发信号一个被动去接受,不能角色互换。中断连接.也可以这样说:短连接是指Socket连接后发送后接收完数据后马上断开连接。长连接指建立socket连接后不管是否使用都保持连接,但安全性较差.例如 web网站请求。连接->传输数据->保持连接->传输数据->…连接->数据传输->关闭连接。原创 2024-04-18 10:38:16 · 302 阅读 · 0 评论 -
网络基础- Socket 通讯中粘包处理
在socket编程中程序的读写数据需求在图中 socket buffer中操作,粘包问题就出现在 socket buffer 中,程序在发送报文数据时可能存在连续情况。(存储数据正文大小) + 数据正文的形式,这样在服务端就可以知道每个数据包的具体长度 了,知道了发送数据的具体边界之后,就可以解决半包和粘包的问题了;当报文数据大于socket buffer时,此时报文数据并未添加完成socket buffer满了进行了发送。接收方读取套接字(Socket)缓冲区数据不够及时。原创 2024-04-18 09:38:38 · 328 阅读 · 0 评论 -
网络基础-基于TCP协议的Socket通讯
要通过TCP连接发送出去的数据都先拷贝到send buffer,可能是从用户空间进程的app buffer拷入的,也可能是从内核的kernel buffer拷入的,拷入的过程是通过send()函数完成的,由于也可以使用write()函数写入数据,所以也把这个过程称为写数据,相应的send buffer也就有了别称write buffer。服务端进入了监听状态后,通过调用 accept() 函数,来从内核获取客户端的连接,如果没有客户端连接,则会阻塞等待客户端连接的到来。原创 2024-04-17 16:26:02 · 1432 阅读 · 0 评论 -
网络基础-TCP协议握手与挥手
此时server 会维护一个 SYN 队列,半连接 syn 队列的长度为 max(64, /proc/sys/net/ipv4/tcp_max_syn_backlog) ,在机器的tcp_max_syn_backlog值在/proc/sys/net/ipv4/tcp_max_syn_backlog下配置,当 server 收到 client 的 SYN 包后,会进行第二次握手发送SYN+ACK 的包加以确认,client 的 TCP 协议栈会唤醒 socket 等待队列,发出 connect 调用。原创 2024-04-17 10:50:30 · 903 阅读 · 0 评论 -
网络基础-TCP和UDP协议区别
并且消息是「有序的」,当「前一个」消息没有收到的时候,即使它先收到了后面的字节已经收到,那么也不能扔给应用层去处理,同时对「重复」的报文会自动丢弃。序列号:在建立连接时由计算机生成的随机数作为其初始值,通过 SYN 包传给接收端主机,每发送一次数据,就「累加」一次该「数据字节数」的大小。因为 TCP 是一个工作在传输层的可靠数据传输的服务,它能确保接收端接收的网络包是无损坏、无间隔、非冗余和按序的。IP 层是「不可靠」的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。原创 2024-04-17 16:56:32 · 617 阅读 · 0 评论 -
网络基础-TCP/IP和OSI协议模型
二、OSI七层模型三、TCP/IP模型参考:https://www.cnblogs.com/f-ck-need-u/p/7623252.html原创 2024-04-17 14:35:04 · 294 阅读 · 0 评论