0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

理解和实现 PPPoE 拨号

IP数据云 来源:IP数据云 作者:IP数据云 2024-08-14 17:38 次阅读

在现代网络环境中,PPPoE拨号是一种广泛使用的技术,特别是在ADSL、FTTH等接入场景中。PPPoE通过在交换机上封装PPP数据包,实现了宽带用户的远程拨号和接入服务其优点包括能够在宽带环境中提供PPP的所有功能,如用户身份验证、加密等。

PPPoE的基本原理 PPPoE 是 PPP 协议在宽带上的扩展,其核心思想是在宽带上使用 PPP。 PPPoE 由两部分组成:PPP 协商阶段和 PPP 数据传输阶段。

PPP协商阶段

在这个阶段,客户端通过PPPoE客户端软件发送发现和协商数据包到服务器,服务器响应确认。这个过程包括:

PADI (PPPoE Active Discovery Initiation):客户端发送PADI包,广播电台,寻找PPPoE服务器。

PADO (PPPoE Active Discovery Offer):服务器接收PADI包后,发送PADO包给客户端,提供服务。

PADR (PPPoE选择Active Discovery Request):客户端一个合适的服务器,并发送PADR包请求连接。

PADS (PPPoE Active Discovery Session-confirmation):服务器发送 PADS 包确认会话的建立,包含一个唯一的会话 ID。

PPP 职业生涯阶段

一旦会话建立,客户端和服务器之间的PPP 会话开始,所有的 PPP 帧都通过消耗功耗。在这个阶段,数据传输的流程与传统的 PPP 类似,包括 LCP 配置、认证协议(PAP/CHAP) )、网络层协议配置(如IPCP、IPV6CP)等。

①、家庭和企业责任

PPPoE允许被广泛接入家庭宽带接入点和中小型企业接入点,特别是ADSL、VDSL和光纤接入点。它的网络服务提供商(ISP)对用户进行有效的身份验证和设备。

②、VPN 和远程访问

PPPoE在VPN和远程访问应用中提供了灵活的连接方式,尤其是在企业网络环境中。它支持加密和安全的隧道协议,为远程办公和安全数据传输提供了基础。

③、PPPoE拨号的实现示例

下面是一个使用Python 进行 PPPoE 拨号的简单示例,该示例使用了scapy库来构造和发送 PPPoE 数据包。https://www.ipdatacloud.com/?utm-source=LMN&utm-keyword=?2693

from scapy.all import

def send_padi():

# 构建一个 PADI 数据包

**padi = Ether(dst='ff:ff:ff:ff:ff:ff', type=0x8863) / **

**PPPoED(code=0x09) / PPPoETag(tag_type=0x0101, tag_len=0)**

# 发送 PADI 数据包并等待 PADO 响应

response = srp1(padi, timeout=5)

if response and response.haslayer(PPPoED) and response[PPPoED].code == 0x07:

print("Received PADO from server")

return response

else:

print("No response received for PADI")

return None

def send_padr(pado):

# 使用服务器的 MAC 地址构建 PADR 数据包

**padr = Ether(dst=pado.src, type=0x8863) / **

**PPPoED(code=0x19) / PPPoETag(tag_type=0x0101, tag_len=0)**

# 发送 PADR 数据包并等待 PADS 响应

response = srp1(padr, timeout=5)

if response and response.haslayer(PPPoED) and response[PPPoED].code == 0x65:

print("Received PADS, session established")

return response

else:

print("No response received for PADR")

return None

def main():

pado_response = send_padi()

if pado_response:

pads_response = send_padr(pado_response)

if pads_response:

print("PPPoE session successfully established")

if name == " main ":

main()

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 拨号
    +关注

    关注

    0

    文章

    8

    浏览量

    18348
  • PPPoE
    +关注

    关注

    0

    文章

    24

    浏览量

    12141
收藏 人收藏

    评论

    相关推荐

    污水处理解决方案:智慧云平台实现全方位管控

    我很高兴与大家分享我们在某市政污水处理项目中的成功案例。面对市政污水处理的复杂工艺和严格的排放标准,我们为客户提供了一套完整的污水处理解决方案,实现了全流程的实时监测和智能控制。下面,我将重点介绍方案中的网络通信和数据传输部分。
    的头像 发表于 11-11 16:59 163次阅读
    污水处<b class='flag-5'>理解</b>决方案:智慧云平台<b class='flag-5'>实现</b>全方位管控

    摩尔线程正式开源音频理解大模型MooER

    近日,国内领先的GPU创新企业摩尔线程宣布了一项重大技术突破——正式开源其自主研发的音频理解大模型MooER(摩耳)。这一举动标志着我国在音频处理与理解领域迈出了坚实的一步,特别是在基于国产硬件的AI模型研发上取得了显著成就。
    的头像 发表于 08-27 15:24 460次阅读

    对于运放的THD+N和位数该如何理解理解

    对于运放的THD+N和位数该如何理解理解(有效位数ENOB=(SINAD-1.76)/6.02)
    发表于 08-13 06:04

    使用IR900 4G专网卡拨号拨不上的解决办法

    目前在使用IR900(包括IR912L-TL00和915L-TL00)时,若遇到使用电信4G专网卡拨号拨不上的时候,可参照以下解决方法:网络-拨号接口:调整拨号参数集和初始化拨号命令1
    发表于 07-25 08:11

    4G卡插上无法正常拨号的解决办法

    1.普通电话卡或物联网卡(能插在手机上直接使用的) 路由器预设了通用拨号参数这类卡插在路由器上一般情况下不需要配置便能成功拨号; (注:物联网卡为一卡一机绑定,同一张物联网卡如果和一台设备绑定将无法
    发表于 07-24 06:56

    求助,能否实现PPP拨号功能+构建HTTP服务器?

    1、我已经通过修改usb_cdc_4g_module demo实现PPP拨号上网,但是加上HTTP服务器后,HTTP服务器会访问不了,PPP拨号上网也会异常。 2、单独构建HTTP服务器,不使
    发表于 06-27 07:38

    ESP32 ppos如何支持EC20拨号上网?

    请问一下ESP32 ppos如何支持EC20拨号上网
    发表于 06-17 07:15

    大语言模型(LLM)快速理解

    自2022年,ChatGPT发布之后,大语言模型(LargeLanguageModel),简称LLM掀起了一波狂潮。作为学习理解LLM的开始,先来整体理解一下大语言模型。一、发展历史大语言模型的发展
    的头像 发表于 06-04 08:27 905次阅读
    大语言模型(LLM)快速<b class='flag-5'>理解</b>

    cybt413061连接HFP时,拨号操作未启动的原因?

    请就以下几点提出建议: 1. 启动拨号时,我们正在连接 HFP 配置文件并拨号,然后断开 HFP 配置文件。 在这里,我们遇到的问题是,当发送拨号命令时,HFP 被连接,之后拨号没有启
    发表于 05-20 08:05

    怎么理解指针的指针?

    怎么理解指针的指针?其实这个概念并不难,只是把它放到实际应用中,容易造成困扰。
    的头像 发表于 02-23 16:46 1085次阅读
    怎么<b class='flag-5'>理解</b>指针的指针?

    计算机视觉:AI如何识别与理解图像

    计算机视觉是人工智能领域的一个重要分支,它致力于让机器能够像人类一样理解和解释图像。随着深度学习和神经网络的发展,人们对于如何让AI识别和理解图像产生了浓厚的兴趣。本文将探讨计算机视觉中AI如何进
    的头像 发表于 01-12 08:27 1355次阅读
    计算机视觉:AI如何识别与<b class='flag-5'>理解</b>图像

    深入浅出理解PagedAttention CUDA实现

    vLLM 中,LLM 推理的 prefill 阶段 attention 计算使用第三方库 xformers 的优化实现,decoding 阶段 attention 计算则使用项目编译 CUDA 代码实现
    的头像 发表于 01-09 11:43 1770次阅读
    深入浅出<b class='flag-5'>理解</b>PagedAttention CUDA<b class='flag-5'>实现</b>

    PPPoe的报文结构和抓包分析

    PPPoe的头部后面就是PPP的报文了,因为我们需要的是ppp协议中的认证功能,所以自然需要有完整的ppp报文去完成这一部分的功能。
    的头像 发表于 01-02 09:47 3842次阅读
    <b class='flag-5'>PPPoe</b>的报文结构和抓包分析

    深入理解RCU:玩具式实现

    也许最简单的RCU实现就是用锁了,如下图所示。在该实现中,rcu_read_lock()获取一把全局自旋锁,rcu_read_unlock()释放锁,而synchronize_rcu()获取自旋锁,随后将其释放。
    的头像 发表于 12-27 09:06 712次阅读

    运用RFID技术的资产管理解决方案

    RFID资产管理解决方案 针对仓库内的所有物品都提供唯一的纸质标签,将资产管理、盘点、出入库、领用、废弃、采购、资产维保的整个生命周期的多维度管理,针对固定资产进行全程跟踪定位管理,实现高效专业资产管理。 产品功能: 方案优势: 审核编辑 黄宇
    的头像 发表于 12-21 16:12 451次阅读
    运用RFID技术的资产管<b class='flag-5'>理解</b>决方案