草庐IT

TCP通信

全部标签

一次TCP TIME_WAIT连接数过多告警处理

一次TCPTIME_WAIT连接数过多告警处理1、前言2、问题回顾3、解决方案更多技术文章,快来关注微信公众号“运维之美”,不定期更新领取IT学习资料1、前言客户环境上在业务高峰期的时候,突然收到主机的TCPtime_wait连接数告警过多的告警。运维侧及时介入分析,通过本文的处理方式和思路,希望给你在问题处理过程中提供灵感。2、问题回顾客户反馈收到如下告警,主机TCPtimewait连接数过多prometheus告警表达式node_sockstat_TCP_tw>50000收到连接数过多的告警并不代表一定会产生生产问题,此时要关注负载是否直线上升,连接数一直无法释放,如果出现此情况,则需要及

TCP ZeroWindow 问题

TCPZeroWindow问题是指在TCP连接中,发送方为了保障可靠传输,会根据接收方反馈的窗口大小来控制发送窗口的大小,但当接收方窗口大小为0时,发送方就会停止发送,从而导致通讯中断的问题。下面我们将从多个方面详细阐述TCPZeroWindow问题的解决方法。一、增加接收方窗口大小一种常用的方法是增加接收方的窗口大小。这样可以使得接收方有更多的缓存空间,从而避免出现ZeroWindow的情况。可以通过修改TCP接收缓冲区大小的方法来解决,示例代码如下:intsock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);intbuf_size=1024*1024*1

深入理解TCP网络协议(1)

目录1.TCP协议的段格式2.TCP原理2.1确认应答2.2超时重传3.三次握手(重点)4.四次挥手1.TCP协议的段格式我们先来观察一下TCP协议的段格式图解:源/目的端口号:标识数据从哪个进程来,到哪个进程去32位序号/32位确认号:TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收4位TCP报头长度:表示该TCP头部有多少个32位bit(有多少个4字节),所以TCP头部最大的长度是15*4=60 6位标志位:URG:紧急指针是否有效ACK:确认号是否有效PSH:提示接收端应用程序

STM32 HAL库 SPI主从双机通信

一、简介最近因为项目需求,需要在一块板子内实现一个主机和五个从机的通信;主机平台选用的是STM32F407VGT6,从机平台选用的是STM32F103C8T6;通信总线选用的是SPI总线。在构想是觉得采用SPI进行主从通信会很简单,但在实际开发的过程中,各种坑,通信时而正常时而混乱。不过在不断探究中,也逐渐发现了,各种问题所在,借此记录下来,希望能帮助一些兄弟在开发中避免一些坑。本次实现的平台如下:通信主机:芯片:STM32F103RCT6硬件平台:野火mini开发板通信从机:芯片:STM32F103C8T6硬件平台:淘宝STM32F103C8T6最小系统开发板软件:HAL库MDKSTM32C

Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client

    看过上期的都知道,我是搞java的,所以对这些可能理解不是很清楚,各位看完可以尽情发言。事件循环和非阻塞IO   在服务器端网络编程中,有三种处理并发连接的方法。   它们是:分叉、多线程和事件循环。分叉为每个客户端连接创建新进程,以实现并发性。多线程使用线程而不是进程。事件循环使用轮询和非阻塞IO,通常在单个线程上运行。由于进程和线程的开销,大多数现代生产级软件使用事件循环进行网络连接。我们服务器的事件循环的简化伪代码是:all_fds=[...]whileTrue:active_fds=poll(all_fds)foreachfdinactive_fds:do_something_

计算机网络——TCP协议

💡TCP的可靠不在于它是否可以把数据100%传输过去,而是1.发送方发去数据后,可以知道接收方是否收到数据;2.如果接收方没收到,可以有补救手段;图1.TCP组成图TCP的可靠性是付出代价的,即传输效率和复杂程度。TCP的报文组成在这篇文章中 http://t.csdnimg.cn/35VIrhttp://t.csdnimg.cn/35VIr 1.确认应答发送方把数据发给接收方,接收方收到数据需要给发送方返回一个应答报文(确认序列号)(ackownledge,ack),发送方收到应答报文,说明数据发送成功。发送方连续发多条数据的情况,这种情况会存在"后发先至"的情况。所以引入"序列化",此处T

网络原理,网络通信以及网络协议

​​​​💓博客主页:从零开始的-CodeNinja之路⏩收录专栏:网络原理,网络通信以及网络协议🎉欢迎大家点赞👍评论📝收藏⭐文章文章目录网络原理概念网络通信局域网LAN广域网WAN网络通信IP地址端口号网络协议概念五元组TCP/IP协议五层模型网络设备分层封装和分⽤网络原理概念随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成业务,就有了网络互连。网络互连:将多台计算机连接在⼀起,完成数据共享。根据网络互连的规模不同,可以划分为局域网和广域网。网络通信本质是⽹络数据传输,即计算机之间通过网络来传输数据.局域网LAN局域网,即LocalAreaNetwor

【网络】WireShark过滤 | WireShark实现TCP三次握手和四次挥手

目录一、开启WireShark的大门1.1WireShark简介1.2常用的Wireshark过滤方式二、如何抓包搜索关键字2.1协议过滤2.2IP过滤​编辑2.3过滤端口2.4过滤MAC地址2.5过滤包长度2.6HTTP模式过滤三、ARP协议分析四、WireShark之ICMP协议五、TCP三次握手与四次挥手5.1TCP三次握手5.2可视化看TCP三次握手5.3TCP四次挥手5.4可视化看TCP四次挥手5.5异常情况一、开启WireShark的大门相关文章:【Linux】网络诊断ping命令详解_linuxping-CSDN博客【Linux】网络诊断traceroute命令详解-CSDN博客

C++上位软件通过LibModbus开源库和西门子S7-1200/S7-1500/S7-200 PLC进行ModbusTcp 和ModbusRTU 通信

前言    一直以来上位软件比如C++等和西门子等其他品牌PLC之间的数据交换都是大家比较头疼的问题,尤其是C++上位软件程序员。传统的方法一般有OPC、Socket等,直到LibModbus开源库出现后这种途径对程序袁来说又有了新的选择。Modbus简介Modbus特点        1 )使用简单,利用MUDBUS库文件简单的几条指令就能实现与智能仪表,变频器,打印机等设备进行通讯,且无需加其他硬件上的成本MODBUS总线广泛应用于仪器仪表、智能高低压电器、变送器、可编程控制器、人机界面、变频器、现场智能设备等诸多领域。MODBUS与其他的现场总线和工业网络相比有以下几个显著特点。    

react+electron/现成的react项目直接转electron(2)能本地运行,打包,【web层,渲染层,主进程】之间的互相通信交互

难点:之前写了一个关于运行electron的文章 《现成的react项目直接转electron(1)能本地运行》后,又接着找打包的,找的是坑真多,全部失败,后来无意中看到 小满zs的B站视频 后,发现这个非常好,然后跟着重构一下,也可以直接看人家写的文章Vue3Viteelectron开发桌面程序和小满Vue3第三十九章(Vue开发桌面程序Electron)知识点:人家那是vue的,我这是react的,加减了一些东西,增加了【web层,渲染层,主进程】之间的互相通信交互,话不多说😑,接着填坑吧,填了的都是知识点1.还是先下载依赖pnpminstall-Delectronelectron-bui