In DevOps, it's important for different services, tools, and systems to communicate well. To make sure everything works together smoothly and automatically, DevOps teams need to know how networking, ports, and protocols function.
Network: Collection of โcomputers connected togetherโ.
Internet: Collection of these computer Networks.
Ports: Defines the application that we are using. Port decides which application the data should be sent.
IP Address: Device can talk to each other with the help of IP.
MAC Address: Media Access Control is a unique Identifier for a device on a network. It is used to ensure that data packets are delivered to the correct device.
Routers: It is a Device that routes packets based on their IP addresses. It connects networks and subnetworks allowing devices to access the Internet and share data.
Note โ A Router can connect networks in Different locations.
Switches: A switch is a Hardware device that receives data packets from connected devices. Switch determines the destination of the packet. If the packet is destined for another network, the switch forwards it to a Router.
Modems: It is used to convert Digital signals to Analog signals/ Electrical signals.
VPN (Virtual Private Network): A VPN is a technology that makes a safe, encrypted link between your device and a private network over the internet. It protects your data and privacy by hiding your IP address and encrypting your internet traffic. VPNs are often used for remote work, accessing content that's restricted by region, and keeping communications secure.
Submarine Cables: Optical Fiber cables (for Internet) & Coaxial Cables (Physically).
SONET โ (Synchronous Optical Networking): Basically, carries data using optical fibers, hence covering larger distances.
Frame Relay: A way to connect LAN to WAN
Wireless: Bluetooth, Wi Fi. 3G, 4G, LTE, 5G
Topologies: Bus topology, Ring Topology, Star Topology, Tree Topology, Mesh Topology.
LAN, WAN, MAN - Collection of these forms Internet.
In this blog, we will dive into these concepts, and break them down into a simple, human-readable format with a tabular overview.
Network | Stands for | Area covered | Internet speed | Maintenance | Examples | Network Devices |
WAN | Wide Area network | Connects devices over large area | Slow | Difficult | Internet services, Broadband services | VPN, Satellite, 3G/4G |
MAN | Metropolitan Area Network | Connects devices within a city or large campus. | Moderate | More Difficult than LAN | Telephone networks, TV networks | Optical fiber rings |
LAN | Local Area Network | Connects devices within a small area. | Fast | Easy to Maintain | Homes, Schools, Offices | Routers, Switches, Hubs, Wi -Fi Access points. |
What Are Ports and Protocols in DevOps? ๐ ๏ธ
- Ports: A port is a logical access point for communication between devices and services over a network. Think of it like a door that allows data to flow in and out of a computer system.
Ports are 16- bit numbers. (2 to the power of 16 = 65,000)
0 โ 1023 = Reserved ports
1024 โ 49152 = Reserved for specific applications
Remaining = We can use
- Protocols: A protocol is a set of rules or standards that govern how data is transmitted over a network. It defines the method of communication between two systems.
In DevOps, knowing the right protocols and ports ensures that different tools and services can communicate securely and efficiently.
Key Ports and Protocols in DevOps ๐
The table below outlines the most important ports and protocols used in DevOps, with a description and example tools for each:
Stage/Function | Protocol | Port(s) | Purpose | Example Tools |
1. Web Communication | HTTP/HTTPS | Port 80 (HTTP) / Port 443 (HTTPS) | HTTP is used for web communication. HTTPS adds encryption for secure data transfer. | Jenkins, GitHub, GitLab, Docker Hub ๐ |
2. Secure Remote Access | SSH | Port 22 | Secure remote login and data transfer. Often used for server management and CI/CD pipeline execution. | GitLab, Ansible, AWS EC2, Azure VM ๐ |
3. Version Control | Git | Port 22 (SSH) / Port 443 (HTTPS) | Used for managing code repositories. Git over SSH or HTTPS allows developers to push and pull code. | GitHub, GitLab, Bitbucket ๐๏ธ |
4. File Transfer | FTP/SFTP | Port 21 (FTP) / Port 22 (SFTP) | FTP (unsecure) and SFTP (secure) are used to transfer files between systems. | Jenkins, GitLab, Docker ๐ค๐ฅ |
5. Domain Resolution | DNS | Port 53 | Resolves domain names into IP addresses, allowing systems to find each other in the network. | Kubernetes, Docker ๐งญ |
6. Time Synchronization | NTP | Port 123 | Syncs the time across servers and services to maintain accurate logs and scheduled tasks. | Prometheus, Grafana, Nagios ๐ |
7. Email Notifications | SMTP | Port 25 (SMTP) / Port 465 (SMTP Secure) | SMTP is used to send emails for alerts, build results, and failure notifications. | Jenkins, GitLab, Slack ๐ง |
8. Network Monitoring | SNMP | Port 161 (SNMP) / Port 162 (SNMP Trap) | Monitors network devices and services for performance and health. | Nagios, Zabbix, Prometheus ๐ก |
9. Continuous Integration | WebSocket | Port 8080 | WebSockets enable real-time communication for CI/CD systems. Often used for live updates. | Jenkins, Travis CI, CircleCI ๐ |
10. Database Connectivity | JDBC | Varies (Depends on DB) | Used to connect applications (e.g., Java apps) to databases for queries and data updates. | MySQL, PostgreSQL, MongoDB ๐พ |
11. Lightweight Messaging | MQTT | Port 1883 (MQTT) / Port 8883 (MQTT Secure) | MQTT enables lightweight messaging, often for IoT and event-driven systems. | Grafana, Prometheus ๐ก |
Best Practices for Managing Ports and Protocols ๐
Secure Communication: Always prioritize HTTPS (Hypertext Transfer Protocol) - Port 443 for encrypted communication over HTTP.
SSH Keys: Use SSH (Secure Shell) - Port 22 for secure remote logins and version control.
Close Unnecessary Ports: Keep your firewall closed for ports you don't need to reduce security risks.
Use VPNs: For safe internal communications, use VPNs or private networks between services.
Conclusion ๐
Understanding the networking protocols and ports that DevOps uses is important for smooth communication, automation, and security in your workflow. By managing these protocols well, you can improve performance and boost security in your DevOps process.