自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fireplusplus的博客

逆水行舟

  • 博客(179)
  • 收藏
  • 关注

原创 TCP MSS

震惊!原来 TCP MSS 也可以超过 MTU

2025-09-07 11:30:33 720

转载 绑定非本机地址与透明代理

由代码可见,需要满足以下三个条件中的一个,才能绑定成功:1)此socket所属的net namespace设置了全局的ipv4_sysctl_ip_nonlocal_bind;2)此socket设置了IP_FREEBIND选项;3)此socket设置了IP_TRANSPARENT选项;

2025-06-15 10:55:03 47

原创 IPv6 NDP 记录

IPv6 NDP

2024-11-16 11:17:26 653

原创 TCP shutdown 之后~

通过 shutdown() 关闭读写操作,会发生什么?具体点呢,考虑两个场景:

2024-08-18 12:36:14 961

原创 UDP connect 内核源码分析

有多少人看过 udp 的 connect 实现。。

2024-07-28 23:36:42 1005

原创 高性能网络框架——XDP

为了提升服务器处理网络流量的性能,涌现了一些技术,XDP就是其中的一种。XDP 是一种 Linux 下的基于 eBPF 实现的内核旁路技术,是一个位于内核协议栈之前的数据包处理器,并拥有将数据包绕过内核协议栈重定向至应用层的能力,因此具有很高的性能,可用于DDoS防御、防火墙、负载均衡等领域。

2024-07-14 20:39:25 1717

原创 NAT 打洞

由于 ipv4 地址数量的有限性,导致实际网络部署模式中存在大量的 NAT 网络。对于 NAT 内部的主机,可以主动发起去公网的流量,但对于位于不同 NAT 内的两台主机而言,想要直接进行点对点的连接,就需要用到打洞技术了。

2024-07-07 16:37:41 1616

原创 Wireshark Lua插件入门

开发中经常通过抓包分析协议,对于常见的协议如 DNS wireshark 支持自动解析,便于人类的理解,对于一些私有协议,wireshark 提供了插件的方式自定义解析逻辑。

2024-06-01 21:03:50 1299

原创 Linux动态追踪——eBPF

动态追踪进阶——eBPF

2024-04-21 15:07:17 1757

原创 Linux内核常见的丢包场景有哪些

一个数据包在网络中传输的过程中,是没法保证一定能被目的机接收到的。其中有各种各样的丢包原因,今天来学习一下数据包经过 linux 内核时常见的丢包场景。

2024-04-14 11:34:09 1488

原创 Linux是怎么发送一个网络包的?

一个网络包的发送,始于应用层,经层层协议栈的封装,终于网卡。今天来循着一个网络包的足迹👣,深入学习一下 Linux 下发送数据的处理流程。

2024-03-31 15:02:38 1360

原创 Linux收到一个网络包是怎么处理的?

一个网络包的接收始于网卡,经层层协议栈的解析,终于应用层。今天来循着一个网络包的足迹👣,深入学习一下 Linux 下接收数据的处理流程。

2024-03-24 18:57:22 1795 3

原创 epoll怎么就高效了?

万字长文,从内核源码学习 epoll 的高效之处~

2024-03-17 14:15:04 1641

原创 Linux动态追踪——perf

动态跟踪工具 perf 的使用~

2024-03-13 10:57:09 2535

原创 Linux动态追踪——ftrace

动态跟踪工具 ftrace 的使用~

2024-03-10 18:19:00 2629

原创 Linux的进程调度实现

经常被问到进程的调度算法有哪些,什么先进先出、短进程优先、时间片轮转、多级反馈多列等等算法能说一大堆?那具体的,linux内核使用了什么样的算法,且来探究一下。

2024-03-09 20:40:20 1549

原创 QUIC来了!

这是什么!好快啊~

2024-03-04 19:23:38 1694

原创 一个聊天系统

聊天应用每个人都用过,但一千个人心中就有一千个聊天应用。这篇博客就来探讨一下聊天系统的设计。如何设计一个聊天系统,首先需要搞清楚,要设计一个什么样的聊天系统。

2024-03-02 19:12:22 1304

原创 通用计数系统

当要求设计一个通用计数系统,并给出接口与核心功能。

2024-02-28 20:55:16 1243

原创 LRU缓存

​有人从网络读数据,有人从磁盘读数据,机智的人懂得合理利用缓存加速数据的读取效率,提升程序的性能,搏得上司的赏识,赢得白富美的青睐,进一步走向人生巅峰~

2024-02-05 20:09:50 1779

原创 气抖冷~这破网

​当我们刷短视频刷的飞起的时候,突然加载不出来了,还可以骂运营商~当我们写一个网络应用,除了骂运营商,还能做什么?

2024-02-01 12:24:16 1090

原创 发生内存泄漏后

不慌,小场面~

2024-01-26 11:38:51 1269

原创 关于linux中断

一文看linux硬件是如何打断软件?

2024-01-20 10:20:19 1203

原创 当我们谈上下文切换时我们在谈些什么

在多猫系统中,上下文切换时很常见的事情。。。

2024-01-17 15:41:32 1101

原创 从uptime看linux平均负载

从前遇到系统卡顿只会top。。接下来怎么搞呢?

2024-01-17 09:57:42 1096 1

原创 C++ future/promise/thread/async/packaged_task入门

std::promise、future、thread、async、packaged_task这些到底是个啥?

2024-01-11 21:18:59 1090 2

转载 C++11内存模型

转载学习

2024-01-11 17:23:15 178

原创 C++多线程打工人

为啥写这个,今天面试问到了~

2024-01-11 16:35:36 1016

原创 HTTP打怪升级之路

上个世纪80年代末,有一天,Tim Berners-Lee正在工作,他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件,但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到,他需要一种新的协议来共享二进制文件。

2024-01-04 17:38:53 1151

原创 DH群密钥交换算法

超简单的安全密钥交换算法~

2024-01-03 15:15:29 1483

原创 一个简单的Client Base框架

开源代码Chromium可以给我们客户端的架构提供很多参考与借鉴,本文即是一个基于Chromium的mssage_loop事件机制与task投递流程,改造的一个更加简单易用的基本框架。

2024-01-01 16:35:07 493

原创 长链接与在线文件

发文件太慢,不妨试试在线文件吧~

2023-12-26 22:29:37 209

原创 从malloc到跑路

给不了你内存,可别怪我心狠手辣~

2023-06-10 19:30:13 802 2

原创 少年,你可听说过MVCC?

切!这谁没听过,不就是多版本并发控制么~

2023-05-28 13:43:06 2606

原创 git仓库迁移

git仓库迁移方法

2023-03-27 22:27:32 582

原创 零拷贝技术-内核源码剖析

小师妹说零拷贝就是快~

2023-03-05 11:37:38 538

转载 浅谈-协程

协程入门

2023-02-19 11:33:36 442

原创 智能指针循环引用——你真的懂了吗?

起初,没有人在意这场灾难,这不过是一个指针的丢失、一个bug,一个服务器的宕机,直到这场灾难和每个人息息相关......

2022-12-17 14:50:39 2754 1

原创 TCP伪装

给UDP穿个外套吧

2022-12-04 12:23:35 2103

原创 c++事件总线模型

一种简单的事件总线模型。

2022-06-29 21:50:33 2053

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除