快速了解ppp协议及实验操作流程
PPP协议:
- 是什么?
- 全称:点对点协议
- 定位:一种数据链路层协议。
- 用途:专门用于在两个直接相连的网络节点(点对点连接)之间建立通信链路。常见场景:你的电脑通过电话线/调制解调器拨号连接到ISP(互联网服务提供商)的服务器。
- 主要作用/解决了什么问题?
- 封装传输多种协议: 能在同一条物理链路上传输不同网络层协议的数据包(如IP、IPX等)。
- 建立、配置和管理连接:
- 建立连接: 通信双方先通过LCP协商链路参数(如最大数据包大小、是否启用认证)。
- 认证(可选但常用): 支持PAP(密码明文传输)或更安全的CHAP(挑战-应答)来验证用户身份,防止非法接入。
- 配置网络层: 连接建立后,通过NCP(如IPCP)为网络层协议配置参数(比如给你的电脑动态分配一个IP地址)。
- 检测错误: 每个数据帧都有校验码,能检测传输中的错误。
- 终止连接: 提供标准方式优雅地断开连接。
- 关键组成部分:
- LCP: 链路控制协议 - 负责链路的建立、维护和终止。
- NCP: 网络控制协议 - 负责配置网络层协议(如IPCP配置IP)。
- 认证协议: PAP 或 CHAP。
- 为什么重要/相关?
- 取代SLIP: 解决了早期SLIP协议的诸多缺陷(如只支持IP、无认证、无错误检测、无法动态分配IP等)。
- 拨号上网的基础: 是上世纪90年代和本世纪初主流的拨号上网(如56K Modem)所使用的核心协议。
- 现代应用: 虽然家庭拨号基本淘汰,但PPP的原理和框架仍在广泛应用:
- PPPoE: PPP over Ethernet。这是现在绝大多数家庭宽带(如ADSL、光纤到户FTTH)上网的基础。你的路由器通过PPPoE协议与运营商设备建立连接,进行认证和获取IP地址。
- VPN协议的基础: 很多VPN协议(如PPTP、L2TP)在底层使用或借鉴了PPP的机制(尤其是认证和网络配置)。
简单总结:
PPP就是一个专门为两点直连场景设计的“对话规则”。它负责在这两点之间建立可靠的连接、验证身份、协商配置(比如给你分配IP地址)、打包传输各种网络数据,并在结束时妥善断开。它是早期拨号上网的核心,其思想(特别是PPPoE)至今仍是宽带上网的关键。
一.实验拓扑
实验需求:
1.R1和R2使用PPP链路直连,R2和R3把2条PPP链路捆绑为PPP MP直连
2.如图所示配置IP地址
3.R2对R1的PPP进行单项CHAP验证
4.R2和R3的PPP进行双向CHAP验证
二 .实验步骤
1.在R2和R3上配置PPP MP
在R2上创建MP-GROUP口
R2:
[R2]int MP-group 1
将S2/0和S3/0加入MP-GROUP口
R2:
[R2]int s2/0
[R2-Serial2/0]ppp mp MP-group 1
[R2]int s3/0
[R2-Serial3/0]ppp mp MP-group 1
R3:
[R3]int s1/0
[R3-Serial1/0]ppp mp MP-group 1
[R3]int s2/0
[R3-Serial2/0]ppp mp MP-group 1
2.配置IP(略)
3.R2对R1的PPP进行单项CHAP验证
在R2上创建用于验证的用户
R2:
[R2]local-user kami class network
[R2-luser-network-kami]password simple 123456
[R2-luser-network-kami]service-type ppp
[R2-Serial1/0]ppp authentication-mode chap
R1:
[R1]int s1/0
[R1-Serial1/0]ppp chap user kami
[R1-Serial1/0]ppp chap password simple 123456
4.R2和R3的PPP进行双向CHAP验证
需要在各自的接口上配置相对应的用户名
R2:
[R2]local-user kami1 class network
[R2-luser-network-kami1]password simple 123456
[R2-luser-network-kami1]service-type ppp
R3:
[R3]local-user kami1 class network
[R3-luser-network-kami1]password simple 123456
[R3-luser-network-kami1]service-type ppp
在相应接口上配置需要进行的PPP验证,验证方式为CHAP
R2:
[R2-luser-network-kami1]int s2/0
[R2-Serial2/0]ppp authentication-mode chap
[R2-Serial2/0]ppp chap user kami1
[R2-Serial2/0]int s3/0
[R2-Serial3/0]ppp authentication-mode chap
[R2-Serial3/0]ppp chap user kami1
R3:
[R3-Serial1/0]ppp authentication-mode chap
[R3-Serial1/0]ppp chap user kami1
[R3]int s2/0
[R3-Serial2/0]ppp authentication-mode chap
[R3-Serial2/0]ppp chap user kami1