Bootstrap

【动态带宽分配(DBA)通过IPACT在1G-EPON中的应用】IPACT(交错轮询自适应周期时间)是针对以太网无源光网络(EPON)的一种动态协议(Matlab代码实现)

  💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文章


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

这是一项针对1千兆位以太网无源光网络(EPON)中动态带宽分配(DBA)的模拟,该模拟遵循交错轮询自适应周期时间(IPACT)协议。

参考文献:

我们研究了基于无源光网络(PON)技术的接入网设计问题。基于轮询的PON,其数据封装在以太网帧中,具备多种理想的特性,包括动态带宽分配、使用单一的下行波长和单一的上行波长、能够为每个用户提供部分波长容量的配置以及方便新增用户等。为了支持动态带宽分配,我们提出了一种称为IPACT的交错轮询算法。此外,我们还提出了一种内带信号方案,该方案允许使用单一波长同时传输下行数据和控制消息。为了获得贴近实际的仿真结果,我们生成了展现出自相似性和长程依赖性的合成流量。随后,我们在不同的业务负载条件下分析了网络性能。

无源光网络(PON)技术被广泛视为解决“最后一公里”问题的吸引人方案[1, 2]。PON是一种点对多点的光网络,在信号从源头到目的地的路径中没有活跃元件。PON中使用的唯一内部元件是无源合波器、耦合器和分路器。

采用PON作为用户接入网络的优势包括覆盖面积大、减少光纤部署量、具有多播和广播功能、因设备为无源性质而降低维护成本,以及易于升级到更高比特率或增加额外波长。

针对以太网PON(EPON)作为接入网络解决方案的标准化工作正在IEEE 802.3ah“第一英里以太网”(EFM)任务组中持续进行。该小组的重点在于通过规定物理层和数据链路层的参数与操作来确保互操作性。特定的带宽分配算法被视为供应商特定并超出任务组的范围。在本研究中,我们描述了一种新的动态带宽分配算法,并分析了其在EPON中的性能。

在[3]中,我们讨论了在PON中使用时分复用多址访问(TDMA)的优势,即可扩展性、为用户提供波长容量的一部分、所有上行通道使用单一波长、头部只需一个接收器等。然而,我们也指出,由于时间槽未被充分利用,导致大量带宽被浪费。为了降低基于PON的接入网络成本,高效利用带宽变得极为重要。

本研究中,我们提出了一种名为交错轮询自适应周期时间(IPACT,发音为eye-pact)的新协议。考虑中的基于PON的网络采用轮询方案,通过PON接入网络将一系列光网络单元(ONU)封装在以太网数据包中的数据传送到中心光线路终端(OLT)。OLT反过来与互联网的其余部分相连。

为了避免与轮询相关的行走时间(切换时间)累积,我们采用了交错方案,其中多个轮询请求在时间上重叠。随后,我们讨论了如何有效地使用内带控制信令来进行轮询。

我们展示了仿真结果,以展示系统性能,例如数据包延迟界限、队列占用情况以及数据包丢失概率。

📚2 运行结果

可视化代码:

% Function to generate plots to show the summaries

function [] = plot_results(Lambda,polling_cycles,avg_pkt_delay_all,avg_pkt_trx_delay_all)
    close all;
    % ============================ figure 1 ============================
    figure; hold on; grid on; box on;
    plot(Lambda,polling_cycles,'-o','LineWidth',2);

    xlim([0 1]);
    ylim([0 inf]);
    xlabel('Effective network load $(\rho)$','FontWeight','bold','FontSize',12,'Interpreter','latex');
    ylabel('Number of polling cycles','FontWeight','bold','FontSize',12,'Interpreter','latex');
    legend({'Limited service'},'FontWeight','bold','Location','northeast','Interpreter','latex');
    hold off;

    % ============================ figure 2 ============================
    figure;
    semilogy(Lambda,avg_pkt_delay_all,'-o','LineWidth',2);
    grid on; box on;

    xlim([0 1]);
    ylim([1e-4 1e-1]);
    xlabel('Effective network load $(\rho)$','FontWeight','bold','FontSize',12,'Interpreter','latex');
    ylabel('Average packet latency at ONU (sec)','FontWeight','bold','FontSize',12,'Interpreter','latex');
    legend({'Limited service'},'FontWeight','bold','Location','northeast','Interpreter','latex');

    % ============================ figure 3 ============================
    figure;
    semilogy(Lambda,avg_pkt_trx_delay_all,'-o','LineWidth',2);
    grid on; box on;

    xlim([0 1]);
    ylim([1e-4 1e-1]);
    xlabel('Effective network load $(\rho)$','FontWeight','bold','FontSize',12,'Interpreter','latex');
    ylabel('Average end-to-end packet latency (sec)','FontWeight','bold','FontSize',12,'Interpreter','latex');
    legend({'Limited service'},'FontWeight','bold','Location','northeast','Interpreter','latex');

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、文章

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

;