
当年从电话线上网那会儿满脑子都是“下行速率、上行速率、衰减、噪声余量”这些词。ADSL这名字里就写着“非对称”三个字翻译成大白话就是下载能飙到好几十兆在当时上传却可怜巴巴地只有一两兆。当时很多人不理解觉得运营商坑人凭什么下载快上传慢但真正经历过拨号上网、ISDN、ADSL这一路走过来的人多半知道这不是单纯限速而是技术路线上一套非常刻意的设计。这篇文章就从一个一线装维和排障人员的角度把ADSL非对称速率设计这件事从头到尾拆一遍讲清楚它为什么存在、靠什么实现、实际安装调试时要去关注哪些参数以及后来我们又是怎么一步步从非对称走向光纤的。1. 为什么ADSL偏偏要设计成“下行快、上行慢”1.1 从用户行为看不对称的需求催生不对称的速率很多年以前普通家庭用户接入互联网做的事基本上可以用“看”和“拿”两个字概括。看网页、看图片、看视频都是在消费远端的数据数据流是往用户家里跑的下载软件、下载游戏、下载音乐同样是服务器往本地传。反而是上传的需求无非就是发封邮件、上传个小附件、玩个网页游戏数据量很少。我记得当年做个小调查一个典型家庭用户一天的网络流量里下行通常占到90%以上上行连10%都不到。如果把带宽设计成上下行对等比如下行2Mbps、上行2Mbps那对用户来说上行那一大块带宽是完全闲置的却要占用宝贵的频谱资源和设备成本。运营商不是做慈善当然希望用有限的线路能力提供最大程度满足用户感知的产品。于是非对称就成了最优解把好钢全部用在刀刃上优先保证下行体验。这和我们平时做带宽规划时的逻辑一模一样。做网络规划不能只盯着“理论值”要看实际流量模型。如果某个园区上网行为95%是流媒体和文件下载那出口带宽就按下行需求配如果是个视频上行动辄几十G的直播工作室那就要把上行带宽放在第一位。ADSL当年的非对称设计本质上就是“按需分配”思想的硬件级实现。1.2 电话线是物理约束高频衰减逼迫设计妥协ADSL跑的是传统电话双绞线这种线最初是为了传输语音设计的频率范围很窄从300Hz到3400Hz就够打电话了。但DSL技术把频率上限一路推高到1.1MHz甚至更高就为了在铜线上挤出宽带。问题在于双绞线对高频信号的衰减非常严重。频率越高传输距离越短信号衰减越大。如果上下行使用相同频段不现实因为回波抵消技术在当时成本过高更合理的办法是频分复用把频率切开一部分给上行一部分给下行。当时ITU制定ADSL标准时把上行频段放在低频端一般从25kHz到138kHz左右把下行频段放在高频端从138kHz一直到1.1MHz不同标准略有差异。低频段频率低每子信道本身的带宽窄而且为了避开传统POTS语音频段上行能用的子信道数量也少高频段虽然衰减大但可用的频率范围宽子信道数量多叠加起来以后下行能承载的数据量就远大于上行。从信道容量角度看香农公式定死了上限C B * log2(1 SNR)。下行能用更宽的频段B所以容量天然就大。这也是为什么ADSL普遍能做到下行8Mbps甚至24MbpsADSL2上行却长期徘徊在512kbps到1Mbps。不是不想给是物理条件就摆在那里。1.3 一个本末倒置的问题上行带宽到底被谁吃掉了很多人以为ADSL上行只有那点速率会导致上传文件特别慢事实确实如此。但还有一个容易被忽略的点TCP协议本身对上行也有依赖。浏览网页时操作者要发送HTTP请求、TCP ACK确认这些上行的确认包虽然单个个头小但数量非常密集。如果上行带宽被大流量上传占满TCP的ACK就没地方走了结果就是下行流量也跟着卡顿。我在调试ADSL链路时经常遇到一个现象用户说“网速慢”测出来下行只有标称的一半但上行速率明明没占多少。仔细看才发现是某台电脑在后台挂着P2P上传把上行带宽塞满了。TCP的ACK丢失后发送端会启动拥塞控制把下行窗口压得很低。所以别以为上行只有1Mbps不重要它是整个TCP连接顺利完成闭环的命脉。这也是非对称设计带来的一个长期存在的坑上行过小会反过来拖累下行的感知速率。2. 非对称设计背后的技术原理拆解2.1 频分复用与DMT调制把一条电话线切成256个小水管ADSL采用的调制技术叫DMT离散多音频调制。它把电话线能用的频谱从几十kHz一直延伸到1.1MHz分割成一个个独立的子信道每个子信道宽度约4.3125kHz。这些子信道合起来数量通常在256个左右不同模式、不同标准略有差异。每个子信道相当于一条独立的小传输水管可以独立选择调制阶数。信噪比高的子信道用256QAM甚至1024QAM来调制一个符号可以携带8个甚至10个比特信噪比差的子信道就退到QPSK甚至干脆不传数据。这样做的最大好处是线路质量好不好系统会自适应。如果某段频率恰好受到强烈的无线电干扰系统直接把那一段子信道关闭其他子信道继续工作整条ADSL链路不会完全瘫痪。这也是为什么两个用户离局端同样远但速率天差地别因为各自的入户线质量不同噪声环境不同DMT的装载结果完全不同。我在看ADSL猫的状态页时最喜欢盯的就是每个子信道的bit loading情况有些设备叫SNR per tone。如果你看到的速率不理想多半是某几个高频子信道SNR太差系统自动把它们降比特甚至关掉了。2.2 上下行子信道的分配比例与速率计算一个很常见的误解是ADSL把所有256个子信道等分成上行一半、下行一半。实际情况并非如此。为了照顾语音信号的频率位置ADSL把上行频段放在很窄的低频区域常见配置是占用约32个子信道而下行可以用到从138kHz左右到1.1MHz的宽频区域占用200多个子信道。可以粗略算一下。假设每个下行子信道在理想情况下平均承载4比特/符号考虑到实际噪声通常会降低符号速率约为4000波特那么一个子信道的速率就是4 * 4000 16kbps200个子信道就是3.2Mbps左右。如果线路条件很好调制阶数提高到8比特/符号速率就能翻倍到6.4Mbps。ADSL2又把频谱扩展到2.2MHz下行子信道数量增多所以能到24Mbps。而上行因为频段窄就算每个子信道带宽利用率不错总速率也常常只有下行的一半到四分之一。这就是非对称的量化来源。当然这是“净数据速率”之前的原始承载能力。实际的ADSL帧还要扣除不少开销比如前向纠错、循环前缀、ATM封装等。所以你在Modem状态页里看到的“下行速率”往往比链路速率要低一些。曾经有同行问为什么ADSL2标称24Mbps实际上最快只能跑到20Mbps出头原因就在这些协议开销上。2.3 线路衰减、噪声裕量与可达速率的“铁三角”ADSL链路一旦同步状态页里一定会出现三个数字下行速率、线路衰减Attenuation、噪声裕量SNR Margin。这三个参数决定了一条ADSL链路“能不能稳、能跑多快”。线路衰减指信号从局端走到用户设备后衰减了多少分贝。数值越大说明线路越长或者质量越差到达用户端的信号就越弱。噪声裕量指当前信噪比比“最低可用门限”高了多少单位是dB。一般要求在6dB以上才算稳定低于6dB就非常容易掉线。反过来如果噪声裕量过高比如长期维持在30dB以上说明线路质量很好正常情况下可以想办法提升速率。我在调试时有个土办法如果用户报“容易掉线”看SNR Margin要是掉到3dB以下基本不用问别的先查线路和分离器。如果用户报“速率不达标”先看线路衰减如果大于50dB那大概率是距离局端太远ADSL的物理极限摆在那换什么猫都没用。这三个参数是互动关系不是你调高调制就能改善的它受线路物理状况制约只能老老实实优化线路。2.4 ATM封装开销为什么实际速率总是低于标称ADSL在传统ATM网络上跑的时候数据需要封装成ATM信元。每个ATM信元固定53字节其中48字节是负载5字节是信元头。而IP包在ATM上传输之前还需要加上PPP、AAL5等封装标签。所以一个TCP/IP数据包从服务器传过来去掉以太网帧头、PPP头、AAL5尾部填充真正能装进用户数据的时间还要再打折。举个例子纯ATM封装的理论上限效率约是48/53也就是90.6%左右。如果再算上AAL5层对原始数据的分段和填充实际效率可能到85%上下。这就是为什么一条标称下行8192kbps的ADSL线路测速软件跑出来最多也就是7000kbps出头。不是运营商克扣你是协议固有的开销。线路越好、速率越高这种百分比损耗越明显。后来ADSL2开始逐步弱化ATM而支持PTMPacket Transfer Mode包传输模式用以太网封装直接跑DSL帧开销比ATM小很多实际速率和使用体验都有提升。所以如果你淘到一台比较新的ADSL2猫看到模式里同时支持ATM和PTM优先选PTM速率会更接近真实物理带宽。3. 从“非对称”到真正用起来设备安装与参数实操3.1 认识ADSL链路里的三个角色Modem、分离器、DSLAMADSL链路虽然是点到点的但从用户家里到运营商局端中间要经过一堆设备。最核心的三个角色是用户端ADSL Modem、入户线入口的分离器以及局端侧的DSLAM数字用户线接入复用器。ADSL Modem负责调制解调把电脑的以太网数据变成能在电话线上传输的高频模拟信号。分离器负责把语音信号和数字信号分开。因为语音和ADSL数据在同一条电话线上传输如果不分离接打电话时的振铃和摘挂机脉冲会直接干扰数据调制甚至让ADSL链路瞬间断线。DSLAM是局端设备一端连接大量用户的电话线另一端把DSL链路汇聚到宽带接入网。你ADSL猫里的所有线路参数都是和DSLAM对应端口协商出来的结果。实操中很多非对称速率不达标的故障根源根本不在Modem或DSLAM而在那一个小小的分离器。分离器内部是一个低通滤波器加一个高通滤波器低通口接电话机高通口接Modem。如果分机太多、接错口或者干脆没有装分离器高频数据信号会被电话机旁路掉高频子信道的SNR瞬间变差下行的最高速率就会掉下来。ADSL本来下行就依赖高频段频段一被破坏非对称优势就被砍掉一大半。3.2 分离器接线顺序和“绝对不许”做的事分离器怎么接才算标准入户电话线进来先进分离器的LINE口。分离器的PHONE口接所有电话机、传真机、防盗报警设备。分离器的MODEM口接ADSL Modem的电话线口。Modem的以太网口再接路由器或电脑。这个顺序一个都不能乱。我见过最典型的错误是把电话机和Modem并接在同一个接线盒里根本没经过分离器。结果一打电话ADSL链路直接掉线挂断之后要等十几秒重新协商体验极差。还有些人把分离器装在电话分线器之后等于电话机还是和ADSL信号在一条线上并行等于没装。正确做法是所有入户线必须经过分离器后再分支不能有两个入口。还有一个经常被忽略的点分离器PHONE口之后到电话机之间的线尽量短尽量不要再用分线器接多台电话机。因为每多接一台设备就等于在电话线上多了一条“泄漏通道”高频损耗就会增大。我以前上门调试时就遇到过表面上看线路衰减不算大但下行速率就是上不去最后把三台电话分机拆掉两台速率立刻恢复。很多所谓“线路质量差”其实是自己家里的结构问题。3.3 Modem的两个核心参数VPI/VCI和封装模式当年ADSL上网需要运营商提供一组参数VPI虚路径标识符、VCI虚通道标识符以及封装模式。不同地区、不同运营商参数可能不同。最常见的配置是VPI0、VCI35或者VPI8、VCI35封装模式有LLC/SNAP和VC Mux两种。如果这些参数填错了Modem虽然能和DSLAM建立物理层同步但无法建立ATM层的PVC连接表现出来就是“DSL灯常亮但是电脑拨号一直报678/691错误”或者“链路已同步但无法上网”。我在实际工作中养成了一个习惯先把Modem拿到一个已知能上网的线路测试确认Modem本身没坏再去查PVC参数。特别是有些自己买的老猫固件里默认参数和本地运营商不匹配就需要手工改。另外大部分ADSL Modem默认是桥接模式也就是手机壳带拨号的那种需要电脑或路由器来发起PPPoE拨号。如果把Modem设置成路由模式让Modem自己拨号那么后续其他设备只要DHCP获取IP就行。两种方式没有绝对好坏但我个人倾向于桥接模式因为拨号这件事交给独立路由器更稳Modem的CPU性能和并发能力都很弱路由模式在多设备场景下容易导致延迟飙升。3.4 用状态页读懂线路参数一行一行地看ADSL Modem一般都有一个状态页里面藏着大量信息。与其猜来猜去不如直接学会读状态页。DSL状态显示UP或DOWN。UP表示物理链路同步成功DOWN说明没有和DSLAM握手成功。下行速率/上行速率当前协商出来的速率。注意这是物理层速率不是净速率。线路衰减分成下行衰减和上行衰减。通常下行衰减比上行大因为下行信号经过更长距离和更多串扰。大于45dB就需要警惕了。噪声裕量同样是上下行分开显示。下行噪声裕量如果低于6dB线路极不稳定。CRC错误计数纠错前检测到的错误帧数量。如果这个数字持续快速增长说明存在突发干扰常见的干扰源包括电源适配器、手机充电器、电梯电机、甚至邻居家的电器。我记得有一次用户反映每到晚上七点左右就掉线白天好好的。我看状态页SNR Margin从9dB一路狂跌到2dB频率刚好是某个广播电台附近。最后还是靠换一根质量好的双绞线、把Modem挪远一点避开干扰源才解决。ADSL调试就是这样参数页是给数据说话的地方读懂了排查思路就清晰了。4. 排障实录影响上下行速率的那些坑4.1 常见故障速查表先对号入座当年我做ADSL排障时习惯先做一轮“对号入座”把用户描述和链路状态对应起来能省不少时间。现象通常原因排查方向DSL灯不亮完全无法同步线路断、分离器接错、Modem故障分离器接线、换Modem测试、拨打客服测试线路DSL灯能亮但拨号报错VPI/VCI错误、账号密码错误、宽带欠费核对PVC参数、确认账号状态下行速率低衰减过大距离局端过远、入户线质量差查看线路衰减、让运营商检查外线下行速率尚可但不稳定噪声裕量太低排查干扰源、换Modem、换电源上行速率异常低上行频段受干扰、分离器失效、Modem收到语音脉冲干扰检查每个电话分机的接线换分离器打电话时掉线电话机没有接在分离器PHONE口后面重新布置家庭电话布线这张表不是万能药但至少能帮你把“故障断在哪个层次”分清楚。ADSL链路本身的问题和上层拨号的问题往往是两码事。物理链路不同步再怎么调VPI/VCI也没用。反过来链路显示UP却上不了网多半是上层协议问题。4.2 入户线质量非对称速率最大的隐形杀手ADSL跑在铜线上入户线那段“最后一公里”往往是最薄弱的环节。老房子里常见的入户线有几种铁芯线、平行线、双绞线。铁芯线和平行线对高频信号的衰减远大于双绞线。我甚至在用户家里见过用普通花线接宽带的那种线能同步就不错了速率简直没法看。为什么强调入户线对ADSL的非对称速率影响特别大因为下行信号恰恰工作在高频段高频在劣质线路上的衰减远低于低频。上行频率低衰减稍微小一点结果就是你可能看到上行速率和标称差不多但下行速率缩水一半以上。这就是非对称设计的副作用——它对线路高频质量要求特别高而高频特性在入户线这样难换的地方最容易被牺牲。处理办法通常是换一段高质量的2对或4对双绞线。当时没有条件的话至少把Modem尽量靠近电话线入口缩短劣质入户段的长度。很多故障只要把猫从书房移到客厅入口速率立刻明显提升因为那段穿过墙的平走线被绕开了。看似简单却是当年装维师傅们最常用的一招。4.3 下行速率达不达标怎么测才准测ADSL下行速率最忌讳的就是单线程去测。很多用户用网页测速实际下载文件受对方服务器带宽限制往往跑不满。更标准的做法是在Modem桥接、路由器拨号、电脑有线直连的条件下用多线程下载工具拉运营商提供的FTP大文件看瞬时速率。测速时还有一个要命的细节ADSL的下行速率初协商时可能因为外界干扰较大而自动降低了。可是干扰是波动的凌晨线路干净的时候Modem重新协商还能达到更高速率。所以在确保链路稳定的前提下可以把Modem重启看协商速率是否会变化。同一台Modem白天只有6Mbps凌晨却能到8Mbps的情况我见过不下十次。另外正如前面提到的ATM封装开销是硬性的。如果你看Modem状态页里下行速率显示是8128kbps那用测速软件能跑到7000kbps左右就算非常正常。别拿电缆猫和光纤测速的“几乎满速”预期来套ADSL那样只会徒增焦虑。4.4 一个容易忽略的干扰源电话分机和振铃脉冲当年去现场排障十次里有三次问题出在电话分机上。ADSL和PSTN共用一根线分离器把语音和数字信号分开但只要分离器之后的电话线路出现异常振铃、脉冲干扰就会瞬间冲击数据信道。最经典的现象是Modem状态一直很好但“叮铃铃”电话一响DSL立刻重同步。原因多半是某些老式电话机或者防盗报警控制器没有经过分离器直接并接在入户线上振铃时的高压脉冲直接窜进了ADSL数据频段。这个干扰对上行频段尤其致命因为上行频段正好在语音频段的紧邻上方脉冲干扰的能量非常容易泄漏进去。处理方式不复杂全屋电话设备一台一台排查找到哪台不是接在分离器PHONE口后面的重新接好。同时可以在电话机端口上并一只1000V左右的压敏电阻吸收振铃脉冲但这些是后话。普通家庭首先要做到的还是把分离器管住所有话机。很多人为了少装一台分离器让Modem和电话并联结果就是上行速率奇低、一打电话就掉线。这正是“省小钱坏大事”。5. 非对称速率设计到今天启示与运维思路的转变5.1 从ADSL到VDSL再到FTTH非对称并没有消失ADSL2之后VDSL2一度把铜线速率推到上下行合计百兆它仍然是非对称设计不过通过多绑定、更高频段扩展把上行也拉到了一个可用的水平。真正终结ADSL的是光纤到户。光纤本身带宽巨大上下行对称不再是奢望运营商才开始提供对等宽带。有意思的是现在很多面向家庭的套餐又开始“非对称”了。比如某类型千兆宽带下行1000Mbps上行只有30Mbps。为什么又变得非对称核心原因和ADSL时代一模一样家庭用户的上行流量确实不大。只不过这次不是因为物理约束而是商业套餐设计上的取舍。运营商把上行速率当作区分档次的筹码这也说明非对称设计的逻辑在商业上始终有效。我不能说这完全是坏事但必须提醒自己上传需求正在快速增长。视频会议、云备份、家庭NAS远程访问、UGC内容上传都在消耗上行带宽。如果哪天用户发现上行不够用了会重新推动“对称”的普及。历史的钟摆就是这样物理条件决定设计取舍用户需求再决定商业形态。5.2 运维老经验非对称链路的性能验证不能只看下行早年做ADSL项目运营商考核指标就盯着“下行速率达标率”上行只要不低于某个极低值就算合格。这种考核方式养出了一个毛病装维人员对上行关注极少导致不少用户的实际上行速率非常糟糕却没人管。如今哪怕在光纤和PON网络里这条教训依然适用。验收一条宽带至少要测试四个维度下行峰值、上行峰值、时延抖动、丢包率。只顾下行、不管上行等于默认放弃了那些对上传敏感的应用。ADSL时代我就吃过亏一条线路下行测速非常漂亮但用户是做视频上传的上行一高就丢包视频卡成PPT。后来才养成习惯所有线路验收必须双向测速这是ADSL非对称设计给我留下的最深刻职业习惯。5.3 最后一个建议保留一台能读线路参数的“老兵”作为过来人有个小小的建议如果你手里还有一台支持ADSL2的老Modem并且它既有桥接模式又有完整的状态页显示哪怕现在不常用了也别急着扔。很多家庭网络问题需要使用线路状态页来判断比如你怀疑家用电话线路质量下降一台可以检测链路协商速度、噪声裕量、衰减的设备远比网线测试仪直观。我自己现在还留着一台某老型号ADSL猫专门用来测试传统双绞线的质量。不是因为它技术先进而是因为它能够在几十秒之内告诉你这条线能不能承载高速数据、高频衰减有多严重。这些经验放到今天抢修光纤宽带也是一样管用的物理层的细节永远是网络体验的底座。别看ADSL已经退役它教给我们的“非对称设计如何与线路物理特性耦合”这件事放在任何接入网技术里都不会过时。