局域网LAN(Local Area Network)
广域网WAN(Wide Area Network)
数字数据网DDN(Digital Data Network)
帧中继FR(Frame Relay)
同步数字结构SDH(Synchronous Digital Hierachy)
异步传输模式ATM(Asynchronous Transfer Mode)
点对点协议PPP(Point-to-Point Protocol)
1,早期广域网技术概述
什么是广域网
广域网与局域网区别
• 广域网与局域网的区别主要体现在以下几个方面:
▫ 局域网带宽高但是传输距离短,无法满足广域网长距离传输;
▫ 局域网设备通常都是交换机,广域网设备大多都是路由器;
▫ 局域网属于某一个单位或者组织,广域网服务大多由ISP提供;
▫ 广域网与局域网一般仅在物理层和数据链路层采用不同的协议或技术,其他层次基本
没有差异;
▫ 银行、政府、军队、大型公司的专用网络也属于广域网,且与Internet实现物理隔离;
▫ Internet只是广域网的一种,小企业借用Internet作为广域网连接。
早期广域网技术介绍
• 初期广域网常用的物理层标准有EIA(Electronic Industries Alliance,电子工业协会)和
TIA(Telecommunications Industry Association,电信工业协会)制定的公共物理层接口
标准EIA/TIA-232(即RS-232)、 ITU(International Telecommunication Union,国际电
信联盟)制定的串行线路接口标准V.24和V.35,以及有关各种数字接口的物理和电气特性
的G.703标准等。
• 广域网常见的数据链路层标准有:HDLC(High-level Data Link Control,高级数据链路控
制)、PPP(Point-to-Point Protocol,点到点协议)、FR(Frame Relay,帧中继)、
ATM异步传输模式等,其中:
▫ HDLC协议是一种通用的协议,工作在数据链路层。数据报文加上头开销和尾开销后
封装成HDLC帧,只支持在点到点的同步链路上的数据传输,不支持IP地址协商与认
证,过于追求高可靠性,导致数据帧开销较大,传输效率较低。
▫ PPP协议工作在数据链路层,主要用在支持全双工的同、异步链路上,进行点到点之
间的数据传输。由于它能够提供用户认证,易于扩充,并且支持同、异步通信,因而
获得广泛应用。
▫ 帧中继是一种工业标准的、交换式的数据链路协议,通过使用无差错校验机制,加快
了数据转发速度。
▫ ATM是建立在电路交换和分组交换基础上的一种面向连接的交换技术,ATM传送信
息的基本载体是53 Byte固定长度ATM信元。
广域网络设备角色介绍
CE(Customer Edge)用户边缘设备
PE(Provider Edge)服务提供商边缘设备
P(Provider)服务提供商设备
早期广域网技术的应用
2,PPP协议原理与配置
PPP协议原理
PPP协议概述
PAP(Password Authentication Protocol)密码验证协议
CHAP(Challenge Handshake Authentication Protocol)挑战握手认证协议
LCP(Link Control Protocol)链路控制协议
NCP(Network Control Protocol)网络控制协议
IPCP(IP Control Protocol)IP控制协议
PPP链路建立流程
PPP链路接口状态机
terminate | 英[ˈtɜːmɪneɪt] | 美[ˈtɜːrmɪneɪt] |
v. | 终止; (使)停止; 结束; 到达终点站; |
adj. | 终止的; 有限的(小数等); |
[例句]After a lot of agonizing she decided to terminate the pregnancy
经历一番痛苦挣扎后,她决定终止妊娠。
[其他] | 第三人称单数:terminates 现在分词:terminating 过去式:terminated 过去分词:terminated |
establish | 英[ɪˈstæblɪʃ] | 美[ɪˈstæblɪʃ] |
vt. | 创立; 设立; 建立(尤指正式关系); 确立; 使立足; 使稳固; 获得接受; 查实; |
[例句]This is positively the last chance for the industry to establish such a system.
这绝对是该产业建立这样一个体系的最后机会了。
[其他] | 第三人称单数:establishes 现在分词:establishing 过去式:established 过去分词:established |
• 正常PPP链路建立需要经历链路建立阶段、认证阶段和网络层协商阶段,详细过程如下:
1. 通信双方开始建立PPP链路时,先进入到Establish阶段。
2. 在Establish阶段,进行LCP协商:协商通信双方的MRU(Maximum Receive Unit,
最大接收单元)、认证方式和魔术字(Magic Number)等选项。协商成功后进入
Opened状态,表示底层链路已建立。
3. 如果配置了认证,将进入Authenticate阶段。否则直接进入Network阶段。
4. 在Authenticate阶段,会根据连接建立阶段协商的认证方式进行链路认证。认证方式
有两种:PAP和CHAP。如果认证成功,进入Network阶段,否则进入Terminate阶
段,拆除链路,LCP状态转为Down。
5. 在Network阶段,PPP链路进行NCP协商。通过NCP协商来选择和配置一个网络层协
议并进行网络层参数协商。最常见的NCP协议是IPCP,用来协商IP参数。
6. 在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段。
• PPP运行过程中,可以随时中断连接,物理链路断开、认证失败、超时定时器时间到、管理
员通过配置关闭连接等动作都可能导致链路进入Terminate阶段。
LCP报文格式
• PPP帧格式:
▫ Flag字段标识一个物理帧的起始和结束,该字节为二进制序列01111110(0X7E)。
▫ PPP帧的Address字段字节固定为11111111 (0XFF),是一个广播地址。
▫ PPP数据帧的Control字段默认为00000011(0X03),表明为无序号帧。
▫ 帧校验序列(FCS)字段是个16 bit的校验和,用于检查PPP帧的完整性。
▫ Protocol字段用来说明PPP所封装的协议报文类型,0XC021代表LCP报文,0XC023代
表PAP报文,0XC223代表CHAP报文。
▫ Information字段包含Protocol字段中指定协议的内容,该字段的最大长度被称为最大
接收单元MRU,缺省值为1500。
▫ 当Protocol字段为0XC021时,Information结构如下:
▪ Identifier字段为1个字节,用来匹配请求和响应。
▪ Length域的值就是该LCP报文的总字节数据。
▪ Data字段则承载各种TLV(Type/Length/Value)参数用于协商配置选项,包括
最大接收单元,认证协议等等。
• LCP报文携带的一些常见的配置参数有MRU、认证协议和魔术字。
▫ 在VRP(Versatile Routing Platform,通用路由平台)平台上,MRU参数使用接口上
配置的MTU(Maximum Transmission Unit,最大传输单元)值来表示。
▫ 常用的PPP认证协议有PAP和CHAP,一条PPP链路的两端可以使用不同的认证协议认
证对端,但是被认证方必须支持认证方要求使用的认证协议并正确配置用户名和密码
等认证信息。
▫ LCP使用魔术字来检测链路环路和其他异常情况。魔术字是随机产生的一个数字,随
机机制需要保证两端产生相同魔术字的可能性几乎为0。
LCP协商过程-正常协商
• R1和R2使用串行链路相连,运行PPP协议。当物理层链路变为可用状态之后,R1和R2使用
LCP协商链路参数。
• 本例中,R1首先发送一个Configure-Request报文,此报文中包含R1上配置的链路层参数。
当R2收到此Configure-Request报文之后,如果R2能识别并接受此报文中的所有参数,则向
R1回应一个Configure-Ack报文。同样的,R2也需要向R1发送Configure-Request报文,使
R1检测R2上的参数是不是可接受的。
• R1在没有收到Configure-Ack报文的情况下,会每隔3秒重传一次Configure-Request报文,
如果连续10次发送Configure-Request报文仍然没有收到Configure-Ack报文,则认为对端
不可用,停止发送Configure-Request报文。
LCP协商过程-参数不匹配
• 当R2收到R1发送的Configure-Request报文之后,如果R2能识别此报文中携带的所有链路
层参数,但是认为部分或全部参数的取值不能接受,即参数的取值协商不成功,则R2需要
向R1回应一个Configure-Nak报文。
• 在这个Configure-Nak报文中,只包含不能接受的链路层参数,并且此报文所包含的链路层
参数将被修改为R2上可以接受的取值(或取值范围)。
• 在收到Configure-Nak报文之后,R1需要根据此报文中的链路层参数重新选择本地配置的其
他参数,并重新发送一个Configure-Request。
LCP协商过程-参数不识别
• 当R2收到R1发送的Configure-Request报文之后,如果R2不能识别此报文中携带的部分或
全部链路层参数,则R2需要向R1回应一个Configure-Reject报文。在此Configure-Reject报
文中,只包含不能被识别的链路层参数。
• 在收到Configure-Reject报文之后,R1需要向R2重新发送一个Configure-Request报文,在
新的Configure-Request报文中,不再包含不被对端(R2)识别的参数。
PPP认证模式-PAP
• LCP协商完成后,认证方要求被认证方使用PAP进行认证。
• PAP认证协议为两次握手认证协议,密码以明文方式在链路上发送,过程如下:
▫ 被认证方将配置的用户名和密码信息使用Authenticate-Request报文以明文方式发送
给认证方。
▫ 认证方收到被认证方发送的用户名和密码信息之后,根据本地配置的用户名和密码数
据库检查用户名和密码信息是否匹配;如果匹配,则返回Authenticate-Ack报文,表
示认证成功。否则,返回Authenticate-Nak报文,表示认证失败。
PPP认证模式-CHAP
challenge | 英[ˈtʃælɪndʒ] | 美[ˈtʃælɪndʒ] |
n. | 挑战; 艰巨任务; 挑战书; (比赛等的)邀请,提议; 质询; 质疑; 提出异议; |
vt. | 对…怀疑(或质疑); 拒绝接受; 向(某人)挑战; (尤指在对方不情愿时)强烈建议(某人做某事); 考查…的能力; 考验…的技巧; 盘问; |
[其他] | 第三人称单数:challenges 复数:challenges 现在分词:challenging 过去式:challenged 过去分词:challenged |
• LCP协商完成后,认证方要求被认证方使用CHAP进行认证。
• CHAP认证过程需要三次报文的交互。过程如下:
▫ 认证方主动发起认证请求,认证方向被认证方发送Challenge报文,报文内包含随机
数(Random)和ID。
▫ 被认证方收到此Challenge报文之后,进行一次加密运算,运算公式为MD5{ ID+随
机数+密码},意思是将Identifier、随机数和密码三部分连成一个字符串,然后对此
字符串做MD5运算,得到一个16 Byte长的摘要信息,然后将此摘要信息和端口上配
置的CHAP用户名一起封装在Response报文中发回认证方。
▫ 认证方接收到被认证方发送的Response报文之后,按照其中的用户名在本地查找相应
的密码信息,得到密码信息之后,进行一次加密运算,运算方式和被认证方的加密运
算方式相同;然后将加密运算得到的摘要信息和Response报文中封装的摘要信息做比
较,相同则认证成功,不相同则认证失败。
• 使用CHAP认证方式时,被认证方的密码是被加密后才进行传输的,这样就极大的提高了安
全性。
• 加密算法声明
▫ 使用加密算法时,MD5(数字签名场景和口令加密)加密算法安全性低,存在安全风
险,在协议支持的加密算法选择范围内,建议使用更安全的加密算法,例如AES/RSA
(2048位以上)/SHA2/HMAC-SHA2。
NCP协商-静态IP地址协商
• NCP主要用来建立和配置不同的网络层协议,协商在该数据链路上所传输的数据包的格式
与类型。常见的有IPCP等。
• 静态IP地址协商过程如下:
▫ 每一端都要发送Configure-Request报文,在此报文中包含本地配置的IP地址;
▫ 每一端接收到此Configure-Request报文之后,检查其中的IP地址,如果IP地址是一
个合法的单播IP地址,而且和本地配置的IP地址不同(没有IP冲突),则认为对端可
以使用该地址,回应一个Configure-Ack报文。
NCP协商-动态IP地址协商
• 动态协商IP地址的过程如下:
▫ R1向R2发送一个Configure-Request报文,此报文中会包含一个IP地址0.0.0.0,表示
向对端请求IP地址;
▫ R2收到上述Configure-Request报文后,认为其中包含的地址(0.0.0.0)不合法,使
用Configure-Nak回应一个新的IP地址10.1.1.1;
▫ R1收到此Configure-Nak报文之后,更新本地IP地址,并重新发送一个Configure-
Request报文,包含新的IP地址10.1.1.1;
▫ R2收到Configure-Request报文后,认为其中包含的IP地址为合法地址,回应一个
Configure-Ack报文;
▫ 同时,R2也要向R1发送Configure-Request报文请求使用地址10.1.1.2,R1认为此地
址合法,回应Configure-Ack报文。
2,PPP协议原理与配置
PPP基础配置命令
PAPer认证配置命令
CHAP认证配置命令
配置举例-PAP认证
配置举例-CHAP认证
3,PPPoE原理与配置
PPPoE概述
什么是PPPoE
PPPoE(PPP over Ethernet)以太网承载PPP协议
• 运营商希望把一个站点上的多台主机连接到同一台远程接入设备,同时接入设备能够提供
与拨号上网类似的访问控制和计费功能。在众多的接入技术中,把多个主机连接到接入设
备的比较经济的方法就是以太网,而PPP协议可以提供良好的访问控制和计费功能,于是产
生了在以太网上传输PPP报文的技术,即PPPoE。
• PPPoE利用以太网将大量主机组成网络,通过一个远端接入设备接入因特网,并运用PPP协
议对接入的每个主机进行控制,具有适用范围广、安全性高、计费方便的特点。
PPPoE应用场景
PPPoE会话建立
PPPoE报文
• PPPoE报文封装在Ethernet帧中,Ethernet中各字段解释如下:
• DMAC:表示目的设备的MAC地址,通常为以太网单播目的地址或者以太网广播地址
(0xFFFFFFFF)。
• SMAC:表示源设备的以太网MAC地址。
• Eth-Type:表示协议类型字段,当值为0x8863时表示承载的是PPPoE发现阶段的报文。当
值为0x8864时表示承载的是PPPoE会话阶段的报文。
• PPPoE字段中的各个字段解释如下:
▫ VER:表示PPPoE版本号,值为0x01。
▫ Type:表示类型,值为0x01。
▫ Code:表示PPPoE报文类型,不同取值标识不同的PPPoE报文类型。
▫ PPPoE会话ID,与以太网SMAC和DMAC一起定义了一个PPPoE会话。
▫ Length:表示PPPoE报文的长度。
PPPoE发现阶段
1. PPPoE客户端在本地以太网中广播一个PADI报文,此PADI报文中包含了客户端需要的服务
信息。
▫ PADI报文的目的MAC地址是一个广播地址,Code字段为0x09,Session ID字段为
0x0000。
▫ 所有PPPoE服务器端收到PADI报文之后,会将报文中所请求的服务与自己能够提供的
服务进行比较。
2. 如果服务器端可以提供客户端请求的服务,就会回复一个PADO报文。
▫ PADO报文的目的地址是发送PADI报文的客户端MAC地址,Code字段为0x07,
Session ID字段为0x0000。
3. 客户端可能会收到多个PADO报文,此时将选择最先收到的PADO报文对应的PPPoE服务器
端,并发送一个PADR报文给这个服务器端。
▫ PADR报文的目的地址是选中的服务器端的MAC地址,Code字段为0x19,Session ID
字段为0x0000。
4. PPPoE服务器端收到PADR报文后,会生成一个唯一的Session ID来标识和PPPoE客户端的
会话,并发送PADS报文。
▫ PADS报文的目的地址是PPPoE客户端的MAC地址,Code字段为0x65,Session ID字
段是PPPoE服务器端为本PPPoE会话产生的Session ID。
• 会话建立成功后,PPPoE客户端和服务器端进入PPPoE会话阶段。
PPPoE会话阶段
• PPPoE会话阶段可分为两部分:PPP协商阶段和PPP报文传输阶段。
• PPPoE Session上的PPP协商和普通的PPP协商方式一致,分为LCP、认证、NCP三个阶段。
▫ LCP阶段主要完成建立、配置和检测数据链路连接。
▫ LCP协商成功后,开始进行认证,认证协议类型由LCP协商结果决定。
▫ 认证成功后,PPP进入NCP阶段,NCP是一个协议族,用于配置不同的网络层协议,
常用的是IP控制协议(IPCP),它负责配置用户的IP地址和DNS服务器地址等。
• PPPoE Session的PPP协商成功后,就可以承载PPP数据报文。在这一阶段传输的数据包中必
须包含在发现阶段确定的Session ID并保持不变。
PPPoE会话终结阶段
• 在PADT报文中,目的MAC地址为单播地址,Session ID为希望关闭的连接的Session ID。
一旦收到一个PADT报文之后,连接随即关闭。
PPPoE基础配置
配置实例:PPPoE客户端
• PPPoE客户端配置包括三个步骤。
• 第一步配置一个拨号接口。
▫ dialer-rule命令用于进入Dialer-rule视图,在该视图下,可以通过拨号规则来配置发
起PPPoE会话的条件。
▫ interface dialer
number
命令用来创建并进入Dialer接口。
▫ dialer user
user-name
命令用于配置对端用户名,这个用户名必须与对端服务器上的
PPP用户名相同。
▫ dialer-group
group-number
命令用来将接口置于一个拨号访问组。
▫ dialer bundle
number
命令用来指定Dialer接口使用的Dialer bundle。设备通过
Dialer bundle将物理接口与拨号接口关联起来。
▫ 注:必须确保命令dialer-group中的参数
group-number
和命令dialer-rule中的
dialer-rule-number
保持一致。
• 第二步是在接口上将Dialer Bundle和接口绑定:
▫ pppoe-client dial-bundle-number
number
命令来实现Dialer Bundle和物理接口的
绑定,用来指定PPPoE会话对应的Dialer Bundle,其中number是与PPPoE会话相对
应的Dialer Bundle编号。
• 第三步配置一条缺省静态路由,该路由允许在路由表中没有相应匹配表项的流量都能通过
拨号接口发起PPPoE会话。
配置实例-PPPoE服务器端
• PPPoE服务器端配置
▫ interface virtual-template命令用来创建虚拟模板接口,或者进入一个已经创建的
虚拟模板接口视图。
▫ pppoe-server bind命令用来配置PPPoE接入用户上线绑定的虚拟模板接口。
配置验证
• display interface dialer[ number ]命令用于查看拨号接口的配置,便于定位拨号接口的
故障。
• LCP opened, IPCP opened表示链路的状态完全正常。
• display pppoe-client session summary命令用于查看PPPoE客户端的PPPoE会话状态和
统计信息。
▫ ID表示PPPoE会话ID,Bundle ID和Dialer ID的值与拨号参数配置有关。
▫ Intf表示客户端侧协商时的物理接口。
▫ State表示PPPoE会话的状态,包括以下四种:
1). IDLE表示当前会话状态为空闲。
2). PADI表示PPPoE会话处于发现阶段,并已经发送PADI报文。
3). PADR表示PPPoE会话处于发现阶段,并已经发送PADR报文。
4). UP表示PPPoE会话建立成功。
4.广域网技术的发展
广域网技术的历史演进
传统IP路由转发
MPLS标签转发
MPLS转发存在的问题
Segment Routing(分段路由)简介
Segment Routing转发原理(1)
• SID用于标识Segment,它的格式取决于具体的技术实现,例如可以使用MPLS标签、MPLS
标签空间中的索引、IPv6报文头部。例如使用MPLS标签被称为SR-MPLS,使用IPv6被称为
SRv6。
Segment Routing转发原理(2)
• 接收端收到数据包后,对段序列进行解析,如果段序列的顶部段标识是本节点时,则弹出
该标识,然后进行下一步处理;如果不是本节点,则使用ECMP(Equal Cost Multiple
Path)方式将数据包转发到下一节点。
SR的部署方式
• PCEP:Path Computation Element Communication Protocol,路径计算单元通信协议
• NETCONF:Network Configuration Protocol,网络配置协议
Segment Routing的应用