成熟阿特拉斯

祝大家有美好的一天! 我想將我關於 habr 的第一篇文章獻給一個非常有趣的主題 - RIPE Atlas 互聯網品質控制系統。 我感興趣的部分領域涉及互聯網或網路空間的研究(這個術語正在迅速流行,尤其是在科學界)。 網路上有很多關於 RIPE Atlas 的資料,包括 habr 上的資料,但對我來說似乎不夠全面。 文章大部分內容來自官網訊息 成熟阿特拉斯 和我自己的想法。

成熟阿特拉斯

而不是前言

負責涵蓋歐洲、中亞和中東的區域網路註冊機構 (RIR) 是 RIPE NCC(Réseaux IP Européens 網路協調中心)。 RIPE NCC 是一家總部位於荷蘭的非營利組織。 支援互聯網。 向本地網際網路供應商和大型組織提供 IP 位址和自治系統編號。

RIPE NCC 旨在研究互聯網狀況的旗艦項目之一是 RIPE Atlas(於 2010 年底啟動),它是測試流量測量服務的演變,該服務於 2014 年停止運營。

RIPE Atlas 是一個全球感測器網絡,可主動測量互聯網的狀態。 目前 RIPE Atlas 網路中有數千個感測器,並且數量正在不斷增長。 RIPE NCC 匯總收集到的數據,並以方便的形式免費提供給使用者。

該網路的開發遵循用戶在其基礎設施中自願安裝感測器的原則,並為其發放“積分”,這些“積分”可用於使用其他感測器進行感興趣的測量。

通常使用 RIPE Atlas:

  • 從互聯網上的各個點監控您的網路的可用性;
  • 透過快速、靈活的連線測試來調查您的網路並排除故障;
  • 在您自己網路的監控系統中;
  • 監控 DNS 基礎架構的可用性;
  • IPv6 連線檢查。

成熟阿特拉斯

正如我已經說過的,RIPE Atlas 是一個位於互聯網上並受單一管理控制的傳感器系統。 除了傳統的感測器(Probes)之外,還有更先進的-錨點(Anchors)。

截至 2020 年中期,RIPE Atlas 系統擁有超過 11 個主動感測器和超過 650 個主動錨點,總共產生超過 25 個測量值,每秒接收超過 10 個結果。

下圖顯示了感測器和錨點數量的增長。

成熟阿特拉斯

成熟阿特拉斯

下圖顯示了一張世界地圖,分別指示了感測器和錨點的位置。

成熟阿特拉斯

成熟阿特拉斯

儘管 RIPE NCC 具有區域地位,但 RIPE Atlas 網路幾乎覆蓋整個世界,其中俄羅斯在安裝感測器數量方面位居前 5 位(568 個),另外還有德國(1562 個)、美國(1440 個)、法國( 925)和英國(610)。

控制伺服器

在研究感測器的操作時,發現它會定期(每 4 分鐘)檢查與網路上某些物件的通信,其中包括根 DNS 伺服器和網域如「ctr-sin02.atlas.ripe.net」的節點,我相信,它們是RIPE Atlas 網路的控制伺服器。

我在官方網站上沒有找到有關控制伺服器的信息,但可以假設它們的任務包括管理感測器,以及聚合和處理資料。 如果我的猜測是正確的,那麼至少有6台控制伺服器,其中2台位於美國,2台位於荷蘭,1台位於德國,1台位於新加坡,所有伺服器均開放443連接埠。

如果有人有關於 RIPE Atlas 網路控制伺服器的更多信息,請澄清這個問題。

傳感器

成熟阿特拉斯

RIPE Atlas 感測器是一款小型裝置 (TP-Link 3020),由 USB 供電,並使用網路線連接到路由器的乙太網路連接埠。 根據型號的不同,感測器可能配備 Atheros AR9331 晶片組、400 MHz、4 MB 快閃記憶體和 32 MB RAM,或 MediaNek MT7628NN 晶片組、575 MHz、8 MB 快閃記憶體和 64 MB RAM。

成熟阿特拉斯

電樞是一種改進的感測器,具有更高的性能和測量能力。 它是一款標準19吋版本,基於APU2C2或APU2E2硬體平台,配備4核心1GHz處理器、2GB RAM、3個千兆乙太網路連接埠和250GB SSD硬碟。 錨的成本約為400美元.

感測器的安裝與管理

正如我已經說過的,感測器是免費分發的,以便將它們安裝在您的基礎設施中。 請求感測器時,請註明感測器所在的國家、城市和自治系統的編號。 為了回應我的請求,RIPE NCC 發送了以下訊息。

不幸的是,您的應用程式目前不符合我們接收硬體感測器的標準。 雖然我們的目標是盡可能廣泛地分發 RIPE Atlas 感測器,但似乎在您指定的 ASN、您申請的網路或您申請的國家/地區內已經連接了足夠的設備。

沒問題。 在這種情況下,您可以在虛擬機器、家庭伺服器或路由器上安裝軟體感測器 - 位置和自治系統沒有限制。 支援 CentOS、Debian、Raspbian 和 Turris 作業系統。 要部署,您需要下載並安裝適當的軟體,例如從 GitHub 上的儲存庫.

安裝軟體感測器非常簡單。 例如,要在 CentOS 8 上安裝,您需要執行以下命令:

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

並註冊感測器,在這種情況下,您必須提供 SSH 金鑰,該金鑰位於 /var/atlas-probe/etc/probe_key.pub,並註明自治系統編號和您所在的城市。 這封信提醒我們需要正確指示感測器的位置。

感測器管理僅限於與其他使用者共享測量資源、配置停機通知以及標準網路設定(位址、預設閘道等)的能力。

測量

最後我們開始測量。 設定測量任務是透過您的個人帳戶完成的。 您還可以在那裡看到結果。

形成測量任務包括三個步驟:選擇測量類型、選擇感測器、選擇測量週期。

測量可以是以下類型:ping、traceroute、DNS、SSL、HTTP、NTP。 特定測量類型的詳細設定(不包括特定於特定協定或實用程式的設定)包括:目標位址、網路層協定、測量中的資料包數量和測量之間的時間、資料包大小和資料包之間的時間、資料包的隨機偏移程度。發送資料包的開始時間。

可以透過感測器的識別碼或所在國家、地區、自治系統、標籤等來選擇感測器。

測量週期由開始時間和結束時間設定。

測量結果可以在您的個人帳戶中的網站上獲取,也可以以json格式取得。 一般來說,測量結果是表徵某個節點或服務可用性的量化指標。

對於使用者來說,測量的可能性是在很寬但非常有限的範圍內呈現的。 然而,很明顯,系統的功能涉及幾乎任何配置的資料包的生成,這為測量互聯網狀態開闢了更廣泛的機會。

以下是使用預設設定的單次測量的原始結果範例。 在ping、traceroute和SSL等測量中,選擇habr.com的IP位址作為目標,DNS是Google DNS伺服器的IP位址,NTP是NTP伺服器ntp1.stratum2.ru的IP位址。 所有測量均使用位於符拉迪沃斯托克的一個感測器。

平安

[{"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}]

跟踪路由

[{"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}]

結論

RIPE Atlas 網路是一個方便的工具,可讓您近乎即時地監控 Internet 上物件和服務的可用性。

RIPE Atlas網路產生的數據對於電信營運商、研究人員、技術社群以及任何對網路健康感興趣並希望了解更多關於支援全球範圍內互聯網的底層網路結構和資料流的人來說都是有用的。

PS RIPE Atlas 並不孤單,還有類似的產品,例如 .

來源: www.habr.com

添加評論