尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

从PSTN到PPP:广域网技术原理与配置实践

从PSTN到PPP:广域网技术原理与配置实践 简介第五章广域网技术及协议介绍PPT课件是面向计算机网络课程学习者、教师及备考人员的系统教学资料重点解决广域网概念梳理、典型组网技术与协议理解的问题。课件先讲解广域网定义、组成、层次模型与通信服务类型再逐类分析公共交换电话网PSTN、综合业务数字网ISDN、数字数据网DDN、分组交换网X.25与帧中继网等典型广域网技术并补充PPP及PAP验证等实践要点便于按章节开展教学或自学。资源压缩包共1个文件为约1.12MB的PPT课件结构围绕理论到实践展开适合课堂演示、课后复习和考前冲刺使用。目前已有99人浏览学习内容覆盖广域网接入方式与协议细节可帮助学习者快速建立广域网整体框架理解各技术适用场景与特点。1. 广域网和局域网的分界线不是网线长度距离一旦拉大到几十公里以上局域网那套以以太网为基础的协议体系就不怎么管用了。跨城市组网时运营商能提供给用户的是电话线、E1专线、分组交换网络数据链路层协议从以太网协议换成了HDLC、PPP、帧中继这些名字。把广域网单独拆成一章来讲核心其实是三件事广域网在OSI模型中到底管到哪一层、PSTN/ISDN/DDN/X.25/帧中继这几种典型技术各自解决了什么问题、以及最后落到实验里的PPP的PAP认证怎么配。这套第五章广域网技术及协议介绍PPT的素材组织方式适合两类人一类是准备网络基础考试、需要把各种WAN技术的原理和选型一次理清的学生另一类是工作里经常要和运营商专线打交道需要判断一条链路底层走的是什么承载的工程师。2. PSTN与ISDN电路交换路线上的两代产品电路交换的特征是“先拨号建立连接通信过程独占信道结束后拆线”。公共交换电话网PSTN和综合业务数字网ISDN是这条路线上的两个典型样本把它们放在一起看能很清楚地看到广域网协议迭代的逻辑从模拟信道里勉强传数据到全数字信道、信令和数据分离每一步改进都在解决上一代的明确痛点。2.1 PSTN拨号用模拟信道扛数字数据PSTN本来是为语音设计的用户环路是模拟传输。计算机要发送数字信号必须经过MODEM进行调制解调把数字信号变成适合在电话线上传输的模拟信号。数据通信时收发双方速率必须一致最高不超过56kb/s。这里有一个经常被追问的点为什么上限是56k因为电话网经过PCM编码后每秒采样8000次、每次8bit减掉线路编码和同步开销再经A律/μ律压扩之后信息速率上限就是56kb/s。在Linux环境中用pppd配合chat脚本是可以完整复现PSTN拨号过程的。下面是一份典型的配置# /etc/ppp/peers/dialup linkname pstn-dial serial-device /dev/ttyS0 speed 115200 crtscts modem lock noauth connect /usr/sbin/chat -v -f /etc/ppp/peers/chat-dial# /etc/ppp/peers/chat-dial ABORT NO CARRIER ABORT NO DIALTONE ATZ OK ATDT16300 CONNECT 配置里ATZ是复位MODEMATDT16300是拨打16300这个接入号检测到CONNECT后pppd接管链路协商。crtscts启用硬件流控speed 115200是串口速率而不是线路速率实际线路速率仍然取决于MODEM协商结果。这套脚本在今天几乎用不上了但它把电路交换最核心的“拨号-连接-独占-拆线”流程完整地暴露了出来。提示PSTN链路本身没有任何差错控制机制误码直接透传。这决定了它只能承载对时延不敏感、且自带重传的应用早期网页浏览和邮件收发勉为其难要传文件就只能靠上层协议反复重传。2.2 ISDN把信令抽到独立的D信道N-ISDN常说的“一线通”解决的是PSTN的两个核心问题。第一是全数字传输用户环路不再需要MODEM端到端都是数字信号第二是信令和数据分离ISDN定义了B信道和D信道两类信道B信道是64kb/s的数字信道专用于传输用户数据D信道是16kb/s的数字信道只传信令。这种带外信令机制让拨号连接速度远快于PSTN的调制解调协商过程。电信公司通常把多个信道组合成数字管道提供给用户。标准组合方式有两种基本速率接口BRI是2BD总带宽约144kb/s面向小型办公室和个人用户主速率接口PRI是30BD欧洲标准或23BD北美标准总带宽约2.048Mb/s面向企业用户。在B信道上可以建立电路交换、半永久电路租用专线、分组交换接入X.25网、以及通过ISDN接入帧中继网络这四种类型的连接通过D信道的呼叫控制协议完成B信道的建立与释放。在模拟器里配置BRI接口时典型的命令序列是这样的interface bri0 isdn switch-type basic-net3 isdn spid1 0101234567801 encapsulation ppp dialer map ip 192.168.1.1 name remote 12345678 dialer-group 1 ppp authentication chapisdn switch-type必须在D信道协议之前配置国内实验室常用basic-net3欧洲标准isdn spid1是本地号码标识北美运营商需要欧洲环境可忽略dialer map把对端IP映射到对方电话号码当有流量匹配dialer-group 1定义的感兴趣流量时自动拨号。注意ISDN虽然可以支持最多8个设备挂在一个NT1上但同时只能有3个通信这是D信道呼叫控制能力决定的。2.3 电路交换为什么被专线和分组交换替代从PSTN到ISDN电路交换的体验有改善但本质问题没有变拨号过程需要连接时间连接期间信道被独占即便没有数据传输也在计费。ISDN的呼叫建立时间虽然从PSTN的十几秒缩短到几秒但在“始终在线”的企业组网需求面前仍然显得笨重。D信道带外信令的设计后来被回拨和VoIP的SIP信令继承但电路交换本身在承载突发性数据流量时效率太低这为DDN专线和分组交换路线留出了空间。3. DDN专线与X.25、帧中继两种完全不同路线拨号上网适合临时使用企业之间需要的是长期在线的连接。数字数据网DDN走的是租用专线路线X.25和帧中继走的是分组交换路线。DDN不涉及交换给用户的是一条永久的数字信道X.25和帧中继则是在共享的运营商网络里用虚电路把用户逻辑上隔离开。3.1 DDN一条管道DSU/CSU负责把数据放进E1帧DDN的核心特点是利用数字信道传输数据信号主干网传输媒介有光纤、数字微波、卫星信道用户端多为普通电缆和双绞线。与模拟信道相比DDN没有调制解调过程所以传输质量高、时延小曾经被称为中高速信息国道。DDN模型里最容易被忽略的是DSU/CSU数据服务单元/信道服务单元它在用户路由器和运营商E1线路之间承担两个功能一是把用户数据转换成适合在E1电路上传输的帧结构二是从E1信号中提取同步时钟送给路由器作为发送和接收时钟。E1的帧结构是每帧32个时隙每个时隙64kb/s总带宽2.048Mb/s其中时隙0用于帧同步时隙16用于信令用户可用30个时隙。在实验室环境里模拟DDN专线连接时路由器串口之间的处理方式是这样的interface serial0/0 ip address 192.168.10.1 255.255.255.252 clock rate 2048000 dce-terminal-timing-enableclock rate只在DCE端配置用模拟器做背靠背直连时DCE一端必须提供时钟频率实际接DSU/CSU时路由器作为DTE时钟由DSU/CSU从E1线路恢复后经V.35线缆送过来这时不能再配置clock rate否则时钟源冲突会导致链路报interface is down。这里有个判断技巧show controllers serial0/0里能看到cable type是DCE还是DTEDCE才需要配时钟。3.2 X.25把差错控制做进网络每一跳X.25是上世纪七八十年代的产品当时传输线路误码率高所以它的设计哲学是网络层和数据链路层都要负责可靠传输。X.25的数据链路层使用LAPB协议每一跳节点收到数据帧后都要返回确认发送方收不到确认就重传。这种逐跳确认机制保证了可靠性也带来了极大的时延和吞吐量开销。分组交换网上的每一条虚电路都支持流量控制和差错恢复网络节点自身具备存储转发能力。这样做的代价是节点设备复杂、传输效率低。X.25的典型速率只有64kb/s在今天看来几乎不可用但它定义了虚电路的概念——后来的帧中继、ATM、MPLS都沿用了虚电路思想只是把“可靠传输”的责任一步步外移。3.3 帧中继节点只做检错纠错交给用户帧中继是对X.25的简化。X.25在每一跳都做确认和重传帧中继认为现代光纤线路误码率足够低网络节点只做检错发现坏帧直接丢弃恢复工作交给用户侧协议比如TCP完成。帧中继的虚电路由DLCI标识多条虚电路可以复用在一条物理链路上这使它比DDN的专线模式利用率高得多。帧中继接口配置里有一个容易踩坑的地方interface serial1/0 encapsulation frame-relay frame-relay lmi-type cisco ! interface serial1/0.102 point-to-point ip address 10.0.1.1 255.255.255.252 frame-relay interface-dlci 102LMI类型必须和运营商交换机匹配思科默认是cisco运营商常用ansi或q933a不匹配时PVC会处于inactive状态用show frame-relay pvc能看出状态差异。frame-relay interface-dlci是在子接口上绑定DLCI号但记住绝不能在这个子接口下配ip address的同时又在物理口配IP那会造成路由表混乱。对比项DDNX.25帧中继交换方式无纯专线分组交换分组交换差错处理透传逐跳确认重传只检错不重传时延低且稳定高较低典型速率2.048Mb/sE164kb/s2Mb/s及以上虚电路无SVC/PVCPVC适合场景实时性高的点到点误码率高的旧线路突发性数据流量4. PPP协议与PAP认证从原理到抓包实测广域网数据链路层协议不止有HDLC、帧中继和PPP但PPP是唯一一个既能跑在专线串口上、又能跑在PSTN/ISDN拨号链路上的通用协议。它的框架设计非常干净链路建立、认证、网络层协议协商三个阶段分别由LCP、认证协议和NCP完成这种分层方式后来影响了很多协议的设计。下面用一台实际可操作的路由器配置展开。4.1 PPP三阶段LCP协商、可选认证、NCP配置PPP建立链路的过程分三步。LCP链路控制协议先协商链路参数包括MRU最大接收单元、认证协议、魔术字等。若配置了认证则进入认证阶段PAP或CHAP验证对方身份。最后NCP网络控制协议负责配置网络层协议参数比如IPCP协商IP地址和DNS。如果LCP协商失败链路会反复处于Link establishment阶段最典型的症状是接口状态显示Serial0/0 is up, line protocol is down。常见原因包括两端MRU不一致、认证协议类型不匹配或者对端根本没启用PPP封装。4.2 在路由器上配置PAP双向认证PAP的机制是发起方把用户名和密码以明文形式发过去对端在本地用户名数据库中查表验证。在两台思科路由器之间做双向PAP认证的完整配置如下R1(config)# username r2 password cisco456 R1(config)# interface serial0/0 R1(config-if)# encapsulation ppp R1(config-if)# ppp authentication pap R1(config-if)# ppp pap sent-username r1 password cisco123R2(config)# username r1 password cisco123 R2(config)# interface serial0/0 R2(config-if)# encapsulation ppp R2(config-if)# ppp authentication pap R2(config-if)# ppp pap sent-username r2 password cisco456这里最容易犯的错误是只配了ppp authentication pap却忘记配置ppp pap sent-username。结果是本端要求对方认证自己但自己发不出PAP报文链路卡在认证阶段line protocol一直起不来。另一个容易错的地方是密码没有在两端形成交叉对应R1用username r2 password cisco456验证R2要求R2发出的sent-username r2密码必须是cisco456反过来R2用username r1 password cisco123验证R1。如果只配置单向认证那没配认证的一端不需要任何用户名条目但主动发验证请求的一端必须有对端用户条目。提示PAP的用户名和密码在链路里全部明文传输抓包可直接看到密码字段。真实环境很少用PAP而是用CHAP挑战握手密码不在线路上传递。教学实验选PAP的优势正是报文结构直接可读。4.3 用tcpdump抓取PAP报文验证链路起来后在路由器的串口侧做镜像抓包能看到完整的PAP交互过程。重点看三个包Authenticate-Request、Authenticate-Ack、Authenticate-Nak。tcpdump -i eth1 -s 0 -vv -XX tcp port 2222这是旁路抓包场景的通用命令如果是在串口链路上通常需要把流量引导到某个以太网口再镜像。PAP报文本身在PPP协议字段中Wireshark里展开Link Control Protocol之后能看到Peer ID和Password字段密码以可见ASCII形式存放。正常流程是对端收到Authenticate-Request后返回Authenticate-Ack链路进入NCP阶段随后IPCP开始协商地址。如果密码错误返回Authenticate-Nak链路在短暂keepalive后关闭。4.4 认证失败时看什么链路起不来时先看show interface serial0/0确认封装确实是PPP而不是默认的HDLC。再用debug ppp authentication实时查看认证过程。现象可能原因检查项line protocol down对端封装类型不是PPPshow interface确认两端encapsulation pppLCP反复重置MRU或魔术字协商失败debug ppp negotiation看LCP REQ被拒原因Authenticate-Nak用户名或密码错误show running-config逐条核对用户名密码交叉对应认证不弹出直接跳NCP对端没有配置认证本端不该配ppp authentication或对端漏配同样命令实验做完建议执行undebug all关闭调试输出否则CPU会被debug日志持续占用这在低端路由器上可能导致串口中断。5. 从时延抖动反推广域网链路类型前面讲的PSTN、ISDN、DDN、帧中继在今天大部分已经退网或演进为运营商以太网专线但判定链路真实承载类型的思路没有变专线时延平稳共享网络时延有规律性抖动。5.1 两种链路在时延上的行为差异DDN这类租用专线是独享带宽的RTT几乎恒定即使在高峰时段时延波动也很小。帧中继、X.25这类分组交换网络在自身拥塞时会出现明显的时延抖动丢包率先从帧中继的BECN标记开始增长。到了今天运营商给你的“点对点专线”可能实际承载在共享的IP RAN或MPLS网络上仅凭日常ping很难分辨。办法是连续大量探测RTT量化抖动特征。5.2 用脚本量化RTT抖动用一段简短脚本连续ping 100次并计算统计量import subprocess, re, statistics target 203.0.113.1 rtts [] for i in range(100): out subprocess.run( [ping, -n, 1, -w, 1000, target], capture_outputTrue, textTrue ).stdout m re.search(r(?:时间[]|time)(\d)\s*ms, out) if m: rtts.append(int(m.group(1))) if rtts: print(count%d avg%.2f ms stdev%.2f ms % ( len(rtts), statistics.mean(rtts), statistics.pstdev(rtts)))-w 1000表示超时1秒统计方差用总体标准差pstdev便于比较不同时段的数据。注意Windows系统ping中文输出用“时间”英文环境用“time”正则里两个分支都要写。如果平均时延10ms但方差经常超过5ms链路大概率是共享承载方差持续在1ms以内才比较接近真专线的行为特征。5.3 不同时段对照测试分别在业务高峰和非高峰时段各跑一次脚本把两次的avg和stdev做对比。共享型链路在高峰期的stdev往往能翻1到2倍而真专线全天stdev变化很小。再把-w调小到200ms在连续ping中人为制造拥塞流量真专线的RTT变化很小共享链路则可能出现突然的毛刺或丢包。这个方法不需要登录运营商网管从用户侧就能初步判断实际拿到的是不是独立带宽。本文还有配套的精品资源点击获取
返回列表