{"id":171010,"date":"2012-08-01T09:54:13","date_gmt":"2012-08-01T09:54:13","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/network-verification\/"},"modified":"2024-10-24T09:09:12","modified_gmt":"2024-10-24T16:09:12","slug":"network-verification","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/network-verification\/","title":{"rendered":"Network Verification"},"content":{"rendered":"
Networks need to run reliably, efficiently, and without users noticing any problems, even as they grow. Keeping networks tuned this way requires the development of tools that improve the functioning of large-scale datacenter networks.<\/p>\n
This project investigates a range of network verification tools that help network operators and architects design, operate, maintain, troubleshoot, and report on their large networks.<\/p>\n
Specifically, the project explores three sub-areas:<\/p>\n
Data-plane verification Control-plane verification Emulation We continue to develop and deploy a range of network verification tools.<\/p>\n There are several exciting areas we are evolving network verification. These include:<\/p>\n <\/p>\n","protected":false},"excerpt":{"rendered":" Networks need to run reliably, efficiently, and without users noticing any problems, even as they grow. Keeping networks tuned this way requires the development of tools that improve the functioning of large-scale datacenter networks. This project investigates a range of network verification tools that help network operators and architects design, operate, maintain, troubleshoot, and report […]<\/p>\n","protected":false},"featured_media":382355,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560,13547],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-171010","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-programming-languages-software-engineering","msr-research-area-systems-and-networking","msr-locale-en_us","msr-archive-status-complete"],"msr_project_start":"","related-publications":[168871,237717,215445,167009,166542,588349],"related-downloads":[],"related-videos":[],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Ryan Beckett","user_id":37775,"people_section":"Group 1","alias":"rybecket"},{"type":"user_nicename","display_name":"Nikolaj Bj\u00f8rner","user_id":33067,"people_section":"Group 1","alias":"nbjorner"},{"type":"user_nicename","display_name":"Jitu Padhye","user_id":33179,"people_section":"Group 1","alias":"padhye"},{"type":"user_nicename","display_name":"Andrey Rybalchenko","user_id":33480,"people_section":"Group 1","alias":"rybal"},{"type":"user_nicename","display_name":"Siva Kesava Reddy Kakarla","user_id":42540,"people_section":"Group 1","alias":"sivakakarla"},{"type":"user_nicename","display_name":"Karthick Jayaraman","user_id":43650,"people_section":"Group 1","alias":"karjay"}],"msr_research_lab":[199561,199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171010"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":8,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171010\/revisions"}],"predecessor-version":[{"id":1097211,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171010\/revisions\/1097211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/382355"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=171010"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=171010"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=171010"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=171010"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=171010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}
\n<\/strong>Because networks forward packets according to their data plane, verification tools need to have data-plane intelligence built in, for pre- and post-deployment verification and bug detection.<\/p>\n
\n<\/strong>Networks generate routing tables through protocols such as BGP (border gateway protocol). To analyze networks before they go into production, they need to be verified at this, the control-plane level.<\/p>\n
\n<\/strong>With emulation, network designers can find bugs in firmware and models; network operators can be trained before they are working on production systems. The goal of this product is to enable highly scalable, high-fidelity network emulation for those applications.<\/p>\nDeployed tools<\/h3>\n
\n
Emerging trends<\/h3>\n
\n