Tor源码分析十 -- 连接和链路

本文深入分析Tor源码中的连接和链路结构,包括DIR、LISTENER、AP、EXIT等连接类型,以及Circuit链路和OR连接。文章探讨了Tor的匿名通信框架,解释了应用请求如何通过Tor网络发送,并描述了数据在不同连接和链路间的传递机制,特别是洋葱路由式的加密解密过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  源码分析到这个部分,为了让大家明白源码中的编码逻辑,不得不开始从头梳理程序内部的复杂连接和链接组织形式。否则大家后期会更加一头雾水。笔者开始分析源码之时,没有这些宏观的概念,只能死嚼代码,硬猜硬想,再加以检查代码进行验证,才得以明白程序的主要框架逻辑。如果再以猜测验证的模式向大家讲述源码,必定会越来越混乱。所以,在本节之中,我们会将系统中所有的连接类型,链路类型和他们之间的关系和代码之中的关联方式尽量讲明。若大家遇到不明晰的部分,可以参照代码进行查阅。

  在我们进行详细分析之前,先再次给出连接和链接的框架位置图。这个简单的层次图帮助我们理解不同连接和链接所处层次的位置关系,其实已经在我们分析OR连接源码之时给出,之时当时没有进行过多的深入介绍。

                DIR连接,LISTENER连接                  |

              -----------------              |

                AP连接,EXIT连接……        Tor协议上层             |

              ----------------------------   |  应用层

                Circuit链路……           Tor协议中层             |

              ----------------------------   |

                OR连接……                Tor协议下层             |

              ------------------------------------

                TLS连接              传输层


1. 连接

  很明显,系统中的连接类型多种多样,各有各自的不同职能。在此处,我们先罗列出所有系统中存在的连接,其后再对一些我们比较重视的连接类型进行相关说明。

//OR监听连接:本地用于监听远端传来的OR请求,为每个新请求建立一个OR连接;OR监听连接本地全局只有一个;
#define CONN_TYPE_OR_LISTENER 3
//OR连接:基于TLS连接的,主要负责To
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值