IPv6 là phiên bản mới nhất của Giao thức Internet, thay thế cho IPv4 lỗi thời vẫn còn cung cấp năng lượng cho phần lớn web và giải quyết vấn đề cạn kiệt IP . Có thực sự nhanh hơn, và bạn có nên quan tâm đến nó cho máy chủ của bạn?
IPv6 có nhanh hơn không?
Có một chút tranh luận xung quanh câu hỏi này, IPv6 nên chậm hơn một chút. Kích thước tiêu đề lớn hơn nhiều , do IPv6 cần 128 bit cho địa chỉ nguồn và đích so với 32 bit của IPv4. Nhìn chung, kích thước tiêu đề của IPv6 gần gấp đôi.
Tuy nhiên, đây thực sự không phải là một vấn đề, vì IPv6 không chỉ là sự gia tăng kích thước địa chỉ mà nó đơn giản hóa rất nhiều việc xử lý lưu lượng và trong một số trường hợp có thể dẫn đến tăng hiệu suất thực tế do tắc nghẽn trong cơ sở hạ tầng IPv4.
Trước đây, IPv6 từng rất chậm, nhưng nó sẽ tốt hơn qua từng năm. Theo Facebook năm 2015, IPv6 cải thiện thời gian phản hồi kết nối TCP lên tới 15% . Tuy nhiên, đây là thứ tự của một vài phần nghìn giây, không phải là không có gì, nhưng không phải là một lợi ích tốc độ triệt để sẽ yêu cầu bạn bật nó ngay lập tức.
Trong một số trường hợp, IPv6 thực sự có thể chậm hơn một chút so với IPv4, chưa kể đến việc một số người dùng có thể không truy cập được nội dung IPv6.
Không cho phép kích hoạt nó
Tin tốt là, chúng ta không cần phải giải quyết cuộc tranh luận này ở đây, vì câu hỏi không thực sự quan trọng. Bạn không phải chọn cái này hay cái kia. Hầu hết các trình duyệt hiện đại sẽ gửi yêu cầu bắt tay TCP đến cả địa chỉ IPv4 và IPv6 của máy chủ web của bạn (cũng như mọi địa chỉ thay thế khác). Bất cứ ai trả lời trước được chọn để tạo kết nối đầy đủ.
Nếu một trình duyệt cũ hơn không hỗ trợ điều này, nó sẽ chỉ kết nối với địa chỉ IPv4. Đây được gọi là thuật toán Happy Eyeballs (hay Fast Fallback) và đó là lý do chính khiến IPv6 có thể được chấp nhận ngay từ đầu.
Nhìn chung, nếu bạn không thể kích hoạt IPv6 vì một số lý do hoặc đơn giản là không quan tâm, bạn sẽ không bỏ lỡ nhiều thứ. Tuy nhiên, việc kích hoạt nó rất đơn giản và với những cải tiến hiệu suất tiềm năng trên bàn, đáng để dành vài phút để bật nó lên. Rốt cuộc, nó không thể làm tổn thương.
Cách bật IPv6 trong NGINX và Apache
Trước khi bạn bắt đầu, bạn sẽ cần đảm bảo rằng máy chủ web của bạn thậm chí có thể truy cập qua IPv6. Điều này thường sẽ liên quan đến việc bạn yêu cầu một địa chỉ IPv6 từ nhà cung cấp VPS của bạn. Đối với AWS, địa chỉ IPv6 được tạo tự động cho các phiên bản EC2 và được gán cho ENI không phải là cá thể.
Sau đó, bạn sẽ cần tạo Bản ghi AAAA (bốn lần IPv4) trong DNS của mình để người dùng sẽ biết địa chỉ nào sẽ kết nối. Nhà cung cấp DNS của bạn nên có một tùy chọn cho việc này. Đối với AWS, bạn thậm chí có thể tạo các bản ghi bí danh AAAA, bản đồ này sẽ ánh xạ động tới tài nguyên AWS qua IPv6.
Đối với NGINX, bạn có thể bật IPv6 bằng cách nghe trên các địa chỉ IPv6 có sẵn của máy chủ của bạn, với ký hiệu sau:
server { listen [::]:80; }
Tùy chọn, bạn có thể nghe trên một địa chỉ thủ công bằng cách sử dụng listen [ADDRESS]:80
hoặc chỉ bật IPv6 bằng cách sử dụng ipv6only=on
.
Đối với Apache, bạn có thể bật nó theo cách tương tự bằng cách sử dụng một lệnh bổ sung Listen
trong httpd.conf
:
Listen [ADDRESS]:80