Các khái niệm quan trọng DevOps cần nắm là IP, subnetting, và CIDR notation.
IP (Internet Protocol) có hai loại là IPv4 và IPv6:
- IPv4 sử dụng 32 bit nhị phân với được chia thành 4 cụm 8 bit để làm địa chỉ, ví dụ:
192.0.2.126
là một địa chỉ IPv4. Với 32 bit thì tối đa IPv4 có 4 tỷ địa chỉ IP - IPv6 là phiên bản mới nhất của giao thức Internet, được phát triển nhằm nâng cấp và thay thế cho IPv4. IPv6 sử dụng địa chỉ 128 bit, tối đa IPv6 có 340 undecillion địa chỉ IP
Hiện nay thì IPv4 được sử dụng phổ biến hơn. IPv4 được chia thành hai phần chính: phần mạng (Network ID) và phần host (Host ID). Phần mạng xác định địa chỉ của mạng và phần host xác định địa chỉ của thiết bị trong mạng.
IPv4 có dãy IP dành cho mạng nội bộ:
- 10.0.0.0 tới 10.255.255.255
- 172.16.0.0 tới 172.31.255.255
- 192.168.0.0 tới 192.168.255.255
Thông thường khi thiết kế mạng cho nội bộ ta thường dùng các dãy IP trên.
Subnetting
Subnetting là quá trình chia mạng (network) thành các mạng con (subnet) nhỏ hơn, để tối ưu hóa sử dụng địa chỉ IP, cung cấp tính năng quản lý và bảo mật tốt hơn cho mạng.
Subnetting cho phép phân chia địa chỉ IPv4 thành các phần mạng và phần host mới, giúp tạo ra các mạng con với các địa chỉ IP riêng cho mỗi mạng con.
Thông thường khi thiết kế mạng ta chia mạng thành các phần nhỏ hơn. Ví dụ với dãy IP từ 172.16.0.0 tới 172.31.255.255, ta sẽ chia dãy này thành các mạng nhỏ hơn để dễ quản lý:
- 172.16.0.0 tới 172.16.15.255
- 172.16.16.0 tới 172.16.31.255
- …
Việc chia mạng như thế nào ta dùng CIDR notation.
CIDR notation
CIDR (Classless Inter-Domain Routing) notation là một phương pháp để biểu diễn địa chỉ IP. CIDR notation bao gồm một địa chỉ IP theo sau là dấu gạch chéo và một con số thập phân, ví dụ 192.168.1.0/24
với 192.168.1.0
là địa chỉ IP và /24
là slash notation để xác định số lượng địa chỉ của thiết bị trong subnet đó: 192.168.1.0/24 ⇒ 192.168.1.0 tới 192.168.1.255. Cách tính chi tiết tham khảo ở đây: CIDR.
Còn trong công việc thì ta dùng công cụ để tính, các bạn tham khảo trang này: CIDR to IPv4 Conversion.
Với DevOps thì khi thiết kế mạng ta cần xác định dãy mạng nào ta cần và chia subnet như thế nào để đáp ứng được số lượng IP cho các service trong hệ thống của mình. Ví dụ như hình sau:
Nhiều quá thì dư còn ít quá thì thiếu. Nên việc chia subnet ở bước đầu rất là quan trọng.
Nếu bài viết có gì sai hoặc cần cập nhật thì liên hệ Admin.
Tham gia nhóm chat của DevOps VN tại Telegram.
Kém tiếng Anh và cần nâng cao trình độ giao tiếp: Tại sao bạn học không hiệu quả?
Networking cơ bản dành cho DevOps, một số khái niệm mà DevOps cần biết để phục vụ cho công việc:
- OSI Model
- Protocols : TCP/UDP/IP
- Ports
- Subnetting
- Routing
- DNS
- VPN (Virtual Private Network)
- Networking tools
Để hiểu rõ hơn về mô hình network trong hệ thống ứng dụng Enterprise, các bạn có thể tham khảo mục network của bài Banking Infrastructure on Cloud