一、全图
二、HDLC
- HDLC:高级数据链路控制协议,cisco的广域网默认封装,
- Cisco 私有 HDLC,加入控制字段(可以描述上层使用协议)
- 工业标准 HDLC(仅仅支持上层使用IP协议)
- 定义接口封装为HDLC :
R1 (config)#interface serial 1/1
R1 (config-if)#encapsulation hdlc
查看:
R1#show interfaces s1/1
报文:
三、PPP:点对点协议
-
PPP(点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
-
点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet和 Novell的Internet 网包交换(IPX)
-
LCP—PPP认证—NCP
-
LCP:链路控制协议,用于检测物理链路的封装
-
PPP认证:pap(密码认证协议) chap(挑战握手认证协议)
-
NCP协商:网络控制协议,用于协商上层使用协议,CDPCP、 IPCP
会自动发送自己的主机路由; -
PAP :是一种简单的一次性认证,受到攻击不能自动检测
在主认证方:
定义密钥数据库 ,接口启用pap:
R1 (config)#username R2 password cisco
R1 (config-if)#ppp authentication pap
被认证方,发送pap的用户名和密码:
R2 (config)#interface serial 1/0
R2 (config-if)#ppp pap sent-username R2 passwd cisco
支持双方认证,认证用户名和密码可以不一致 ;
- Chap :挑战握手认证协议
进行PPP chap三次握手复杂多次认证(基于MD5),能够受到攻击自动断开PPP会话;
在chap 双向认证中,双方密码必须保持一致,否则认证失败
在主认证方:
R1 (config)#ppp authentication chap
被认证方:发送主机名和密码的MD5值
R2 (config)#interface serial 1/0
R2 (config-if)#ppp chap pass
R2 (config-if)#ppp chap password cisco
阻止对应主机路由加表:
R1 (config)#interface serial 1/1
R1 (config-if)#no peer neighbor-route
PPP 地址协商:
服务器端定义分配地址池:
R2 (config)#ip local pool ccie 100.1.1.100 100.1.1.200
接口启用PPP地址分配功能(NCP中完成):
R2 (config)#interface s1/0
R2 (config-if)#peer default ip address pool ccie
客户端启用地址PPP学习:
R1 (config)#inter s1/1
R1 (config-if)#ip address negotiated
查看:
R1 #show ip interface brief
四、PPPOE:以太网上的点对点协议
- PPPoE(英语:Point-to-Point Protocol Over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协1议。由于协议中集成PPP协议,所以实 现出传统以太网不能提供的身份验证、加密以及压缩等功能,也可用于缆线调制解调器(cable modem)和数字用户线路(DSL)等以以太网协议向用户提供接入服务的协议体系。
- 本质上,它是一个允许在以太网广播域中的两个以太网接口间创建点对点隧道的协议。
- 以Linux系统常用的pppd为例,支持PPP接口上面的IP、IPv6和IPX网络层协议。
- 它使用传统的基于PPP的软件来管理一个不是使用串行线路而是使用类似于以太网的有向分组网络的连接。这种有登陆和口令的标准连接,方便了接入供应商的记费。并且,连接的另一端仅当PPPoE连接接通时才分配IP地址,所以允许IP地址的动态复用。
- PPPOE: 分为PPPOE的发现阶段(discovery stage)和 PPPOE会话阶段(session stage)
- PPPOE发现阶段中的使用4种报文:
- PADI:(PPPOE active discovery initation)PPPOE 活动发现初始化报文
- 作用:用于在客户端,发现在网络中是否存在PPPOE服 务器端
- PADO:(offer)PPPOE活动发现应答
作用: PPPOE服务器告知用户自己的服务器名称等标 识- PADR:PADR(request)
作用:请求指定的PPPOE服务器名称的相关信息 (session ID ACcookie)- PADS: 会话确认
作用:PPPOE服务器发送session ID ,该session ID 是固定的,由服务器决定,后续所有PPPOE会话阶段报 文中的session ID均为该ID- PADT(terminate)
作用:终止PPPOE会话,所有PPPOE中的LCP层会话连接
- 在PPPOE发现阶段:无论用户是否缴费,均可以建立 PPPOE发现阶段
- 进行PPP会话建立,LCP/PPP认证/NCP协商.
在PPPOE会话建立阶段发送对应的用户名密码进行认 证、授权、审计
部署:
1.在PPPOE server上。创建bba-group ,bba-group中 自动创建virtual-access,在bba-group中创建 virtual-template虚拟接口
.
R2 (config)#bba-group pppoe ccie
R2 (config-bba-group)#
定义virtual-template接口编号
R2 (config-bba-group)#virtual-template 1
查看:
R2#show ip interface brife
2.进入物理接口,定义IP地址,启用PPPOE
R2 (config)#interface fa 0/0
R2 (config-if)#ip addreess 100.1.1.1 255.255.255.0
R2 (config-if)#pppoe enable group ccie
3.进入virtual-template接口
配置IP地址,该地址需与物理接口地址一致,所以使 用借用地址
启用PPP地址推送(需在全局模式下定义PPP推送地址 池)
R2 (config-if)#peer default ip address pool ccie-pool
启用PPP认证.建议使用chap认证
R2 (config)#inrterface virtual-template 1
R2 (config-if)#ip unnumbered FastEthernet0/0
R2 (config-if)#peer default ip address pool ccie-pool
R2 (config-if)#ppp authentication chap
R2 (config-if)#
4.定义本地PPP地址池
R2 (config)#ip local poolccie-pool 110.1.1.10 100.1.1.99
5.定义本地密钥数据库
R2 (config)#username ccie password cisco
6.PPPOE客户端
全局开启支持VPDN协议(开启了VPDN协议,该设置支 持PPPOE)
R1 (config)#vpdn enable
接口开启PPPOE;开启PPPOE客户端并调用dialer 编号
R1 (config)#inter f0/0
R1 (config-if)#pppoe enable group global
R1 (config-if)#pppoe-client dial-pool-number 1
7.在PPPOE客户端定义dialer-list(针对指定的流量 使用PPPOE)在ACL中可以选择针对某些流量使用PPPOE
R1 (config)#dialer-list 1 protocol ip permit
8.进入dialer接口,选择配置IP地址获取方式、选择 封装、调用dialer、部署PPP认证
interface Dialer1
ip address negotiated
encaosulation ppp
dialer poor 1
ppp chap hostname ccie
ppp chap password 0 cisco
五、tunnel
IP封装隧道,隧道之间可以运行路由协议,传递私网路由。