<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dillanzhou的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dillanzhou</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dillanzhou]]></copyright><item><title><![CDATA[quic协议与应用开发]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/150362959</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/150362959</guid><author>dillanzhou</author><pubDate>Mon, 18 Aug 2025 23:36:14 +0800</pubDate><description><![CDATA[QUIC协议是为解决TCP在加密连接建立、多流复用和网络切换等方面的不足而设计的传输协议。它通过结合TLS握手实现1RTT快速建连，支持单连接多流复用避免队头阻塞，并利用连接标识实现IP变更时的连接迁移。相比TCP，QUIC在用户态实现更易扩展，避免了内核协议栈的修改难题。虽然TCP理论上可通过扩展实现类似功能，但标准化难度大。QUIC最终成为HTTP/3的底层协议，为现代网络提供更高效的传输方案。]]></description><category></category></item><item><title><![CDATA[CentOS7编译安装QEMU与libvirt]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/143479153</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/143479153</guid><author>dillanzhou</author><pubDate>Thu, 07 Nov 2024 14:21:51 +0800</pubDate><description><![CDATA[这里使用了配置参数./configure --prefix=/usr/local/ --target-list=x86_64-softmmu --enable-kvm --enable-vnc。需要注意使用./configure --enable-public-key --with-lib-path=/usr/local/lib来包含gmp支持，只有这样才会编译gnutls需要的libhogweed。步骤17：使用virt-install或virsh创建虚拟机，使用virt-manager完成虚拟机安装。]]></description><category></category></item><item><title><![CDATA[netfilter&iptables探讨(4)——nat的实现与使用]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/126634987</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/126634987</guid><author>dillanzhou</author><pubDate>Sun, 11 Dec 2022 01:50:35 +0800</pubDate><description><![CDATA[在之前的几篇文章中，我们讨论了netfilter与iptables的实现原理与基本用法。在netfilter&iptables的各种使用场景中，nat是最常用也是最复杂的用法之一。许多常用的网络使用模式都是通过nat iptables规则实现的，例如docker默认的bridge网络模式。本文将具体分析iptables中nat规则的实现方式，介绍报文经过nat规则实现地址转换的过程。并以docker bridge模式使用的nat规则为例，具体了解nat规则的实际用法。]]></description><category></category></item><item><title><![CDATA[linux内核ip_forward参数详解]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/127218408</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/127218408</guid><author>dillanzhou</author><pubDate>Thu, 20 Oct 2022 00:26:26 +0800</pubDate><description><![CDATA[linux服务器经常被用来提供防火墙、路由器、NAT等功能，在这些场景下，linux内核需要将网卡上收到的报文转发给其他网络设备。linux内核提供了ip_forward参数用于开关内核的报文转发功能，只有这个开关被打开时，内核才会执行报文的转发。网上能找到不少文章介绍ip_forward参数的基本用途和配置方式，但没有什么文章具体介绍这个参数配置后具体会对内核的网络行为产生哪些影响，以及在内核中是如何实现的。而这些问题的答案对转发功能的使用方式会产生很大的影响。]]></description><category></category></item><item><title><![CDATA[uverbs的交互方式——ioctl和write]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/126615731</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/126615731</guid><author>dillanzhou</author><pubDate>Wed, 31 Aug 2022 00:58:13 +0800</pubDate><description><![CDATA[verbs是RDMA设备的标准使用接口，verbs接口中控制面相关的接口实现由用户态的libibverbs.so和内核态的ib_uverbs.ko配合完成。用户态的libibverbs负责将RDMA控制命令信息封装成特定的数据结构，之后通过系统调用传递到内核中；ib_uverbs.ko负责实际实现这些系统调用，根据系统调用传入的参数获取RDMA控制命令的信息，并执行相应的命令。libibverbs与ib_uverbs间传递命令信息的syscall有两种：ioctl和write。...]]></description><category></category></item><item><title><![CDATA[netfilter&iptables探讨(3)——iptables的功能与实现]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/126258351</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/126258351</guid><author>dillanzhou</author><pubDate>Fri, 26 Aug 2022 00:13:42 +0800</pubDate><description><![CDATA[介绍iptables的基本概念、功能和用法。包括链、表的概念和原理，规则的匹配模式、处理动作和管理命令。]]></description><category></category></item><item><title><![CDATA[netfilter&iptables探讨(2)——netfilter原理与实现]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/126219082</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/126219082</guid><author>dillanzhou</author><pubDate>Tue, 09 Aug 2022 01:03:09 +0800</pubDate><description><![CDATA[​在上一篇文章《netfilter&iptables探讨(1)——基本原理》中，我们分析了netfilter和iptables机制的基本原理以及相关的模块和接口。本文将进一步探讨这套机制的基石——netfilter的原理和实现。]]></description><category></category></item><item><title><![CDATA[netfilter&iptables探讨(1)——基本原理]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/126112173</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/126112173</guid><author>dillanzhou</author><pubDate>Sun, 07 Aug 2022 22:31:10 +0800</pubDate><description><![CDATA[在Linux内核中，netfilter和iptables就提供了这样一套内核网络定制机制。本文将简单介绍netfilter和iptables的原理、用途以及两者的关系，从而说明这套机制是如何实现通过用户态的简单配置，就能修改linux内核网络行为的。对netfilter和iptables的具体实现和用法将在后续的文章中讨论。......]]></description><category></category></item><item><title><![CDATA[traceroute用法与原理分析]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/125754752</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/125754752</guid><author>dillanzhou</author><pubDate>Wed, 13 Jul 2022 23:49:40 +0800</pubDate><description><![CDATA[traceroute是linux/unix系统中用于分析本地到目标网络地址间的路由转发路径的工具，也常用于诊断网络链路不通或异常的发生位置。在windows中也有类似功能的工具，名为tracert。本文将介绍traceroute的用法并分析其原理。...]]></description><category></category></item><item><title><![CDATA[Android学习笔记——第一个应用]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/124699782</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/124699782</guid><author>dillanzhou</author><pubDate>Wed, 11 May 2022 00:19:28 +0800</pubDate><description><![CDATA[近期在学习一下Android开发的基本知识。本文简单记录学习官方教程Build your first app过程中涉及的一些知识点。

一个Android应用可以由多个组件和模块构成，不同的使用场景可能会使用到不同的组件。例如activity是UI组件，通过应用图标打开应用时就会执行main activity这个组件，而通过通知消息或者其他应用的接口可能会执行其他的activity来展示不同的页面或功能。又例如WorkManager是应用在后台执行时会使用的组件，这种组件就不需要UI。一个应用可以有多个执行]]></description><category></category></item><item><title><![CDATA[内核RDMA模块（siw）代码分析]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/123102129</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/123102129</guid><author>dillanzhou</author><pubDate>Fri, 11 Mar 2022 00:09:19 +0800</pubDate><description><![CDATA[siw是内核中实现的RDMA设备驱动模块。与其他RDMA设备驱动不同的是，这个模块没有对应的硬件设备，而是通过软件方式模拟了一个使用iWARP协议的RDMA设备，通过内核的socket接口完成tcp报文的收发。本文将基于5.9.11内核中的siw模块代码分析一下这个虚拟设备的实现逻辑。]]></description><category></category></item><item><title><![CDATA[RDMA知识小结]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122464717</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122464717</guid><author>dillanzhou</author><pubDate>Tue, 25 Jan 2022 00:31:52 +0800</pubDate><description><![CDATA[近期学习了一些RDMA的基础知识，在这里做个整理记录，供以后快速查阅。

概念

RDMA是Remote Direct Memory Access的缩写，即远程DMA。顾名思义，RDMA最大的特点是支持对远端内存的直接读写，而不需要远端CPU介入。

RDMA的主要特点和优势有以下几点：

1. zero-copy。RDMA的网络收发接口可以直接把用户态的buffer地址交给RDMA网卡，网卡负责将buffer中的数据发送到远端，或将收到的远端数据写入buffer。这就避免了socket网络收发接口中需要先]]></description><category></category></item><item><title><![CDATA[容器相关资料与问题]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122554433</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122554433</guid><author>dillanzhou</author><pubDate>Tue, 18 Jan 2022 11:13:14 +0800</pubDate><description><![CDATA[本文记录工作中用到的容器相关的资料和遇到的一些问题。

k8s网络

k8s网络之设计与实现 - 金色旭光 - 博客园

pod内部网络实现 - 金色旭光 - 博客园

k8s网络之Flannel网络 - 金色旭光 - 博客园

k8s网络之Calico网络 - 金色旭光 - 博客园
...]]></description><category></category></item><item><title><![CDATA[开发调试工具相关资料与问题]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122478811</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122478811</guid><author>dillanzhou</author><pubDate>Thu, 13 Jan 2022 17:34:36 +0800</pubDate><description><![CDATA[本文记录工作中用到的开发调试工具相关的资料和遇到的一些问题。

gdb：

定义调试变量：set $i=0

修改变量：set $i=$i+100

断点自动执行命令：commands id_of_br


(gdb) commands 2
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
&gt;set $i=$i+1
&gt;continue
&gt;end



......]]></description><category></category></item><item><title><![CDATA[golang相关资料与问题]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122356087</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122356087</guid><author>dillanzhou</author><pubDate>Fri, 07 Jan 2022 00:39:14 +0800</pubDate><description><![CDATA[本文记录工作中用到的golang相关的资料和遇到的一些问题。

Golang语言原理和runtime的设计与实现详解：Go 语言设计与实现 | Go 语言设计与实现


]]></description><category></category></item><item><title><![CDATA[网络相关资料与问题]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122355931</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122355931</guid><author>dillanzhou</author><pubDate>Fri, 07 Jan 2022 00:22:29 +0800</pubDate><description><![CDATA[本文记录工作中用到的网络相关的资料和遇到的一些问题。
]]></description><category></category></item><item><title><![CDATA[内核相关资料与问题]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122355919</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122355919</guid><author>dillanzhou</author><pubDate>Fri, 07 Jan 2022 00:21:53 +0800</pubDate><description><![CDATA[本文记录工作中用到的内核相关的资料和遇到的一些问题。
]]></description><category></category></item><item><title><![CDATA[操作系统相关资料与问题]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122355898</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122355898</guid><author>dillanzhou</author><pubDate>Fri, 07 Jan 2022 00:19:32 +0800</pubDate><description><![CDATA[本文记录操作系统相关工作中用到的一些资料和遇到的一些问题。
]]></description><category></category></item><item><title><![CDATA[技术工作相关资料索引]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/122355882</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/122355882</guid><author>dillanzhou</author><pubDate>Fri, 07 Jan 2022 00:17:11 +0800</pubDate><description><![CDATA[在日常工作和学习中，经常会查询一些常用的信息，或寻找一些问题的解答。本文作为一个索引，记录各个方面较有用的文档或问题。


]]></description><category></category></item><item><title><![CDATA[网络虚拟化——vduse]]></title><link>https://blog.youkuaiyun.com/dillanzhou/article/details/121689985</link><guid>https://blog.youkuaiyun.com/dillanzhou/article/details/121689985</guid><author>dillanzhou</author><pubDate>Thu, 09 Dec 2021 01:03:12 +0800</pubDate><description><![CDATA[在上一篇文章《网络虚拟化-vDPA_dillanzhou的博客-优快云博客》中，我们讨论了vDPA技术。通过vDPA技术，guest/host上的用户态/内核态virtio驱动都可以通过同一套vDPA框架和驱动来和vDPA设备交互，获得硬件数据面加速。由于vDPA在virtio/vhost和vDPA设备之间又增加了一层中间层，因此理论上说可以在vDPA框架中实现纯软件的vDPA设备和对应的驱动。这个软件vDPA设备可以在内核实现，intel就在内核中实现了一个vdpa_sim设备，用于在没有vDPA硬件设]]></description><category></category></item></channel></rss>