首页 > 其他分享 >网络基础——PPP和PPPOE

网络基础——PPP和PPPOE

时间:2024-03-29 10:03:56浏览次数:20  
标签:协商 报文 配置 PPP 网络 ppp 认证 PPPOE

前言:在二层中,还有一个息息相关的协议,那就是PPP,而用以太网封装的就是PPPOE,是从事运营商网络最为常见的业务之一,也是必不可少的协议之一

背景

PPP是服务于广域网的技术,但是随着以太网的大范围使用,于是PPPOE诞生了,在PPP协议的基础上封装着以太网

相关名词

PPP:点到点协议,是广域网二层协议,是用于全双工的链路上进行点到点数据传输

PPPOE:以太网承载PPP协议,以太网中的多台主句连接到远端的宽带接入服务器

PAP:密码验证协议,是配置验证的一种方式

CHAP:挑战握手认证协议,配置协议认证的一种方式

LCP:链路控制协议,协商链路层参数

NCP:网络控制协议,,用于网络层参数的协商,最常见的是IPCP

链路层协商:通过LCP来进行链路层的协商

网络层协商:通NCP来进行网络层的协商,例如使用什么协议

认证协商:这个是可以选择的,一般有两种方式,分别是CHAP和PAP

原理

状态机
  • dead:最开始的状态,没有什么,如果在terminate,全部的资源释放,那么就会回到这个状态
  • establish:开始进行LCP协商,主要协商的参数有MTU、魔术字等
  • opened:LCP协商成功,那么就进入到这个状态,表示底层链路建立成功
  • authentication:如果配置了认证,那么就进入到这个状态,并且开始进行认证
  • network:认证成功,那么就进入到该状态,
  • terminate:认证失败,那么就进入到该状态,表示链路拆除
报文格式

LCP报文格式

封装在protocol字段

  • configure-request:配置请求报文,当开始进行协商时会发送该报文,code是0×01
  • configure-ack:配置确认报文,如果收到配置请求报文,并且协商成功,那么就会发送该报文,code是0×02
  • configure-nak:配置参数需协商,如果当两端携带的参数不一样,那么就要发送该报文,从而进行参数的协商,code是0×03
  • configure-reject:配置参数不识别,当收到携带不识别的参数,那么就会发送该报文,code是0×04
认证模式

PAP:密码认证,就是两次握手,同时是明文封装,如果使用抓包工具,可以把密码和详细的信息抓出来,使用authentication-request和authentication-ack、authentication-nak进行交互,一发一收

CHAP:挑战握手认证,三次握手,密文封装,使用challenge报文和response报文来进行交互,challenge报文里面包含随机数和ID,进行MD5进行加密

地址协商分为静态地址和动态地址,区别是静态需要在两端进行IP地址的配置,而动态就是只需要在一端进行地址的配置,另一端自动获取IP地址

PPPOE报文(封装在PPPOE头部)

  1. PADI:PPPOE激活发现起始报文,发送方式是广播
  2. PADO:PPPOE激活发现服务报文,发送方式是广播
  3. PADR:PPPOE激活发现请求报文,发送方式是单播
  4. PADS:PPPOE激活发现会话确认报文,发送方式是单播
  5. PADT:PPPOE激活发现终止报文,发送方式是单播
PPPOE阶段

PPPOE发现

  1. PPPoE Client广播发送一个PADI(里面包含PPPOE client想要得到的服务信息)
  2. PPPOE sever收到后,会将自己能够提供的服务与需要的服务进行比较,如果可以提供,则会单播回复一个PADO报文
  3. 可以会收到多个PPPOE sever 发送来的PADO报文,会选择最先收到的那个作为自己的服务器,并且单播发送PADR报文
  4. 服务器会发送PADS,里面包含唯一的会话ID
  5. 这个阶段结束后,它们共同确定了唯一的PPPoE Session

PPPOE会话

就要就是进行LCP、NCP协商,认证协商,其中的IPCP主要就是负责协商IP地址和DNS服务器地址

PPPOE终结

这里主要就是使用PADT报文进行会话的终结,结束PPPOE的会话

实验

PPP实验拓扑(左边为服务器,右边位客户端)

PPPOE实验拓扑(二者的区别就是使用的线缆不同)

代码

PPP实验命令

服务器

aaa

local-user kekekuli password cipher %$%$.VKqVLXrF-'#m\/%Qob)o9d8%$%$//创建用户并且配置密码
 local-user kekekuli service-type ppp//配置服务协议是PPP

interface Serial  4/0/0//进入串口
link-protocol ppp//配置链路封装的协议
 ppp authentication-mode chap //配置认证模式为chap,如果是PAP,那么就配置为PAP
 ip address 20.1.1.1 255.255.255.0//配置IP地址

客户端

interface Serial4/0/0//进入串口
 link-protocol ppp//配置链路封装的协议
 ppp authentication-mode chap //配置认证的模式,需要和服务器配置的一样
 ppp chap user kekekuli//配置用户,需要和服务器的AAA用户一样,PAP不需要
 ppp chap password cipher %$%$3r-rCP\de4!fl/DaSjh;,">l%$%$//配置密码,需要一致,PAP不需要

ppp pap local-user kekekuli password cipher %$%$:,"<<|s+]0:~y"7Kmfl<,.>&%$%$//PAP需要配置这条命令,用来代替上面的两条命令
 ip address 20.1.1.2 255.255.255.0 //配置IP地址


PPPOE实验

客户端

interface Dialer1//配置拨号组
 link-protocol ppp//配置链路协议
 ppp chap user kekekuli//配置用户,需要和对端的相同
 ppp chap password cipher %$%$JX]AOU+640n!HyN"dz&A,.Qi%$%$//配置密码
 ip address ppp-negotiate//配置地址自协商
 dialer user kekekuli//配置拨号用户,需要和对端对应
 dialer bundle 1//配置绑定的接口
 dialer-group 1//创建对端拨号组
interface GigabitEthernet0/0/0//进入接口
 pppoe-client dial-bundle-number 1 //配置PPPOE会话对应的dial bundle
dialer-rule//配置拨号规则
 dialer-rule 1 ip permit//配置规则编号动作
ip route-static 0.0.0.0 0.0.0.0 Dialer1//配置静态路由
服务器

ip pool 1//创建地址池
 gateway-list 192.168.1.254 //创建网关
 network 192.168.1.0 mask 255.255.255.0//创建网段

aaa//进入AAA视图

local-user kekekuli password cipher %$%$3~0x&V-V%D|;VD&a[/%<rGmN%$%$//创建用户,需要对应
 local-user kekekuli service-type ppp//创建服务的协议

interface Virtual-Template1//创建并且进入虚拟模板
 ppp authentication-mode chap //配置认证模式
 remote address pool 1//配置远端地址池
 ip address 192.168.1.254 255.255.255.0 //配置IP地址

interface GigabitEthernet0/0/0//进入对应的接口视图
 pppoe-server bind Virtual-Template 1//绑定虚拟模板
 

标签:协商,报文,配置,PPP,网络,ppp,认证,PPPOE
From: https://blog.csdn.net/hu_chen1314/article/details/137033515

相关文章

  • 【计算机网络篇】数据链路层(4.2)可靠传输的实现机制
    文章目录......
  • 保障校园网络安全的五大措施看这里!
    校园,一个教书育人的地方。校园网络安全不仅关系到学校的正常运转,还关系到师生个人信息安全以及校园和谐稳定。因此在网络发达的今天,保障校园网络安全至关重要。保障校园网络安全的五大措施看这里!一、开展网络安全教育在信息数字化的今天,开展网络安全教育不仅可以提升学......
  • 计算机网络-网络文件共享协议
    前言在计算机网络中,我们经常会遇到在不同计算机网络系统之间如何共享和访问文件的场景,并且在实际项目中有这样的需求,在Linux中需要动态的mount文件,需要选择合适的网络文件共享协议以满足并发,吞吐量等需求。这就涉及今天要讲的网络文件共享协议SMB和NFS。SMBvsNFS什么是SMBSM......
  • 在Linux中,如何追踪TCP连接和网络数据包,如使用tcpdump或Wireshark?
    在Linux环境中,追踪TCP连接和网络数据包主要通过使用命令行工具tcpdump和图形化网络分析软件Wireshark来实现。以下是详细的操作步骤:1.使用tcpdumptcpdump是一个强大的命令行网络抓包工具,用于实时捕获和分析网络流量。以下是如何使用tcpdump追踪TCP连接和数据包:1.基本用法......
  • 网络工程师之路由交换组合配置知识点相关技术方法解析
    网络工程师之路由交换组合配置相关技术方法解析交换机部分配置参数vlanif的配置环回的配置vlanbatch配置允许通过trunk口ospf的配置disospfpeerbdisipconospf带宽:默认100bandwidth-reference10000{所有运行ospf的都改}100/10010000/100备份配置:创......
  • 网络安全渗透测试工具
    网络安全渗透测试常用的开发工具包括但不限于以下几种:Nmap:一款网络扫描工具,用于探测目标主机的开放端口和正在运行的服务,是网络发现和攻击界面测绘的首选工具。Wireshark:一个流量分析工具,用于监测网络流量。Hydra:一款用于在线破解密码的工具,可以用于各种服务的登录攻击,例如SSH......
  • 02-基于STM32F407MAC与DP83848实现以太网通讯六(IPerf网络速度测试)
    一、IPerf2网络测试工具Iperf2是一个用于测试网络带宽的工具。它是Iperf的旧版本,专注于提供基本的带宽测量功能。通过在客户端和服务器之间发送测试数据流并测量其性能,用户可以评估网络连接的速度和稳定性。Iperf2提供了一种简单而有效的方式来评估网络性能。IPerf3已经发布了,但......
  • flutter加载网络图片错误EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE The following
    在flutter里使用image.network加载网络图片遇到错误══╡EXCEPTIONCAUGHTBYIMAGERESOURCESERVICE╞════════════════════════════════════════════════════ThefollowingSocketExceptionwasthrownresolvingani......
  • Golang操作kafka遇到网络问题重试的案例
    草稿0、实际中会遇到网络抖动会导致消费者有一小段时间与kafka连接遇到问题~0、如何模拟网络问题?本地跑多个kafka实例直接关掉其中一个kafka服务??怎么模拟断网??1、kafka-go与sarama都演示一下2、一个consumer消费一个topic的例子;模拟网络问题可以把kafka服务关了~观察一下再开启k......
  • MIS607网络安全评估威胁模型
    主题代码和标题MIS607网络安全评估威胁模型报告个人/团体个人长度1500字(+/-10%)学习成果通过成功证明的学科学习成果以下任务包括:b)探索和阐明网络趋势、威胁和保持安全在网络空间,加上保护个人和公司数据。c)分析与组织数据网络相关的问题和安全性,向他们推荐实用的解决方案决议......