Routing là quá trình quản lý và điều hướng gói dữ liệu (data packet) từ nguồn tới đích một cách hiệu quả.
Trong hình ở trên ta thấy Router được dùng để xác định đường đi của gói dữ liệu từ Computer A tới B, để làm được việc đó thì Router sử dụng Route Table và Protocol. Protocol ta đã tìm hiểu ở bài trước, trong bài này ta tìm hiểu về khái niệm Route Table.
Route Table
Route Table trong Linux là tập họp các quy tắc để xác định gói dữ liệu sẽ được chuyển tới mạng và thiết bị nào. Nó chứa thông tin như địa chỉ IP, Gateways, Network Masks. Để xem Route Table ta dùng câu lệnh route -n
hoặc netstat -rn
. Ví dụ:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.29.1.1 0.0.0.0 UG 0 0 0 eth0
172.29.128.0 172.29.1.2 255.255.225.0 U 0 0 0 eth0
172.29.130.0 172.29.1.3 255.255.225.0 U 0 0 0 eth0
Trường Destination và Genmask dùng để xác định dãy IP mà gói dữ liệu được gửi tới, ví dụ với Destination 172.29.128.0
và Genmask 255.255.225.0 ⇒ /24
(chi tiết cách tính tham khảo CIDR) ta có được dãy IP là 172.29.128.0/24
, dùng công cụ CIDR to IPv4 Conversion tính ta có được dãy IP thực từ 172.29.128.0 tới 172.29.128.255. Vậy nếu ta gọi tới địa chỉ IP trong dãy 172.29.128.0 tới 172.29.128.255 thì gói dữ liệu sẽ được gửi tới Gateway 172.29.1.2
.
Với Destination 0.0.0.0
và Genmask 0.0.0.0
có nghĩa là toàn bộ IP không nằm trong dãy nào bên trên thì sẽ đi qua nó. Chi tiết hơn về Route Table các bạn tham khảo: Routing Tables in Computer Network.
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