Keepalive là gì ? Tìm hiểu kĩ thuật keepalive trong hệ thống HA

Keepalive là gì?  Đầu tiên bạn cần lưu ý là khái niệm “Keepalive” này không phải là HTTP Keep-Alive hay dịch vụ HA Keepalived nhé. Keepalive trong bài này là một nội dung kiến thức độc lập nhằm giải đáp một thắc mắc thường gặp trong hệ thống High Avaiability. Giờ thì chúng ta cùng tìm hiểu về Keepalive thôi.

keepalive là gì

1. Keepalive là gì ?

Keepalive là những gói tin (packet) chứa thông điệp được gửi từ một thiết bị (router, switch, vps, cloud server,..) đến một thiết bị khác trong mô hình hệ thống mạng HA với mục đích là kiểm tra trạng thái đường kết nối giữa hai thiết bị có hoạt động không hay thiết bị đầu cuối còn sống không. Gói tin thông điệp Keepalive thường rất nhỏ và chiếm rất ít về băng thông, còn nội dung của gói tin keepalive phụ thuộc vào thiết kế của các giao thức hoặc dịch vụ. Có thể coi Keepalive là một hình thức về mặt kĩ thuật chứ không phải là giao thức.

Để hoạt động Keepalive ta cần lưu ý 2 điểm chính:

  • keepalive interval: thời gian giữa các lần gửi gói tin keepalive từ thiết bị. GIá trị này thường do ta cấu hình quy định.
  • keepalive retries: số lần mà một thiết bị cố gắng gửi gói tin keepalive kiểm tra trạng thái khi không nhận được phản hồi từ thiết bị khác. Nếu quá số lần này thì có thể xem là thiết bị đầu kia có trạng thái đường kết nối đứt hoặc đã chết.

Như vậy hoạt động Keepalive sẽ như sau:
– Một gói tin keepalive sẽ được gửi từ một thiết bị A với số thời gian quy định giữa các lần gửi, đến thiết bị B.
– Sau khi gói tin keepalive đó gửi đi, A sẽ mong chờ một gói tin phản hồi từ B để kiểm tra đường kết nối giữa hai thiết bị đang hoạt động ổn định.
– Nếu không nhận được gói tin phản hồi, thiết bị A sẽ gửi tiếp một số lần thử gửi lại gói tin (retries) và chờ đợi tiếp.
Nếu sau ’n’ lần không gửi gói tin keepalive vẫn không nhận được phản hồi thì lúc này, thiết bị A sẽ xem như thiết bị B đã chết hoặc đường truyền giữa 2 thiết bị đã ‘down’.
– Lúc này dịch vụ sẽ quyết định các hoạt động khác nếu thiết bị B chết như là chuyển hướng data sang route khác,…

2. Các ứng dụng Keepalive

Kĩ thuật Keepalive được ứng dụng khá nhiều trong các dịch vụ hoặc giao thức mạng như:

  • TCP Keepalive
  • PPP Keepalive
  • NAT Keepalive
  • IKE Keepalive
  • SMB Keepalive

Giao thức HTTP đã sử dụng keyword Keep-Alive để phát triển tính năng đặc thù riêng cho giao thức web HTTP Keep-Alive trong phần header Connection. Với mục đích chính là nhằm giữ kết nối đang mở trong một khoảng thời gian để các gói tin dữ liệu khác được trao đổi mà không cần thiết lập lại kết nối mới của mỗi gói tin data.

Vậy là bạn đã biết Keepalive là gì rồi phải không nào ! Đơn giản Keepalive là một kĩ thuật dùng để kiểm tra trạng thái kết nối giữa hai thiết bị. Đây chỉ là một khái niệm kĩ thuật cơ bản trong hệ thống High Avaiability thôi. Hy vọng kiến thức này hữu ích với bạn.

Nguồn: https://cuongquach.com/

Previous article[CSS] Thuộc tính chiều cao (height) và chiều rộng (width) trong CSS
Next articleKeepalived là gì? Tìm hiểu dịch vụ Keepalived High Availability
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !