本文描述了 V2Ray 内核(v2ray-core)的设计思路。
内核分为三层:
应用层
代理层
传输层
每一层内包含数个模块,模块间互相独立,同类型的模块可无缝替换。
应用层包含一些代理层中常用的功能,这些功能被抽象出来,以便在不同的代理模块中复用。
应用层的模块应为纯软件实现,与硬件或平台相关的技术无关。
重要模块列表:
代理层分为两部分:
入站代理(Inbound Proxy)
出站代理(Outbound Proxy)
两部分相互独立,入站代理不依赖于某个特定的出站代理,反之亦然。
传输层提供一些网络数据传输相关的工具模块。