由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 给大家出一道题,原创
相关主题
请教一个技术问题请教一个C的问题
大家帮我看看怎么说服这个老印同事?这里有人做硬件吗?
Re: 不知道干什么来着,公司给了一个Raspberry Pi (转载)嵌入式怎么才能入门
Loop back 是不是node.js里做后台的利器?论跨行业搞一把
node的framework还算LoopBack最好了吧深入说说Nest
mobile app后端:parse倒闭后的糙快猛选择这个IoT 的project ppt 做得真好
有什么 open source 让做平台发 post, comments, votes?大家谈谈家电上网的服务器端的设计如何
github坏了?port复用
相关话题的讨论汇总
话题: ip话题: port话题: dyndns话题: bridge话题: 服务
进入Programming版参与讨论
1 (共1页)
T********i
发帖数: 2416
1
既然是原创,就不能牵狗找到答案。
大家都是专业人士,背景就不介绍了。
假定你有一个服务,在内网。你希望外网能够访问(比如通过手机),你要设置NAT
port forwarding。
现在的问题是:你在外面如何知道你的服务的IP?
当然普遍的做法是通过dyndns。这种服务很多。良莠不齐。基本都是收费的。主要的问
题就是,如果你的外部IP突然变了,dyndns如何能迅速知道?这样就只能把dyndns
updater装在router上。但是取决于你的router的厂商做的好不好?因为只有router能
马上知道IP变化。
现实是,很多情况下,IP变化,可能要几天才反映到dyndns上。
我的问题是:你能不能不依赖于router,以及dyndns,能够迅速知道IP变化?比如在30
秒以内。guarantee! 你可以连接一个外部服务查询当前IP,但是你不能每30秒干一次
。因为你的外部IP可能一年都不变。
T********i
发帖数: 2416
2
澄清一下,我说不依赖router,是不需要在router上装任何额外的服务。router只需要
提供正常的NAT port forward服务即可。
n******t
发帖数: 4406
3
30秒搞一次也沒啥問題吧,實在覺得總試不好,也可以記下當前的外部ip,然後內網的
機器
定時ping一下這個ip,如果超時或者ttl變了就說明IP變了,再按30秒的做法搞一下就
好了。

【在 T********i 的大作中提到】
: 既然是原创,就不能牵狗找到答案。
: 大家都是专业人士,背景就不介绍了。
: 假定你有一个服务,在内网。你希望外网能够访问(比如通过手机),你要设置NAT
: port forwarding。
: 现在的问题是:你在外面如何知道你的服务的IP?
: 当然普遍的做法是通过dyndns。这种服务很多。良莠不齐。基本都是收费的。主要的问
: 题就是,如果你的外部IP突然变了,dyndns如何能迅速知道?这样就只能把dyndns
: updater装在router上。但是取决于你的router的厂商做的好不好?因为只有router能
: 马上知道IP变化。
: 现实是,很多情况下,IP变化,可能要几天才反映到dyndns上。

s*i
发帖数: 5025
4
好难。这个跟 ngrok 所解决的问题是一类的吗?
T********i
发帖数: 2416
5
任何公共服务,whatismyip之类,30秒一次,几分钟之内就把你ban掉了。
我的需求,是为将来部署几十亿节点设计的。你服务每个节点30秒一次的查询,成本是
巨大的。
你的ping的想法已经很接近了,但是如果router禁止应答呢?我说了,不能依赖router。

【在 n******t 的大作中提到】
: 30秒搞一次也沒啥問題吧,實在覺得總試不好,也可以記下當前的外部ip,然後內網的
: 機器
: 定時ping一下這個ip,如果超時或者ttl變了就說明IP變了,再按30秒的做法搞一下就
: 好了。

T********i
发帖数: 2416
6
我这个更靠谱!重点是尽量不依赖云服务,尤其是云转发。
你只要设置一次NAT port forwarding就好了。技术上当然要求多一点。但是设置NAT
port forwarding不是啥大问题。如果确实连这个都做不到,而且连找人帮忙都找不到
,可能也不会需要你的产品。
当然我的Hub缺省是云转发。但是会一直bug用户去设置port forwarding。port
forwarding是双赢。用户latency和可靠性都会大大改善。我们的运营成本也会降到0。

【在 s*i 的大作中提到】
: 好难。这个跟 ngrok 所解决的问题是一类的吗?
n******t
发帖数: 4406
7
router不應答ping也行,用tcp syn-ack就行了。

router。
網的
下就

【在 T********i 的大作中提到】
: 任何公共服务,whatismyip之类,30秒一次,几分钟之内就把你ban掉了。
: 我的需求,是为将来部署几十亿节点设计的。你服务每个节点30秒一次的查询,成本是
: 巨大的。
: 你的ping的想法已经很接近了,但是如果router禁止应答呢?我说了,不能依赖router。

T********i
发帖数: 2416
8
如果你邻居家恰好也开了这个port呢?

【在 n******t 的大作中提到】
: router不應答ping也行,用tcp syn-ack就行了。
:
: router。
: 網的
: 下就

n******t
发帖数: 4406
9
要想確保就搞個fingerprint好了。反正內部機器開個服務也行。

【在 T********i 的大作中提到】
: 如果你邻居家恰好也开了这个port呢?
T********i
发帖数: 2416
10
牛!思路完全正确!有老司机的风范。
其实不是内部机器开个服务,而是这个服务自己服务自己而已。
反正你开port forward就是有服务才开。这个服务加一个fingerprint的功能就好了。
你叫fingerprint,我叫port forward verification。一码事。
其实还有附加好处。那就是30秒以内就能验证你的port forward是不是设置对了?如果
设置错了,可以fallback to cloud forward,同时马上报警。
client,包括手机也是一样,cloud服务两个功能:
1. 任何时候port forward有问题,作为forward备份。
2. 给client实时提供service IP & port。
这是最可靠,零浪费的service framework。

【在 n******t 的大作中提到】
: 要想確保就搞個fingerprint好了。反正內部機器開個服務也行。
相关主题
有什么 open source 让做平台发 post, comments, votes?这里有人做硬件吗?
github坏了?嵌入式怎么才能入门
请教一个C的问题论跨行业搞一把
进入Programming版参与讨论
n******t
发帖数: 4406
11
對的,如果你自己的服務就直接整合掉好了。
問題這種類似問題做設計,現在很多公司裏面就一堆architecht提着buzzword衝上來了,
很煩。

【在 T********i 的大作中提到】
: 牛!思路完全正确!有老司机的风范。
: 其实不是内部机器开个服务,而是这个服务自己服务自己而已。
: 反正你开port forward就是有服务才开。这个服务加一个fingerprint的功能就好了。
: 你叫fingerprint,我叫port forward verification。一码事。
: 其实还有附加好处。那就是30秒以内就能验证你的port forward是不是设置对了?如果
: 设置错了,可以fallback to cloud forward,同时马上报警。
: client,包括手机也是一样,cloud服务两个功能:
: 1. 任何时候port forward有问题,作为forward备份。
: 2. 给client实时提供service IP & port。
: 这是最可靠,零浪费的service framework。

p***o
发帖数: 1252
12
内部服务用外部IP连自己?你这个得router支持NAT hairpinning吧。

【在 T********i 的大作中提到】
: 牛!思路完全正确!有老司机的风范。
: 其实不是内部机器开个服务,而是这个服务自己服务自己而已。
: 反正你开port forward就是有服务才开。这个服务加一个fingerprint的功能就好了。
: 你叫fingerprint,我叫port forward verification。一码事。
: 其实还有附加好处。那就是30秒以内就能验证你的port forward是不是设置对了?如果
: 设置错了,可以fallback to cloud forward,同时马上报警。
: client,包括手机也是一样,cloud服务两个功能:
: 1. 任何时候port forward有问题,作为forward备份。
: 2. 给client实时提供service IP & port。
: 这是最可靠,零浪费的service framework。

T********i
发帖数: 2416
13
是的,又称为NAT loopback,或者NAT reflection。
问题是,不支持这个功能的router是不合格的。因为你向外部提供的服务,内部反倒不
能用了。It doesn't make any sense!
事实上,不支持这个功能的router,现在已经找不到了。


: 内部服务用外部IP连自己?你这个得router支持NAT hairpinning吧。



【在 p***o 的大作中提到】
: 内部服务用外部IP连自己?你这个得router支持NAT hairpinning吧。
T********i
发帖数: 2416
14
如果你的router不支持NAT Hair pinning,对于我的架构,30秒以后,服务自己就能检
测到port forwarding不work。然后自动Rollback到cloud forward。同时报警,用户手
机立刻收到报警。
然后,用户就知道应该换掉那个sucker router。
g****t
发帖数: 31659
15
这问题以前你讨论过吧?
IP变了的话,client software发email。提供服务的机器,listen new email。
有新email ,改设置,这样可以吗?
类似的毛招搞几个并起来,鲁棒性应该有一定保证了。

【在 T********i 的大作中提到】
: 既然是原创,就不能牵狗找到答案。
: 大家都是专业人士,背景就不介绍了。
: 假定你有一个服务,在内网。你希望外网能够访问(比如通过手机),你要设置NAT
: port forwarding。
: 现在的问题是:你在外面如何知道你的服务的IP?
: 当然普遍的做法是通过dyndns。这种服务很多。良莠不齐。基本都是收费的。主要的问
: 题就是,如果你的外部IP突然变了,dyndns如何能迅速知道?这样就只能把dyndns
: updater装在router上。但是取决于你的router的厂商做的好不好?因为只有router能
: 马上知道IP变化。
: 现实是,很多情况下,IP变化,可能要几天才反映到dyndns上。

g****t
发帖数: 31659
16
另外我查了下,现在比特币用UPNP
https://en.wikipedia.org/wiki/Universal_Plug_and_Play
古代我记得中本聪就是一堆毛招并起来找自己的外部IP。(irc聊天室,网站,etc)

【在 g****t 的大作中提到】
: 这问题以前你讨论过吧?
: IP变了的话,client software发email。提供服务的机器,listen new email。
: 有新email ,改设置,这样可以吗?
: 类似的毛招搞几个并起来,鲁棒性应该有一定保证了。

T********i
发帖数: 2416
17
这个问题和email根本不是一个层面的问题。
至于Upnp,存在各种巨大安全风险,缺省都是禁用的。与其手动开启Upnp, 不如手动开
启port forwarding。
我的方案,是最优的。而且是以前没人用过的。有可能会影响将来数以亿计的设备的。
反正带来各种利益关系的变化是肯定的。


: 另外我查了下,现在比特币用UPNP

: https://en.wikipedia.org/wiki/Universal_Plug_and_Play

: 古代我记得中本聪就是一堆毛招并起来找自己的外部IP。(irc聊天室,网站,
etc)



【在 g****t 的大作中提到】
: 另外我查了下,现在比特币用UPNP
: https://en.wikipedia.org/wiki/Universal_Plug_and_Play
: 古代我记得中本聪就是一堆毛招并起来找自己的外部IP。(irc聊天室,网站,etc)

g****t
发帖数: 31659
18
firewall could cause issues.

【在 T********i 的大作中提到】
: 如果你的router不支持NAT Hair pinning,对于我的架构,30秒以后,服务自己就能检
: 测到port forwarding不work。然后自动Rollback到cloud forward。同时报警,用户手
: 机立刻收到报警。
: 然后,用户就知道应该换掉那个sucker router。

g****t
发帖数: 31659
19
30秒的话,email是可以的。你可以测一下。
我家里机器有个python就这么干的。

【在 T********i 的大作中提到】
: 这个问题和email根本不是一个层面的问题。
: 至于Upnp,存在各种巨大安全风险,缺省都是禁用的。与其手动开启Upnp, 不如手动开
: 启port forwarding。
: 我的方案,是最优的。而且是以前没人用过的。有可能会影响将来数以亿计的设备的。
: 反正带来各种利益关系的变化是肯定的。
:
:
: 另外我查了下,现在比特币用UPNP
:
: https://en.wikipedia.org/wiki/Universal_Plug_and_Play
:
: 古代我记得中本聪就是一堆毛招并起来找自己的外部IP。(irc聊天室,网站,
: etc)

T********i
发帖数: 2416
20
这个问题,和你说的那个过程,完全是不同的问题。
30秒是我随口说的。我做到3秒都没任何问题。给router带来的压力连万分之一CPU都不
到。


: 30秒的话,email是可以的。你可以测一下。

: 我家里机器有个python就这么干的。



【在 g****t 的大作中提到】
: 30秒的话,email是可以的。你可以测一下。
: 我家里机器有个python就这么干的。

相关主题
深入说说Nestport复用
这个IoT 的project ppt 做得真好两个电脑之间的Java程序怎么方便传输简单的数据?
大家谈谈家电上网的服务器端的设计如何语言没有很难的,只有很难赚钱的。
进入Programming版参与讨论
g****t
发帖数: 31659
21
I agree.
时间,CPU loading 是一方面。
email没有安全性。自己玩玩还行。做产品肯定不能这么干。
我专门弄了个Gmail帐号,办这类事。

【在 T********i 的大作中提到】
: 这个问题,和你说的那个过程,完全是不同的问题。
: 30秒是我随口说的。我做到3秒都没任何问题。给router带来的压力连万分之一CPU都不
: 到。
:
:
: 30秒的话,email是可以的。你可以测一下。
:
: 我家里机器有个python就这么干的。
:

C*****n
发帖数: 1049
22
你都能换掉sucker router了,不如换一个dd-wrt的,想怎么玩都行。还是用dyndns是
正道,你那solution都是hack,万一你那每30秒查询一下自己的服务(通过loopback回
来)的cron job挂掉了呢?
实际情况是dyndns非常reliable,我用的freedns.afraid.org也是免费的,过去近10年
来从没出现过问题,都是外网ip一遍,dns就更新了(当然这种情况基本上是几个月甚
至一两年才发生一次)。
n******t
发帖数: 4406
23
不支持loopback的router,我最近10幾年沒見過,including isp送的。
從個人角度出發,dyndns本身的確還行沒什麼問題,但是你用免費的難道不會每個月叫
你手動上去verify capcha嗎?
當然他要做產品另當別論,肯定不能指望dyndns的。

【在 C*****n 的大作中提到】
: 你都能换掉sucker router了,不如换一个dd-wrt的,想怎么玩都行。还是用dyndns是
: 正道,你那solution都是hack,万一你那每30秒查询一下自己的服务(通过loopback回
: 来)的cron job挂掉了呢?
: 实际情况是dyndns非常reliable,我用的freedns.afraid.org也是免费的,过去近10年
: 来从没出现过问题,都是外网ip一遍,dns就更新了(当然这种情况基本上是几个月甚
: 至一两年才发生一次)。

T********i
发帖数: 2416
24
其实这是个逻辑问题,普通用户可以不需要任何逻辑,专业人士应该时时刻刻都要坚持
才对。
现在分析一下需求。假定你产品提供商,用户是产品使用者。你和用户的需求都是什么?
前提条件:
你的产品放在用户内网,为用户的手机提供服务。
大家的共同需求,是一致的:
用户的手机随时能够访问你的产品。
附加要求:
如果你的产品挂了,用户的手机在第一时间能够知道。
现在根据逻辑,看看dyndns是不是需要?
可能方案有两个:
1. 你在internet上有个公共服务器,提供转发服务。
2. 你让用户开一个NAT port forwarding。
下面回到我的初始问题。dyndns是不是需要?
1. 公共服务器转发服务 - 不需要dyndns
2. NAT port forwarding - 用我的设计,也绝对不需要dyndns。因为我的公共服务器
就是dyndns的作用。而且比dyndns要好。
以下“公共服务器”称为bridge...
下面是我的具体实现逻辑:
1. bridge转发 - 不用说了。缺省就是这个。用户啥也不需要做。就能满足需求。
2. NAT port forwarding - 用户设置以后,3-30秒以内,整个系统自己就知道是不是
设置错了?如果设置错了,自动转换成上面的(bridge转发)。
3. 如果自我验证设置正确,通知bridge。然后从bridge断开。从此以后提供独立服务。
手机用户:
首次使用,先连接bridge。如果是转发模式,就通过bridge转发使用。如果是port
forwarding,从bridge断开。永久记录IP:port,从此进入直连模式。
如果一切正常。port forwarding以后一直都会成功直连。不论手机还是内网服务从此
都不会打扰bridge。bridge的运营就省钱了。
下面讲port forwarding不正常的情况:
1. 你的外网IP变了。服务3-30秒以内检测到。重新连接bridge,马上bridge就告诉它
新的IP。顺便在bridge注册新的IP。port没有变化。手机连接你的router会马上失败。
然后连接bridge。bridge告知新的IP。重连接。一切正常。
2. 你把router设置改了。port forward关掉了。服务3-30秒以内检测到。重新连接
bridge。发现IP没有变化。知道配置错了。重新切换bridge转发。手机连接你的router
会马上失败。然后连接bridge。从此转换到bridge转发。
下面讲你的内网服务挂了。或者你家网络断了。
这两种情况,逻辑上,光靠我们自己,是无法区分的。到底是网络断了?还是我们的服
务挂了?永远要靠用户去判断。但是用户手机在第一时间就知道服务连不上了。故障是
肯定的。
我们的bridge挂了:
绝大多数port forward的用户,因为IP变化不频繁,仍然能够长期(几天,几个月,几
年?)使用不受任何影响。所以我们的bridge越简单越好。一旦挂了,可以几分钟修复。
因此,我的设计和架构。是绝对不需要dyndns的。
而且,bridge转发是必须要有的。因为1. 肯定有不设置port forwarding的用户。2.
设置port forwarding,手机用户也需要随着知道最新的IP:port。
bridge的作用,就是让用户尽量不需要它。正因为如此,它才会变成永远不可或缺的。
变成所有用户必须需要的。
因此,bridge有所用dyndns的功能,还有很多dyndns没有的。而且它是私密的。auth不
通过,不会告诉你信息的。不像dyndns,知道你的域名,你的家庭IP永远被别人追踪。
dyndns每隔几秒钟都需要重新查询。bridge可能几年都不需要被查询。
老sui提到的ngrok,设计思想就是错的。按照我说的修改,照样大家都依赖,运营成本
能降低几十倍。
T********i
发帖数: 2416
25
我们往更深层次去探讨社会哲学问题。
你设计一个服务,目的是所有人都尽量不需要你。结果是所有人都离不开你。我就刚刚
给出了一个例子。
这是一个思维转向的问题。就像数学一样,符号逻辑多转一个弯,能搞定的只剩下那些
得沃尔夫奖之类的人士了。在这个码工遍地的时代,这个哲学从来没人提出来过,也是
醉了!!!
尤其是目前我们的后现代,后工业化时代。大多数生意已经变成损人不利己祸害社会了
。思维转向尤其重要!
是为记。。。
s*i
发帖数: 5025
26
厉害!
换router后,手机需要考虑一下怎么提醒重新设置问题


: 我们往更深层次去探讨社会哲学问题。

: 你设计一个服务,目的是所有人都尽量不需要你。结果是所有人都离不开你。我
就刚刚

: 给出了一个例子。

: 这是一个思维转向的问题。就像数学一样,符号逻辑多转一个弯,能搞定的只剩
下那些

: 得沃尔夫奖之类的人士了。在这个码工遍地的时代,这个哲学从来没人提出来过
,也是

: 醉了!!!

: 尤其是目前我们的后现代,后工业化时代。大多数生意已经变成损人不利己祸害
社会了

: 。思维转向尤其重要!

: 是为记。。。



【在 T********i 的大作中提到】
: 我们往更深层次去探讨社会哲学问题。
: 你设计一个服务,目的是所有人都尽量不需要你。结果是所有人都离不开你。我就刚刚
: 给出了一个例子。
: 这是一个思维转向的问题。就像数学一样,符号逻辑多转一个弯,能搞定的只剩下那些
: 得沃尔夫奖之类的人士了。在这个码工遍地的时代,这个哲学从来没人提出来过,也是
: 醉了!!!
: 尤其是目前我们的后现代,后工业化时代。大多数生意已经变成损人不利己祸害社会了
: 。思维转向尤其重要!
: 是为记。。。

T********i
发帖数: 2416
27
给你看看截图,设置port forwarding以后,在router上把port forwarding关闭。
每次都是30秒以内。检测到port forwarding突然不work了。自动切换成bridge转发模
式。同时顺便给手机发个消息。
顶上数2,3,4项。
手机总之都能时刻连上内网服务。这是手机和bridge以及你的router之间的逻辑。
结果就是不管你咋折腾,手机都能时刻找到并连接你的内网服务。有错还能随时给你报
错。

【在 s*i 的大作中提到】
: 厉害!
: 换router后,手机需要考虑一下怎么提醒重新设置问题
:
:
: 我们往更深层次去探讨社会哲学问题。
:
: 你设计一个服务,目的是所有人都尽量不需要你。结果是所有人都离不开你。我
: 就刚刚
:
: 给出了一个例子。
:
: 这是一个思维转向的问题。就像数学一样,符号逻辑多转一个弯,能搞定的只剩
: 下那些
:
: 得沃尔夫奖之类的人士了。在这个码工遍地的时代,这个哲学从来没人提出来过

g****t
发帖数: 31659
28
我没细想。但是直觉觉得,design好像有点太复杂了。
程序里面应该有好几个等待,继续try几次然后做结论的地方。
这些等待的时间配合不好的话,可能会有问题。小心为妙。
The potential conflications of network delay and other hardware response delay
could be very tricky.
IMPHO,design越靠近email/new email listener,越强壮。
如果是手机开家里台灯这种任务,除了你说的bridge的办法,我会用email做
冗余。

【在 T********i 的大作中提到】
: 给你看看截图,设置port forwarding以后,在router上把port forwarding关闭。
: 每次都是30秒以内。检测到port forwarding突然不work了。自动切换成bridge转发模
: 式。同时顺便给手机发个消息。
: 顶上数2,3,4项。
: 手机总之都能时刻连上内网服务。这是手机和bridge以及你的router之间的逻辑。
: 结果就是不管你咋折腾,手机都能时刻找到并连接你的内网服务。有错还能随时给你报
: 错。

h****e
发帖数: 2125
29
你其实不用和那个假行家讨论啥,他一个硬工转行的,根本不懂你在说啥。

【在 T********i 的大作中提到】
: 这个问题,和你说的那个过程,完全是不同的问题。
: 30秒是我随口说的。我做到3秒都没任何问题。给router带来的压力连万分之一CPU都不
: 到。
:
:
: 30秒的话,email是可以的。你可以测一下。
:
: 我家里机器有个python就这么干的。
:

g****t
发帖数: 31659
30
我说的方案,代码是成立的。任何人一眼就可以看出来。
不足之处在安全和资源消耗。
本身network programming就是专门的学问。不懂很正常。
你有什么高见,也可以讲。

【在 h****e 的大作中提到】
: 你其实不用和那个假行家讨论啥,他一个硬工转行的,根本不懂你在说啥。
相关主题
c+11 問題:什麽情況下用remove_reference.大家帮我看看怎么说服这个老印同事?
javascript editor的問題Re: 不知道干什么来着,公司给了一个Raspberry Pi (转载)
请教一个技术问题Loop back 是不是node.js里做后台的利器?
进入Programming版参与讨论
T********i
发帖数: 2416
31
要是没任何复杂度,还能轮到我原创么?
当然,很多人一听就明白了。这就是一个典型的状态自动机。当然,不要以为状态自动
机很容易实现。其实也就100行左右的代码,但是没10年功力还想做对?也不要当码工
那么不值钱好吧?
无论如何,这个问题本身和email没有任何关系。

delay

【在 g****t 的大作中提到】
: 我没细想。但是直觉觉得,design好像有点太复杂了。
: 程序里面应该有好几个等待,继续try几次然后做结论的地方。
: 这些等待的时间配合不好的话,可能会有问题。小心为妙。
: The potential conflications of network delay and other hardware response delay
: could be very tricky.
: IMPHO,design越靠近email/new email listener,越强壮。
: 如果是手机开家里台灯这种任务,除了你说的bridge的办法,我会用email做
: 冗余。

g****t
发帖数: 31659
32
[A]
你们讨论的solution中用的网络技术,多数
都是为了应对client很多的情况,发展而来的.
但是如果client的(cell phone)个数不是很多。cell phone从外网访问内网。
短信,email,irc server,telegram....为基础的代码,都是成立的。
只要满足
1.有个第三方服务器
2.客户端能listen the 3rd party server,而不是轮询。
(在十多年前,这个是blackberry手机的高技术)
用什么都可以。
[B]
另外我不明白为啥你那个bridge要转发内容?
bridge用来保障port forwarding,换ip什么的可以理解。
转发内容,那cost会不会很高。

【在 T********i 的大作中提到】
: 要是没任何复杂度,还能轮到我原创么?
: 当然,很多人一听就明白了。这就是一个典型的状态自动机。当然,不要以为状态自动
: 机很容易实现。其实也就100行左右的代码,但是没10年功力还想做对?也不要当码工
: 那么不值钱好吧?
: 无论如何,这个问题本身和email没有任何关系。
:
: delay

T********i
发帖数: 2416
33
ISO Layer都不在同一层。讨论哪一层说哪一层的事情。
persistent & reliable communication channel建立了,是发短信还是发email,那是
另外一个层面的问题。
就是这个特定层,我也只是解决了一个具体问题而已。所以我只针对这个具体问题讨论
。所以大家也都是针对这个具体问题讨论,这样才不会跑偏。
这个问题的本质是一种新的分布式网络架构。解决的是服务去中心化的问题。

server,,

【在 g****t 的大作中提到】
: [A]
: 你们讨论的solution中用的网络技术,多数
: 都是为了应对client很多的情况,发展而来的.
: 但是如果client的(cell phone)个数不是很多。cell phone从外网访问内网。
: 短信,email,irc server,telegram....为基础的代码,都是成立的。
: 只要满足
: 1.有个第三方服务器
: 2.客户端能listen the 3rd party server,而不是轮询。
: (在十多年前,这个是blackberry手机的高技术)
: 用什么都可以。

g****t
发帖数: 31659
34
你用bridge转内容,cost会不会很高?一家4个手机。

【在 T********i 的大作中提到】
: ISO Layer都不在同一层。讨论哪一层说哪一层的事情。
: persistent & reliable communication channel建立了,是发短信还是发email,那是
: 另外一个层面的问题。
: 就是这个特定层,我也只是解决了一个具体问题而已。所以我只针对这个具体问题讨论
: 。所以大家也都是针对这个具体问题讨论,这样才不会跑偏。
: 这个问题的本质是一种新的分布式网络架构。解决的是服务去中心化的问题。
:
: server,,

T********i
发帖数: 2416
35
那家人如果有个symmetrical firewall,又拒绝设置port forwarding,难道我不让他
们用?
cost也不高,控制灯和空调,每天流量几百byte。倒是heartbeat每分钟有16 bytes。
当然,这个流量,平摊给每个人,每年运营成本都不到一美分。
而且,你只要在家,就自动切换到家里wifi和Hub内部连接了。不会用bridge流量了。
别家的产品,乐不得的。而且都是强制转发。偷你数据,不管有用没用先偷着,而且还
要想方设法让你习惯,而且让你子子孙孙都习惯。
至少,我可以让用户每次用手机app的时候,bug他一下,弹出一个窗口说:设置port
forwarding,你好我好大家好。
另外,每个用户第一次上电使用hub的时候,用手机设置,缺省一定是转发的。

【在 g****t 的大作中提到】
: 你用bridge转内容,cost会不会很高?一家4个手机。
g****t
发帖数: 31659
36
你有用Bluetooth 嗎?我幾日前買了一組google router自用。第一次上電時,
bluetooth連手機app。看著過程平順,強壯,堪稱優秀設計。
這些邊界情況,看著不起眼,但設計好頗為不易。


: 那家人如果有个symmetrical firewall,又拒绝设置port forwarding,
难道我
不让他

: 们用?

: cost也不高,控制灯和空调,每天流量几百byte。倒是heartbeat每分钟
有16
bytes。

: 当然,这个流量,平摊给每个人,每年运营成本都不到一美分。

: 而且,你只要在家,就自动切换到家里wifi和Hub内部连接了。不会用
bridge流
量了。

: 别家的产品,乐不得的。而且都是强制转发。偷你数据,不管有用没用先
偷着,
而且还

: 要想方设法让你习惯,而且让你子子孙孙都习惯。

: 至少,我可以让用户每次用手机app的时候,bug他一下,弹出一个窗口说
:设置
port

: forwarding,你好我好大家好。

: 另外,每个用户第一次上电使用hub的时候,用手机设置,缺省一定是转
发的。



【在 T********i 的大作中提到】
: 那家人如果有个symmetrical firewall,又拒绝设置port forwarding,难道我不让他
: 们用?
: cost也不高,控制灯和空调,每天流量几百byte。倒是heartbeat每分钟有16 bytes。
: 当然,这个流量,平摊给每个人,每年运营成本都不到一美分。
: 而且,你只要在家,就自动切换到家里wifi和Hub内部连接了。不会用bridge流量了。
: 别家的产品,乐不得的。而且都是强制转发。偷你数据,不管有用没用先偷着,而且还
: 要想方设法让你习惯,而且让你子子孙孙都习惯。
: 至少,我可以让用户每次用手机app的时候,bug他一下,弹出一个窗口说:设置port
: forwarding,你好我好大家好。
: 另外,每个用户第一次上电使用hub的时候,用手机设置,缺省一定是转发的。

T********i
发帖数: 2416
37
我个人不喜欢bluetooth。主要是它那个mesh network,节点转发竟然靠broadcast
flood。任何懂行的都能看出属于极端不负责任。

【在 g****t 的大作中提到】
: 你有用Bluetooth 嗎?我幾日前買了一組google router自用。第一次上電時,
: bluetooth連手機app。看著過程平順,強壯,堪稱優秀設計。
: 這些邊界情況,看著不起眼,但設計好頗為不易。
:
:
: 那家人如果有个symmetrical firewall,又拒绝设置port forwarding,
: 难道我
: 不让他
:
: 们用?
:
: cost也不高,控制灯和空调,每天流量几百byte。倒是heartbeat每分钟
: 有16

n******t
发帖数: 4406
38
bluetooth的兼容性是個大問題。可能現在好好的,一update就不行了。
比如,蘋果自從他出了airpod,藍牙耳機就開始問題越來越多。

【在 g****t 的大作中提到】
: 你有用Bluetooth 嗎?我幾日前買了一組google router自用。第一次上電時,
: bluetooth連手機app。看著過程平順,強壯,堪稱優秀設計。
: 這些邊界情況,看著不起眼,但設計好頗為不易。
:
:
: 那家人如果有个symmetrical firewall,又拒绝设置port forwarding,
: 难道我
: 不让他
:
: 们用?
:
: cost也不高,控制灯和空调,每天流量几百byte。倒是heartbeat每分钟
: 有16

T********i
发帖数: 2416
39
这些标准,仔细看简直不能再烂。
我宁可我的产品没人用,也不会去昧着良心用Zigbee。宁可自己写一个。
因为,那是Right thing to do!
将来,我的协议会兼容Zigbee,但是那是第二优先级,二等公民。而不是反过来。
很多事,我要是不做,这辈子都不会有人做。我感觉的是一种urge!

【在 n******t 的大作中提到】
: bluetooth的兼容性是個大問題。可能現在好好的,一update就不行了。
: 比如,蘋果自從他出了airpod,藍牙耳機就開始問題越來越多。

w********m
发帖数: 1137
40
内网穿透
或者ipsec
相关主题
node的framework还算LoopBack最好了吧github坏了?
mobile app后端:parse倒闭后的糙快猛选择请教一个C的问题
有什么 open source 让做平台发 post, comments, votes?这里有人做硬件吗?
进入Programming版参与讨论
T********i
发帖数: 2416
41
不管你咋穿透,都要设置port forwarding。
我是自己的穿透协议。因为要两套密钥才能端到端加密。
转发服务器只有转发密钥。仍然不知道转发的内容。
I don't want to know anything about you!

【在 w********m 的大作中提到】
: 内网穿透
: 或者ipsec

y****w
发帖数: 3747
42
需要设置很小的TTL,最好1s(你的dyndns服务还未必允许你改,一般他们也就给1分钟
而已),强迫你的用户每次都去authorative dns server拿dns结果。 所以好的
dyndns一定会收费. 但这个对你的产品来说基本不太可行,你让用户干这个基本就是自
绝于用户,可以当选项但绝不能当需要。
你的客户端(设备),服务(用户数据点), 控制设备(手机电脑)其实本质上都是客
户端。 外网弄一个有固定ip的server当掮客或者代理把他们连起来。 尤其是你提到你
的数据量并不大。 中间服务器不需要知道加密传输的内容。

【在 T********i 的大作中提到】
: 不管你咋穿透,都要设置port forwarding。
: 我是自己的穿透协议。因为要两套密钥才能端到端加密。
: 转发服务器只有转发密钥。仍然不知道转发的内容。
: I don't want to know anything about you!

T********i
发帖数: 2416
43
看这篇就可以了:
http://www.mitbbs.com/article/Programming/31580375_0.html
我的service架构,不需要dyndns。
1. 外部IP改变,10秒以内保证更新。
2. 用户设置了port forward,就走port forward。否则代理转发
3. port forward设置错了,或者任何时候port forward被关闭了,10秒以内切换到代
理模式。
用户客户端无论如何都能连接,port forward还是代理还是任何改变都能自动发现。
如果port forward设置正确一切不变,service不会为了维持服务产生任何额外流量。

【在 y****w 的大作中提到】
: 需要设置很小的TTL,最好1s(你的dyndns服务还未必允许你改,一般他们也就给1分钟
: 而已),强迫你的用户每次都去authorative dns server拿dns结果。 所以好的
: dyndns一定会收费. 但这个对你的产品来说基本不太可行,你让用户干这个基本就是自
: 绝于用户,可以当选项但绝不能当需要。
: 你的客户端(设备),服务(用户数据点), 控制设备(手机电脑)其实本质上都是客
: 户端。 外网弄一个有固定ip的server当掮客或者代理把他们连起来。 尤其是你提到你
: 的数据量并不大。 中间服务器不需要知道加密传输的内容。

l*********s
发帖数: 5409
44
Mark
1 (共1页)
进入Programming版参与讨论
相关主题
两个电脑之间的Java程序怎么方便传输简单的数据?node的framework还算LoopBack最好了吧
语言没有很难的,只有很难赚钱的。mobile app后端:parse倒闭后的糙快猛选择
c+11 問題:什麽情況下用remove_reference.有什么 open source 让做平台发 post, comments, votes?
javascript editor的問題github坏了?
请教一个技术问题请教一个C的问题
大家帮我看看怎么说服这个老印同事?这里有人做硬件吗?
Re: 不知道干什么来着,公司给了一个Raspberry Pi (转载)嵌入式怎么才能入门
Loop back 是不是node.js里做后台的利器?论跨行业搞一把
相关话题的讨论汇总
话题: ip话题: port话题: dyndns话题: bridge话题: 服务