<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>容器网络 - 标签 - 研发日志 · R&amp;D Log</title><link>https://rd163.visword.com/tags/%E5%AE%B9%E5%99%A8%E7%BD%91%E7%BB%9C/</link><description>容器网络 - 标签 - 研发日志 · R&amp;D Log</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>whutluohui@gmail.com (小智晖)</managingEditor><webMaster>whutluohui@gmail.com (小智晖)</webMaster><copyright>本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。</copyright><lastBuildDate>Sun, 12 Jan 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://rd163.visword.com/tags/%E5%AE%B9%E5%99%A8%E7%BD%91%E7%BB%9C/" rel="self" type="application/rss+xml"/><item><title>Linux 中的虚拟网络接口</title><link>https://rd163.visword.com/posts/linux-virtual-network-interfaces/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/linux-virtual-network-interfaces/</guid><description><![CDATA[<h2 id="tuntap" class="headerLink">
    <a href="#tuntap" class="header-mark"></a>tun/tap</h2><ul>
<li>对应字符设备 <code>/dev/net/tun</code>。</li>
<li>是操作系统内核中的虚拟网络设备，由用户层程序提供数据的接收与传输。</li>
<li>普通的物理网络接口如 <code>eth0</code>，它的两端分别是内核协议栈和外面的物理网络。而对于 TUN/TAP 虚拟接口如 <code>tun0</code>，它的一端一定连接着用户层程序，另一端则视配置方式的不同而变化，可以直连内核协议栈，也可以是某个 bridge。</li>
<li>TUN 和 TAP 的区别在于工作的网络层次不同：用户程序通过 TUN 设备只能读写网络层的 IP 数据包，而 TAP 设备则支持读写链路层的数据包（通常是以太网数据包，带有 Ethernet header）。</li>
<li>TUN 与 TAP 的关系，就类似于 socket 与 raw socket。</li>
<li>TUN/TAP 应用最多的场景是 VPN 代理，比如 clash、tun2socks。</li>
</ul>
<h2 id="ipip" class="headerLink">
    <a href="#ipip" class="header-mark"></a>ipip</h2><p>即 IPv4 in IPv4，在 IPv4 报文的基础上再封装一个 IPv4 报文。</p>]]></description></item></channel></rss>