VIEWS: 13 PAGES: 9 POSTED ON: 2/3/2010
Mpthrill.com Software Industries Subscriber / Modem Management system And DOCSIS 1.1 provisioning system This document contains: Executive summary System Overview Technical Features Of both Provisioning and Management functions This document contains information proprietary of Mpthrill.com and may not be reproduced, distributed in any form or by any means, in whole or in part, without the express consent of Mpthrill.com Software Industries, The disclosure license or authorization to use or disclose the information, ideas or contents presented. Executive summary: Product overview MPT-MNG Pro is an advanced provisioning system with monitoring functions, it includes all DOCSIS 1.1 standards: DHCP server, TFTP server, Time of Day server, and a SYSLOG server with SNMP Cable Modem / CMTS Monitoring and Management In combination with a Data Over Cable Service Interface Specification (DOCSIS) Cable Modem Termination System (CMTS) the MPT-MNG Pro is designed to boot up cable modems as well as customer PC equipment. System is powered by: GNU/Linux, Apache, MySQL, PHP, Perl, C Provisioning Overview Enables high-speed data service offering over any DOCSIS compliant CMTS and cable modem. Configurable broadband Internet access with multiple levels of service (Gold, Silver, etc.). Web-based interface for Engineers for subscriber provisioning, activation, and account management. Seamlessly integrates with IP management solutions for DHCP, TFTP services. DHCP / TFTP servers Database backend. Wizard driven installation. Technical Features - Provisioning: 1. Multi threaded TFTP server optimized for DOCSIS environment (i.e., many requests for small files) and capable of dynamic file generation. 2. Multi Threaded DHCP server with Option codes 12, 15, 60, 82 and 177 capable of supporting DOCSIS devices. 3. Both DHCP and TFTP engines are independent of data source. The data source is a MySQL Database. 4. Ability to use CLI Scripts for IP Management 5. Supports email alarms when IP Addresses are running low 6. Support for Multiple VLAN's / Cisco MPLS (VRF) Feature List – Provisioning MPT-MNG Pro Server o Designed to run with Redhat Linux 9.0 o Designed to run with Mysql version 3.x DHCP server (port of Moreton Bay) o DOCSIS modems have their own database table with MAC, IP, config file and customer ID. o Customer IPs are assigned based upon IP ranges. o Customer IPs are not recycled. Once a customer has an IP he will keep that IP until he changes his ethernet MAC. o Cable modem MAC is also logged with each customer dhcp request. If you know which cable modem a customer has you also know which IP addresses he has. o The usual path for an incoming DHCP request is to query the incoming MAC against the DOCSIS table and if that does not have any result then query the customer MAC table. o The DHCP server also has mechanisms to speed up the recovery after the CMTS resets. The DHCP server caches all DOCSIS modem info in memory. If the load on the server goes above 0.75 or it receives more than 15 requests in 1 second it will start serving DOCSIS modem IPs from the in memory cache. It also suspends logging when the server load is high. o Support for Cisco "DHCP LEASE QUERY" The Cisco CMTS keeps track of all the customer PC dhcp leases it forwards to the DHCP server. If the CMTS gets reset it loses this information. At this point the DHCP server has given the Customer a lease of an IP address for a certain amount of time. The Customer PC will not attempt to renew the lease until it is almost out of time. When the CMTS sees traffic from an IP it does not know about it sends a special message called a DHCP LEASE QUERY to the DHCP server. This Lease query allows it to find out about DHCP leases that it has forgotten about. TFTP server o When it receives a request for a file this TFTP server reads the file into memory as TFTP packets. This greatly speeds up the next request for the file. o If a file has not been accessed for a while or the file in question has been updated, the file will be purged from memory. TIME server o Mpthrill.com RFC standard UDP Time server SYSLOG server o SYSLOG server to log to a Mysql database. o Each days events are stored in a new table. Mpthrill.com LAB environment benchmarks tests: DHCP / MySQL Simulation: When the MPT-MNG Pro DHCP server process answer to a DHCP client’s request it reads modem information from the MySQL DHCP Database (table 'docsismodem') A simple SQL SELECT query then being made to verify if the modem is registered. Testing Purpose: Checking Performance and mostly stability of the MySQL / DHCP procedures. Testing Environment: As the MPT-MNG Pro DHCP server uses "C" Programming language for the SQL 'SELECT' commands and those commands are being processed on the same server, the testing environment is on the local server. Server / LAB Hardware: Intel Celeron 1000 CPU, 128MB RAM, 5400 RPM i/o DISK Server Software: RedHat Linux 9.0, MySQL 3.23.54 (non-optimized) Test Description: During the test a perl script that uses DBI / DBD::MySQL module had to perform an exact "eq" SELECT query on a predefined modem MAC Address from the DHCP server 'docsismodem' table Database, also reading the mptmng.conf config file to process user/pass to enter the database on each command. To get the maximum performance for this test the script was "function forked" into 3 BASH (Linux Shell) instances, and again "function forked" into 2 perl instances, meaning the script was running 6 times in a Linux shell infinite loop until interrupted. *notes*: the perl script is used to simulate the MPT-MNG Pro DHCP server process. Results Test run: 4 Minutes 39 Seconds Test statistics: 2586 SQL 'SELECT' queries have been issued by the script on the local machine. 2586 SQL rows have been 'SELECTED' and printed on a file buffer. Success Rate: 100.00 % Performance: mysqld process CPU usage: MIN 0.4, MAX 0.8, AVG 0.6 mysqld process MEM usage: MIN 1.1, MAX 1.4, AVG 1.2 perl script (calculated) CPU usage: MIN 3.7, MAX 6.7, AVG 5.5 perl script (calculated) MEM usage: MIN 1.5, MAX 3.8, AVG 3.0 Mpthrill.com LAB environment benchmarks tests: TFTP Simulation: When the MPT-MNG Pro TFTP server receive a TFTP client’s request it uses CACHE mechanism to store the DOCSIS config file in it’s memory then reads and send the DOCSIS config file to the modem. A PC client will request “80 bits” file using RFC standard TFTP client while the functions are “login -> mode binary -> get -> print message -> disconnect” meaning on each request there’s a re-login procedure Testing Purpose: Checking stability and mostly performance of the TFTP procedure and special mechanism. Testing Environment: As the MPT-MNG Pro TFTP server is receiving the TFTP BOOT request from the modem, A PC (AMD-1400) running RedHat Linux with a standard TFTP client have been installed to send the requests and receive the file across the network. Server / LAB Hardware: Intel Celeron 1000 CPU, 128MB RAM, 5400 RPM i/o DISK CentreCOM FS705 10/100 Ethernet Switch Server Software: RedHat Linux 9.0, Mpthrill.com TFTP server Test Description: During the test a client PC was installed with the following packages: “Expect Programming interpreter, RedHat TFTP client, BC calculation tool, BASH script” The script included an infinite loop that will run until interrupted which programmed to enter the TFTP client and send the “GET” commands to MPT-MNG Pro TFTP server, using the “Expect” interactive programmable interface, allowing thousands of TFTP “GET” requests processed in a few seconds, While MySQL stores the TFTP fetch LOGS into it’s Syslog Database. Results Test run: 16 seconds. Test statistics: 60,400 TFTP requests have been issued by the script on the remote machine. 60,400 TFTP answers have been sent to client over the network with the file. Average TFTP requests / answers per second: 3775 Success Rate: 100.00 % Performance: Mpthrill.com TFTP server process CPU usage: MIN 1.7, MAX 2.6, AVG 2.0 mysqld (uses for logging) process CPU usage: MIN 0.5, MAX 1.1, AVG 0.7 Technical special functions: DHCP/TFTP: tftp-cache-time When a file is requested via TFTP it is read into memory (RAM) and held there until it is either updated or if it hasn't been accessed for a certain number of seconds. This option lets you set the number of seconds the file will remain in memory if it is not accessed. Suspend-Load-Avg At the specified load average, the server will stop hitting the MySQL server so often. Each request/update introduces a small latency that we sometimes wish to avoid. When the CMTS resets you want all the modems to come back online as fast as possible. These updates will be stored in memory until the load goes down. Modem-Cache-Load / Modem-Cache-Hits The Modem-Cache is an in-memory cache of all the cable modem MACs, IPs and config files. When the server is under heavy load (right after a CMTS reset) instead of doing an SQL lookup for every DHCP request it will use an in-memory cache of all the cable modems. The cache is reloaded every ten minutes so that we get the right config files. Most of the time it is more accurate to go directly to the SQL db, but when you have a few thousand modems to boot up you don't care if a couple of modems got new config files 5 minutes ago. When the system load average is above the Modem-Cache-Load the cache will be used. When the server receives more than Modem-Cache-Hits in 1 second it will use the cache for all the rest of the requests it receives that second. This option was included because the load average is only checked every 2 minutes. *Note* All values for the functions above could be set manually CLI scripts (MPT-MNG Pro - SHELL Interface) “Summerize_Logs" - is included to allow you to prune your log files, and easy to use CRONTAB script is also included for automatic summarize. “ListMessages” - allowing you to print the last (up to 1000) messages of the DHCP / TFTP / SYSLOG activity on the screen (framebuffer) “FindIP” – allowing you to search modem IP address by any field (Also prints the MAC address of the modem and DOCSIS QoS package. “FindMAC” – allowing you to search modem MAC address by any field field (Also prints the IP address of the modem and DOCSIS QoS package. “Delete_Old_Leases” - can be used to remove old customer leases. "Count_IPs" – this will count all the unused IP addresses and update the DATABASE if IPs are now available, options are (All / VLAN) “mptmng_daemon.Watchdog” – will be used to verify if the mptmngd service is running and re-activate it in case of failure. “mptmng_LowIP_Warning” - Will send email to the network administrator with pre-configurable message regarding Low number of free IP addresses. 3rd party Benchmark tests for RedHat Linux and MySQL Examples for more benchmark tests could be found here: MySQL: http://www.mysql.com/information/benchmarks.html RedHat Linux: http://www.redhat.com/software/rhel/benchmarks/ The following chart is a comparison between MySQL and Oracle 8.0.3 running on a NT The following chart is a comparison between DB2, Informix, MS-SQL, MySQL, Solid and Sybase on NT 4.0 The following chart is a comparison between MySQL, PostgreSQL and Solid on Linux Some basic Examples for comparison between Linux & Solaris x86 running on Intel Pentium-4 1600 MHZ CPU. DSA Operation rate RSA operation rate Linux held a very slight lead in all of the results, which is interesting since the same exact hardware was used for both. MySQL benchmarks MySQL benchmarks continued Linux wins mostly in “SELECT” functions which is more critical for the DHCP server while booting the CMTS and reading DOCSIS configuration files. For more comparisons and detailed report and conclusions Please refer to: http://www.osnews.com/story.php?news_id=4867&page=3 Screenshots from the Provisioning system
"provisioning online casinos by the wwwmpthrillcom online "