# GPON PLOAMd Message Analysis Using Supervised Neural Networks
## 1 Introduction  
Customer requirements for provided services increase over time, which also increases requirements for provided bandwidth [1; 2]. A modern solution to meet customer needs is the gigabit-capable passive optical network (GPON). Another modern solution is passive optical network (PON) technology [3; 4; 5; 6; 7; 8; 9; 10; 11; 12]. The protocol used in these networks is defined by the International Telecommunication Union Telecommunication sector (ITU-T) as a set of recommendations, which allows device vendors to modify this protocol with little adjustment [13; 14]. An analysis of such protocols requires advanced techniques because conventional (e.g., pushdown automata) methods are not sufficient for undocumented messages or message usages. Therefore, this paper investigates the possibility of GPON protocol analysis using machine learning algorithms.  
A passive optical network exhibits a tree-like topology, where the root is the optical line terminal (OLT) located at the provider site and the leaves are optical network units (ONUs) or optical network terminals (ONTs) located at the customer sites. The distributional network between the OLT and ONUs/ONTs consists of fiber cables and passive optical components (e.g., splitters, splices, and connectors). The OLT provides organization and management for components of this network, especially for effective bandwidth allocation, transmit synchronization and others [15; 16; 17; 18]. Passive optical components cause the data to be sent using broadcasting for downstream communication (from the root to leaves). Each communication participant must be correctly synchronized to avoid transmission collisions, which is achieved by forcing leaves to use the activation process when they want to join the network [19]. This process uses physical layer operations, administration and maintenance downstream (PLOAMd) messages located in the header of the downstream transmission frame.  
The communication medium (optical fiber) and GPON maximal symmetrical transmission speed of 2.48832 Gbps make the data capture process challenging. The downstream data are mirrored usingan optical splitter into a network probe consisting of a hardware accelerated signal decoder [20]. The captured data are sent to a message database, which is the source for the learning data used in this paper.  
The main contribution of this paper is a comparison of three different types of recurrent neural network layer used for the analysis of PLOAMd message sequences using supervised machine learning methods. All of these layer types are tested in the exactly the same network architecture to achieve reasonable performance comparison. All of the models share the same optimizer and objective function. The only difference is recurrent layer type. The tested models should be able to recognize patterns in communication sequences and decide whether the communication satisfies the GPON standard. Thus, the models classify input sequence into two categories: a correct class representing communication according to the GPON recommendation and a faulty class representing a violation of GPON recommendation. Exemplary GPON communication is captured in a real GPON network in a laboratory environment. This communication is considered as suitable for the GPON standard and is used as the source of learning data. A non-standard communication sequences are generated by custom corrupting function, which add/drop/modify messages in the captured sequences. The output of this paper is comparison of various recurrent layers and recommended recurrent layer for protocol analysis capable of learning patterns in message sequences.  
The rest of this paper is structured as follows. Section 2 introduces related works. The learning data generation process and its final data shape are described in Section 3. Section 4 introduces the model design based on long short-term memory (LSTM) cells and evaluates its detection capabilities (accuracy). Finally, Section 5 concludes this paper.