Danh sách bài viết trong series Networking cho DevOps
- Bài 1. Networking trong DevOps: Hiểu Biết Nền Tảng để Thành Công
- Bài 2. Địa chỉ IP và Subnetting Nâng Cao: Thiết Kế Mạng Hiệu Quả trong DevOps
- Bài 3. Giao thức TCP và UDP: Cách Dữ Liệu Di Chuyển trong DevOps
- Bài 4. DNS và Phân Giải Tên: Bí Mật Kết Nối Tên Miền trong DevOps
- Bài 5. Routing và Switching Cơ Bản: Hiểu Cách Dữ Liệu Tìm Đường trong DevOps
- Bài 6. NAT và Firewall trong Mạng: Kiểm Soát Lưu Lượng trong DevOps
- Bài 7. VLAN và Thiết Kế Mạng Phân Đoạn: Cô Lập Lưu Lượng Hiệu Quả trong DevOps
- Bài 8. Phân Tích Lưu Lượng Mạng trong DevOps: Hiểu Gói Tin để Debug Hiệu Quả
- Bài 9: Bảo Mật Mạng Chuyên Sâu: Bảo Vệ Hệ Thống DevOps Trước Mối Đe Dọa
- Bài 10. Thiết Kế Mạng cho Hệ Thống DevOps: Tối Ưu Hiệu Năng và Độ Tin Cậy
- Bài 11. SDN trong DevOps: Tự Động Hóa Mạng cho Hệ Thống Phân Tán
- Bài 12. QoS trong DevOps: Tối Ưu Hiệu Năng Mạng với Quality of Service
- Bài 13. Network Automation trong DevOps: Tự Động Hóa Mạng với Ansible và Python
- Bài 14. Zero Trust Networking trong DevOps: Bảo Mật Hệ Thống Không Tin Ai
- Bài 15. Network Troubleshooting Nâng Cao: Debug Mạng Hiệu Quả trong DevOps
Routing và Switching Cơ Bản: Hiểu Cách Dữ Liệu Tìm Đường trong DevOps
Bạn có biết dữ liệu từ pipeline CI/CD đến server đích đi qua con đường nào không? Hay tại sao một microservice không thể “nói chuyện” với microservice khác dù cùng mạng? Routing trong DevOps và switching mạng là câu trả lời. Trong bài thứ năm của series, chúng ta sẽ khám phá cách thiết bị mạng vận chuyển dữ liệu, đọc bảng định tuyến, và ứng dụng thực tế trong DevOps.
Switching Mạng: Giao Tiếp Trong LAN
Switch Là Gì?
Switch là thiết bị tầng 2 (Data Link) kết nối các thiết bị trong cùng mạng LAN. Nó dùng MAC address để chuyển gói tin.
- Cơ chế: Switch lưu bảng MAC (MAC table) để biết thiết bị nào nối vào port nào.
- Broadcast: Nếu không biết đích, switch gửi gói tin đến tất cả port (trừ port gửi).
Ví dụ: Trong mạng nội bộ, switch đảm bảo runner CI/CD gửi dữ liệu đúng đến server build.
Switch vs Hub
- Hub: Gửi dữ liệu đến mọi port, gây tắc nghẽn.
- Switch: Chỉ gửi đến port đích, hiệu quả hơn.
Trong DevOps: Switch giảm collision, tăng băng thông cho mạng nội bộ (VPC, office LAN).
Routing Trong DevOps: Định Hướng Giữa Các Mạng
Router Là Gì?
Router là thiết bị tầng 3 (Network) kết nối các mạng khác nhau (LAN, WAN). Nó dùng IP address để định tuyến.
- Cơ chế: Router đọc header IP, tra bảng định tuyến, và chuyển gói tin đến đích hoặc router tiếp theo.
- Gateway: Router thường là default gateway (ví dụ:
192.168.1.1
).
Ví dụ thực tế: Một job deploy từ server nội bộ qua router đến AWS VPC nhờ routing.
Static vs Dynamic Routing
- Static Routing: Cấu hình thủ công, phù hợp mạng nhỏ.
- Dynamic Routing: Dùng giao thức (OSPF, BGP) tự động cập nhật, phù hợp mạng lớn.
Ứng dụng: Trong DevOps, static routing đủ cho VPC đơn giản, nhưng dynamic routing cần cho hệ thống multi-cloud.
Bảng Định Tuyến: Bản Đồ của Router
Bảng Định Tuyến Là Gì?
Bảng định tuyến (routing table) chỉ đường cho gói tin dựa trên IP đích.
- Cột chính:
- Destination: Dải IP đích (ví dụ:
10.0.0.0/16
). - Gateway: Địa chỉ tiếp theo (hoặc
0.0.0.0
nếu trực tiếp). - Interface: Port gửi gói tin (như
eth0
).
- Destination: Dải IP đích (ví dụ:
Ví dụ:
Destination Gateway Genmask Iface
0.0.0.0 192.168.1.1 0.0.0.0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 eth0
0.0.0.0
(default route): Gửi qua gateway192.168.1.1
nếu không khớp rule nào.192.168.1.0/24
: Gửi trực tiếp trong LAN.
Ứng Dụng trong DevOps
- Debug: Job không ra Internet? Kiểm tra default gateway.
- Multi-NIC: Server có nhiều card mạng cần route riêng (VD: nội bộ vs public).
Thực Hành: Đọc và Debug Bảng Định Tuyến
Xem Bảng Định Tuyến
-
Chạy trên Linux/Mac:
ip route
- Hoặc:
route -n
(kết quả số, không resolve tên). - Kết quả mẫu:
default via 192.168.1.1 dev eth0 192.168.1.0/24 dev eth0 proto kernel scope link
- Hoặc:
-
Windows:
route print
Test Routing
- Ping IP ngoài mạng:
ping 8.8.8.8
- Kiểm tra đường đi:
traceroute 8.8.8.8 # Linux/Mac tracert 8.8.8.8 # Windows
- Xem gói tin qua bao nhiêu hop (router).
Debug tip:
- Không ping được? Kiểm tra default gateway (
ip route | grep default
). - Delay lớn? Dùng
traceroute
tìm hop chậm.
Kết Luận
Routing trong DevOps và switching mạng là nền tảng để dữ liệu di chuyển chính xác giữa các hệ thống. Hiểu cách thiết bị mạng (switch, router) hoạt động và đọc bảng định tuyến giúp bạn debug lỗi nhanh, tối ưu mạng cho CI/CD và microservices. Bài tiếp theo, chúng ta sẽ khám phá NAT và Firewall – cách kiểm soát lưu lượng trong DevOps.
Bài tập nhỏ:
- Chạy
ip route
và ghi lại default gateway của bạn. - Dùng
traceroute
đến1.1.1.1
. Có bao nhiêu hop?
Tiếp tục series để làm chủ thiết bị mạng trong DevOps!