03:17
Đèn router tắt.
Quân mở mắt, chưa hiểu tại sao mình thức. Phòng tối, rèm kéo kín, máy lạnh vẫn chạy. Đồng hồ trên tường hiện 03:17. Không có gì đánh thức anh, không chuông báo, không tiếng ồn. Nhưng sau mười năm sống cạnh thiết bị mạng, cơ thể anh quen với những tín hiệu mà tai không nghe thấy.
Cái router trắng trên bàn làm việc, bình thường nhấp nháy đèn xanh suốt đêm, giờ tối đen. Quân nằm nhìn nó ba giây. Rồi ngồi dậy.
Anh không bật đèn. Ánh sáng từ màn hình laptop đủ để thấy bàn phím. Máy vẫn mở, đang chạy chế độ ngủ. Anh gõ vào terminal.
ping 8.8.8.8
Không có phản hồi. Không phải chờ lâu rồi hết hạn kiểu mất gói tin. Mà là im lặng tuyệt đối, kiểu kết nối không tồn tại.
Anh thử địa chỉ khác. Máy chủ của nhà mạng nội địa, rồi một nút trung chuyển ở Singapore mà anh thuộc lòng từ thời lắp backbone. Cùng kết quả. Không có gì ở đầu bên kia.
Quân nhìn màn hình, nhịp thở không thay đổi. Mất kết nối không phải chuyện hiếm. Cáp đứt, nhà mạng bảo trì, lỗi thiết bị đầu cuối. Mười năm trong ngành dạy anh rằng phần lớn sự cố mạng đều có lời giải thích đơn giản.
Anh rút dây mạng, cắm lại. Khởi động lại router. Đèn nguồn bật, nhưng đèn kết nối vẫn tối. Bình thường sau khi khởi động, router sẽ mất khoảng ba mươi giây để bắt tay với tổng đài. Anh đợi một phút. Hai phút. Không có gì xảy ra.
Không phải thiết bị.
Anh lấy điện thoại di động. Biểu tượng sóng di động vẫn còn, nhưng khi mở trình duyệt, màn hình trắng trơn. Không tải được trang nào. Anh tắt wifi, chuyển sang dữ liệu di động. Cũng vậy. Biểu tượng 4G hiện nhưng không có lưu lượng thực tế đi qua.
Quân đặt điện thoại xuống. Lấy thêm một thiết bị nữa, chiếc máy tính bảng cũ cắm dây mạng riêng qua bộ chuyển đổi. Cùng triệu chứng. Ba thiết bị, ba đường kết nối khác nhau, cùng một kết quả.
Anh ngồi lại trước laptop, kéo ghế sát bàn. Mở thêm một cửa sổ dòng lệnh.
traceroute 1.1.1.1
Bình thường lệnh này sẽ trả về danh sách các nút mạng trên đường đi, từ router nhà anh qua tổng đài khu vực, lên backbone quốc gia, ra quốc tế. Mỗi nút là một dấu chấm trên bản đồ, chứng minh rằng hạ tầng vẫn còn. Anh đã chạy lệnh này hàng nghìn lần trong đời, đọc kết quả như người ta đọc biển số xe.
Lần này không có nút nào trả về. Không phải vài nút chết, phần còn lại sống. Mà là toàn bộ đường đi không tồn tại. Như thể mọi bảng định tuyến trên thế giới đồng loạt bị xóa sạch.
Quân dừng tay trên bàn phím. Ngón trỏ phải, chỗ có vết chai do gõ lệnh nhiều năm, đặt nhẹ lên phím nhưng không ấn.
Anh biết sự khác biệt giữa mất kết nối và không có kết nối. Mất kết nối là khi đường dây bị cắt, thiết bị hỏng, máy chủ quá tải. Hệ thống vẫn còn đó, chỉ tạm thời không truy cập được. Giống cánh cửa bị khóa nhưng cánh cửa vẫn tồn tại.
Cái anh đang thấy không phải cửa bị khóa. Mà là bức tường trống, nơi từng có cánh cửa, giờ chỉ còn vữa phẳng.
Anh gõ thêm một lệnh, kiểm tra bảng định tuyến nội bộ trên chính laptop mình. Bảng vẫn còn, nhưng mọi đích đến bên ngoài mạng cục bộ đều trả về "unreachable." Không phải "host down" hay "no route to host." Mà là "unreachable," như thể cái đích đó chưa bao giờ được khai báo.
Route không bị rớt. Route bị xóa.
Hai khái niệm hoàn toàn khác nhau. Rớt là sự cố. Xóa là hành động.
Quân đứng dậy, đi ra ban công. Căn hộ tầng mười hai nhìn xuống đại lộ Nguyễn Huệ, con đường chính chạy dọc quận Trung. Đèn đường vẫn sáng, ánh vàng đều đặn kéo dài đến tận ngã tư cuối tầm nhìn. Vài chiếc xe chạy thưa thớt, có lẽ là xe giao hàng đêm hoặc taxi. Xa hơn, dãy cao ốc khu tài chính vẫn lấp lánh đèn tầng cao, những công ty chạy máy chủ hai mươi bốn giờ.
Thành phố vẫn ngủ. Chưa biết gì.
Ở tầng dưới, một căn hộ nào đó vẫn phát nhạc nhỏ, loại nhạc nền ngủ tự động mà ứng dụng phát suốt đêm. Ứng dụng đó giờ không cập nhật được danh sách phát mới, nhưng bản nhạc đã tải về vẫn lặp lại trong vòng tròn khép kín. Chủ nhân đang ngủ, không hay biết rằng chiếc điện thoại trên đầu giường đã trở thành một hòn đảo.
Gió biển thổi nhẹ từ hướng đông, mang theo mùi muối loãng. Thành Hải nằm sát bờ, ban đêm luôn có gió. Quân đứng tựa lan can, nhìn xuống. Không có gì bất thường ở phía dưới. Đèn giao thông thông minh vẫn đổi màu theo chu kỳ, dù lúc này gần như không có xe. Hệ thống đèn này kết nối trung tâm điều khiển qua mạng nội bộ riêng, có thể chưa bị ảnh hưởng.
Chưa.
Anh nghĩ đến chuỗi phụ thuộc. Đèn giao thông nối trung tâm điều khiển. Trung tâm điều khiển nối máy chủ thành phố. Máy chủ thành phố nối hạ tầng quốc gia qua đường truyền backbone. Backbone giờ không còn. Mạng nội bộ còn hoạt động được bao lâu khi mất kết nối với lõi, anh không chắc. Có thể vài giờ, có thể vài ngày, tùy cách hệ thống được thiết kế. Nhưng sớm muộn, mọi nhánh đều chết khi cây mất rễ.
Quân quay vào trong. Không bật đèn phòng, chỉ kéo ghế ngồi lại trước bàn làm việc.
Căn hộ nhỏ, một phòng ngủ, ban công hẹp. Anh sống ở đây bốn năm, từ ngày rời dự án backbone về Thành Hải. Đồ đạc ít, chủ yếu là thiết bị. Trên bàn có laptop, router, bộ chuyển đổi mạng, hai ổ cứng ngoài, một cuộn cáp dự phòng. Dưới gầm bàn là thùng carton đựng linh kiện cũ mà anh chưa bao giờ vứt. Tường không treo gì ngoài tấm sơ đồ backbone Đông Nam Á in từ ba năm trước, góc đã cong vì hơi ẩm biển.
Anh mở một công cụ cũ cài từ thời còn làm dự án backbone, phần mềm phân tích gói tin có thể bắt mọi lưu lượng trên giao diện mạng. Anh không kỳ vọng tìm thấy gì, nhưng thói quen kỹ thuật bắt anh phải thu thập dữ liệu trước khi đưa ra kết luận.
Phần mềm chạy. Trên màn hình, bộ lọc hiển thị luồng dữ liệu đi qua cổng mạng. Phần lớn là nhiễu nội bộ, các gói tin nhỏ từ thiết bị trong nhà tự gửi cho nhau trong mạng cục bộ. Laptop hỏi router, router hỏi lại, vòng lặp vô nghĩa khi không có đích đến bên ngoài. Giống hai người gọi nhau trong phòng trống.
Không có gói tin nào từ bên ngoài đi vào.
Anh chuyển sang kiểm tra tầng thấp hơn. ARP table, danh sách các thiết bị trong mạng nội bộ tòa nhà mà laptop có thể nhìn thấy. Kết quả hiện ra: mười bảy thiết bị. Router tầng hầm, bộ phát wifi ở hành lang, vài máy tính cá nhân của cư dân khác vẫn bật. Mạng nội bộ tòa nhà còn sống, các thiết bị vẫn nói chuyện với nhau. Chỉ không ai nói chuyện được với thế giới bên ngoài.
Quân ghi thêm vào sổ: LAN alive. WAN dead. Tầng vật lý nguyên vẹn. Tầng logic bị xóa.
Sự phân biệt này quan trọng. Nếu cáp đứt, cả hai tầng đều chết. Nếu thiết bị hỏng, tầng vật lý chết trước. Nhưng ở đây, tầng vật lý còn nguyên, chỉ tầng logic biến mất. Giống một con đường vẫn còn mặt nhựa, vẫn có lề, vẫn có cột đèn, nhưng mọi biển chỉ dẫn bị gỡ sạch. Xe vẫn chạy được, chỉ không biết đi đâu.
Quân để phần mềm chạy nền, chuyển sang đọc tài liệu lưu cục bộ. Anh có thói quen tải về và giữ bản ngoại tuyến của những báo cáo kỹ thuật quan trọng, bản đồ backbone, sơ đồ hạ tầng. Trong ổ cứng có cả bản báo cáo anh viết năm 2021, tựa đề "Đánh giá rủi ro phụ thuộc hạ tầng số toàn cầu," bảy mươi hai trang, gửi cho ba tổ chức khác nhau. Không tổ chức nào phản hồi.
Anh không mở bản báo cáo đó. Không phải lúc để nghĩ về chuyện cũ.
Thay vào đó, anh mở sơ đồ backbone khu vực Đông Nam Á, bản cập nhật gần nhất mà anh có. Mười bốn tuyến cáp ngầm biển kết nối khu vực với phần còn lại của thế giới. Năm trạm trung chuyển chính. Hàng trăm nút phân phối cấp quốc gia. Toàn bộ hệ thống này được thiết kế với dự phòng nhiều tầng. Nếu một tuyến cáp đứt, lưu lượng tự chuyển sang tuyến khác. Nếu một trạm chết, các trạm lân cận chia tải.
Để toàn bộ hệ thống này ngừng hoạt động đồng thời, phải xảy ra một trong hai điều. Hoặc tất cả cơ sở hạ tầng vật lý bị phá hủy cùng lúc. Hoặc tất cả bảng định tuyến bị xóa cùng lúc.
Phương án thứ nhất đòi hỏi một cuộc chiến tranh quy mô thế giới trong vài giây. Bất khả thi.
Phương án thứ hai đòi hỏi quyền truy cập vào mọi bảng định tuyến trên mọi router lõi, trên mọi quốc gia, cùng một thời điểm. Về mặt kỹ thuật, đây là điều không ai cho là khả thi. Giao thức định tuyến biên giới có cơ chế xác thực. Mỗi hệ thống tự trị có quản trị riêng. Không có "nút tắt" trung tâm cho internet.
Nhưng kết quả trên màn hình nói khác.
Quân nhìn đồng hồ. 04:22. Hơn một giờ kể từ khi anh thức dậy. Anh pha cà phê bằng phin nhôm trên bếp ga. Nước sôi, nhỏ giọt, mùi cà phê đen đặc lan trong phòng tối. Anh uống đứng bên bếp, không ngồi. Cốc nóng trong tay, hơi bốc lên trước mặt, và bên ngoài ban công, thành phố vẫn im.
Chưa có tiếng còi báo động. Chưa có xe cứu thương chạy nhiều hơn bình thường. Từ tầng mười hai nhìn xuống, mọi thứ trông giống một đêm bình thường ở Thành Hải, loại đêm mà anh đã sống qua hàng trăm lần.
Nhưng anh biết. Trong vài giờ nữa, khi trời sáng, khi hàng triệu người cầm điện thoại lên và không mở được ứng dụng nào, khi nhân viên ngân hàng đến nơi và hệ thống không khởi động, khi bệnh viện truy cập hồ sơ bệnh nhân và nhận được màn hình trắng, lúc đó thành phố sẽ biết.
Anh chưa biết chuyện gì xảy ra. Nhưng anh biết cái gì không xảy ra. Đây không phải sự cố kỹ thuật, vì sự cố để lại dấu vết. Không phải tấn công mạng theo bất kỳ định nghĩa nào anh từng học, vì tấn công có nguồn phát, có mục tiêu, có dấu vết xâm nhập trong nhật ký hệ thống. Cái này không có gì. Sạch trơn.
Route không rớt. Route bị xóa. Và việc xóa đồng loạt, đồng thời, trên quy mô toàn cầu, mà không để lại một dòng nhật ký nào, không phải là tai nạn.
Quân quay lại bàn. Lấy cuốn sổ tay bìa cứng từ ngăn kéo, loại sổ ô ly mà anh dùng để ghi chú kỹ thuật bằng tay, thói quen từ thời sinh viên Bách khoa. Anh mở trang trắng, viết bằng bút bi xanh.
03:17, Internet toàn cầu không còn hoạt động. Backbone: route bị xóa, không phải rớt. Cáp vật lý: chưa xác nhận, khả năng còn nguyên. Quy mô: toàn cầu (3 thiết bị, 3 đường truyền, cùng kết quả). Giả thuyết: ???
Anh nhìn dòng cuối. Dấu hỏi ba lần. Lần đầu tiên sau rất nhiều năm, anh viết dấu hỏi trong sổ kỹ thuật mà không có giả thuyết đi kèm.
Đồng hồ trên tường chạy đều. 04:38. Bên ngoài, trời vẫn tối, thành phố vẫn ngủ, gió biển vẫn thổi qua ban công để ngỏ. Phần mềm phân tích gói tin vẫn chạy trên màn hình, bắt được vài gói tin nội bộ vô nghĩa rồi lại im.
Quân đặt cốc cà phê cạn xuống bàn. Nhìn tấm sơ đồ backbone trên tường, những đường kẻ nối các thành phố, các quốc gia, các lục địa bằng sợi quang chạy dưới đáy biển. Anh đã đi dọc những tuyến cáp đó, đã ngồi trong phòng máy ở Singapore, Jakarta, Bangkok, kiểm tra từng nút một. Biết tên từng trạm trung chuyển. Biết công suất từng đường truyền.
Giờ tất cả những đường kẻ đó chỉ còn là mực in trên giấy.
Anh gõ một lệnh cuối cùng vào cửa sổ dòng lệnh. Không phải lệnh kỹ thuật. Chỉ là một dòng chữ, gõ vào khoảng trống nơi từng có kết nối.
where are you
Con trỏ nhấp nháy. Không có gì trả lời.
Quân không đi ngủ lại. Anh ngồi trước màn hình tối, trước cuốn sổ mở, trước thành phố chưa biết mình vừa mất gì.
Và lần đầu tiên trong mười năm làm việc với hệ thống, anh không biết hệ thống đang làm gì.