Atlas chín

Chúc mọi người một ngày tốt lành! Tôi muốn dành bài viết đầu tiên của mình về habr cho một chủ đề rất thú vị - hệ thống kiểm soát chất lượng Internet RIPE Atlas. Một phần lĩnh vực tôi quan tâm liên quan đến nghiên cứu về Internet hoặc không gian mạng (một thuật ngữ đang nhanh chóng trở nên phổ biến, đặc biệt là trong giới khoa học). Có rất nhiều tài liệu về RIPE Atlas trên Internet, kể cả trên habr, nhưng đối với tôi, chúng dường như chưa đầy đủ. Phần lớn bài viết sử dụng thông tin từ trang web chính thức Atlas chín và suy nghĩ của riêng tôi.

Atlas chín

Thay vì lời nói đầu

Cơ quan đăng ký internet khu vực (RIR), có trách nhiệm bao trùm Châu Âu, Trung Á và Trung Đông, là RIPE NCC (Trung tâm Điều phối Mạng Réseaux IP Européens). RIPE NCC là một tổ chức phi lợi nhuận có trụ sở tại Hà Lan. Hỗ trợ Internet. Cung cấp địa chỉ IP và số hệ thống tự trị cho các nhà cung cấp Internet địa phương và các tổ chức lớn.

Một trong những dự án hàng đầu của RIPE NCC nhằm nghiên cứu trạng thái Internet là RIPE Atlas (bắt đầu vào cuối năm 2010), là một bước phát triển của Dịch vụ đo lưu lượng truy cập thử nghiệm, đã ngừng hoạt động vào năm 2014.

RIPE Atlas là mạng lưới cảm biến toàn cầu chủ động đo lường trạng thái của Internet. Hiện tại có hàng nghìn cảm biến trong mạng RIPE Atlas và số lượng của chúng không ngừng tăng lên. RIPE NCC tổng hợp dữ liệu được thu thập và cung cấp miễn phí cho người dùng ở dạng thuận tiện.

Sự phát triển của mạng diễn ra theo nguyên tắc người dùng tự nguyện lắp đặt các cảm biến trong cơ sở hạ tầng của họ, nhờ đó “tín dụng” được phát hành, số tiền này có thể được sử dụng để thực hiện các phép đo quan tâm bằng cách sử dụng các cảm biến khác.

Thông thường RIPE Atlas được sử dụng:

  • để giám sát tính khả dụng của mạng của bạn từ nhiều điểm khác nhau trên Internet;
  • để điều tra và khắc phục sự cố mạng của bạn bằng các bài kiểm tra kết nối nhanh chóng, linh hoạt;
  • trong hệ thống giám sát mạng của riêng bạn;
  • để giám sát tính khả dụng của cơ sở hạ tầng DNS;
  • Kiểm tra kết nối IPv6.

Atlas chín

Như tôi đã nói, RIPE Atlas là một hệ thống cảm biến được đặt trên Internet và chịu sự kiểm soát quản trị duy nhất. Ngoài các cảm biến thông thường (Đầu dò), còn có những cảm biến tiên tiến hơn - mỏ neo (Neo).

Tính đến giữa năm 2020, hệ thống RIPE Atlas có hơn 11 nghìn cảm biến hoạt động và hơn 650 mỏ neo hoạt động, cùng nhau tạo ra hơn 25 nghìn phép đo và nhận được hơn 10 nghìn kết quả mỗi giây.

Các biểu đồ bên dưới cho thấy sự tăng trưởng về số lượng cảm biến và neo.

Atlas chín

Atlas chín

Và các hình sau đây hiển thị bản đồ Thế giới cho biết vị trí của các cảm biến và mỏ neo tương ứng.

Atlas chín

Atlas chín

Bất chấp vị thế khu vực của RIPE NCC, mạng RIPE Atlas bao phủ gần như toàn bộ thế giới, trong đó Nga nằm trong top 5 về số lượng cảm biến được lắp đặt (568), cùng với Đức (1562), Mỹ (1440), Pháp (925) và Vương quốc Anh ( 610).

Máy chủ điều khiển

Khi nghiên cứu hoạt động của cảm biến, người ta phát hiện ra rằng nó kiểm tra định kỳ (4 phút một lần) giao tiếp với một số đối tượng trên mạng, bao gồm máy chủ DNS gốc và các nút có tên miền như “ctr-sin02.atlas.ripe.net” Tôi tin rằng đó là các máy chủ điều khiển của mạng RIPE Atlas.

Tôi không tìm thấy thông tin về máy chủ điều khiển trên trang web chính thức, nhưng có thể giả định rằng nhiệm vụ của chúng bao gồm quản lý cảm biến, cũng như tổng hợp và xử lý dữ liệu. Nếu tôi đoán đúng thì có ít nhất 6 máy chủ điều khiển, trong đó 2 ở Mỹ, 2 ở Hà Lan, 1 ở Đức, 1 ở Singapore. Cổng 443 được mở trên tất cả các máy chủ.

Nếu ai có thêm thông tin về máy chủ điều khiển của mạng RIPE Atlas, vui lòng làm rõ vấn đề này.

Cảm biến

Atlas chín

Cảm biến RIPE Atlas là một thiết bị nhỏ (TP-Link 3020) được cấp nguồn bằng USB và kết nối với cổng Ethernet của bộ định tuyến bằng cáp mạng. Tùy thuộc vào kiểu máy, cảm biến có thể có chipset Atheros AR9331, 400 MHz, flash 4 MB và RAM 32 MB hoặc chipset MediaNek MT7628NN, 575 MHz, flash 8 MB và RAM 64 MB.

Mỏ neo

Atlas chín

Phần ứng là một cảm biến được cải tiến với hiệu suất và khả năng đo lường cao hơn nhiều. Đây là thiết bị thuộc phiên bản 19 inch tiêu chuẩn trên nền tảng phần cứng APU2C2 hoặc APU2E2 với bộ xử lý 4 nhân tốc độ 1 GHz, RAM 2 GB, 3 cổng Gigabit Ethernet và ổ SSD 250 GB. Chi phí của mỏ neo là khoảng 400 USD.

Cài đặt và quản lý cảm biến

Như tôi đã nói, các cảm biến được phân phối miễn phí nhằm mục đích lắp đặt chúng vào cơ sở hạ tầng của bạn. Khi yêu cầu cảm biến, hãy cho biết quốc gia, thành phố và số lượng hệ thống tự trị nơi nó sẽ được đặt. Để đáp lại yêu cầu của tôi, RIPE NCC đã gửi tin nhắn sau.

Rất tiếc, ứng dụng của bạn không đáp ứng tiêu chí của chúng tôi để nhận cảm biến phần cứng vào thời điểm này. Mặc dù mục tiêu của chúng tôi là phân phối cảm biến RIPE Atlas rộng rãi nhất có thể nhưng có vẻ như đã có đủ thiết bị được kết nối trong ASN mà bạn chỉ định, mạng mà bạn đã đăng ký hoặc quốc gia nơi bạn đã áp dụng ứng dụng.

Không có gì. Trong trường hợp này, bạn có thể cài đặt cảm biến phần mềm, chẳng hạn như trên máy ảo, máy chủ gia đình hoặc bộ định tuyến - không có hạn chế nào về vị trí và hệ thống tự động. Hệ điều hành CentOS, Debian, Raspbian và Turris được hỗ trợ. Để triển khai, bạn cần tải xuống và cài đặt phần mềm thích hợp, ví dụ từ kho lưu trữ trên GitHub.

Việc cài đặt phần mềm cảm biến khá đơn giản. Ví dụ: để cài đặt trên CentOS 8, bạn cần chạy các lệnh sau:

curl -O 'https://ftp.ripe.net/ripe/atlas/software-probe/centos8/noarch/ripe-atlas-repo-1-2.el8.noarch.rpm'

yum install ripe-atlas-repo-1-2.el8.noarch.rpm

và đăng ký cảm biến, trong trường hợp này bạn phải cung cấp khóa SSH nằm ở /var/atlas-probe/etc/probe_key.pub, đồng thời cho biết số hệ thống tự trị và thành phố của bạn. Bức thư nhắc nhở chúng tôi về sự cần thiết phải chỉ ra chính xác vị trí của cảm biến.

Quản lý cảm biến bị giới hạn ở khả năng chia sẻ tài nguyên đo với người dùng khác, định cấu hình thông báo thời gian ngừng hoạt động, cũng như cài đặt mạng tiêu chuẩn (địa chỉ, cổng mặc định, v.v.).

Đo

Cuối cùng chúng tôi phải tiến hành đo đạc. Việc thiết lập các tác vụ đo lường được thực hiện từ tài khoản cá nhân của bạn. Bạn cũng có thể xem kết quả ở đó.

Việc hình thành nhiệm vụ đo gồm 3 bước: chọn loại đo, chọn cảm biến, chọn chu kỳ đo.

Các phép đo có thể thuộc các loại sau: ping, traceroute, DNS, SSL, HTTP, NTP. Cài đặt chi tiết cho một loại phép đo cụ thể, không bao gồm các cài đặt cụ thể cho một giao thức hoặc tiện ích cụ thể, bao gồm: địa chỉ đích, giao thức lớp mạng, số lượng gói trong phép đo và thời gian giữa các phép đo, kích thước gói và thời gian giữa các gói, mức độ dịch chuyển ngẫu nhiên trong thời điểm bắt đầu gửi gói tin.

Các cảm biến có thể được chọn theo mã định danh hoặc quốc gia, vị trí, khu vực, hệ thống tự trị, thẻ, v.v.

Khoảng thời gian đo được thiết lập theo thời gian bắt đầu và kết thúc.

Kết quả đo có sẵn trên trang web trong tài khoản cá nhân của bạn, cũng có thể được lấy ở định dạng json. Nói chung, kết quả đo lường là các chỉ số định lượng mô tả tính khả dụng của một nút hoặc dịch vụ nhất định.

Đối với người dùng, khả năng đo lường được thể hiện trong phạm vi rộng nhưng rất hạn chế. Tuy nhiên, rõ ràng là khả năng của hệ thống liên quan đến việc tạo ra các gói có hầu hết mọi cấu hình, điều này mở ra nhiều cơ hội rộng lớn hơn cho việc đo lường trạng thái của Internet.

Dưới đây là ví dụ về kết quả thô từ một phép đo duy nhất sử dụng cài đặt mặc định. Trong các phép đo như ping, traceroute và SSL, địa chỉ IP của habr.com được chọn làm mục tiêu, DNS là địa chỉ IP của máy chủ DNS của Google, NTP là địa chỉ IP của máy chủ NTP ntp1.stratum2.ru. Tất cả các phép đo đều sử dụng một cảm biến đặt tại Vladivostok.

Ping

[{"fw":4790,"lts":18,"dst_name":"178.248.237.68","af":4,"dst_addr":"178.248.237.68","src_addr":"192.168.0.10","proto":"ICMP","ttl":55,"size":48,"result":[{"rtt":122.062873},{"rtt":121.775641},{"rtt":121.807897}],"dup":0,"rcvd":3,"sent":3,"min":121.775641,"max":122.062873,"avg":121.882137,"msm_id":26273241,"prb_id":4428,"timestamp":1594622562,"msm_name":"Ping","from":"5.100.99.178","type":"ping","group_id":26273241,"step":null,"stored_timestamp":1594622562}]

Traceroute

[{"fw":4790,"lts":19,"endtime":1594622643,"dst_name":"178.248.237.68","dst_addr":"178.248.237.68","src_addr":"192.168.0.10","proto":"ICMP","af":4,"size":48,"paris_id":1,"result":[{"hop":1,"result":[{"from":"192.168.0.1","ttl":64,"size":76,"rtt":7.49},{"from":"192.168.0.1","ttl":64,"size":76,"rtt":1.216},{"from":"192.168.0.1","ttl":64,"size":76,"rtt":1.169}]},{"hop":2,"result":[{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.719},{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.507},{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.48}]},---DATA OMITED---,{"hop":10,"result":[{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.891},{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.873},{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.923}]}],"msm_id":26273246,"prb_id":4428,"timestamp":1594622637,"msm_name":"Traceroute","from":"5.100.99.178","type":"traceroute","group_id":26273246,"stored_timestamp":1594622649}]

DNS

[{"fw":4790,"lts":146,"dst_addr":"8.8.8.8","af":4,"src_addr":"192.168.0.10","proto":"UDP","result":{"rt":174.552,"size":42,"abuf":"5BGAgAABAAEAAAAABGhhYnIDY29tAAABAAHADAABAAEAAAcmAASy+O1E","ID":58385,"ANCOUNT":1,"QDCOUNT":1,"NSCOUNT":0,"ARCOUNT":0},"msm_id":26289620,"prb_id":4428,"timestamp":1594747880,"msm_name":"Tdig","from":"5.100.99.178","type":"dns","group_id":26289620,"stored_timestamp":1594747883}]

SSL

[{"fw":4790,"lts":63,"dst_name":"178.248.237.68","dst_port":"443","method":"TLS","ver":"1.2","dst_addr":"178.248.237.68","af":4,"src_addr":"192.168.0.10","ttc":106.920213,"rt":219.948332,"cert":["-----BEGIN CERTIFICATE-----nMIIGJzCCBQ+gAwIBAg ---DATA OMITED--- yd/teRCBaho1+Vn-----END CERTIFICATE-----"],"msm_id":26289611,"prb_id":4428,"timestamp":1594747349,"msm_name":"SSLCert","from":"5.100.99.178","type":"sslcert","group_id":26289611,"stored_timestamp":1594747352}]

NTP

[{"fw":4790,"lts":72,"dst_name":"88.147.254.230","dst_addr":"88.147.254.230","src_addr":"192.168.0.10","proto":"UDP","af":4,"li":"no","version":4,"mode":"server","stratum":2,"poll":8,"precision":0.0000076294,"root-delay":0.000518799,"root-dispersion":0.0203094,"ref-id":"5893fee5","ref-ts":3803732581.5476198196,"result":[{"origin-ts":3803733082.3982748985,"receive-ts":3803733082.6698465347,"transmit-ts":3803733082.6698560715,"final-ts":3803733082.5099263191,"rtt":0.111643,"offset":-0.21575},{"origin-ts":3803733082.5133042336,"receive-ts":3803733082.7847337723,"transmit-ts":3803733082.7847442627,"final-ts":3803733082.6246700287,"rtt":0.111355,"offset":-0.215752},{"origin-ts":3803733082.6279149055,"receive-ts":3803733082.899283886,"transmit-ts":3803733082.8992962837,"final-ts":3803733082.7392635345,"rtt":0.111337,"offset":-0.2157}],"msm_id":26289266,"prb_id":4428,"timestamp":1594744282,"msm_name":"Ntp","from":"5.100.99.178","type":"ntp","group_id":26289266,"stored_timestamp":1594744289}]

Kết luận

Mạng RIPE Atlas là một công cụ tiện lợi cho phép bạn giám sát tính khả dụng của các đối tượng và dịch vụ trên Internet trong thời gian gần như thực.

Dữ liệu do mạng RIPE Atlas tạo ra có thể hữu ích cho các nhà khai thác viễn thông, nhà nghiên cứu, cộng đồng kỹ thuật và bất kỳ ai quan tâm đến tình trạng của Internet và muốn tìm hiểu thêm về cấu trúc mạng cơ bản và luồng dữ liệu hỗ trợ Internet trên phạm vi toàn cầu .

PS RIPE Atlas không phải là loại duy nhất, ví dụ như có những loại tương tự này.

Nguồn: www.habr.com

Thêm một lời nhận xét