ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

BBS黄金时代:从电话线拨号到FidoNet与社区治理的技术演进

BBS黄金时代:从电话线拨号到FidoNet与社区治理的技术演进 1. 从CBBS到黄金时代BBS这东西起初是怎么来的1.1 一场暴风雪催生了第一块电子公告板很多人提到BBS第一反应是论坛的老祖宗但很少人知道它和一场暴风雪有关。1978年1月美国芝加哥遭遇特大暴风雪整座城市几乎瘫痪Ward Christensen和Randy Suess这两个计算机爱好者没法去参加线下聚会干脆窝在家里搞了个新东西一台接上电话线的电脑别人拨通号码就能连上来留言、看公告、传文件。他们管它叫CBBS全称Computerized Bulletin Board System也就是计算机化的电子公告板系统。CBBS的运行逻辑今天看朴素得近乎原始一台电脑、一条电话线、一只Modem、一块硬盘跑一套单机程序。远程用户用终端软件拨号进来看到的是全字符菜单——看留言、写留言、下载文件、上传文件每一个动作都是在命令行里选数字。更要命的是电话线是独占的一个正在拨号访问别人就只能听见占线音。可就是这套今天看起来反人类的架构成了后来整整两代人网络生活的起点。这里有一个细节很值得说CBBS的作者之一Ward Christensen同时也是XMODEM文件传输协议的发明人。为什么是他因为CBBS上线后大家最头疼的问题就是下文件下到一半断线整份文件废掉重来。他实在忍不了就写了XMODEM用分块校验重传的方式解决了这个痛点。所以从第一天起BBS的发展路径就是实际使用踩坑再拿技术填坑这个基因被后来的好几代网络应用继承了。1.2 电话线时代的黄金十年与中国BBS从1978年到90年代中期BBS在美国经历了一段真正的黄金岁月。Modem速度从300bps一路爬到1200、2400、9600直到33.6K乃至56K个人办站的门槛肉眼可见地降低。随便一个技术爱好者弄一套PCBoard、Wildcat!、Renegade或者WWIV软件再接一条电话线就能开张当站长。那十年里全美各地冒出了成千上万个BBS站有的做文件分享有的做技术讨论有的纯粹是几个熟人的聊天据点。中国的情况脉络相似但节奏不同。1991年前后国内出现了第一批接入国际FidoNet网络的惠多网站点那是真正意义上的国内自营BBS站长们自己买硬件、牵电话线、维护系统和海外节点做异步信件交换。到了90年代中期高校校园网大规模铺开以水木清华、北大未名为代表的Telnet BBS开始上线一代大学生在机房排着队注册账号、泡版面、抢热门话题BBS在国内彻底火了。所以聊BBS历史一定要先分清两个阶段。前一个阶段是电话线点对点时代拨号、独占线路、速度慢、同时只能一个人在线传播半径也小。后一个阶段是校园网TCP/IP时代BBS改成跑Telnet协议一台服务器能扛几百上千人同时在线。这两个阶段的技术架构完全不同但社区氛围一脉相承——版面、精华区、站长、版主、潜水、灌水这些概念都是在那十几年里逐渐定型并流传到今天的。1.3 老玩家的一天拨号、菜单与慢速社交我试着描述一下一个90年代BBS老用户的一天。晚上九点打开终端软件敲入BBS的电话号码Modem开始发出那串标志性的握手音——先是高频的啸叫接着是一段有节奏的沙沙声然后屏幕跳出登录提示。输完账号密码进主菜单先看有没有新信件再逐个版面扫新帖看到感兴趣的回复几句有需要的文件就用ZMODEM拖下来最后断开连接。整个过程二十分钟到半小时但你会觉得和一小群人完成了一次实实在在的线上聚会。今天回看BBS的使用体验几乎处处踩现代交互的反面全键盘操作、指令靠背、没有配图、看不到谁在线早期版本连这个都做不到、刷新得自己按。可它恰恰因为慢和少而迷人。资源稀缺所以每条消息都会被认真读、认真回能拨进来的人都是肯折腾的讨论质量天然高。这种低效率高浓度的交流氛围是后来的信息流产品无论如何都造不出来的。我现在还经常跟年轻朋友说你们刷短视频是在消费注意力我们当年刷BBS是经营关系——两种完全不同的体验。2. 拨号时代的硬核技术Modem、串口与传输协议2.1 Modem与AT指令那串问候音里有什么门道Modem调制解调器这名字已经把工作原理写在脸上了发送端把电脑的数字信号调制成能在电话线上跑的模拟音频信号接收端再解调回数字信号。拨号BBS的核心链路是终端程序 - 串口 - Modem - 电话线 - 远端Modem - 远端电脑。这条链路上任何一环参数不对结果就是连不上、乱码、传错文件。Modem行业真正的标准化功臣是Hayes公司它定义的AT指令集成了事实标准。你输入ATDT12345678意思是让Modem用音频方式去拨这个号码ATA是手动应答ATS01设置成自动应答这是BBS服务端最常用的配置相当于电话响一声就自动接听。还有一个很有名的序列连续输入三个加号Modem能从数据传输模式退回命令模式这样就可以在不挂断电话的前提下改配置。这套指令集生命力惊人直到今天很多4G/5G通信模组里仍然在用。至于拨号时那串问候音其实并不只是噪音。两个Modem在握手阶段里做的事情是互相识别协议版本、测试线路质量、协商双方共同支持的最高速率。老玩家隔着电话听声音就能判断接下来连上的速度是2400还是14400这不是玄学是因为不同阶段的协商音有明显差异。后来ADSL拨号也有类似过程只不过把啸叫换成了更复杂的频段扫描本质思路一脉相承。2.2 串口参数与流量控制为什么老是丢字节拨号时代坑新手最多的地方不在Modem本身而在串口参数。经典配置是9600波特率、8位数据位、无校验、1位停止位简称8N1。这里先解释一个概念坑波特率baud和比特率bps严格说不是同一个东西但Modem语境下大家基本混着用不必过分纠结。Modem速率演进上V.32协议做到了9600bpsV.34做到了28.8K/33.6Kbps最后一代56K Modem用的是V.90/V.92。比参数更阴间的是流量控制。串口有硬件的RTS/CTS握手线也有软件的XON/XOFF控制字符。BBS传文件时如果终端软件里没把硬件流量控制打开Modem过来的数据流会瞬间把串口芯片里那点缓冲区灌满。当年主流是16550 UART芯片内置16字节FIFO听着就小得可怜。数据一多缓冲区溢出字节就这么丢了。表现就是ZMODEM传一个文件进度条走到80%突然报CRC错误然后从头再来。很多老用户折腾半天以为是电话线路问题最后发现只是终端软件里少勾了一个Hardware Flow Control选项。这条经验我现在都记得牢牢的凡是串口通信先看流控再看波特率。2.3 XMODEM到ZMODEM断点续传是怎么来的文件传输协议是拨号BBS的生命线。最早的XMODEM把文件切成128字节一块每块加校验和后来改进为CRC校验发一块等一块确认慢但稳定。到了YMODEM块大小提升到1024字节还支持一次传多个文件并且数据块里可以携带文件名、大小这些元信息用户体验提升很明显。真正把体验拉上一个大台阶的是ZMODEM同样出自Chuck Forsberg之手。它对拨号用户最友好的地方在于支持崩溃恢复线路断了、重拨上去输入接收命令它可以自动从断点接着传不用从头再来。在电话线经常被家人拿起、被雷电打断的年代这个功能简直是救命稻草。另外ZMODEM会把文件名和内容一起传接收端只要终端软件里开了自动接收文件直接就落盘了全程不需要手动确认。所以后来的Telnet BBS客户端比如NetTerm、Cterm都把ZMODEM设成默认传输方式这种默认安全的习惯一直延续到网页论坛时代。协议XMODEMYMODEMZMODEM块大小128字节1024字节动态分块批传文件不支持支持支持文件名传输不支持支持支持断点续传不支持不支持支持典型场景早期单文件传输批量传输拨号/半连接环境下的主力方案2.4 ANSI转义序列字符界面的图形引擎BBS绝对不是纯黑白的。终端上有一种叫ANSI转义序列的控制机制本质是以ESCASCII码27开头的一串控制字符。比如ESC[31m把前景色设为红色ESC[2J清屏ESC[1m开高亮。DOS时代靠ANSI.SYS驱动把这些序列翻译成屏幕动作BBS软件则把它们玩成了花彩色菜单、闪烁标题、字符拼图、动态进度条全是这些序列组合出来的。由此还长出一门独特的数字艺术——ANSI Art。艺术家们用彩色字符拼出精美的Logo、人物和风景一张图几百字节到几KB却能表现出强烈的视觉冲击。在带宽论Kbps的年代ANSI是性价比最高的图形方案传一个字符就能改变一整行颜色画一个完整菜单只要几百字节。后来虽然出现过更先进的RIP矢量图形协议但因为它要求专用客户端、兼容性太差最终没普及。ANSI才是真正跟BBS相伴一生的视觉语言今天在互联网上还能找到专门的ANSI Art档案馆很多作品的精细程度会让你怀疑这真的是用字符画出来的。3. FidoNet在没有互联网的年代如何异步互联3.1 存储转发与分级节点地址单机版BBS再热闹也只是一座孤岛。要想让不同城市、不同国家的BBS互通就得解决没有互联网怎么连的问题。1984年Tom Jennings写了一套FidoNet软件核心思路是各站点在约定时间互相拨号把打包好的信件传过去再由接收方继续往下游传。这个存储转发模型成功绕开了必须实时在线的约束。FidoNet给每个站点分配了严谨的层级式节点地址格式是区域:网络/节点有时还带.号后的站点数。举个例子1:103/705表示1区北美、103网、705号节点。整个地址体系分Zone区域、Net网络、Node节点、Point私人端点四层像一个分布式路由表。每个节点只需要知道自己上一级或下游节点的联系方式信件就能一级一级朝目标方向推进。国内当年的惠多网用的就是这套体系里的亚洲区地址。要注意这个区/网/节点的三段式编排本质上是一种扁平分布式的寻址方案和今天互联网的DNS那种中心化体系是完全不同的设计哲学。3.2 Netmail、Echomail与凌晨的自动拨号FidoNet里流通的信件分两类。一类叫Netmail点对点的私人信件有收件人、发件人、标题、正文格式上和后来的电子邮件很像但传输方式是彻底的异步你把信塞进本地出站队列软件等到预设时间通常是凌晨电话费便宜依次拨号给需要转信的相邻节点把信件打包送出去对方收到后也会在自己的营业时段拨给自己的下游节点……如此接力最终把信送到收件人所在的站。因为整个链路可能花上好几天信件通常会附带路径记录方便收件人追溯这封信到底走过了哪些节点。另一类叫Echomail可以理解成分布式讨论组。每个Echo会议有全局唯一的名称参与这个会议的站点会在每次拨号时收到其他站发布的所有新文章同时把自己站上用户写的新文章打包上传。最终的效果相当奇妙全网络每个参与该会议的站点都保有一份几乎一致的会议存档。这套机制和后来的Usenet、再后来的分布式社交协议在思想上完全同源——都是多副本复制代替中心服务器存储。对当时的人来说能在自己本地BBS上看全球几千人讨论同一个话题那种世界变小了的震撼不亚于今天第一次刷到海外视频。3.3 离线阅读器与批处理式社交想真正理解FidoNet一定要认识离线阅读这个模式。当时很多人用不起整晚连续拨号所以出现了Blue Wave、QWK等离线阅读器每天花几分钟拨号把本站在你上次访问后新增的信件打包下载到本地然后断开连接舒舒服服地慢慢读写好回信后再次拨号把回信批量上传。这整套流程里连接和阅读被彻底拆开社交被做成了批处理任务。这件事放到今天有点不可想象但它其实给后来的网络通信上了一堂很扎实的工程课当资源昂贵、链路不稳时贪心地追求实时在线是奢侈的把需求拆成离散的、可以等待的批任务系统的复杂度会急剧下降可靠性反而大幅提升。后来的电子邮件、博客订阅、卫星物联网上报很多方案都延续了这种延迟容忍网络的思路。所以每次有人说什么东西必须实时时我都会条件反射地想起FidoNet——实时不是唯一的答案有时候攒起来一起发才是性价比之王。4. 从Telnet到WebBBS的技术演进与转型4.1 Telnet BBS单线单用户到千人在线的跃迁90年代中期校园网普及后BBS找到了新的承载方式Telnet。Telnet是TCP/IP时代最早的远程终端协议之一RFC 854定义默认端口23核心逻辑很简单——建立连接后远端给你一个字符终端你敲什么它就传什么它输出什么你就看什么。这一步技术跃迁的关键意义在于BBS从一条电话线只能服务一个用户跳到了一台服务器可以同时支撑数百上千个Telnet连接。对老站长来说这是从门口排长队到大厅随便进的质变。国内高校BBS能在短短几年内聚集起几十万注册用户靠的就是这种并发能力。当然保底的手段也随之升级帖子要有索引、热门版面要能做排行、用户的在线状态要能实时查询这些需求反过来推动了BBS后端从简单文件向数据库缓存演进。终端客户端也跟着进化。初期大家就用系统自带的telnet命令行黑底白字功能简陋后来有了NetTerm这类增强终端国内开发者更是针对中文BBS的痛点写了Cterm、Fterm、STerm。这些增强客户端的价值在于自动识别简繁体内码、支持鼠标点击菜单、支持一边浏览一边后台传输文件。我记得当年配上Cterm用Telnet BBS翻页几乎零延迟体验比同时期的网页论坛流畅得多。4.2 网页论坛接棒双轨制到Web为主进入2000年代事情开始起变化。Web技术快速成熟phpBB、Discuz!、动网论坛这些网页论坛程序一波接一波出现用户不再需要记忆任何指令打开浏览器就能注册、发帖、传图。BBS的纯Telnet时代逐渐让位给了Telnet与Web并存再到后来Web成为绝对主力。很多老用户不承认这个转变但产品形态的进化从来不看情怀只看谁更能降低使用门槛。中国高校BBS的转型过程很有代表性。水木清华等老牌站点很长一段时间采取双轨制Telnet端保留经典菜单、快捷键、彩色终端界面Web端提供图形化页面。两边共享同一套帖子数据库后端逻辑完全复用只是暴露了两种不同的访问接口。今天用互联网的黑话讲这就是一套数据、多端渲染的早期样板。后来几乎所有老牌BBS都经历了类似的过程Telnet端慢慢关门Web端活下来的活成了现代论坛没活下来的只留下一串怀旧域名。4.3 BBS沉淀下来的技术惯例不管BBS作为产品如何退潮它沉淀下来的技术惯例几乎渗进了后来所有的网络应用。第一是内容组织模型版面板块- 主题帖子- 回复跟帖的三级结构至今仍是各大论坛、问答社区的基本骨架。第二是精华区制度把高质量内容抽出来长期保存的设计直接催生了后来的知识库和Wiki概念。第三是用户权限体系站长、副站长、版主、普通用户若干角色配合只读、禁言、隐身、匿名等状态这套基于角色的访问控制在后来的内容平台里依然是标配。还有一个往往被忽略的遗产是引用式回复。当你想反驳或回应某个具体楼层时把对方的话引用进自己的回复里这是BBS时代就形成的表达习惯。今天你在帖吧、微博、微信群聊里看到的引用原文再回复的格式源头就是这里。更不用说顶楼沙发潜水灌水挖坟这些动词——现在的网友天天在用但他们大概不知道这些词是在BBS的字符菜单时代被发明和定义的。5. 社区治理的早期形态站长、版主与网络礼仪5.1 站长的成本账与作息表拨号时代办一个BBS的成本账是笔实打实的开销。硬件要钱电话线要钱硬盘空间更是寸土寸金软件虽然很多有共享版但正式版多半要交注册费电费和维护时间更是无底洞。站长通常身兼数职白天上班或者上学晚上维护系统给新用户开账号、检查文件区、清理过期信件、做数据备份。在只有一条电话线的年代还有一个绕不开的经典难题——站长自己上网时其他用户永远拨不进来。于是很多站长养成了凌晨作业的习惯把自己的在线时间压缩到深夜两三点天亮再把站挂回自动应答。到了校园网Telnet时代站长在硬件上的压力减轻了但人力治理的压力上来了。版面一多全靠站长一个人管是不现实的于是版主制度应运而生。版主由站长任命对本版面拥有删帖、加精、整理精华区、限制违规账号发言等权限。这套站长管全局、版主管版面的授权体系优点是反应快、贴近用户缺点则是极度依赖版主个人的判断力和精力投入。一个靠谱的版主能把版面做成高质量的垂直社区一个不合格的版主也能用几次误操作把讨论热度彻底浇灭。社区治理从一开始就注定是人治和规则的混合体。5.2 版规、阶梯处罚与RFC 1855BBS社区在治理层面沉淀下来的经验比技术遗产更容易被低估。早期BBS上已经出现了相当细致的版规禁止人身攻击、禁止商业广告、禁止重复发帖、标题必须明确、转载必须署名。触犯规则后处理手段通常是一个阶梯警告 - 删帖 - 限制发文 - 封禁账号 - 注销账号。这套阶梯式的处罚机制后来被几乎所有互联网社区沿用甚至成了各类内容平台的社区公约模板。网络礼仪Netiquette也在这个时期正式成文。RFC 1855就是一份专门讨论网络礼仪的文档里面很多规则放到今天依然适用发帖前先看置顶的常见问题回复时引用必要内容即可不要全文引用不要全大写大喊大叫个人信息不要随意公开。最让我感慨的是BBS时代形成的潜水冒泡挖坟标题党这一整套行为黑话生命力强到不可思议——现在任何中文内容平台的评论区都还能看到这些词的影子只是使用者多半不知道它们的历史比自己的年龄还长。5.3 声誉机制与有边界的讨论空间最后想聊一个更宏观的东西BBS其实是少数节点集中式社交的原型。一个成功的BBS本质上是一个拥有明确边界、明确主题、明确管理者的数字社区。用户在里面积攒的头衔、发文数、精华数、声望值构成了一种可以感知的声誉资本。这种边界带来的稀缺感恰恰是今天算法推荐平台普遍缺少的——无限流的信息流里社区感被稀释得很淡而BBS时代那种就这一个站、就这么点人、ID背后是活生生的长期关系的亲密感和责任感已经成为一种稀缺资源。这也解释了为什么直到今天还有一批老BBS在坚持运行。它们不为争夺流量只是想守住一小块有边界的讨论空间。对做社区产品的人来说这可能是BBS留下的最值得琢磨的课题真正的社区感从来不是靠用户量和算法堆出来的而是靠边界、规则和长期关系熬出来的。6. 今天想体验BBS本地搭个怀旧站只需半小时6.1 选型Synchronet与Mystic BBS如果你看完前面这些历史想亲手摸一摸BBS的开关完全不用翻出土老古董硬件。当代开源社区把BBS软件维护得很好其中两个最值得推荐Synchronet和Mystic BBS。Synchronet的历史可以追溯到90年代至今仍在活跃更新功能非常完整菜单系统、消息区、文件区、门游戏Door Game、Telnet/SSH支持、网页界面都内置在Windows和Linux上都能跑。Mystic BBS则是后起之秀跨平台、配置界面友好默认就带一套漂亮的ANSI主题适合想快速开张、又不想马上陷入配置文件深坑的同学。对比维度SynchronetMystic BBS跨平台Windows/LinuxWindows/Linux/macOS配置方式配置文件管理菜单图形化配置向导内置Web服务支持支持ANSI主题生态丰富较丰富上手难度中等较容易我个人建议只是想体验一下首选Mystic想认真研究BBS软件的完整能力甚至可以搭出来给一批朋友用的选Synchronet。两个都是免费开源项目不用花钱。6.2 从零跑通安装、节点配置与客户端连接以Linux服务器上的Mystic BBS为例流程大概是这样的安装依赖并下载源码包解压后运行安装脚本指定安装目录。执行程序生成初始配置设置站名、Sysop站长账号、密码配置Telnet监听端口默认23非root用户可能需要改用2300之类的高端口。设置文件区和消息区的默认路径创建欢迎菜单和公告文本。启动服务在本地防火墙里放开对应端口。用终端客户端连接测试。Windows上推荐SyncTERM它内置了完整的ANSI支持对中文内码配合也比较好macOS/Linux终端直接就能做基本连接。如果是纯本地体验服务器地址填127.0.0.1即可要开放给朋友访问就在路由器上做端口映射或者放到云服务器上。这里有一个实操经验默认的Telnet是明文传输如果放到公网强烈建议同时开启SSH通道用SSH转发到BBS的Telnet端口或者干脆用软件自带的SSH监听。这既是为了安全也是很多现代BBS站的通行做法。6.3 一点点怀旧进阶玩法跑通之后你可以玩的东西其实不少。去下载一套自己喜欢的ANSI主题换上自己写几段欢迎词感受当年站长写公告的心情在消息区发一个话题看看用户视角下从登录到回复的完整链路是怎样的。更有意思的是把门游戏开起来。BBS时代有一批非常著名的文字门游戏比如TradeWars、LORDLegend of the Red Dragon本质上是在Telnet界面上运行的回合制多人游戏。用户拨号进来以后可以玩两把游戏成绩还会在站上排名。Mystic和Synchronet都有门游戏支持和现成的游戏包可以安装装上以后你就能理解为什么当年无数人为了刷游戏排名而熬夜占用电话线。搭好站之后其实能更直观地体会到BBS和现代互联网产品的差别。没有推送、没有算法、没有在线用户推荐一切都得靠用户主动走进来。你作为站长能做的只是把菜单做得好用一点、公告写得真诚一点、讨论氛围维护得好一点。这种平台方几乎做不了什么、但社区却可以活得很好的反差是BBS留给每个用心体验过它的人最深刻的一课。我个人的体会是历史和技术永远是在一起讲的先明白为什么会有Modem、为什么会有ZMODEM断点续传、为什么会有FidoNet的存储转发再回头看那些老BBS的界面和规则一切都合理得像教科书。如果你也动心不妨就从今天开始花半小时搭一个自己的怀旧站亲手拨一次现代的电话线。
返回列表