作者saveme (hihi不要在底下推嘘文, )
看板DigiCurrency
标题[闲聊] p2p 广播,就节点对节点广播
时间Wed Jun 16 22:29:34 2021
我有一个疑问,
加密货币中的节点他一上网路时,
他要怎麽广播找同类应用程式的节点?
我以前写网路聊天室时,
因为是中心化,
所以会有一个主伺服器负责接受用户端来的登录讯息,
所有散布在网路上的应用程式,
会上网向主伺服器 ip 发出登录请求,
主伺服器收到讯息後,
再发给用户端告知收到讯息,
那去中心化的应用程式如何在网路上找同类应用程式?
难道是 ip 4 一个一个扫?
问题是安装应用程式的网路是内部网路,
该网路路由器 ip port 没开应用程式规定的 port?
那怎麽连上?
----
Sent from
BePTT on my Samsung SM-N9860
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.216.245.208 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1623853776.A.F8F.html
1F:推 DarkerDuck: bootstrap nodes 06/16 22:35
2F:推 kugwa: 看code可以看到一些hardcode的ip 06/16 22:36
4F:→ DarkerDuck: 会有一群固定IP的nodes负责bootstrap 06/16 22:37
5F:→ DarkerDuck: 假如你的完整节点没有实体IP,那只能连别人 06/16 22:39
6F:→ DarkerDuck: 不会有in的连线,只有out的连线 06/16 22:39
7F:→ DarkerDuck: 通常状态下就8个out连线,8个in连线 06/16 22:42
8F:→ DarkerDuck: 只要第一次bootstrap完成後,就可以蒐集取得节点清单 06/16 22:43
9F:→ DarkerDuck: 之後就可以依照上次状态直接尝试连线了 06/16 22:43
10F:→ saveme: 所以一定要实体 ip 才可以达到 in & out。 06/16 22:47
11F:→ DarkerDuck: 有实体IP开server socket才能让人连进来 06/16 22:53
12F:→ DarkerDuck: 不过无论有没有实体IP,实际上不会影响节点运作 06/16 22:53
13F:→ saveme: 可是节点的运作,一定要 in & out 都 OK 才有办法完整交 06/16 23:24
14F:→ saveme: 流讯息。只有 out 没有 in,那个节点就没法更新资讯。正 06/16 23:24
15F:→ saveme: 确的讲,有实体 ip,这个节点才有 server 的功能,否则他 06/16 23:24
16F:→ saveme: 只能当 client 。我这样说没错吧! 06/16 23:24
17F:→ DarkerDuck: socket一旦建立了就是双向资讯沟通,除非你是UDP 06/16 23:33
18F:→ saveme: 我这样问好了假如节点清单都不是实体 ip,这样还能 in & 06/16 23:49
19F:→ saveme: out?可以的话,我大概知道怎麽做。 06/16 23:49
20F:→ DarkerDuck: 不行啊,他P2P就是单纯的TCP server socket所组成的 06/17 00:06
21F:→ DarkerDuck: 当然有些P2P技术可以在NAT上打洞来通讯 06/17 00:08
22F:→ DarkerDuck: 不过这应该没用在Bitcoin的P2P通讯 06/17 00:08
23F:→ DarkerDuck: 它就是只会透过透定port做通讯而已 06/17 00:09
24F:→ saveme: 了解 06/17 00:30
25F:推 jacky507143: 先推一个以免被人发现我看不懂 06/17 03:38
26F:→ Phenomenon: 是不是有点像 BT 的 tracker,用来取得 client 资讯 06/17 12:09
27F:推 wahaha99: 反正不会是ip一个一个扫,这产生的垃圾流量太大, 06/17 16:46
28F:→ wahaha99: 会被当成恶意软体与攻击的 06/17 16:46