广域网技术概述

随着经济全球化与数字化变革加速,企业规模不断扩大,越来越多的分支机构出现在不同的地域。每个分支的网络被认为一个LAN(Local Area Network,局域网),总部和各分支机构之间通信需要跨越地理位置。因此,企业需要通过WAN(Wide Area Nerwork,广域网)将这些分散在不同地理位置的分支机构连接起来,以便更好地开展业务。

广域网技术的发展,伴随着带宽不断的升级:早期出现的X.25只能提供64 kbit/s的带宽,其后DDN(Digital Data Network,数字数据网)和FR(Frame Relay,帧中继)提供的带宽提高到2 Mbit/s,SDH(Synchronous Digital Hierachy,同步数字结构)和ATM(Asynchronous Transfer Mode,异步传输模式)进一步把带宽提升到10 Gbit/s,最后发展到当前以IP为基础的10 Gbit/s甚至更高带宽的广域网络。

广域网是连接不同地区局域网的网络,通常所覆盖的范围从几十公里到几千公里。它能连接多个地区、城市和国家,或横跨几个洲提供远距离通信,形成国际性的远程网络。

image-1

PPP协议

PPP协议概述

PPP(Point to Point Protocol,点到点协议)是一种常见的广域网数据链路层协议,主要用于在全双工的链路上进行点到点的数据传输封装。

PPP提供了安全认证协议族PAP(Password Authentication Protocol,密码验证协议)和CHAP(Challenge Handshake Authentication Protocol,挑战握手认证协议)。

PPP协议具有良好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。

PPP协议提供了LCP(Link Control Protocol,链路控制协议),用于各种链路层参数的协商,例如最大接受单元,认证模块等。

PPP协议提供各种NCP(Network Control Protocol,网络控制协议),如PCP(IP Control Protocol,IP控制协议),用于个网络层参数的协商,更好的支持了网络层协议。

PPP链路建立流程

PPP链路的建立有三个阶段的协商过程,链路层协商、认证协商(可选)和网络层协商。

  • 链路层协商:通过LCP报文进行链路层参数协商,建立链路层连接。
  • 认证协商(可选):通过链路建立阶段协商的认证方式进行链路层认证。
  • 网络层协商:通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。

image-2

PPP协商由链路两端的接口完成。接口的状态标识了协议的协商阶段。

image-3

LCP报文格式

PPP报文可由Protocol字段标识不同类型的PPP报文。例如,当Protocol字段为0XC021时,代表是LCP报文。此时又由Code字段标识不同类型LCP报文,如图所示。

image-4

LCP协商过程

正常协商

LCP协商由不同的LCP报文交互完成。协商任意一方发送Configure-Request报文发起。如果对端接收此报文且参数匹配,则通过回复Configure-Ack响应协商成功。

image-5

参数不匹配

在LCP报文交互中出现LCP参数不匹配时,接收方回复Configure-Nak响应告知对端修改参数然后重新协商。

image-6

参数不识别

在LCP报文交互中出现LCP参数不识别时,接收方回复Configure-Reject响应告知对端删除不识别的参数然后重新协商。

image-7

PPP认证模式

PAP

链路协商成功后,进行认证协商(此过程可选)。认证协商由两种模式,PAP和CHAP。

PAP认证双方有两次握手,协商报文以明文的形式在链路上传输。

image-8

PAP简单配置

image-9

认证方如果没有认证服务器,需要在本机创建认证账户的话需要进入到aaa视图,对认证账号进行创建。

认证方配置

1
2
3
4
5
aaa
local-user huawei(认证账号) password cipher huawei123(认证密码)
local-user huawei service-type(认证服务类型选择) ppp
int pos 4/0/0
ppp authentication-mode(认证模式选择) pap

被认证方配置

1
2
int pos 4/0/0
ppp pap local-user huawei password cipher huawei123

AR1配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname ISP
[ISP]
[ISP]aaa
[ISP-aaa]local-user
[ISP-aaa]local-user ?
STRING<1-64> User name, in form of 'user@domain'. Can use wildcard '*',
while displaying and modifying, such as *@isp,user@*,*@*.Can
not include invalid character / \ : * ? " < > | @ '
wrong-password Use wrong password to authenticate
[ISP-aaa]local-user huawei pa
[ISP-aaa]local-user huawei password ?
cipher User password with cipher text
[ISP-aaa]local-user huawei password cip
[ISP-aaa]local-user huawei password cipher huaw
[ISP-aaa]local-user huawei password cipher huawei123
Info: Add a new user.
[ISP-aaa]local-user huawei service-type ?
8021x 802.1x user
bind Bind authentication user
ftp FTP user
http Http user
ppp PPP user
ssh SSH user
sslvpn Sslvpn user
telnet Telnet user
terminal Terminal user
web Web authentication user
x25-pad X25-pad user
[ISP-aaa]local-user huawei service-type ppp
[ISP-aaa]int pos
[ISP-aaa]int pos 4/0/0
[ISP-Pos4/0/0]ppp ?
authentication-mode Specify PPP authentication-mode
chap Specify CHAP parameters
ipcp Specify IPCP parameters
mp Multilink PPP
pap Specify PAP parameters
timer Specify timer
[ISP-Pos4/0/0]ppp authentication-mode ?
chap Enable CHAP authentication
pap Enable PAP authentication
[ISP-Pos4/0/0]ppp authentication-mode pap

AR2配置

1
2
3
4
5
6
7
8
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sy user
[user]int pos 4/0/0
[user-Pos4/0/0]ppp pap local-user huawei password ?
cipher Display the current password with cipher text
simple Display the current password with plain text
[user-Pos4/0/0]ppp pap local-user huawei password cipher huawei123

CHAP

CHAP认证双方有三次握手。协商报文被加密后再在链路上传输。

image-10

CHAP简单配置

认证方配置

1
2
3
4
5
aaa
local-user huawei(认证账号) password cipher huawei123(认证密码)
local-user huawei service-type(认证服务类型选择) ppp
int pos 4/0/0
ppp authentication-mode(认证模式选择) chap

被认证方配置

1
2
3
int pos 4/0/0
ppp chap user huawei
ppp chap password cipher huawei123

NCP协商

静态IP地址协商

PPP认证协商后,双方进入NCP协商阶段,协商在数据链路层上所传输的数据包的格式与类型。以常见的IPCP协议为例,它分为静态IP地址协商和动态IP而地址协商。

静态IP地址协商需要手动在链路两端配置IP地址。

image-11

动态IP地址协商

动态IP地址协商支持PPP链路一端为对端配置IP地址。

image-12

通过PPP分配IP

image-13

认证配置

AR1配置

1
2
3
4
5
6
7
8
9
sys
sysname ISP
aaa
local-user huawei password cipher huawei123
local-user huawei service-type ppp
int pos 4/0/0
ip add 10.1.1.1 24
ppp authentication-mode chap
quit

AR2配置

1
2
3
4
5
sys
sysname User
int pos 4/0/0
ppp chap user huawei
ppp chap password cipher huawei123

IP地址池配置

AR1

1
2
3
4
5
ip pool pppoe								//创建地址池
network 10.1.1.0 mask 24 //地址池中放入IP地址
quit
int pos 4/0/0
remote address pool pppoe //调用地址池

AR2

1
2
int pos 4/0/0
ip address ppp-negotiate //通过ppp协商获取IP地址

image-14

PPPoE协议

PPPoE协议概述

PPPoE(PPP over Ethernet,以太网承载PPP协议)是一种把PPP帧封装到以太网帧中的链路层协议。PPPoE可以使以太网网络中的多台主机连接到远端的宽带接入服务器。

PPPoE集中了PPP和Ethernet两个技术的优点。既有以太网的组网灵活优势,又可以利用PPP协议实现认证、计费等功能。

image-15

小型公司PPPoE拨号实验

image-16

基本配置

PPPoE-Server配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sys
sysname PPPoE_Server
aaa
local-user huawei password cipher huawei123
local-user huawei service-type ppp
quit
ip pool pppoe
network 100.1.1.0 mask 24
int Virtual-Template 0 //物理接口无法做ppp认证,需要进入虚拟机接口
ip add 100.1.1.1 24
ppp authentication-mode chap
remote address pool pppoe
int g0/0/0
pppoe-server bind virtual-template 0 //物理接口绑定虚拟接口
int lo 0
ip add 200.200.200.200 32
quit

PPPoE-Client配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sys
sysname PPPoE_Client
int Dialer 0 //由于物理接口无法拨号,所以需要创建拨号口
ppp chap user huawei
ppp chap password cipher huawei123
ip add ppp-negotiate //自动获取公网IP
dialer user huawei //拨号口的用户
dialer bundle 1 //配置绑定编号
int g0/0/0
pppoe-client dial-bundle-number 1
int g0/0/1
ip add 10.0.11.254 24
quit
ip route-static 0.0.0.0 0 Dialer 0 //无法知道运营商IP的情况下,下一跳填写出接口即拨号口

SW1(三层交换机)配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vlan batch 2 10 20
int g0/0/1
port link-type access
port default vlan 2
int g0/0/2
port link-type access
port default vlan 10
int g0/0/3
port link-type access
port default vlan 20
int vlanif 2
ip add 10.0.11.1 24
int vlanif 10
ip add 10.1.1.254 24
int vlanif 20
ip add 20.1.1.254 24
quit

PC机自动获取IP配置

SW1

1
2
3
4
5
6
7
dhcp enable				//系统视图下开启dhcp功能
int vlanif 10
dhcp select interface //通过选择接口的IP网段给下边的设备分配IP地址
dhcp server dns-list 114.114.114.114 //设置分配的dns服务器
int vlanif 20
dhcp select interface
dhcp server dns-list 114.114.114.114

路由配置

PPPoE-Client

1
2
ip route-static 10.1.1.0 24 10.0.11.1
ip route-static 20.1.1.0 24 10.0.11.1

SW1

1
ip route-static 0.0.0.0 0 10.0.11.254

NAT配置

PPPoE-Client

1
2
3
4
5
6
acl 2000
rule permit source any
quit
int Dialer 0
nat outbound 2000
quit

验证测试

dhcp抓包分析

image-17

PC1查看dhcp分配IP地址是否成功

image-18

PC1访问外网

image-19