Optical Burst Switching (OBS) network is based on existing technical conditions, combining the advantages of optical line switching and optical packet switching, to effectively implement IP over WDM solutions. OBS network includes core nodes and edge nodes. The main function of the core node is to perform routing and channel resource scheduling, set up the optical switching matrix, and reserve all-optical channels for burst data packets (BDP) according to the information provided by the burst control packet (BCP: Burst Control Packet).
Considering the simplicity of the JIT protocol scheduling algorithm and the fast scheduling processing speed, it is not necessary to implement the scheduling algorithm in an independent module. On the contrary, the addition of modules will bring additional delays and consume more processing time. This paper proposes a core node controller structure for the JIT protocol, which integrates the network layer routing function and the OBS layer channel scheduling function into the same module for processing. On the one hand, the integration of modules can shorten the processing time of BCP; on the other hand, in this structure, forwarding is performed after scheduling, so that routing selection can select other feasible output ports when there is no available channel at the optimal output port, and then schedule the channel, thereby reducing the probability of packet loss.
1. Design and implementation of controller
The implementation uses the JIT (Just-In-Time) signaling protocol with explicit setup and estimated teardown. This protocol only has SETUP messages but no REALEASE messages. After the core node receives and completes the processing of the SETUP message, it immediately reserves resources for it and estimates the time to release resources based on the offset time and data packet length contained in the SETUP message.
1.1 System composition
Figure 1 is a block diagram of the OBS core controller system, which is divided into a receiving module, a frame analysis module, a cross matrix, a sending module, and a routing and scheduling module. A cache structure is set between each functional module so that each module can work independently, thereby realizing a pipelined working mode between the modules. The main functions of each module are as follows:
The receiving module receives the data on the control channel, restores it into Ethernet frames, and writes it into the receiving buffer.
The frame parsing module reads the Ethernet frame from the receiving buffer, parses the corresponding protocol field information, and performs corresponding processing. If it is not a BCP packet, it directly forwards it; if it is a BCP packet, it sends the scheduling related information to the routing and scheduling module, and forwards or discards it according to the message returned by the routing and scheduling module.
The routing and scheduling module is responsible for implementing the routing selection function of the network layer and the channel scheduling function of the OBS layer. It contains a forwarding routing table and a channel resource library. The forwarding routing table stores the routing table information of this node for routing query; the channel resource library records the data channel resource occupancy of each output port of this node and is responsible for controlling the optical switch matrix.
The crossbar matrix switches the packets in the input buffer to the output buffer. The sending module updates the offset time of the BCP packet and then assembles it into an Ethernet frame and sends it to the control channel.
1.2 Design and implementation of main modules
1.2.1 Frame parsing module
The frame parsing module is responsible for parsing the frame type and content, and processing some network layer protocols and OBS layer protocols, while controlling the work of the routing and scheduling modules. Its main work can be divided into the following parts: 1. Read the received data packets from the receiving buffer and record the receiving time to update the offset time of the BCP packet; 2. Processing of the network layer protocol, including type information, packet length, acquisition of the destination network address and update of TTL; 3. Processing of the OBS layer protocol, including calculation and update of the offset time, control of the routing and scheduling modules, etc.; 4. For the processed data packets, the local packet is uploaded to the network management module of this node, and those that need to be forwarded are sent to the output buffer.
The state transition diagram of the frame parsing module is shown in Figure 2. After power-on, it first enters the Idle state. In the Idle state, it checks whether there are new data packets in the receiving cache. If there are, it enters the ReadMAC state, reads the MAC header information, and determines the MAC frame type. If it is not an IP data packet, it will be discarded. Otherwise, it enters the ReadIP state. In this state, the length, type, TTL and other information of the IP data packet are read. If it is not a BCP packet, it enters the Route state to select the route. If it is a local packet, it is uploaded to the network management module. Otherwise, it enters the Update state; if it is a BCP packet, it enters the Route&Schedule state to start the work of the routing and scheduling module. If the scheduling is unsuccessful, the BCP packet will be discarded. If it is successful, it also enters the Update state; in the Update state, the TTL is updated. If the wavelength number scheduled changes, the corresponding information must also be updated. After that, it enters the Forward state, sends the updated data packet to the output cache, and processes the next frame.
1.2.2 Routing and Scheduling Module
FIG3 is a schematic diagram of the structure of the routing table and the channel resource library. The routing table contains multiple routing entries, each of which includes two parts of information: the destination network address and the output port number. The process of searching for a route is: starting from the first entry, the destination network address is matched with the network address in each entry in turn, and the output port number is obtained if the match is successful. Ptr is used to point to the current matching entry. If a second search is required, just continue the search from the entry pointed to by Ptr.
The channel resource library contains the channel allocation information of all ports. Each port is a group, including a control unit CU and a group of timers, and each timer corresponds to a channel. When the channel is idle, the timer is also idle. Each time a channel is successfully allocated to BCP, the optical switch control signal needs to be turned on, and the corresponding timer is started at the same time. The time is set to the offset time + reserved time. When the timing ends, the optical switch control signal is turned off. The control unit can determine the usage status of each channel according to the working status of each timer and perform channel allocation.
Figure 3 Structural diagram of routing table and channel resource library The implementation process of routing and scheduling function is as follows: First, detect the scheduling request signal of each frame parsing module. If it is valid, read the destination network address and start the routing and scheduling process at the same time. First, find the first routing table item that matches the destination network address in the routing table to get the output port; then check the channel resource library to see if there is an idle data channel at the port. If so, reserve the channel, set the optical switch matrix, start the corresponding timer, and if the scheduling is successful, return the information of the output port and data channel to the frame parsing module; if there is no idle channel, it is necessary to continue to search for matching items in the routing table, and search for idle channels in the channel resource library again after finding them, and continue in this way; if no idle channel can be found after searching all the items in the routing table, a scheduling failure signal is returned to the frame parsing module.
2 Experimental tests
We have implemented this design in hardware. Figure 4 is a circuit timing simulation diagram obtained using the QuartusII tool. In the figure, 1, 2, 3, 4, and 5 are status indication signals, corresponding to the frame reception completion signal, the reading status signal, the protocol processing status signal, the routing and scheduling status signal, and the forwarding status signal; 6 and 7 are output signals, corresponding to the scheduling completion signal and the optical switch setting signal, respectively.
Figure 2 Working sequence of BCP packet receiving and processing process (see the end) As can be seen from Figure 4, in the process of processing an OBS packet, it goes through multiple states such as frame data reading, protocol processing, routing and scheduling, and forwarding. It only takes 100ns from the completion of BCP packet reception to the issuance of the optical switch setting signal, which is a great improvement compared to the existing implementation scheme. It can fully meet the requirements of the existing OBS network for the core node switching speed.
3 Conclusion
The test results show that the shortest time from receiving the BCP packet to sending the optical switch setting signal is 100ns, which significantly shortens the processing time of the control packet in the core node.
Previous article:Clock Design Based on FPGA
Next article:Design of Virtual Oscilloscope Based on SOPC Technology
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications