Đã tròn một phần tư thế kỷ kể từ khi chuẩn IPv6 đầu tiên được hoàn thiện dưới dạng RFC 2460, nhưng phải thừa nhận rằng tốc độ phổ biến của nó vẫn còn rất chậm. Lượng địa chỉ IPv4 khả dụng đã cạn kiệt từ lâu, và trên thực tế, đã bắt đầu khan hiếm cho mục đích công cộng từ nhiều năm trước. Tuy nhiên, IPv4 vẫn chưa biến mất hoàn toàn, khi hầu hết các hệ thống đã áp dụng IPv6 đều chạy cấu hình dual-stack (song song cả IPv4).
Tôi đã tự hỏi liệu mình có thể “sống sót” chỉ với IPv6 hay không. Chắc chắn, đó là một giao thức đủ ổn định để hoạt động cho nhu cầu sử dụng hàng ngày. Ồ, độc giả thân mến, giá như mọi chuyện dễ dàng như vậy! Những công cụ tôi dựa vào hàng ngày để thực sự làm việc lại hoàn toàn không hợp tác. Vâng, có một ngoại lệ – xin gửi lời cảm ơn lớn đến Gmail vì đã hỗ trợ các giao thức internet hiện đại. Ngược lại, những thứ cố gắng làm tôi xao nhãng trong ngày làm việc lại hoạt động hoàn hảo.
À, còn điện thoại thông minh của tôi thì mọi thứ đều hoạt động bình thường, nhưng điều đó là do Apple yêu cầu các nhà phát triển App Store phải hỗ trợ mạng chỉ IPv6 và một loạt các mánh khóe mạng ở phía sau của kết nối di động. Toàn bộ thử nghiệm này có vẻ cực kỳ mỉa mai, vì nhà cung cấp dịch vụ di động và ISP của tôi đều sử dụng IPv6 ở phần lõi để định tuyến, nhưng việc biến điều đó thành trải nghiệm internet có thể sử dụng được lại là cả một thử thách.
Thời Khắc Tắt IPv4 Bắt Đầu
Khó Khăn Hơn Tôi Tưởng
Việc cố gắng tắt một giao thức internet đã tồn tại hàng thập kỷ thật sự là một thách thức lớn, bởi vì nó có mặt ở khắp mọi nơi. Một số phần cứng chỉ có ngăn xếp mạng IPv4, và mặc dù các hệ điều hành lớn đều hỗ trợ IPv6, không phải mọi chương trình mà chúng phụ thuộc đều làm được điều đó. Nhưng đó chính là một phần mục đích của thử nghiệm này. Thế giới công nghệ đã có hàng thập kỷ để thích nghi với IPv6, và tôi muốn xem họ đã xử lý mọi thứ như thế nào.
Tôi đã xây dựng những phần cơ bản của một kế hoạch. Tôi sẽ sử dụng một bộ định tuyến OPNsense và loại bỏ địa chỉ IPv4 khỏi giao diện của nó để nó chỉ có thể sử dụng IPv6. Tôi cũng loại bỏ IPv4 khỏi bộ điều hợp mạng trên máy tính xách tay mà tôi sẽ sử dụng trong ngày hôm đó, để nó chỉ có định tuyến IPv6 và xác nhận rằng nó hoạt động. Thứ duy nhất tôi sử dụng hàng ngày mà tôi không thể loại bỏ hoàn toàn IPv4 là điện thoại thông minh của mình, bởi vì mặc dù nhà mạng của tôi sử dụng IPv6, họ cũng sử dụng 464XLAT. Điều này sẽ không phù hợp cho thử nghiệm của chúng ta, vì 464XLAT sử dụng dịch không trạng thái từ các bộ dịch phía khách hàng (CLAT) và dịch có trạng thái phía nhà cung cấp (PLAT). Thiết kế đó giữ một ngăn xếp phần mềm IPv4 trên điện thoại cho các ứng dụng cũ, nhưng mọi gói tin trên liên kết không dây đều là IPv6 thuần túy. Lưu lượng IPv4 đi ra được CLAT dịch sang IPv6, truyền qua mạng dưới dạng IPv6, và được NAT64 của nhà mạng chuyển đổi trở lại thành IPv4 ngay trước khi nó đến internet cũ. Nói cách khác, đường dẫn truyền tải là hoàn toàn IPv6, nhưng thiết bị cầm tay vẫn mang một ngăn xếp IPv4, vì vậy việc sử dụng nó sẽ phần nào phá hỏng toàn bộ mục đích của thử nghiệm chỉ IPv6.
Thật may mắn, Verizon FiOS đã triển khai hỗ trợ IPv6 cho khu vực của tôi một thời gian trước; nếu không, toàn bộ thử nghiệm này đã kết thúc tại đây. Cũng may mắn nhỏ là họ đã làm chậm việc triển khai gói 2 Gig; nếu không, tôi sẽ không có IPv6 vì nó không được bật trên cấp cao nhất ở khu vực của tôi, điều mà tôi cho rằng là để phục vụ mục đích khắc phục sự cố. Tôi có một bộ định tuyến T-Mobile 5G chỉ IPv6, nhưng nó cũng phải tuân theo dịch 464XLAT giống như điện thoại di động của tôi và sẽ làm chệch hướng mọi thứ vì tôi không thể kiểm soát việc chuyển đổi sang IPv4. Nói cách khác, mọi thứ sẽ hoạt động như bình thường. Ngay cả sau tất cả những điều đó, bạn sẽ cần một thứ gì đó như DNS64 để phân giải các tên máy chủ chỉ IPv4. Bất kỳ dịch vụ nào không có bản ghi DNS AAAA (bản ghi DNS A dành riêng cho địa chỉ IPv6) sẽ không tải được trên mạng chỉ IPv6.
Giao diện trình duyệt hiển thị kết quả kiểm tra kết nối IPv6 thành công sau khi tắt IPv4
Kết Quả Đúng Như Dự Đoán
Không Thể Làm Việc, Nhưng Có Thời Gian Lướt Facebook
Sân khấu đã được thiết lập để thử nghiệm việc sống sót với mạng và kết nối Internet chỉ IPv6. Tôi không thể tắt hoàn toàn IPv4 trên mọi thiết bị vì tôi không phải là người duy nhất sử dụng Internet trong nhà, nhưng việc phân tách một số thiết bị bằng một bộ định tuyến chỉ IPv6 là giải pháp tốt nhất tiếp theo. Tôi đã có một số suy nghĩ về những gì có thể hoạt động và những gì sẽ không, nhưng tôi không chắc liệu mình có thể làm được bất kỳ công việc nào, chứ đừng nói đến quy trình làm việc thông thường của mình.
Và thực tế, tôi đã không thể. CMS của XDA không tải được trên kết nối chỉ IPv6. Slack cũng vậy, nhưng tôi đã được giải cứu bởi Gmail, và phần còn lại của Google Workspace kết nối một cách vui vẻ. Tôi không thể tải bất kỳ công việc nào lên trang web, nhưng ít nhất tôi có thể viết trong Google Docs để sử dụng sau này. Tôi cũng không thể kết nối với Proton VPN, và sau một hồi tìm kiếm, tôi đã tìm ra lý do: mặc dù lưu lượng truy cập sẽ đi qua đường hầm dưới dạng IPv6, nó cần IPv4 để thực hiện kết nối ban đầu. Bạn có thể chỉnh sửa cấu hình WireGuard mà ProtonVPN sử dụng để cho phép điều này, nhưng theo mặc định, nó sẽ không hoạt động ngay lập tức. Theo tài liệu:
Lưu ý rằng theo mặc định, các tệp cấu hình WireGuard của chúng tôi hiện không hỗ trợ kết nối IPv6. Nếu bạn có kết nối IPv6, bạn sẽ cần chỉnh sửa tệp cấu hình .conf đã tải xuống để đảm bảo rằng các kết nối IPv6 được định tuyến qua đường hầm VPN. Để làm điều này, hãy mở tệp trong một trình soạn thảo văn bản và thay đổi dòng:
AllowedIPs = 0.0.0.0/0
→AllowedIPs = 0.0.0.0/0, ::/0
Lưu tệp và đóng lại khi bạn hoàn tất.
Việc dành thời gian trên Internet chỉ IPv6 đã dạy tôi một vài điều, nhưng nó cũng làm nổi bật sự từ chối hoàn toàn của thế giới kinh doanh trong việc làm bất cứ điều gì không ngay lập tức làm tăng giá cổ phiếu. Tôi mong đợi Google và Cloudflare sẽ hoạt động, nhưng các gã khổng lồ công nghệ khác đã làm tôi ngạc nhiên. Amazon hoạt động nếu tôi muốn mua sắm, nhưng AWS từ chối hợp tác trong nhiều tác vụ. Hóa ra, có một danh sách khá dài các dịch vụ AWS không hỗ trợ truy cập chỉ IPv6. GitHub hoàn toàn chạy trên IPv4 (ngoại trừ GitHub Pages, có hỗ trợ AAAA), và Microsoft cần ngừng trì hoãn. Nhưng không chỉ riêng họ; khoảng một nửa số trang web hoặc dịch vụ tôi đã thử không hoạt động nếu không có IPv4.
Giao diện GitHub, minh họa việc nền tảng này vẫn chủ yếu sử dụng IPv4, không hỗ trợ đầy đủ IPv6
Mặt khác, việc tắt IPv6 trong nhà bạn cũng gây ra vấn đề. Microsoft có thể không di chuyển GitHub sang IPv6 sớm, nhưng quan điểm của họ về IPv6 trên Windows là nó là một phần thiết yếu của hệ điều hành, và việc tắt nó trong bất kỳ phiên bản nào kể từ Windows 7 sẽ khiến một số thành phần ngừng hoạt động. Duyệt web trên bất kỳ hệ thống nào sẽ ưu tiên khởi tạo kết nối với IPv6, sau đó chạy song song IPv4 sau một khoảng thời gian ngắn, để độ trễ tải trang được giảm thiểu trong khi vẫn ưu tiên IPv6. Tính năng này được đặt tên tuyệt vời là “Happy Eyeballs”, và về cơ bản có nghĩa là bạn sử dụng cả hai giao thức song song cho một yêu cầu.
Nhà Thông Minh Của Tôi Thông Minh Hơn Tôi Nghĩ
Phần còn lại của các thiết bị của tôi là một sự pha trộn, nhưng hầu hết đều hoạt động ngoại trừ một camera Wi-Fi từ chối kết nối với bất cứ thứ gì ngoài IPv4. Bất cứ thiết bị nào hỗ trợ Matter và Thread đều ổn, vì Thread sử dụng IPv6 cho địa chỉ, và không có vấn đề gì với việc điều khiển cục bộ. Việc điều khiển thiết bị nhà thông minh tốt hơn nhiều trên IPv6, với multicast cho phép gửi lệnh đến nhiều thiết bị cùng lúc, Neighbor Discovery Protocol và mDNS giúp bộ điều khiển của bạn dễ dàng tìm thấy thiết bị, và việc tích hợp IPsec để mã hóa sẵn có giúp tăng cường bảo mật. IPsec không phải là yêu cầu của IPv6, nhưng về cơ bản được tích hợp trong IPv6 thay vì chỉ là một tiện ích bổ sung trong IPv4.
Internet Và Ngôi Nhà Của Bạn Chưa Sẵn Sàng Chuyển Đổi Hoàn Toàn Sang IPv6, Nhưng Dual-Stack Là Giải Pháp
Ở giai đoạn này, tôi không hoàn toàn chắc chắn rằng IPv6 sẽ thay thế hoàn toàn IPv4 trong cuộc đời mình, nhưng tôi không nghĩ điều đó quá quan trọng. Điều đáng nói là, một phần lớn lưu lượng di động được truyền tải chủ yếu qua IPv6, và các hệ thống có thể thực tế hỗ trợ cả IPv4 và IPv6, điều này không nên ảnh hưởng đến người dùng cuối. Các vấn đề về dịch giữa hai giao thức đã được giải quyết phần lớn, và mặc dù NAT và CGNAT là những “miếng dán” cho vấn đề không gian địa chỉ trong IPv4, chúng ta đang tiến gần đến điểm bùng phát mà ở cấp độ nhà mạng, mọi thứ có thể được chuyển sang IPv6, và những phiền toái của double-NAT có thể biến mất.