
网络
文章平均质量分 87
网络相关的疑难杂症
爻渡
程序员,主要做SSL相关产品(网关、负载均衡、代理)和IPsec产品,技术栈主要集中于在Linux内核、网络协议(TCP/SSL/IPsec)、Nginx/OpenResty/strongSwan等方面,尤善长处理上述相关疑难杂症,编码方面偏低层,公众号:爻渡
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设备重启神奇断连40秒:交换机LACP配置的致命陷阱
摘要: 设备重启后网络出现40秒通信中断,原因在于交换机LACP配置的Long超时模式。通过抓包分析发现,LACP协议在Long模式下链路恢复缓慢(30秒间隔),而Short模式可实现秒级恢复。调整交换机为Short模式后,网络恢复时间从40秒缩短至3秒内。建议高故障率链路采用Short模式实现快速切换,稳定链路使用Long模式降低协议开销。该案例揭示了LACP超时模式选择对网络恢复速度的关键影响。原创 2025-07-26 11:52:39 · 558 阅读 · 0 评论 -
Nginx代理上游响应时延之谜:前端并发为何增大后端时延
Nginx监控发现异常现象:上游服务资源充足时,客户端并发越高,上游响应耗时($upstream_response_time)反而显著增长。通过eBPF深度追踪发现,Nginx事件循环在高并发下处理单轮事件的时间成倍增加,导致上游响应数据在内核缓冲区排队等待,这部分隐性等待时间被计入响应耗时。根本原因是Nginx的异步事件驱动架构中,$upstream_response_time实际包含上游处理时间与事件循环调度延迟。原创 2025-07-20 15:12:27 · 643 阅读 · 0 评论 -
HTTP协议中的60秒魔咒:一个不规范响应引发的性能谜案
HTTP协议中,当响应既无Content-Length头也未启用Chunked编码时,接收方需依赖TCP连接关闭事件判断响应完整性。这导致三种典型场景:立即关闭(理想情况)、浏览器60秒内主动关闭(触发SSL网关终止连接)及60秒超时关闭(造成浏览器加载卡顿)。问题根源在于Web服务未遵循协议规范,加上代理超时机制碰撞,形成精确的60秒延迟。文章通过生动的技术场景分析,揭示了看似简单的HTTP响应机制背后复杂的交互逻辑,为运维优化提供了重要启示。原创 2025-06-29 12:09:46 · 816 阅读 · 0 评论 -
当TCP情侣闹分手:一次TCP连接关闭引发的悬疑剧
资深工程师在TLS握手失败后发现,原本标准的TCP四次挥手竟演变成五步"分手闹剧"。当客户端因证书错误主动关闭连接时,服务端也同步发出FIN包,导致双方FIN/ACK序列错位。服务端重传FIN后,客户端才最终确认关闭,使双方都进入TIME_WAIT状态。这场协议层的"情感大戏"揭示了网络通信中时序错位带来的复杂性,也印证了TCP协议在连接管理中既严谨又充满变数的特性。原创 2025-06-18 20:24:28 · 571 阅读 · 0 评论 -
Ftp服务器程序
/*============================================================================ Name : FtpServer.cbp Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Description : Ft原创 2014-06-30 21:53:45 · 683 阅读 · 0 评论 -
Socket编程
/*============================================================================ Name : Exercise.cpp Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Description : Soc转载 2014-06-29 11:32:05 · 449 阅读 · 0 评论 -
监控正常网络连接断开
TCP通信的两方,其中一方正常关闭(调用close函数或程序正常退出)正处于连接状态的TCP套接字,这时双方的TCP将完成协商关闭连接的四次握手,握手结束以后,另一方的应用层将检测到TCP连接对应的套接字可读,执行read函数的时候倘若返回0,则说明对方已经主动断开了TCP连接,这边只需要调用close函数关闭对应套接字,回收相关资源即可。整个过程就是正常网络连接断开的处理过程。 监控这转载 2014-06-14 17:49:58 · 8530 阅读 · 0 评论 -
Linux下获取所有可用网卡信息
/*============================================================================ Name : Exercise.cbp Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Description : Fil原创 2014-06-14 15:12:10 · 944 阅读 · 0 评论 -
证书吊销列表(CRL)介绍
一、证书吊销列表(CRL) 证书吊销列表 (Certificate Revocation List ,简称: CRL) 是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构 (CA) 已经吊销的证书的序列号及其吊销日期。 CRL 文件中还包含证书颁发机构信息、吊销列表失效时间和下一次更新时间,以及采用的签名算法等。证书吊销列表最短的有效期为一个小时,一般为 1 天,甚至一个月不等,原创 2015-04-25 14:47:57 · 28271 阅读 · 9 评论 -
Ftp客户端程序
/*============================================================================ Name : FtpClient.cbp Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Description : Ft原创 2014-07-01 22:32:31 · 734 阅读 · 0 评论 -
UDP通信程序(客户端)
/*=========================================================================== Name : Client.c Author : Haier Version : 1.0 Copyright : Your copyright notice Description : Client原创 2014-08-03 22:33:47 · 527 阅读 · 0 评论 -
取得套接字选项
getsopts.c/*============================================================================ Name : getsopts.c Author : Haier Version : 1.01 Copyright : Copyright (c) 2原创 2014-10-01 21:40:43 · 525 阅读 · 0 评论 -
洪水攻击
flood.c#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXCHILD 128static st原创 2014-09-29 23:16:18 · 651 阅读 · 0 评论 -
UDP通信程序(服务器)
/*=========================================================================== Name : Server.c Author : Haier Version : 1.0 Copyright : Your copyright notice Description : Server原创 2014-08-03 22:25:26 · 472 阅读 · 0 评论 -
web服务器
//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc原创 2014-11-09 11:24:55 · 426 阅读 · 0 评论 -
套接字选项的应用
#include #include #include #include #include #include #include #include #include #include #include #include #define PORT 8888#define BACKLOG 8static int alive = 1;static void sigpipe(转载 2014-10-01 23:27:58 · 501 阅读 · 0 评论 -
取得并设置网络参数
GetandSetNetParamter.c /*============================================================================ Name : GetandSetNetParamter.c Author : Haier Version : 1.01 Copyrigh原创 2014-10-01 17:22:38 · 603 阅读 · 0 评论 -
由IP取得MAC
Getarp.c /*============================================================================ Name : Getarp.c Author : Haier Version : 1.01 Copyright : Copyright (c) 2014 Descr翻译 2014-10-01 11:10:59 · 432 阅读 · 0 评论 -
获取局域网Max和Ip
GetLocalMac.c/*============================================================================ Name : GetLocalMac.cpp Author : Haier Version : 1.01 Copyright : Copyright (c)原创 2014-10-01 10:19:59 · 785 阅读 · 0 评论 -
Ping程序
ping.h#include #include #include #include #include #include #include #include #include #include #include #include typedef struct pingm_pakcet{ struct timeval tv_begin; struct timeval原创 2014-09-28 23:37:57 · 516 阅读 · 0 评论