登录社区云,与社区用户共同成长
邀请您加入社区
在家通过远程控制公司电脑高效处理紧急事务,或是为父母远程排除电脑故障,这些便捷场景早已融入我们的日常,远程控制软件也因此成为工作与生活中的得力助手。不过,在享受便利的同时,远程安全问题也悄然浮现,值得我们多花些心思关注。要知道,远程控制软件虽好用,但若选择不当,就可能给个人隐私与数据安全埋下隐患。2025年发布的一份安全报告指出,当下众多企业数据泄露事件中,远程控制软件成为了“幕后推手”之一。若不
HTTP协议是⼀个⽆连接、⽆状态的协议,即每次请求都需要建⽴新的连接,且服务器不会保存客⼾端的状态信息。这个Location选项是⼀个标准的HTTP响应头部,⽤于告诉浏览器应该将请求重定向到哪个新的URL地址。当然,通过这种方式传递参数是非常危险的,因为是明文传递,所以一般不会用这种方式传递用户名密码等敏感内容,URL的长度也是有限制的,所以不能传递长数据。HTTP中的Connection字段是H
我们以一个例子来描述这个事情——网络计算器我们需要实现一个服务器版的加法器。我们需要客户端把要计算的两个加数发过去, 然后由服务器进行计算, 最后再把结果返回给客户端。约定方案一客户端发送一个形如"1+2"的字符串;这个字符串中有两个操作数, 都是整型;两个数字之间会有一个字符是运算符, 运算符只能是 +;数字和运算符之间没有空格;......约定方案二:定义结构体来表示我们需要交互的信息;
原型:int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);服务端需要连接多个客户端时,服务器需要使用accept等待三次握手连接,同时还需要recv等待接受所有客户端发送的数据,由于accept和recv都是阻塞IO,所以导致程序逻辑无法编写。用一个函
本文介绍了UDP协议的基本原理及其在嵌入式系统中的应用实现。UDP作为一种无连接的传输层协议,具有传输效率高、延时小的特点,适用于视频聊天等实时应用场景。文章详细阐述了UDP数据包的结构设计、相关宏定义以及核心操作函数,包括数据包发送函数ENC28J60_Send_UDP_data_packet和客户端发送函数UDP_Client_Send_Data_To_Server。通过STM32平台结合EN
前面我们已经学习了用UDP进行网络编程。接下来我们就来学习利用另一个重要网络协议——TCP,来进行网络项目编程相关代码已经上传至作者的个人gitee:楼田莉子/Linux学习喜欢请关注目录套接字地址结构体sockaddr_in 结构体in_addr 结构体TCP相关的接口socket()bind()listen()accept()connect()send()
在部署Web项目时,你是否注意到过这样的访问方式差异?这两种方式有什么区别?又该如何实现呢?本文将为你详细解答。部署方式适用场景优点缺点端口直接访问开发环境、微服务简单直观端口不易记忆目录形式(80端口)生产环境、多应用统一入口、便于管理配置复杂混合方案复杂架构灵活可控维护成本高核心要点端口+IP形式:直接启动服务,指定端口即可目录形式:通过反向代理(Nginx/Apache)实现路径转发80端口
那么下面我们就来介绍一下:什么是分片?分片简单来讲就是将原IP报文的有效载荷分为多个部分,并且这里我们就要输出第二个结论:分片不是简单的对IP报文进行分片,而是要对每一片都添加IP报头。
TCP访问外网的办法。
本文详细介绍了HTTP服务器的实现过程,从理论基础到实践落地。主要内容包括:1)Web根目录的概念与路径映射规则,强调安全性防范路径穿越攻击;2)文件读取与MIME类型判断,提供代码实现示例;3)HTTP请求解析的结构体定义。通过循序渐进的方式,从静态资源服务到动态请求处理,构建了一个完整的HTTP服务器实现方案,帮助开发者深入掌握HTTP协议核心原理与实现细节。文章包含大量代码示例和关键点说明,
摘要:HAProxy作为高性能负载均衡器,其稳定运行对IT基础设施至关重要。ManageEngine Applications Manager提供全面的HAProxy监控方案,可实时追踪关键指标(吞吐量、错误率、队列状态、后端服务器健康),通过可视化界面帮助团队快速发现性能异常。该解决方案能及时预警潜在问题,优化流量路由,确保系统在流量高峰时保持稳定,并为容量规划提供数据支持,实现负载均衡环境的智
本文系统介绍了TCP/IP协议栈中TCP与UDP的核心差异及应用场景。从协议栈分层切入,重点对比了两者在连接性、可靠性、传输效率等方面的特性:TCP提供可靠有序传输但开销大,UDP则轻量快速但不保证交付。文章详细解析了TCP的三次握手、滑动窗口等机制,并指出UDP在现代应用中常被二次封装(如QUIC)。最后结合2026年实际场景,给出协议选型建议:网页/文件用TCP,实时音视频/游戏用UDP,新兴
在上一篇文章中,我们已经对 TCP 协议有了一个初步认识,知道它是如何通过序号、确认应答以及重传机制来保证数据可靠传输的。不过,当真正开始思考 TCP 的工作过程时,一个问题很快就会浮现出来:既然数据一定要发,那到底该发多快呢?发得太慢,网络资源被白白浪费;发得太快,又可能瞬间把网络压垮。正是为了在这两者之间找到一个平衡点,TCP 设计了动态窗口和拥塞控制机制。它们并不会一开始就“全速前进”,而是
TCP 和 IP 协议的异同
摘要:本文探讨了高性能HTTP压测工具的设计与实现,针对传统单线程压测工具无法准确测试高并发服务的问题,提出基于多线程和IO多路复用的解决方案。文章详细解析了压测的核心指标(RPS、成功率)和工具的关键设计思路:通过多线程充分利用CPU核心,采用epoll管理大量并发连接,使用非阻塞IO避免性能瓶颈。最后以代码示例展示了工具的实现原理,包括参数解析、URL处理、工作线程的事件循环机制,以及原子操作
Qt TCP网络编程摘要: Qt框架通过QTcpServer和QTcpSocket类提供跨平台的TCP通信能力。QTcpServer用于创建服务器端,监听端口并处理客户端连接;QTcpSocket实现客户端连接和双向数据传输。核心特性包括:事件驱动的信号槽机制(如readyRead、connected等)、流式数据读写(支持QByteArray与QString转换)以及自动管理的连接生命周期。典型
本文分享了基于C#实现斑马ZT411打印机TCP通讯与打印状态判定的完整方案。核心内容包括:通过ZebraDesigner工具生成标准ZPL模板指令,解析关键字段作用;建立C#与ZT411的TCP连接,发送ZPL指令实现打印;利用~HS指令监控打印机状态,通过二进制编码解析实现精准状态判定。重点解决了指令生成、通讯无响应、状态查询不及时等工业场景中的常见问题,提供了可落地的技术实现方案,适用于条码
本文从实战角度介绍了Linux下TCP服务器开发的核心要点。首先通过实现基础的echo服务器,讲解了socket编程中的绑定与连接问题。然后针对并发需求,提出多进程、多线程和线程池三种优化方案。最后扩展到远程命令执行场景,并补充安全防护措施。全文以代码示例为核心,详细解析了TCP服务器开发中的关键技术与常见问题,为后端开发者提供了实用的开发指南。
本文详细介绍了计算机网络传输层的核心概念和协议。作者使用Wireshark抓包工具进行了实际案例分析,帮助读者更好地理解传输层协议的工作机制。传输层主要承担两大功能:为不可靠的网络层提供可靠传输,以及实现主机间应用进程的端到端通信。文章重点对比了TCP和UDP协议的特点:TCP提供面向连接的可靠传输,通过连接管理、确认机制等措施确保数据完整性;UDP则提供无连接的简单高效传输。文中还深入解析了端口
摘要:IP协议是TCP/IP体系中的网络层协议,负责数据路由和主机间通信。其协议格式包含版本号、首部长度、服务类型等关键字段,采用"先找网络后找主机"的分层路由策略。IP地址分为网络号和主机号,通过子网掩码进行划分。由于IPv4地址枯竭,采用NAT技术实现私网IP与公网IP转换,并引入IPv6解决方案。数据通过路由器逐级转发,每台路由器根据路由表决定下一跳路径,最终到达目标网络
本文用Cisco Packet Tracer模拟器学习网络互联基础,保证质量的同时,又不让人感到乏味,涵盖直连计算机配置(IP设置、ping验证)、多设备互联方案对比(同轴电缆、集线器、交换机等),以及路由器跨网段通信(网关设置、ARP协议)。通过仿真演示数据转发流程,直观理解网络通信原理。
本文介绍了IP协议的核心功能与工作原理。IP协议作为网络层协议,负责将数据包从源主机传送到目的主机,具有无连接、不可靠的特点。文章详细解析了IPv4地址结构(网络号+主机号)、子网掩码计算方法,以及IP首部各字段功能(如标识、标志、TTL等)。同时阐述了ARP协议如何通过IP地址获取MAC地址,并说明了路由器基于路由表转发数据包的原理。最后指出IP地址负责端到端路径规划,MAC地址负责局域网内数据
Telnet:远程登录协议, 23端口,TCP协议,C/S架构,C:client(登录设备 – 客户端),S:server(被登录设备 – 服务器)如果只进行两次握手,可能会导致服务器端开启无用的连接,增加服务器开销,或者接收到已失效的连接请求,从而产生错误。创建一个虚拟接口:通过系统视图底下,user-interface:用户接口,用于用户登录,vty:虚拟接口。创建一个虚拟接口:通过系统视图底
然后再将信息统一交给数据链路层,此payload即网络层的所有信息,再在此信息前后各添加一些信息,最后来到物理层。当数据来到4,3,2层时,会被加上一部分相关信息(比如:在网络层需要加上IP地址)最终在物理层把加工后的数据,以高低电频的形式发送出。注:路由器在接收到报文以后,会将报文中的原目Mac删掉,Mac属于数据链路层,而路由器要解封到网络层,所以要将在数据链路层添加的Mac删掉。1.双绞线就
举一个例子,我们要去一个地方,但是我们不知道路该怎么走,所以我们要找人问路,有的人知道怎么走就把路线告诉我们,有的人不知道该怎么走,但是他告诉我们先走一段路再去问问别人。网络宏观上被分为公网和内网(子网,局域网),它们的比例是 1 : N ,在内网中Ip地址可以重复,所以我们的私有IP无法出现在公网,因为无法收到应答,那么是怎样进行通信的呢?这是我制作的一张关于公网和子网的分配图,实际上的分配比这
对比维度IPv4报文结构ICMP报文结构结构组成固定首部(20字节)+ 可选首部 + 数据固定首部(8字节)+ 可变数据长度特性总长度最大65535字节,首部长度可变(20~60字节)长度随场景变化(差错报文≈48字节,查询报文可自定义)核心字段源/目的IP、TTL、协议字段、分片相关字段类型、代码、标识符、序列号数据部分用途承载上层协议数据(TCP/UDP/ICMP等)差错定位(原IP首部+前8
本文介绍了在嵌入式Linux开发板中使用wpa_supplicant进行Wi-Fi配网和udhcp工具分配IP的方法。主要内容包括: wpa_supplicant的基础配置,包括创建配置文件、核心参数说明(如ctrl_interface、ssid、psk等) 详细解析了全局配置项和network块配置项,涵盖连接管理、认证方式、日志级别等关键参数 通过示例展示了如何配置Wi-Fi连接信息,包括SS
Linux 是服务器领域的主流系统,其网络能力直接决定服务的稳定性与通信效率。想要真正掌握 Linux 网络,光懂理论不够 —— 从 TCP/IP 协议的分层逻辑,到 Socket 编程的系统调用,再到实际场景中的数据封装与解包,实战是打通知识的关键。本系列将带着你从协议原理落地到代码实践,手把手搞定 Linux 网络通信的核心技能。
本文基于Xilinx FPGA xc7v690tffg1761-2和Vivado2018.3平台,针对优数科技PCIe-404/SOM-404板卡在TCP/IP通信中的PING异常问题展开研究。测试发现FPGA与上位机能正常交互ARP/TCP报文,但PING请求存在校验和错误。通过分析发现PHY芯片输入数据存在误码,经排查确认是PCB走线问题。通过MDIO配置调整YT8531SH PHY芯片的RX
本文介绍了基于TCP的Socket编程进阶实现,重点讲解了协议定制和网络计算器的实现。主要内容包括: Socket封装:采用模板方法模式对Socket接口进行封装,实现TCP套接字的基本功能。 协议定制: 使用JsonCpp库实现序列化和反序列化 设计编码规则解决TCP粘包问题(报文长度+\r\n+报文+\r\n) 网络计算器实现: 定义Request和Respond类处理运算式和结果 通过Pro
依旧简单来说,就是我在人群里大喊张三,这是互相信任的情况下,但是我喊的张三我不认识,我在人群里喊,张三,你的金币掉了,这时候可能就会有人冒充张三,来领取掉落的金币。当主机要访问某个主机时,会发送APR广播,这区域内泛洪,目标主机会进行APR响应,这就是工作原理,简单来说就是,这人群里,我大喊张三,张三听见我这喊他,他回应我,我在这里。IP分片的缺点也很明显,如果一个一个分片丢失,那么整个数据包都会
链路追踪(Distributed Tracing)是记录和可视化请求在分布式系统中流转路径的技术。🚚快递追踪系统:从发货到收货,每个环节都有记录🏥医院就诊流程:挂号→分诊→检查→诊断→取药,全程可追溯🚗交通监控系统:追踪车辆行驶路线,实时掌握交通状况// 链路级别指标// 总Span数量// 链路总耗时// 关键路径// Span级别指标// 调用次数// 平均耗时// 最大耗时// 错误率
用户服务、商品服务、订单服务、支付服务…每天处理数百万次服务调用服务间依赖关系错综复杂突然,用户投诉"页面加载慢",你如何快速定位问题?是哪个服务响应慢?是网络问题还是代码问题?影响的用户范围有多大?这就是监控中心要解决的问题!Dubbo监控中心(Monitor)是Dubbo生态中的数据收集和展示组件📈收集:从服务提供者和消费者收集运行时数据📊统计:聚合和分析性能指标📋展示:提供可视化界面查
协议科普,不管你是从事的app开发还是单片机开发,在网络发达的当下,你们的设备绝对会接入网络,而这篇文章会教会你怎么在网络里面走路
一、理解网络通信的本质二、端口号三、端口号的绑定四、认识UDP协议和TCP协议认识TCP协议认识UDP协议五、网络字节序六、套接字套接字的种类socketbind
TCP/UDP协议分析与网络传输机制 摘要:本文深入分析了TCP协议的可靠传输机制,包括序列号、确认应答、超时重传等核心机制。通过三次握手建立连接和四次挥手断开连接的过程,揭示了TCP面向连接的特点。文章对比了TCP与UDP的差异,详细讨论了SYN洪水攻击原理及防范方法。同时,解析了全连接队列和半连接队列在网络连接管理中的作用,通过Linux系统命令演示了队列大小的查看方法。文中的图解和类比(如咖
快速放弃:减少SYN+ACK重试次数(tcp_synack_retries=3)扩大粮仓:增大半连接队列(tcp_max_syn_backlog=2048)无状态防御:开启SYN Cookie(tcp_syncookies=1)✨核心公式抗猝死能力 = 重传策略 + 队列管理 + 无状态防御📚 扩展阅读Linux内核文档:tcp_synack_retriesCloudflare SYN Floo
真实的网络结构非常复杂,即涉及到划分公网IP的组织,ICANN,还要在全球范围内进行区域划分,比如亚太,北美,欧洲等,又要考虑到国家内部的ISP代理,整体拓扑非常复杂,我们简化所有过程,简单理解公网即可。如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上,使用任意的IP地址都行,但是RFC 1918规定了用于组建局域网的私有IP地址。CIDR在一定程度
本文介绍了如何使用C++从零实现一个基础的TCP服务器,涵盖核心流程和关键接口。TCP服务器实现包括创建监听套接字、绑定地址、监听连接、接收连接和通信五个步骤。通过TcpServer类封装这些逻辑,提供了初始化、启动和停止等接口。重点讲解了socket()创建TCP套接字、bind()绑定地址、listen()监听连接以及accept()接收连接等关键系统调用。服务器启动后会循环处理客户端请求,使
核心思想:分层、封装、端到端通信。TCP/IP不是一个单一的协议,而是一个协议栈(Protocol Stack),由一系列协同工作的协议组成。它采用了四层模型(软考中常与OSI七层模型对比考察)。TCP/IP四层模型对应OSI层核心功能主要协议应用层应用层、表示层、会话层为应用程序提供网络服务接口传输层传输层提供端到端的通信,数据分段、流量控制、差错恢复TCPUDP网络层网络层寻址和路由,将数据包
基础检查:确认 IP, 掩码, 网关正确。ping <网关>确保网关可达。同网段测试:ping <同网段其他电脑IP>确认基本连通性。防火墙测试: 临时关闭所有防火墙(系统+第三方),再 ping 目标网段 IP。路由检查:查看是否有正确路由指向目标网段或默认路由。ARP 检查:ping <目标IP>后立即arp -a查看是否有对应 MAC。驱动与重置: 更新
网络层通过 IP 协议给数据包 “贴标签”(源 / 目 IP),用 CIDR 和 NAT 解决 “IP 地址不够用” 的问题,靠路由表规划 “配送路径”,用分片组装解决 “MTU 限制”,最终实现跨网络的数据包传输。如果想加深理解,建议动手实操:用ipconfig(Windows)或ifconfig(Linux)看自己的 IP 和子网掩码;用(Windows)或route -n(Linux)看路由
文章摘要: 拥塞控制是网络稳定运行的关键机制,用于防止网络负载超过处理能力。当拥塞发生时,会导致数据包延迟增加、丢失以及吞吐量下降等问题。TCP通过动态调整拥塞窗口(cwnd)和慢启动阈值(ssthresh)来实现拥塞控制,核心算法包括慢启动(指数增长)、拥塞避免(线性增长)、快速重传(检测丢包)和快速恢复(平滑降速)。Tahoe和Reno是两种主要实现,区别在于Reno引入快速恢复机制,避免激进