1. Introduction
With an increasing number of Internet users, the number of services which are capable of gathering, sharing, and processing information increase as well [
1,
2]. Over the last decade, a massive breakthrough in the Information technology (IT) has taken place. As a result, the need for high-speed connectivity becomes a necessity. As the requirements on speed and data availability are increasing, the demands for high-quality and reliable Internet connections are also growing [
3,
4]. This growing applies not only to corporate customers or other organizations but also to households or individual end-users.
Given this trend, it is clear that there has been a considerable increase in the transmission of information and the standard copper wire links are being replaced by high-speed optical links in the backbone and access networks. With the increasing demand for information transmission, the range of fiber optic deployment is expanding further to the last mile towards the user.
Last mile connections are therefore built using passive optical networks (PONs) that have lower operating and maintenance costs than the active network [
5]. With the gradual development of this kind of optical networks, many technologies have also been developed that differ primarily in their transmission speeds and network communication.
The main problem with the optical transmission is their definition based on the recommendation of the International Telecommunication Union, Telecommunication section (ITU-T), which does not oblige the manufacturers of optical devices to comply with them. Because of the lack of fixed standards, there are still no freely available network analyzers for Gigabit PON (GPON) networks. Commercial analytical tools such as GPON XpertTM or GPON-DoctorTM need to be used to monitor network communication. The use of such tools may be from our point of view problematic due to the high purchase price and the subsequent licensing policy, which in many cases may not allow users to perform a broader range of analyses for a single fee.
The main contribution of this article is an implementation of GPON database for PLOAM messages. We parsed PLOAM message from the home-developed field-programmable gate array (FPGA) card for GPON network with our implementation of parser for GPON messages in optical domain.
The rest of this work is organized as follows.
Section 2 discusses new trends and experiences in the field of optical networks in recent literature contributions.
Section 3 describes the principles of passive optical networks, their topology, and GPON-based communication, based on ITU-T recommendations. A database system used store GPON frames captured by FPGA programmable card is presented in
Section 4. In this section Python scripts are also described, which analyze captured communication. Finally,
Section 5 summarizes this article.
2. Related Works
In recent years, GPON-related works have been published. These works focused mainly on the physical layer of this technology, line coding, the dynamic bandwidth allocation (DBA) algorithm, quality of service quality (QoS) and data frame processing in the upper layers.
Authors Smith et al. [
6] focused on the analysis of algorithms for long-range GPONs, especially for the extended range optical network. These algorithms use packet delay and bandwidth allocation.
In [
7], the authors dealt with the design of a device for the extension of the GPON network using a programmable FPGA card. With the proposed method, it is possible to divide the distribution network into a ratio of 1:512 to (the distance of 60 km). However, due to the very high price, the product could not be further developed.
The work [
8] proposed an optical network analysis based on the time division multiplex (TDM) multiplex. The work also represents a solution for various TDM traffic formats, such as a 10 Gb/s data stream, especially for GPON technology where transmission was transmitted in clusters. During the analysis, GPON transmission convergence (GTC) frames using TDM were combined with multiple protocols, such as Ethernet or GPON.
In addition, [
9] presented GPON concerning the network of the new generation. The work has been trying to show GPON as a good solution for triple play service. The economic description of the solution is accompanied by the technical solution for Next Generation Network. In addition, details about GPON applications are specified.
In [
10], Shuai et al. suggested implementing medium access control (MAC) protocols and a special filter over GPON system to get a higher rate of GPON links’ utilization.
In [
11], the authors dealt with the simulation of the convergence layer of transmission in the next generation of passive optical networks. For this purpose, they used the Matrix Laboratory (MATLAB) programming environment. The 10 G numeric network model simulates the delay compensation and the effect of the refractive index on the timing.
An outbound direction planning for 1 G/10 G Ethernet passive optical network (EPON), and GPON in [
12] is analyzed. In the opposite direction, messages are transmitted by broadcasting, so this direction is unnecessary to be addressed. In general, it is not possible to compare these networks because GPON does not use the carrier sense multiple access (CSMA) method.
In the [
13], authors introduced an end-to-end QoS GPON scheme using a dynamically weighted fair queue. The authors came up with a solution for end-to-end QoS using the REPORT message.
In the last article [
14] mentioned, the authors compared the results of GPON and Next Generation passive optical network (NG-PON1) framing. Although the authors were concerned with framing, they did not calculate all parameters in GPON and NG-PON1 networks. In both standards, other parameters such as round-trip time (RTT), optical line terminal (OLT) response time, and the relationship between OLT and optical network unit (ONU) in the registration’s state needs to be considered.
3. Passive Optical Network
Passive optical networks are mostly deployed in access networks, between end-users and the associated transport networks. Original metallic-based networks are nowadays being slowly replaced by optical or combined ones, which differ in how the optical distribution is terminated. Typical examples are fiber to the home (FTTH), fiber to the curb (FTTC), fiber to the building (FTTB), and fiber to the antenna (FTTA). The advantage of using passive optical networks is their operating and acquisition costs. They are composed of passive elements that do not require power because the signal is not amplified along the way. This approach makes it possible to minimize and evenly distribute the costs among users [
15].
A passive optical network creates a point-to-multipoint connection. The main idea of a passive optical network is to transmit the signal without further amplification, so that the network is composed only of the basic elements such as OLT, splitters, ONUs and optical network terminate (ONT), etc., see
Figure 1.
The OLT device is the parent element of the passive optical network. The OLTs are located on the PON provider’s side. In addition to the conversion of the backbone and passive optical network protocols, the OLT also provides the supervision and management of ONUs and ONTs, which determines the time for the transmission of single end units.
At the opposite end of the optical network (towards an end-user), the connection is terminated by ONTs or ONUs: optical network terminations for adapting protocols between the user and the optical network. The difference between the ONU and ONT is only given by how they are used in practice. Although these two units terminate the optical network on the user side, the ONU is positioned at an optical distribution point, and the signal is further propagated from that point by other technologies, for example by digital subscriber line (xDSL), or by wireless fidelity (Wi-Fi), etc.
Branching of the topology is ensured by using splitters. The transmitted signal is divided in a ratio of 1:N, where N can take values of 2, 4, 8, … 64, and 128. The cost of these elements depends on the number of ports used for branching. Since the splitters are passive components as well, they put in an additional attenuation in the signal paths and thus the parameters of the transmitted signal are deteriorated. With the increasing division ratio, total optical distribution network (ODN) attenuation increases as well [
16,
17].
Each element in the network is affecting the network. The number of network elements also limits the maximum distance that can be bridged. The parameters are specified by the gradually developed asynchronous transfer mode PON (APONs), broadband PON (BPON), GPON, etc. These are standards based on asynchronous transfer mode (ATM) technology, which allows the transmission of multiple data using time multiplexing.
3.1. Gigabyte Passive Optical Network
GPON is the ITU-T G984.1 standard approved by the ITU [
16]. The use of the standard guarantees a sufficient capacity for today’s commonly used services while providing an adequate margin for future services as well.
The GPON standard is based on the previously released APON and BPON standards, but it uses a slightly modified layer model avoiding the backward compatibility. The frame processing is based on the time division. GPON frames are not fixed by bit size but with a time interval of 125
s instead. The number of bits in a single frame depends on the network transmission rate. Two transmission rates of 1.244 and 2.488 Gb/s are defined in GPON [
15,
18].
The standard also defines bidirectional communication as full-duplex, but the way of upstream and downstream communication is different; however, individual data units are always transmitted in encapsulated GPON encapsulation method (GEM) frames [
19].
The size of the GEM frames is not fixed because each GEM frame consists of a 5-byte frame header and transmitted data (0–4095 bytes). The GEM frame structure can be seen in
Figure 2. If the user data is larger than the maximum frame size, it is fragmented into multiple frames [
18].
The
Figure 3 illustrates how the encapsulation of GEM frames into individual GPON frames works. The GEM header is attached to the user data, and the entire frame is consequently inserted into the body of the GPON frame. More than a single GEM frame can be encapsulated within the GPON frame because the GPON frame structure is larger than the GEM frame and the associated time unit defines the size.
The encapsulated GEM frames are connected with a header with a variable structure depending on the direction of transmission structure (upstream/downstream) method. The length of this header is not fixed. In addition to frame information, the header also has PLOAM messages that allow for the network control.
3.2. GPON Transmission in Downstream Direction
From the Fibre to the x (FTTx) network diagram, see
Figure 1, it is obvious that optical splitters branching the network are inserted into the optical path. Communication takes place from the OLT control unit towards the user, to the ONU/ONT units. Due to the splitters, the GPON frames are duplicated so that each end unit receives frames that are not intended for it. Such frames could easily lead to undesirable interception of multiple communications. Therefore, communication is encrypted with advanced encryption standard (AES) block encryption.
The main difference in the header in the downstream direction is the bandwidth map (BWmap) field, which contains information for the upstream direction. It has the structure of 8 B that comprises the ONU identificator (ONU-ID) and set of parameters added by OLT. Typically, these parameters define outbound traffic, such as the time when data is being started/terminated in the opposite direction.
3.3. GPON Transmission in Upstream Direction
In the upstream direction, the frame encapsulation is performed in the same way as in the downstream direction. However, the resulting GPON header is considerably simplified and contains significantly fewer fields, and it is because the end unit does not affect the control of the optical network, but in most cases, it responds to the OLT master data queries with the attached data.
The upstream frame contains four optional fields in the header and the user data that is sent to the OLT. When transmitting frames, the unit is controlled by the downlink communications and, in particular, by the activation process during which the transmission parameters have been agreed. User data is always sent with at least one entity defined in the header in a precisely defined time period that is detected from the BWmap field of the previous frame.
The second significant difference between transmission lines is the arrival of frames. Although in the downstream direction, all frames are redistributed to all ONU endpoints by splitters, in the upstream direction, the recipient is the only one that can detect other frames. In this sense, the splitter does not act as a hub in the upstream direction, but its task is to compress individual data streams back into a single stream. This stream is only passed to the port to which the OLT is connected. For both directions, the header also contains a Payload Length field (PLEND) field that is the identical size and serves to transmit control messages and critical event announcements.
4. Design of MS-SQL GPON Database
For traffic detection purposes, transmission over a passive optical network is captured by our developed FPGA network card [
20]. The block diagram is shown in the
Figure 4. The card is connected into network with the optical splitter with ratio 1:32. The card is a hardware device that captures consecutive bits that pass GPON. Our programmed parser software processes data. The purpose of the parser is to compile data into GPON frames and optimally store them for further processing or analysis. The parser is written in C#. More information could be found in [
20]. Microsoft Structured Query Language (MS SQL) database system is selected to save the assembled data because it allows more advanced data operations. The advantage of using a database storage system is the ability to define the storage structure and set permissions for individual users. User-defined rules can be configured differently to enable security settings.
The most important part of data storage is the selection of appropriate database design and structure, see
Figure 5. The database, with name GPON, is designed to save downstream traffic from the optical network. The structure is prepared for capturing headers of GPON frames and useful payload as in GEM frames.
The storage is spread over several consecutive and dependent steps. In the first step, all information from the physical synchronization (Psync), Ident field (IDENT), and PLOAM fields is stored in the database, followed by the control information from PLEND fields in the second step. The BWmap array storage structure is also defined. It saves N-byte structures that hold information about the off-site broadcasting of each ONU. Besides, structures are created to store individual GEM frames, header, and user data.
The data sent by the parser is stored in binary form. Data is stored in a raw form, which can be used for consecutive processing and analysis. MS SQL system cannot display an integer stored as a byte in decimal format, but only in hexadecimal format. However, programming languages can read, work, and display binary data. Thus, it is possible to perform another necessary parsing, for example in particular PLOAM messages, when certain bits are needed to detect the ONU-ID during the activation process.
Further processing is done on two levels: MS SQL 2016, and Python programming language. Processing on MS SQL Server is done through its procedures and functions. The procedures and features created are stored on the server and the regular user does not have access to their source code. The principle of Structured Query Language (SQL) database operation is based on calling procedures or functions that execute an internally defined sequence of commands and returns the results, and stores processed data into a new or already created table, etc. The outputs of these procedures are further processed by our created Python script. The script establishes connection with the database and calls stored procedures on the SQL server. In result from procedures or downloading during SQL, language gets data and is displayed to the end user in a text format on the programming terminal screen or exported to hypertext markup language (HTML) tables using bootstrap cascading styles. On the end script close connection with the database. There are a few parameters defined in the source code which can specify the analysis. The analysis can be performed for all ONUs on GPON or one specific ONU unit.
One of the outputs of this script that is used for the traffic analysis is filtered ONU trigger process. The activation process is initiated after each ONU is connected to the network. It is the sequence of defined PLOAM messages shown in
Figure 6 whereby ONU and OLT negotiate the necessary parameters for the transmission. OLT [
18] always initiate the activation process.
The processing takes place at all levels of the analysis. Data captured by the FPGA card is stored in the database system for processing by the parser application. The data analysis script performs a series of calls to the database server that triggers the activation process via Transact SQL (T-SQL). When filtering data, some PLOAM messages are extracted into a batch sequence and processed within the filtering. The detected communication is stored in the database system separately from the entire operation. The next SQL function call downloads the activation process from the database and then processes it with the above script.
Data containing the activation process is analyzed and stored in the internal SQL database structure. The received data is compared with the expected data. When an inconsistency or transmission error is detected, the cells are colored to provide better user orientation. Processed and verified data is written to an HTML file, see
Figure 7. In addition to the GPON activation process, another purpose of the script is to analyze all network communication.
This analysis contains information about the number of caught PLOAMs messages sorted by ONUS, detected ONUs on GPON and detected types of messages. On the last script compare saved PLOAM with PLOAM described in G.984.3 and graphically show errors even though all problems verify the concept of database schema and all create scripts.
The developed scripts are not recommended for future usage because for analysis, knowledge of Python programming language and Microsoft SQL is required. This problem is critical for end users. For this reason, the functionality that is taken from these scripts is advanced and implemented into user friendly application. The developed application is based on Flask framework as back-end and javascript as front-end technology. The application is running on the server and provides web interface for interaction with user. Over the graphical interface the user communicates with the Python server. The server application automatically manages database connection and processed request from front-end. Python server load information from database, again composes GPON frames and makes the required operation. When the request is successfully processed, the response is shown by web interface to user. Future development is also intended to control the FPGA card from the website and share content from database and analysis over application programming interface (API). The preview of web interface is shown in
Figure 8.
5. Conclusions
The proposed system for storing and analyzing GPON frames can perform downstream header analysis for one or multiple ONU units connected to the network. It is also possible to detect PLOAM messages from the transmitted headers. In addition to the activation transmission, the system can identify even the deactivation states and generate statistics from transmitted PLOAM messages. Last but not least, the system can perform traffic filtering for individual ONU units.
For the time being, the system only processes frames in the downstream direction and focuses only on part of the GPON frame header. The future goal is to implement advanced analyses, even in the upstream direction, and to extend the current toolkit, such as GPON activation detection, PLOAM messages analysis, etc. The system is designed to store data up to the level of individual GEM frames. After successfully decoding the entire GPON frame header, the system will not only be able to work with the analyzed data, but also find information from the BWmap field.
Compared with existing commercial systems, the presented system obtains all the necessary data through the programmable FPGA network card, and subsequent data processing processes are controlled separately. While this may seem to be a disadvantage, it can be used for many other purposes such as GPON safety testing, etc., after sufficient adjustments/refinement. The parser and database will be further enhanced by upstream transmission analysis for each ONU.
The future work will be an implementation of upstream direction of the ONU in our analysis and capturing by FPGA card. We also would like more focus on rogue ONU detection.