- 博客(176)
- 收藏
- 关注
原创 高性能网络框架——XDP
为了提升服务器处理网络流量的性能,涌现了一些技术,XDP就是其中的一种。XDP 是一种 Linux 下的基于 eBPF 实现的内核旁路技术,是一个位于内核协议栈之前的数据包处理器,并拥有将数据包绕过内核协议栈重定向至应用层的能力,因此具有很高的性能,可用于DDoS防御、防火墙、负载均衡等领域。
2024-07-14 20:39:25 735
原创 NAT 打洞
由于 ipv4 地址数量的有限性,导致实际网络部署模式中存在大量的 NAT 网络。对于 NAT 内部的主机,可以主动发起去公网的流量,但对于位于不同 NAT 内的两台主机而言,想要直接进行点对点的连接,就需要用到打洞技术了。
2024-07-07 16:37:41 677
原创 Wireshark Lua插件入门
开发中经常通过抓包分析协议,对于常见的协议如 DNS wireshark 支持自动解析,便于人类的理解,对于一些私有协议,wireshark 提供了插件的方式自定义解析逻辑。
2024-06-01 21:03:50 869
原创 Linux内核常见的丢包场景有哪些
一个数据包在网络中传输的过程中,是没法保证一定能被目的机接收到的。其中有各种各样的丢包原因,今天来学习一下数据包经过 linux 内核时常见的丢包场景。
2024-04-14 11:34:09 1165
原创 Linux是怎么发送一个网络包的?
一个网络包的发送,始于应用层,经层层协议栈的封装,终于网卡。今天来循着一个网络包的足迹👣,深入学习一下 Linux 下发送数据的处理流程。
2024-03-31 15:02:38 1159
原创 Linux收到一个网络包是怎么处理的?
一个网络包的接收始于网卡,经层层协议栈的解析,终于应用层。今天来循着一个网络包的足迹👣,深入学习一下 Linux 下接收数据的处理流程。
2024-03-24 18:57:22 1440 2
原创 Linux的进程调度实现
经常被问到进程的调度算法有哪些,什么先进先出、短进程优先、时间片轮转、多级反馈多列等等算法能说一大堆?那具体的,linux内核使用了什么样的算法,且来探究一下。
2024-03-09 20:40:20 1288
原创 一个聊天系统
聊天应用每个人都用过,但一千个人心中就有一千个聊天应用。这篇博客就来探讨一下聊天系统的设计。如何设计一个聊天系统,首先需要搞清楚,要设计一个什么样的聊天系统。
2024-03-02 19:12:22 1127
原创 LRU缓存
有人从网络读数据,有人从磁盘读数据,机智的人懂得合理利用缓存加速数据的读取效率,提升程序的性能,搏得上司的赏识,赢得白富美的青睐,进一步走向人生巅峰~
2024-02-05 20:09:50 1634
原创 C++ future/promise/thread/async/packaged_task入门
std::promise、future、thread、async、packaged_task这些到底是个啥?
2024-01-11 21:18:59 933 2
原创 HTTP打怪升级之路
上个世纪80年代末,有一天,Tim Berners-Lee正在工作,他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件,但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到,他需要一种新的协议来共享二进制文件。
2024-01-04 17:38:53 1098
原创 一个简单的Client Base框架
开源代码Chromium可以给我们客户端的架构提供很多参考与借鉴,本文即是一个基于Chromium的mssage_loop事件机制与task投递流程,改造的一个更加简单易用的基本框架。
2024-01-01 16:35:07 434
原创 智能指针循环引用——你真的懂了吗?
起初,没有人在意这场灾难,这不过是一个指针的丢失、一个bug,一个服务器的宕机,直到这场灾难和每个人息息相关......
2022-12-17 14:50:39 2260
原创 数据安全与虚拟网卡的应用(三)
墨迹了大半年,终于把这个玩意墨迹的差不多了。整体的结构跟当初设计的还是有一些偏差的,一部分原因是因为懒,另一部分原因是没人关注没动力,随便搞搞吧。
2021-06-19 13:08:39 295
原创 数据安全与虚拟网卡的应用(二)
上次写到我们打开了一个虚拟网卡,得到的其实是一个文件描述符。考虑到我们后面还会有其它的文件描述符需要统一管理,为了方便,我们得提前实现好管理描述符的逻辑。Let‘s do it !
2021-04-24 17:49:56 257
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人