AT 60 HUDSON ST. IN LOWER MANHATTAN, a fortress-like building houses one of the Internet’s busiest exchange points. Packets of data zip into the building, are routed to their next destination, and zip out again, all in milliseconds. Until recently, however, the software for managing these networks required a great deal of specialized knowledge, even for network experts.
Now, computer scientists at Princeton have developed a programming language called Pyretic that makes controlling the flow of data packets easy and intuitive — and more reliable. The new language is part of a trend known as Software-Defined Networking, which gives a network operator direct control over the underlying switches that regulate network traffic.
“In order to make these networks work, we have to be able to program them effectively, to route traffic to the right places, and to balance the traffic load effectively across the network instead of creating traffic jams,” said David Walker, professor of computer science, who leads the project with Jennifer Rexford, the Gordon Y.S. Wu Professor of Engineering and professor of computer science. “Pyretic allows us to make sure packets of information get to where they are going as quickly, reliably and securely as possible.”
Pyretic is open-source software that uses the Python programming language and lowers the barrier to managing network switches, routers, firewalls and other components of a network. Since its initial release in April 2013, the community of developers who are using the language to govern networks has grown quickly.
Additional contributors include Associate Research Scholar Joshua Reich and graduate student Christopher Monsanto of Princeton’s Department of Computer Science as well as Nate Foster, an assistant professor of computer science at Cornell University. The project received support from the U.S. Office of Naval Research, the National Science Foundation and Google.
-By Catherine Zandonella