现有的技术,能否实现仅仅通过网络,无需服务器的通讯? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
shadowyue
0.36D
V2EX    奇思妙想

现有的技术,能否实现仅仅通过网络,无需服务器的通讯?

  •  1
     
  •   shadowyue 2018-12-12 10:20:03 +08:00 8218 次点击
    这是一个创建于 2499 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简单来说,能不能不需要企鹅的服务器,我直接就和别人网络通讯。 看新闻的时候想到的,要是 IPv6 普及了,我能不能直连别人,直接通讯呢? 这样数据安全隐私什么的,也更加有保障了。

    54 条回复    2019-09-04 10:44:54 +08:00
    virusdefender
        1
    virusdefender  
       2018-12-12 10:22:43 +08:00
    直连可以吧,你还可以通过卫星、蓝牙、无线电各种方法实现。。

    经过别人的服务器不代表不安全,参考 tls
    sarices
        2
    sarices  
       2018-12-12 10:26:47 +08:00
    FireChat 了解一下
    Ediacaran
        3
    Ediacaran  
       2018-12-12 10:29:05 +08:00
    即使能直连,互相发现至少需要个目录服务器吧
    skschema
        4
    kschema  
       2018-12-12 10:34:16 +08:00
    自己架的聊天也算是有服务器吧。看你自己对服务器怎么定义了。
    fengci
        5
    fengci  
       2018-12-12 10:34:33 +08:00
    说的不就是 P2P 嘛。
    run2
        6
    run2  
       2018-12-12 10:43:03 +08:00
    qq 前期就有直连的时候,估计后来发现这么不好备份 /同步聊天记录 (监控?) 就全走服务器了
    ronman
        7
    ronman  
       2018-12-12 10:44:51 +08:00 via Android
    意思是不经过中央服务器吧,tox 了解一下
    wysnylc
        8
    wysnylc  
       2018-12-12 10:54:57 +08:00
    手机一样是服务器
    580a388da131
        9
    580a388da131  
       2018-12-12 10:56:29 +08:00 via iPhone
    你说的就是点对点
    但你怎么保证线路是安全的
    dorothyREN
        10
    dorothyREN  
       2018-12-12 11:37:06 +08:00
    那么 你不广播一下的话 别人不知道你上线了,你要是广播的话,那就厉害了,全网广播。
    SPACELAN
        11
    SPACELAN  
       2018-12-12 11:52:12 +08:00
    libp2p 适合干这事儿
    nisnaker
        12
    nisnaker  
       2018-12-12 11:53:11 +08:00
    飞秋?
    RqPS6rhmP3Nyn3Tm
        13
    RqPS6rhmP3Nyn3Tm  
       2018-12-12 12:20:06 +08:00 via iPhone
    发个 nonce 握手几次鉴定不就好了吗,密码学入门
    feverzsj
        14
    feverzsj  
       2018-12-12 12:21:00 +08:00
    你可以用 vhf 组网
    RqPS6rhmP3Nyn3Tm
        15
    RqPS6rhmP3Nyn3Tm  
       2018-12-12 12:21:12 +08:00 via iPhone
    点对点通信不能防止 eavesdrop
    Zzdex
        16
    Zzdex  
       2018-12-12 12:28:58 +08:00 via iPhone
    可以但是对面如何发现你呢
    yidinghe
        17
    yidinghe  
       2018-12-12 12:31:35 +08:00 via Android
    楼主的这个概念有一个名词叫去中心化网络。
    AV1
        18
    AV1  
       2018-12-12 12:35:24 +08:00 via Android
    即使没听过去中心化,也该知道最近火的区块链、加密货币吧
    lr3800
        19
    lr3800  
       2018-12-12 12:37:15 +08:00
    https://tox.chat tox 已经实现了
    tadtung
        20
    tadtung  
       2018-12-12 12:42:40 +08:00 via Android
    可以啊,基于 p2p 就行。但是你的部分核心东西还是要部署在服务器上的。你最多做到通信数据不经过中央服务器罢了。
    另外想真正通信安全,自建就行。
    虽然我自己也建了,也偶尔有朋友用,但是周边朋友还是都用微信。
    hst001
        21
    hst001  
       2018-12-12 13:05:12 +08:00
    这个问题的重点两个人如何不经过第三方就能连上?除非固定 IP,这样一来安全性和隐私就没了
    shadowyue
        22
    shadowyue  
    OP
       2018-12-12 13:29:15 +08:00
    看起来通讯这个功能是没问题,但是难在如何去找到对方吧?

    比如我想给某个人发消息,我怎么去找到这个人呢?

    用企鹅,服务器有好友列表。如果去中心化,好友列表在本地。

    可能没过一天,这个人就换个方式或者设备上网,就找不到这个人了吧?

    能不能像上网一样,每个人有个固定的域名,去找这个人呢
    liwl
        23
    liwl  
       2018-12-12 13:51:14 +08:00
    所以,telegram 现在是什么个架构
    grewer
        24
    grewer  
       2018-12-12 14:19:24 +08:00
    人人不用服务器,其实人人都是服务器
    easylee
        25
    easylee  
       2018-12-12 14:20:08 +08:00 via Android
    飞秋
    shadowyue
        26
    shadowyue  
    OP
       2018-12-12 14:32:51 +08:00
    飞秋不是只能局域网吗
    f2ck
        27
    f2ck  
       2018-12-12 14:37:58 +08:00 via iPhone
    区块链技术了解下
    kimqcn
        28
    kimqcn  
       2018-12-12 14:50:37 +08:00
    其实网络都可以不用滴,吼~
    hoyixi
        29
    hoyixi  
       2018-12-12 15:40:10 +08:00
    去中心化的点对点通讯,解决方案和产品多了去了。

    但是在我国这种玩意肯定是不被允许的
    zhiyul
        30
    zhiyul  
       2018-12-12 15:54:26 +08:00
    webRTC ?
    C2G
        31
    C2G  
       2018-12-12 16:15:38 +08:00 via Android
    @shadowyue 固定域名 ddns 了解下?用于 ipv6 的 ddns
    bomb77
        32
    bomb77  
       2018-12-12 17:39:48 +08:00
    nc -l 1234 逃)
    yuhhai
        33
    yuhhai  
       2018-12-12 17:53:35 +08:00 via Android
    不就是 p2p 吗
    libook
        34
    libook  
       2018-12-12 18:26:21 +08:00
    实际上是先有的直连通讯软件,才有的服务器集中管理的通讯软件的,IPV4 时代因为 IP 地址不够等各种原因,大量使用 NAT 技术,两个不同子网内的计算机无法直接通信,服务器可以作为两者都能直接访问到的中介,来实现内网穿透技术(打洞或者中转)。
    如果 IPV6 普及的时候 NAT 被拿掉的话,你拿一本 Java 教程翻到 Socket 章节照着书敲几十行代码就能实现一个直连聊天的程序。
    publicvoid
        35
    publicvoid  
       2018-12-12 18:37:01 +08:00
    主要还是 ip 问题,ip 不固定,永远别想甩开服务器
    testcaoy7
        36
    testcaoy7  
       2018-12-12 19:59:35 +08:00
    端到端加密的聊天软件而已。一直有,比如 GNU Ring 和 Tox
    MoHen9
        37
    MoHen9  
       2018-12-12 20:44:29 +08:00 via Android
    你是指飞 Q 那种吗?
    maemolee
        38
    maemolee  
       2018-12-12 21:40:22 +08:00
    Zero Net ?
    EIJAM
        39
    EIJAM  
       2018-12-12 22:50:04 +08:00 via Android
    想起以前的 ipmsg
    ljpCN
        40
    ljpCN  
       2018-12-13 00:38:50 +08:00 via Android
    不就是 p2p 即时通讯吗,局域网有飞秋啊,我本科舍友毕设就是做了个 p2p 聊天工具
    ronman
        41
    ronman  
       2018-12-13 01:03:50 +08:00 via Android
    @shadowyue 大哥,大家都给你说好多现有的解决方案了,你去搜索一下就知道了呀
    NBOne
        42
    NBOne  
       2018-12-13 11:43:39 +08:00 via Android
    可以直连啊 通信双方都有独立的 ip 而且还要固定不变 就行啊
    dallaslu
        43
    dallaslu  
       2018-12-13 18:23:06 +08:00
    Berkanan / FireChat 了解一下
    YingJie
        44
    YingJie  
       2018-12-13 19:22:09 +08:00 via Android
    经过服务器不代表不安全,不经过服务器不代表安全。
    nowgoo
        45
    nowgoo  
       2018-12-14 10:44:07 +08:00
    我来歪个楼:发短信算不算?
    enjoyCoding
        46
    enjoyCoding  
       2018-12-14 12:31:05 +08:00 via iPhone
    技术上没问题 政策上不可能
    julyclyde
        47
    julyclyde  
       2018-12-14 12:51:08 +08:00
    可以倒是可以,但这和 ipv6 有啥关系?
    你这么问显得很外行
    flynaj
        48
    flynaj  
       2018-12-14 16:49:40 +08:00 via Android
    ipv6 直通其实是可以的。不过你还是需要知道对方 IP,服务器免不了
    temp178
        49
    temp178  
       2018-12-15 08:30:18 +08:00 via Android
    能不能直连还得看运营商兄弟的心情
    Flance
        50
    Flance  
       2018-12-16 10:03:59 +08:00 via Android
    可以用 VPN 加密吖,大公司不都有这种实例吗
    greatbody
        51
    greatbody  
       2018-12-16 15:51:03 +8:00
    网络传输数据依赖的是各种协议,而你的方案需要基于一个现有的协议才行。

    否则在现有的设备上大量安装你的自定义协议也不现实。当然,如果你能做到,那就牛了。

    之前有考虑过这个如何做(原谅我技术有限),但是一想到路由器可能会丢掉没有明确目的地的包,就觉得很纠结。毕竟网络上的包太多了,如果没有目的地,那么网上就会出现数据风暴。无数的包在互谅网上来回的撞,最终互联网爆掉。

    我记的看到过的一个说法:发出的一个数据包会有一个初始计数,每经过一次转发路由器就会将这个数减一,直到最终这个包被丢弃。

    如果你想传播一个包,你就需要有一个目的地址,而这个目的地址如果被打掉了,那么就等于你的方案失效了。
    dianso
        52
    dianso  
       2018-12-20 18:33:08 +08:00 via Android
    telegram 就是
    fandui
        53
    fandui  
       2019-03-27 23:26:57 +08:00 via Android
    @ljpCN 可以请你室友跟我分享一下 p2p 聊天工具的开发流程吗,最近也在做这个,一点思路也没有。。
    wslzy007
        54
    wslzy007  
       2019-09-04 10:44:54 +08:00
    别逗了,有一种东西叫防火墙,ipv6 网络环境下也需要进行防火墙穿透的。什么?关闭防火墙,别逗了。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1073 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 23:07 PVG 07:07 LAX 16:07 JFK 19:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86