Networking Protocols
- Networking Protocols
This article details the networking protocols essential for a properly functioning MediaWiki 1.40 installation. Understanding these protocols is crucial for server administrators and those involved in maintaining a stable and secure wiki environment. We will cover the core protocols used for communication between the web server, database server, and client browsers.
Core Protocols
Several protocols form the foundation of a MediaWiki site’s network communication. These protocols handle different aspects of data transmission and ensure reliable operation. Incorrect configuration can lead to performance issues, security vulnerabilities, or complete service disruption. Consider reviewing Security Best Practices before making any changes.
TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) is the fundamental suite of protocols that governs communication over the internet and most private networks. MediaWiki relies heavily on TCP/IP for all network interactions. It provides reliable, ordered, and error-checked delivery of a stream of data between applications running on hosts communicating over an IP network. See also the Network Configuration article for basic IP addressing information.
HTTP/HTTPS
Hypertext Transfer Protocol (HTTP) is used for transferring web pages and related content between a web server and a client (typically a web browser). HTTPS is the secure version of HTTP, utilizing Transport Layer Security (TLS) or its predecessor, Secure Sockets Layer (SSL), to encrypt the communication. Using HTTPS is *strongly* recommended for all MediaWiki installations, particularly those handling sensitive user data. Refer to HTTPS Configuration for details on setting up SSL/TLS.
MySQL Protocol
MediaWiki utilizes the MySQL protocol to communicate with the MySQL or MariaDB database server. This protocol is used for querying, updating, and managing the wiki’s data. Optimizing database queries and network latency to the database server is critical for wiki performance. See the Database Configuration article for more information.
Detailed Protocol Specifications
The following tables provide more detailed information about the specific protocols used and their typical configurations.
Protocol | Port | Description | Security Considerations |
---|---|---|---|
HTTP | 80 | Used for unencrypted web traffic. | Avoid using HTTP in production environments. Sensitive data will be transmitted in plain text. |
HTTPS | 443 | Used for encrypted web traffic. Requires SSL/TLS certificate. | Essential for protecting user credentials and sensitive wiki data. Regularly update your SSL/TLS certificate. |
MySQL | 3306 | Used for communication with the database server. | Restrict access to this port to only the web server(s). Use strong database passwords. |
SSH | 22 | Used for remote server administration. | Use key-based authentication instead of passwords. Change the default port. |
DNS Configuration
Domain Name System (DNS) translates domain names (like `www.example.com`) into IP addresses. Correct DNS configuration is essential for users to access your wiki. Incorrect DNS settings will result in users being unable to find your wiki. See DNS Troubleshooting if you experience issues.
DNS Record Type | Description | Example |
---|---|---|
A | Maps a hostname to an IPv4 address. | `www.example.com. A 192.0.2.1` |
AAAA | Maps a hostname to an IPv6 address. | `www.example.com. AAAA 2001:db8::1` |
CNAME | Creates an alias for another hostname. | `wiki.example.com. CNAME www.example.com.` |
MX | Specifies mail servers responsible for accepting email messages. | `example.com. MX 10 mail.example.com.` |
Network Performance Considerations
The performance of your MediaWiki site is directly affected by network latency and bandwidth. Consider the following:
- **Caching:** Implement caching mechanisms (e.g., Squid Cache, Varnish Cache) to reduce the load on the web server and database server.
- **Content Delivery Network (CDN):** Use a CDN to distribute static content (images, CSS, JavaScript) to servers closer to your users.
- **Database Optimization:** Optimize database queries and table structures to reduce query execution time. See Database Maintenance.
- **Network Monitoring:** Regularly monitor network traffic and latency to identify and address potential bottlenecks.
Performance Metric | Recommended Value | Impact |
---|---|---|
Latency (Web Server to Database Server) | < 10ms | Significant impact on page load times. |
Bandwidth | > 10 Mbps | Affects the speed of transferring large files (e.g., images, videos). |
Packet Loss | < 1% | Causes retransmissions and slows down communication. |
Time to First Byte (TTFB) | < 200ms | Indicates the responsiveness of the web server. |
Further Resources
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️