Giao thức BGP là gì ? Lý do tại sao Facebook bị sập toàn cầu hơn 6 tiếng

VNZ-NEWS
Border Gateway Protocol (BGP) Là gì ?
Border Gateway Protocol viết tắt thành BGP, là một trong những giao thức được sử dụng trong hệ thống mạng. BGP được hiểu là một giao thức định tuyến được sử dụng để truyền dữ liệu và thông tin giữa các cổng máy chủ khác nhau, Internet hoặc các hệ thống tự trị. BGP duy trì các đường dẫn đến các máy chủ, mạng và bộ định tuyến cổng khác nhau và xác định quyết định định tuyến dựa trên đó.

Theo Wiki BGP, viết tắt của từ tiếng Anh Border Gateway Protocol, là giao thức tìm đường nòng cốt trên Internet. BGP hoạt động dựa trên hoạt động cập nhật bảng chứa các địa chỉ mạng (prefix) cho biết mối liên kết giữa các hệ thống tự trị (autonomous system, tập hợp các hệ thống mạng dưới cùng sự điều hành của một nhà quản trị mạng, thông thường là một nhà cung cấp dịch vụ Internet, ISP). BGP là một giao thức vector đường đi (path vector). Khác với các giao thức tìm đường khác như RIP (vector độ dài), OSPF (trạng thái liên kết), BGP chọn đường bằng một tập các chính sách và luật. Phiên bản BGP hiện nay là phiên bản 4, dựa trên RFC 4271.

BGP hỗ trợ tìm đường liên vùng phi lớp (CIDR Classless Inter-Domain Routing) và dùng kỹ thuật kết hợp đường đi để giảm kích thước bảng tìm đường (ví dụ nếu một mạng chiếm 255 địa chỉ lớp C từ 203.162.0.0/24 - 203.162.254.0/24 thì chỉ dùng 1 địa chỉ 203.162.0.0/16 để định danh mạng)

BGP được sử dụng thay thế cho EGP và xóa hẳn mạng xương sống NSFNET nhằm giúp cho Internet trở thành một hệ thống phân tán đúng nghĩa.

Ngoài việc sử dụng BGP giữa các AS, BGP cũng có thể được sử dụng trong các mạng riêng quy mô lớn do OSPF không đáp ứng được. Một lý do khác là dùng BGP để hỗ trợ multihome.

Đa số người sử dụng Internet thường không sử dụng BGP một cách trực tiếp. Chỉ có các nhà cung cấp dịch vụ Internet sử dụng BGP để trao đổi đường đi. BGP là một trong những giao thức quan trọng nhất đảm bảo tính kết nối của Internet.

Có thể hiểu là Border Gateway Protocol (BGP) tương tự như dịch vụ bưu chính của Internet. Khi ai đó gửi bức thư vào hộp thư, dịch vụ bưu chính sẽ xử lý bức thư đó và chọn một tuyến đường nhanh chóng, hiệu quả để chuyển bức thư đó đến người nhận. Tương tự, khi ai đó gửi dữ liệu qua Internet, BGP chịu trách nhiệm xem xét tất cả các con đường có sẵn mà dữ liệu có thể di chuyển và chọn con đường tốt nhất.

Hiện tại BGP là giao thức để Internet hoạt động. BGP giúp định tuyến dữ liệu trên Internet. Khi người dùng ở Singapore tải một trang web có máy chủ gốc ở Argentina, BGP là giao thức cho phép quá trình đó diễn ra nhanh chóng và hiệu quả.

Lý do tại sao Facebook bị sập toàn cầu hơn 6 tiếng

Vào khoảng hơn 22h đêm qua theo giờ Việt Nam, hệ thống DNS của mạng xã hội Facebook đã ngừng phân giải không thể truy cập tới các IP cơ sở hạ tầng của họ. Như thể ai đó đã "rút dây cáp" khỏi các trung tâm dữ liệu của Facebook cùng một lúc và ngắt kết nối chúng khỏi Internet.

Facebook-Instagram-Whatsapp-Down.png

Như bạn đã biết ở phần thông tin trên, BGP là viết tắt của Border Gateway Protocol. Đó là một cơ chế để trao đổi thông tin định tuyến giữa các hệ thống tự trị (AS) trên Internet. Các bộ định tuyến lớn giúp hệ thống có danh sách hoạt động Internet khổng lồ, được cập nhật liên tục về các tuyến đường khả thi có thể được sử dụng trong quá trình phân phối mọi gói mạng đến đích cuối cùng. Nếu không có BGP, các bộ định tuyến Internet sẽ không biết phải làm gì và Internet sẽ không hoạt động.

Internet theo nghĩa đen là mạng lưới các mạng được gắn kết với nhau bởi BGP. BGP cho phép một hệ thống mạng (ví dụ như Facebook) thông báo sự hiện diện của nó với các mạng khác tạo thành mạng Internet. Sự cố đêm qua cho thấy Facebook đã không thông báo sự hiện diện của mình, các ISP và các mạng khác không thể tìm thấy mạng của Facebook và vì vậy mạng của Facebook không khả dụng.

Mỗi hệ thống mạng riêng lẻ đều có ASN: Số hệ thống tự trị. Hệ thống tự trị (AS) là mạng riêng lẻ có chính sách định tuyến nội bộ thống nhất. Một AS có thể bắt nguồn các tiền tố (giả sử rằng chúng kiểm soát một nhóm địa chỉ IP), cũng như các tiền tố chuyển tuyến (giả sử chúng biết cách tiếp cận các nhóm địa chỉ IP cụ thể).

Ví dụ nhưASN của Cloudflare là AS13335. Mỗi ASN cần thông báo các tuyến tiền tố của nó với Internet bằng cách sử dụng BGP; nếu không, sẽ không ai biết cách kết nối và tìm Cloudflare ở đâu.

Dưới đây bạn có thể thấy sáu hệ thống tự trị trên Internet và hai tuyến đường khả thi mà một gói tin có thể sử dụng để đi từ Đầu đến Cuối. AS1 → AS2 → AS3 là nhanh nhất và AS1 → AS6 → AS5 → AS4 → AS3 là chậm nhất, nhưng đều có thể được sử dụng nếu lần đầu tiên không thành công.


image5-9.png

Ảnh Cloudflare

Sự cố đêm qua Facebook đã ngừng thông báo các tuyến đường đến tiền tố DNS của họ. Điều đó có nghĩa là, máy chủ DNS của Facebook không khả dụng, không thể phản hồi các truy vấn yêu cầu địa chỉ IP của facebook.com hoặc instagram.com nữa.

Mã:
route-views>show ip bgp 185.89.218.0/23
% Network not in table
route-views>

route-views>show ip bgp 129.134.30.0/23
% Network not in table
route-views>

Dù các địa chỉ IP Facebook khác vẫn được định tuyến nhưng không đặc biệt hữu ích vì Facebook không có DNS và các dịch vụ liên quan không khả dụng .

Mã:
route-views>show ip bgp 129.134.30.0
BGP routing table entry for 129.134.0.0/17, version 1025798334
Paths: (24 available, best #14, table default)
  Not advertised to any peer
  Refresh Epoch 2
  3303 6453 32934
    217.192.89.50 from 217.192.89.50 (138.187.128.158)
      Origin IGP, localpref 100, valid, external
      Community: 3303:1004 3303:1006 3303:3075 6453:3000 6453:3400 6453:3402
      path 7FE1408ED9C8 RPKI State not found
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 1
route-views>

Sự cố xảy ra vào khoảng 22h40 theo giờ Việt Nam đây là thời gian đỉnh điểm của những thay đổi định tuyến từ Facebook. Đó là khi rắc rối bắt đầu.



image4-10.png

Các tuyến đã bị thu hồi, máy chủ DNS của Facebook chuyển sang trạng thái ngoại tuyến.

image3-8.png

Facebook và các hệ thống mạng của họ đã tự ngắt kết nối Internet.

Vì vậy các trình phân giải DNS trên toàn thế giới đã ngừng phân giải các tên miền của họ.

Mã:
➜  ~ dig @1.1.1.1 facebook.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;facebook.com.            IN    A
➜  ~ dig @1.1.1.1 whatsapp.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;whatsapp.com.            IN    A
➜  ~ dig @8.8.8.8 facebook.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;facebook.com.            IN    A
➜  ~ dig @8.8.8.8 whatsapp.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;whatsapp.com.            IN

Điều này xảy ra bởi vì DNS, giống như nhiều hệ thống khác trên Internet, cũng có cơ chế định tuyến của DNS. Khi ai đó nhập URL https://facebook.com vào trình duyệt, trình phân giải DNS, chịu trách nhiệm dịch tên miền thành địa chỉ IP thực để kết nối, trước tiên sẽ kiểm tra xem nó có thứ gì đó trong bộ nhớ cache hay không và sử dụng nó. Nếu không, nó sẽ cố gắng lấy câu trả lời từ máy chủ tên miền, thường được lưu trữ bởi thực thể sở hữu nó.

Nếu máy chủ định danh không thể truy cập hoặc không phản hồi vì một số lý do khác, thì SERVFAIL sẽ được trả về và trình duyệt sẽ báo lỗi cho người dùng

image8-7.png

Ảnh Cloudflare

Do Facebook ngừng thông báo các tuyến tiền tố DNS của họ thông qua BGP, các trình phân giải DNS của Cloudflare và tất cả mọi người không có cách nào kết nối với máy chủ định danh của họ. Do đó, 1.1.1.1, 8.8.8.8 và các trình phân giải DNS công cộng chính khác bắt đầu lưu vào bộ nhớ đệm và gửi các phản hồi SERVFAIL.

Một lý do khiến DNS của Facebook bị sập là con người, có sự gia tăng lưu lượng truy cập (về số lượng yêu cầu) được Cloudflare theo dõi trên 1.1.1.1:


image6-8.png

Ảnh Cloudflare

Vì Facebook và các trang web của họ quá lớn, với hệ thống trình phân giải DNS trên toàn thế giới của Cloudflare đã xuất hiện các tình huống xử lý truy vấn nhiều hơn 30 lần so với bình thường và có khả năng gây ra các vấn đề về độ trễ và thời gian chờ cho các nền tảng khác.

Khi Facebook không thể truy cập được, Cloudflare bắt đầu thấy các truy vấn DNS ngày càng tăng đối với Twitter, Signal và các nền tảng truyền thông xã hội và nhắn tin khác.

image1-12.png

Ảnh Cloudflare

Biểu đồ dưới đây cho thấy lưu lượng truy cập đã thay đổi như thế nào từ 22h 45 sang 23:45 giờ Việt Nam so với ba giờ trước đó ở mỗi quốc gia. Trên toàn thế giới, lưu lượng truy cập WARP đến và đi từ mạng của Facebook đã biến mất.


image7-6.png

Ảnh Cloudflare

Qua sự cố của Facebook, chúng ta mới biết rằng Internet là một hệ thống rất phức tạp và phụ thuộc lẫn nhau gồm hàng triệu hệ thống và giao thức hoạt động cùng nhau. Sự tin tưởng, tiêu chuẩn hóa và hợp tác giữa các thực thể là trung tâm của việc làm cho internet hoạt động cho gần năm tỷ người dùng trên toàn thế giới.

Vào khoảng 4h sáng giờ Việt Nam , đã thấy các hoạt động BGP mới từ mạng của Facebook, đạt đỉnh vào lúc 5h:17 sáng giờ Việt Nam.

unnamed-3-2.png

Ảnh Cloudflare

Hình ảnh này cho thấy tính khả dụng của tên DNS 'facebook.com' trên trình phân giải DNS của Cloudflare 1.1.1.1. ngừng hoạt động vào khoảng 15:50 UTC ( 22h50 Việt Nam) và trở lại vào lúc 21:20 UTC. ( khoảng 4h20 sáng Việt Nam)


unnamed-2.png

Ảnh Cloudflare

Dù hiện tại các dịch vụ Facebook, WhatsApp và Instagram sẽ phải mất thêm thời gian để online toàn bộ hệ thống, nhưng kể từ 4h:28 sáng ( giờ Việt Nam), Facebook dường như đã được kết nối lại với Internet toàn cầu ,DNS hoạt động trở lại.

Qua sự cố này chúng ta có thể thấy giao thức BGP rất quan trọng với mạng internet. BGP có thể phá hỏng mạng lưới Internet .

Năm 2004, nhà cung cấp dịch vụ Internet Thổ Nhĩ Kỳ (ISP) TTNet đã vô tình làm lộ các tuyến đường BGP xấu cho các nước láng giềng. Các tuyến đường này khẳng định rằng bản thân TTNet là điểm đến tốt nhất cho tất cả lưu lượng truy cập trên Internet. Khi các tuyến đường BGP này ngày càng lan rộng đến nhiều hệ thống tự trịđã gây ra sự cố sự gián đoạn internet lớn kéo dài 1 ngày, nhiều người trên thế giới không thể truy cập một số hoặc tất cả mạng Internet.

Tương tự, vào năm 2008, một ISP Pakistan đã cố gắng sử dụng BGP để chặn người dùng Pakistan truy cập YouTube. Sau đó, ISP này đã vô tình để lộ các tuyến đường BGP này với AS lân cận nó , tuyến đường này nhanh chóng lan rộng trên mạng BGP Internet.

Điều này khiến người dùng cố gắng truy cập YouTube, dẫn đến việc YouTube không thể truy cập được trong vài giờ. Đây là những ví dụ về một hoạt động được gọi là chiếm quyền điều khiển BGP . Vào tháng 4 năm 2018, những kẻ tấn công đã cố tình tạo ra các tuyến BGP xấu để chuyển hướng lưu lượng truy cập dành cho dịch vụ DNS của Amazon. Những kẻ tấn công đã có thể đánh cắp số tiền điện tử trị giá hơn 100.000 đô la bằng cách chuyển hướng lưu lượng truy cập này cho chính chúng. Những sự cố như thế này có thể xảy ra bởi vì chức năng chia sẻ tuyến đường của BGP dựa trên sự tin cậy và các hệ thống tự trị hoàn toàn tin tưởng các tuyến đường BGP được chia sẻ với chúng. Mặc dù đã có một số đề xuất đầy tham vọng nhằm làm cho BGP an toàn hơn, nhưng những đề xuất này rất khó thực hiện vì chúng sẽ yêu cầu mọi hệ thống tự quản phải cập nhật đồng thời hành vi của các tuyến đường. Quá trình này đòi hỏi sự phối hợp của hàng trăm nghìn tổ chức và có khả năng dẫn đến việc tạm thời dừng toàn bộ mạng lưới Internet.


Vn-Z.vn team tổng hợp tham khảo Wiki, Cloudflare
 
Trả lời

dosonpk

Rìu Sắt
Tui nghĩ rằng anh Mắc xoăn thử nghiệm cộng nghệ của anh Quảng, rút ổ điện {beat_brick}
 

hoang1408

Búa Đá Đôi
:) tạch mấy tiếng là bay mấy tỷ usd , 1 tiếng là 1 tỷ đô thốn phết chứ đùa ^^
 

kirakun277

Búa Gỗ
bgp chết đâu dễ thế, 2 là khắc phục cũng nhanh, không có chuyện update gây lỗi ngớ ngẩn thế này được.