📶
Networking for DevOps
Engineers!
Networking concepts every devops engineer should
know:
1. OSI Model
2. Protocols : TCP/UDP/IP
3. Ports
4. Subnetting
5. Routing
6. DNS
7. VPN (Virtual Private Network)
8. Networking tools
OSI Model:
The OSI (Open Systems Interconnection) model is a framework with seven layers that
standardizes how different computer systems communicate. From the physical
connection (Layer 1) to end-user services (Layer 7), each layer has a specific role in
managing aspects like hardware, addressing, routing, and application-level interactions.
It simplifies understanding and troubleshooting network processes.
Networking for DevOps Engineers! 1
The model helps understand and troubleshoot network processes by breaking them
down into distinct layers.
Learning Resource: [Link]
model-osi/
Networking for DevOps Engineers! 2
Protocols :
A protocol is a set of rules that defines how data is transmitted and received between
devices in a network. It ensures standardized communication, allowing different systems
to understand and interact with each other. Examples include TCP/IP, HTTP, and SMTP.
1. TCP (Transmission Control Protocol):
Description: TCP operates at the transport layer of the OSI model. It
establishes a connection between two devices before data exchange, ensuring
reliable and ordered delivery of information.
Functionality: It breaks data into packets, assigns sequence numbers, and
uses acknowledgment messages to guarantee delivery. It's connection-oriented,
meaning it sets up, maintains, and terminates a connection for data exchange.
2. UDP (User Datagram Protocol):
Description: Also operating at the transport layer, UDP is a connectionless
protocol that offers minimal services. It's like a 'fire and forget' approach for data
transmission.
Functionality: It sends data without establishing a connection, providing low-
latency communication. However, it doesn't guarantee delivery or order, making
it suitable for real-time applications like video streaming or online gaming.
Networking for DevOps Engineers! 3
1. IP (Internet Protocol):
Description: IP functions at the network layer and is a fundamental part of the
TCP/IP protocol suite. It handles addressing and routing to ensure data packets
reach their intended destinations.
Functionality: IP assigns unique IP addresses to devices and uses routing
tables to direct data across networks. It's responsible for the logical connection
between different devices on the Internet.
In short, TCP ensures reliable and ordered communication with a connection-oriented
approach, UDP prioritizes speed and is connectionless, and IP manages the addressing
and routing for data packets across networks. Together, they form the backbone of
internet communication.
Learning resource: [Link]
tcpip-osi-models
Ports:
Networking for DevOps Engineers! 4
Ports are communication endpoints that allow different services on a device to send
and receive data.
A DevOps engineer should know about ports because they are important in configuring
networking settings, defining rules for firewalls, managing container communication,
orchestrating services, and troubleshooting network issues.
Learning resource: [Link]
computer-port/
Subnetting (CIDR)
DevOps engineers should understand IP addressing, subnetting, and CIDR notation.
This knowledge is crucial for designing and managing IP address spaces effectively.
Networking for DevOps Engineers! 5
Subnetting is a technique used in computer networking to divide a larger IP network into
smaller, more manageable sub-networks or subnets.
Learning resource: [Link]
Routing
Routing is the process of directing data packets from a source to a destination across a
network. Routers use routing tables and protocols to decide the path for data
transmission, ensuring efficient and reliable communication between devices.
Networking for DevOps Engineers! 6
Learning resource: [Link] is the
process of,place through many different paths.
DNS
DNS, or Domain Name System, translates easy-to-remember domain names to
computer-friendly IP addresses, helps find mail servers, balances web traffic among
servers, redirects requests, performs reverse lookups, and speeds up responses
through caching. It's a vital system that ensures efficient and reliable communication on
the internet.
Google IP address: [Link]
Networking for DevOps Engineers! 7
Learning Resource: [Link]
VPN
A VPN, or Virtual Private Network, is like a secure tunnel for your internet connection. It
encrypts your data and routes it through a server, making your online activities more
private and secure.
Networking for DevOps Engineers! 8
VPNs allow professionals to securely connect to remote servers, access cloud
resources, and perform maintenance tasks without compromising data security. It
ensures a private and encrypted connection, crucial when dealing with sensitive
configurations, deployments, or infrastructure management tasks.
Learning Resource: [Link]
devops-need-to-use-a-vpn/#:~:text=So%2C there you have it,on DevOps%2C you need
it.
Networking tools
Important networking tools for DevOps Engineer:
1. Ping:
Networking for DevOps Engineers! 9
Purpose: To check the reachability of a host on an Internet Protocol (IP)
network.
Usage Example: ping [Link]
2. Traceroute (or traceroute6):
Purpose: To display the route and measure transit delays of packets across an
Internet Protocol network.
Usage Example: traceroute [Link]
3. Netstat:
Purpose: To display active network connections, routing tables, interface
statistics, masquerade connections, and multicast memberships.
Usage Example: netstat -a
4. Nmap:
Purpose: To discover hosts and services on a computer network, creating a
"map" of the network.
Usage Example: nmap -p 1-1000 target
5. Tcpdump:
Purpose: To capture and analyze network traffic.
Usage Example: tcpdump -i eth0
6. Ipconfig (Windows) / ifconfig (Linux):
Purpose: To display the configuration of network interfaces.
Usage Example (Linux): ifconfig
7. Dig (Domain Information Groper):
Purpose: To query DNS name servers for information about host addresses,
mail exchanges, name servers, and related information.
Usage Example: dig [Link]
8. Nslookup (Windows) / host (Linux):
Purpose: To query DNS servers for domain information.
Networking for DevOps Engineers! 10
Usage Example (Linux): host [Link]
9. Wireshark:
Purpose: A network protocol analyzer for troubleshooting and analysis of the
interactions between network components.
Usage Example: Capture and analyze packets on a specific network interface.
10. Iperf:
Purpose: To measure the TCP and UDP performance of a network.
Usage Example: iperf -s (server) and iperf -c <server-ip> (client).
These tools are invaluable for diagnosing network issues, understanding network
performance, and ensuring the proper functioning of network connections. They remain
essential for both network administrators and DevOps engineers in their day-to-day
tasks.
Networking for DevOps Engineers! 11