{"id":5384,"date":"2024-10-07T19:13:12","date_gmt":"2024-10-08T02:13:12","guid":{"rendered":"https:\/\/blog.caida.org\/best_available_data\/?p=5384"},"modified":"2024-10-07T19:13:12","modified_gmt":"2024-10-08T02:13:12","slug":"streamlining-access-to-bgp-routing-data","status":"publish","type":"post","link":"https:\/\/blog.caida.org\/best_available_data\/2024\/10\/07\/streamlining-access-to-bgp-routing-data\/","title":{"rendered":"Streamlining Access to BGP Routing Data"},"content":{"rendered":"<p><span data-contrast=\"auto\">U<\/span><span data-contrast=\"auto\">sers can now request access to the CAIDA BGP2GO (<\/span><a href=\"https:\/\/bgp2go.caida.org\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">https:\/\/bgp2go.caida.org<\/span><\/a><span data-contrast=\"auto\">) platform. BGP2GO lets users find the MRT files that contain a specific resource and thus avoid the download and processing of unrelated data. Users can compile a customize list of relevant MRT files, share that exact list with others, or stream the matching MRT files (e.g., using BGPStream).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:240,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Finding the needle in the haystack<\/span><span data-ccp-props=\"{&quot;134245418&quot;:false,&quot;134245529&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:279}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Public BGP route collectors receive update messages from over 1,000 BGP routers worldwide. These updates are archived and made available for download and analysis. However, the data is organized in a way that often requires downloading vast amounts of unrelated information making it increasingly difficult to focus on the needles in the haystack.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:200,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Imagine you&#8217;re a network operator announcing a new prefix and you want to analyze its propagation. You may not know exactly which collector or MRT file contains the relevant data, forcing you to download and sift through unnecessary information.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:200,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">BGP2GO<\/span><span data-contrast=\"auto\"> solves this problem by allowing users to easily select only the files they need, saving significant time and effort.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:200,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We have developed a comprehensive index of all prefixes, ASNs, and communities across RouteViews update files (<\/span><a href=\"https:\/\/archive.routeviews.org\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">https:\/\/archive.routeviews.org<\/span><\/a><span data-contrast=\"auto\">), along with BGP2GO, a user interface that allows you to easily select the specific files you need (<\/span><a href=\"https:\/\/bgp2go.caida.org\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">https:\/\/bgp2go.caida.org<\/span><\/a><span data-contrast=\"auto\">)<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:200,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Use Case: Analyzing Prefix Propagation with PEERING Testbed, BGP2GO, and BGPStream<\/span><span data-ccp-props=\"{&quot;134245418&quot;:false,&quot;134245529&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:200,&quot;335559740&quot;:279}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Let\u2019s walk through a real-world example. Suppose you&#8217;re a network operator advertising a prefix and want to examine how it propagates across RouteViews collectors. Using the PEERING testbed (<\/span><a href=\"https:\/\/peering.ee.columbia.edu\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">https:\/\/peering.ee.columbia.edu\/<\/span><\/a><span data-contrast=\"auto\">)<\/span><span data-contrast=\"auto\">, we performed a controlled advertisement of the prefix <\/span><b><span data-contrast=\"auto\">184.164.246.0\/24<\/span><\/b><span data-contrast=\"auto\"> during August 2024.<\/span><span data-ccp-props=\"{&quot;134245418&quot;:false,&quot;134245529&quot;:false,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"3\"><span data-contrast=\"none\">Step 1: Looking up the prefix and setting filters<\/span><span data-ccp-props=\"{&quot;134245418&quot;:false,&quot;134245529&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:279}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">In this case, we search for the prefix <\/span><b><span data-contrast=\"auto\">184.164.246.0\/24<\/span><\/b><span data-contrast=\"auto\"> in BGP2GO, filtering for data from August 2024. The platform identifies <\/span><b><span data-contrast=\"auto\">33,251 announcements and withdrawals<\/span><\/b><span data-contrast=\"auto\">, spread across <\/span><b><span data-contrast=\"auto\">746 files<\/span><\/b><span data-contrast=\"auto\"> (2.32GB) from <\/span><b><span data-contrast=\"auto\">26 collectors<\/span><\/b><span data-contrast=\"auto\">. This curated selection lets us focus only on the data we need, saving time and resources.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:200,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-interface.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"aligncenter wp-image-5415\" src=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-interface-300x202.png\" alt=\"\" width=\"536\" height=\"361\" srcset=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-interface-300x202.png 300w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-interface-768x518.png 768w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-interface-1024x690.png 1024w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-interface.png 1265w\" sizes=\"(max-width: 536px) 100vw, 536px\" \/><\/a><\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/bgp2go.caida.org\/details?pre=184.164.246.0\/24&amp;years=2024&amp;months=8\" target=\"_blank\" rel=\"noopener\">https:\/\/bgp2go.caida.org\/details?pre=184.164.246.0\/24&amp;years=2024&amp;months=8<\/a><\/p>\n<h3 aria-level=\"3\"><span data-contrast=\"none\">Step 2: Stream selected files in the terminal<\/span><span data-ccp-props=\"{&quot;134245418&quot;:false,&quot;134245529&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:279}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Once the relevant MRT files are selected, you can stream them for further processing using BGPStream. Clicking the <\/span><b><span data-contrast=\"auto\">BGPSTREAM<\/span><\/b><span data-contrast=\"auto\"> button\u00a0in the top right corner, right above the \u201ccollectors\u201d chart\u00a0gives instructions on how to stream the files in your terminal.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\"><a href=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpstream-instructions.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"aligncenter wp-image-5416\" src=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpstream-instructions-300x193.png\" alt=\"\" width=\"412\" height=\"265\" srcset=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpstream-instructions-300x193.png 300w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpstream-instructions-768x494.png 768w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpstream-instructions-1024x659.png 1024w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpstream-instructions.png 1342w\" sizes=\"(max-width: 412px) 100vw, 412px\" \/><\/a>\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">For this example, we use the following command (see step 4a above) in the terminal to process the relevant files:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<pre style=\"text-align: center;\"><span data-contrast=\"auto\">bgpreader -k 184.164.246.0\/24 -d csvfile -o csv-file=\"bgp2go.csv\"<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/pre>\n<p><span data-contrast=\"auto\">This command leverages bgpreader to read the files and output the lines that pertain to the resource (prefix 184.164.246.0\/24) . The following screenshot shows an excerpt of routes related to the prefix 184.164.246.0\/24 extracted from all files that contain this prefix in August 2024.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<a href=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpreader-output.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"aligncenter wp-image-5417\" src=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpreader-output-300x164.png\" alt=\"\" width=\"455\" height=\"249\" srcset=\"https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpreader-output-300x164.png 300w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpreader-output-768x421.png 768w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpreader-output-1024x561.png 1024w, https:\/\/blog.caida.org\/best_available_data\/wp-content\/uploads\/2024\/08\/bgp2go-bgpreader-output.png 1910w\" sizes=\"(max-width: 455px) 100vw, 455px\" \/><\/a><\/span><\/p>\n<p><span data-contrast=\"auto\">To learn more about the <\/span><b><span data-contrast=\"auto\">bgpreader<\/span><\/b><span data-contrast=\"auto\"> command and its options, visit the <\/span><span data-contrast=\"none\">BGPStream website<\/span><span data-contrast=\"auto\"> \u00a0(<a href=\"https:\/\/bgpstream.caida.org\/\" target=\"_blank\" rel=\"noopener\">https:\/\/bgpstream.caida.org\/<\/a>) .<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"2\"><span data-contrast=\"none\">Getting Access to BGP2GO<\/span><span data-ccp-props=\"{&quot;134245418&quot;:false,&quot;134245529&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:279}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">To request access to the BGP2GO platform, a user should first create an account with the CAIDA Services Single Sign On (SSO) system ( <\/span><a href=\"https:\/\/auth.caida.org\/realms\/CAIDA\/account\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">https:\/\/auth.caida.org\/realms\/CAIDA\/account<\/span><\/a><span data-contrast=\"auto\"> ) by providing basic information and undergoing authentication via Keycloak. After authentication, a user can request access to the BGP2Go platform (which requires a CAIDA-authorized account with bgp2go-api:read role) by going to <\/span><a href=\"https:\/\/bgp2go.caida.org\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">https:\/\/bgp2go.caida.org\/<\/span><\/a><span data-contrast=\"auto\"> and filling out the request form.\u00a0 If you have any questions or problems, please contact us at <\/span><a href=\"mailto:data-info@caida.org\"><span data-contrast=\"none\">data-info@caida.org<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Users can now request access to the CAIDA BGP2GO (https:\/\/bgp2go.caida.org) platform. BGP2GO lets users find the MRT files that contain a specific resource and thus avoid the download and processing of unrelated data. Users can compile a customize list of relevant MRT files, share that exact list with others, or stream the matching MRT files [&hellip;]<\/p>\n","protected":false},"author":39,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[17],"tags":[],"coauthors":[71],"_links":{"self":[{"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/posts\/5384"}],"collection":[{"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/comments?post=5384"}],"version-history":[{"count":8,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/posts\/5384\/revisions"}],"predecessor-version":[{"id":5421,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/posts\/5384\/revisions\/5421"}],"wp:attachment":[{"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/media?parent=5384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/categories?post=5384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/tags?post=5384"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.caida.org\/best_available_data\/wp-json\/wp\/v2\/coauthors?post=5384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}