[GH-ISSUE #174] 我想了解一下frp的设计架构图 #119

Closed
opened 2026-05-05 11:47:43 -06:00 by gitea-mirror · 8 comments
Owner

Originally created by @magicdogs on GitHub (Dec 12, 2016).
Original GitHub issue: https://github.com/fatedier/frp/issues/174

image
我有个疑惑,希望得到您的解答,在此非常感谢。
1.所有的frpc 与 frps 都是通过 frps 的7000 端口进行反向代理传递数据的吗? 还是直接通过 指定的映射端口进行代理的?假设我需要映射本地的3306端口到远程8099 端口,frpc 连接 frps 7000 端口,通过协议 来动态开启8099 端口 并将8099 端口的所有数据都转发到7000 ,再由7000 转发给 frpc 还是 在frps 启动的时候就已经开启了8099 端口, 再由frpc 直接连接到8099 端口进行身份认证,认证通过后,将8099 号端口的所有数据直接转发到认证的socket上呢? 我是java 方向的,最近在研究反向代理,使用netty框架,思路有点乱。:( ...

Originally created by @magicdogs on GitHub (Dec 12, 2016). Original GitHub issue: https://github.com/fatedier/frp/issues/174 ![image](https://cloud.githubusercontent.com/assets/22540413/21102627/e686e13a-c0b9-11e6-86ff-f972034a1378.png) 我有个疑惑,希望得到您的解答,在此非常感谢。 1.所有的frpc 与 frps 都是通过 frps 的7000 端口进行反向代理传递数据的吗? 还是直接通过 指定的映射端口进行代理的?假设我需要映射本地的3306端口到远程8099 端口,frpc 连接 frps 7000 端口,通过协议 来动态开启8099 端口 并将8099 端口的所有数据都转发到7000 ,再由7000 转发给 frpc 还是 在frps 启动的时候就已经开启了8099 端口, 再由frpc 直接连接到8099 端口进行身份认证,认证通过后,将8099 号端口的所有数据直接转发到认证的socket上呢? 我是java 方向的,最近在研究反向代理,使用netty框架,思路有点乱。:( ...
Author
Owner

@fatedier commented on GitHub (Dec 13, 2016):

你的流程图大致上是 ok 的,frpc 和 frps 之间全部都通过 7000 端口通信。

frpc 在启动时会向 frps(通过 7000 端口) 发送注册信息,成功后,frps 就已经开始监听 8099 端口。

<!-- gh-comment-id:266665118 --> @fatedier commented on GitHub (Dec 13, 2016): 你的流程图大致上是 ok 的,frpc 和 frps 之间全部都通过 7000 端口通信。 frpc 在启动时会向 frps(通过 7000 端口) 发送注册信息,成功后,frps 就已经开始监听 8099 端口。
Author
Owner

@magicdogs commented on GitHub (Dec 13, 2016):

那如果 有 10 connect 链接到8099 端口, 这 10 个的请求数据 都转发到 7000 , 那7000端口又如何区分 同一个管道过来的数据是 属于哪一个connect 发送的呢? @fatedier 除非 在每段数据的报头 加上每个connect 的ip+port,当7000端口接收到数据的时候,同样根据ip+port 进行分派数据? 这样的话 就涉及到自定义数据报文格式了的转发与分派了

<!-- gh-comment-id:266676425 --> @magicdogs commented on GitHub (Dec 13, 2016): 那如果 有 10 connect 链接到8099 端口, 这 10 个的请求数据 都转发到 7000 , 那7000端口又如何区分 同一个管道过来的数据是 属于哪一个connect 发送的呢? @fatedier 除非 在每段数据的报头 加上每个connect 的ip+port,当7000端口接收到数据的时候,同样根据ip+port 进行分派数据? 这样的话 就涉及到自定义数据报文格式了的转发与分派了
Author
Owner

@fatedier commented on GitHub (Dec 13, 2016):

这个你就自己好好考虑吧😁

<!-- gh-comment-id:266718051 --> @fatedier commented on GitHub (Dec 13, 2016): 这个你就自己好好考虑吧😁
Author
Owner

@fatedier commented on GitHub (Dec 15, 2016):

@magicdogs 之后有时间会写一些文章介绍一下整体的架构以及一些实现细节,最近比较忙,空闲时间不多。

<!-- gh-comment-id:267274553 --> @fatedier commented on GitHub (Dec 15, 2016): @magicdogs 之后有时间会写一些文章介绍一下整体的架构以及一些实现细节,最近比较忙,空闲时间不多。
Author
Owner

@magicdogs commented on GitHub (Dec 16, 2016):

@fatedier 哦哦,好的 ,期待 ing ... 😄

<!-- gh-comment-id:267536880 --> @magicdogs commented on GitHub (Dec 16, 2016): @fatedier 哦哦,好的 ,期待 ing ... 😄
Author
Owner

@magicdogs commented on GitHub (Dec 16, 2016):

为啥不拉一个群 , 有时间可以让对 frp 感兴趣的用户一起交流 @fatedier

<!-- gh-comment-id:267537415 --> @magicdogs commented on GitHub (Dec 16, 2016): 为啥不拉一个群 , 有时间可以让对 frp 感兴趣的用户一起交流 @fatedier ❓
Author
Owner

@fatedier commented on GitHub (Dec 20, 2016):

可以考虑,但是暂时还没有这部分精力。

<!-- gh-comment-id:268134842 --> @fatedier commented on GitHub (Dec 20, 2016): 可以考虑,但是暂时还没有这部分精力。
Author
Owner

@fatedier commented on GitHub (Dec 26, 2016):

@magicdogs 建了一个 qq 群,606194980,方便大家反馈一些问题。

<!-- gh-comment-id:269154043 --> @fatedier commented on GitHub (Dec 26, 2016): @magicdogs 建了一个 qq 群,606194980,方便大家反馈一些问题。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#119
No description provided.