## 4 Proposed Architecture
### Implementation Phase
The larger the size of frames, the more time it takes to process each frame and, as a result, there will be higher latency. Moreover, the average amount of the small and big frames' jitter is less than 1\(\upmu\)s, as shown in Figure 19. It is important to note that the average jitter for frames larger than 1024 bytes is, relatively, in the order of nanoseconds, which is three orders of magnitude smaller than that of small-sized frames. Moreover, as shown in Figure 20, we discussed queue build-up in small-sized frames. One of the causes of long queues is tail packet loss. Because the size of frames is short, there will be a huge number of incoming short frames, and as a result, they will create a long input queue and increase the probability of frame drop at the tail of the queue. The size of the frames can affect the distribution of traffic in the network. If frames of different sizes randomly enter the network, smaller frames (such as 64 and 128 bytes) may act as a noise load in the network and cause more interference, leading to an increased packet loss ratio. Figure 17: Throughput rate per various frame sizes for our practical model. Figure 13:0 Average jitter per various frame sizes for our practical model. Figure 13:1 Maximum packet loss ratio per various frame sizes for our practical model. ## 6 Conclusions

We developed a novel H-VPLS architecture via Q-in-Q tunneling on a commodity router. Our work is based on utilizing and enhancing two well-known open-source packages: VPP as the router's fast data plane and FRR, a modular control plane protocol suite, to implement VPLS. Both VPP and FRR have active and dynamic communities, and they are the only open-source frameworks that support VPLS. FRR in the control plane implements control messages and relevant signaling, while VPP in the data plane side provides the capability of forwarding VPLS packets and manually labeling them. We have tested the implementation in both simulation and real physical scenarios, and the results indicate that the VPLS control plane works in compliance with the RFCs mentioned in the previous sections, as well as seamless interoperability with other vendors' VPLS. Additionally, VPLS can be implemented in software without the need for specific support from the underlying hardware. Finally, the overall performance of the router shows that our proposed approach, based on open-source frameworks, is applicable in the real world. In future work, we plan to test and compare the performance of our software-based VPLS with other vendors' VPLS. There are two types of VPLS: H-VPLS-QinQ tunnel and H-VPLS-MPLS PW. As we have implemented the first type, we will also consider the design and implementation of the second type in future works. Conceptualization, software, methodology and writing--original draft: M.B. ; Validation: M.B., H.F. and N.Y.; Visualization: M.B. and H.F.; Supervision: H.F. and N.Y.; Writing--review and editing: H.F. and N.Y. All authors have read and agreed to the published version of the manuscript. This research received no external funding. The data that support the findings of this study are available from the corresponding author, upon reasonable request. The authors declare no conflict of interest. ## References

* (1) [PERSON]; [PERSON] Online OSPF weights optimization in IP networks. _Comput. Netw._**2014**, _60_, 1-12. [CrossRef]
* (2) [PERSON]; [PERSON] [PERSON]; [PERSON] Network high availability for ethernet services using IP/MPLS networks. _IEEE Commun. Mag._**2008**, _46_, 90-96. [CrossRef]
* (3) [PERSON] On managing traffic over virtual private network links. _J. Commun. Netw._**2000**, \(2\), 138-146. [CrossRef]
* (4) [PERSON] Comprehensive Model for VPLS. US Patent 8,213,435, 3 July 2012
* (5) [PERSON]; [PERSON] [PERSON]; [PERSON] [PERSON] Improving the tunnel management performance of secure VPLS architectures with SDN. In Proceedings of the 2016 13 th IEEE Annual Consumer Communications & Networking Conference (CCNC), Las Vegas, NV, USA, 9-12 January 2016; pp. 530-536.