Facebook Inc.’s engineering team today revealed how they overcame one of the most time-consuming networking problems by automating a process called “network peering” which allows more efficient exchange of Internet traffic between different networks and service providers.
In one blog post, Facebook engineers Jenny Ramseyer and Jakub Heichman explained that network peering involves sending internet traffic through what’s called a “peering exchange,” which serves as a common meeting point where many networks meet. interconnect by establishing Border Gateway Protocol or BGP sessions between their routers. the pairing sessions, as they are often called, allow networks to establish the fastest, most direct route between an Internet server and the user’s Internet service provider, helping to improve performance, latency, and reliability connections.
The only problem with peering sessions is that they must be manually configured by each network provider, an incredibly complex, slow, inefficient, and error-prone process, as Ramseyer and Heichman explain:
“Before developing our automated system, we suffered the same battle. Peers would email us asking to establish peering sessions. Then one of our Edge engineers would check the email and verify our mutual traffic levels. To confirm that traffic levels were appropriate, this team member had to check numerous internal dashboards, reports, and rulebooks, as well as external resources, such as the potential peer’s PeeringDB record. The team member would then use a few internal tools to configure the BGP sessions, respond to the peer, and wait for the peer to configure their side of the network.
Facebook’s response was to create an automated system that allows peers to request their own public peering sessions directly from the new facebook.com/peering page.
Networks should use the PeeringDB OAuth Service, which is part of the PeeringDB database, an open source registry of network provider peering information.
“To ensure that peering requests made on our peering page come from an authorized person, we require the requestor to authenticate using their PeeringDB ID and operate the PeeringDB OAuth service on behalf of organization of its network,” Ramseyer and Heichman said. “The peer does not need to provide any further authentication – no Facebook account is required. Once authenticated, the peer will see a list of all of their network’s existing public peering sessions with Facebook and can submit new requests.
Once the peer requests a session, Facebook’s automated internal process takes over. Each request is sent to an audit queue and, once approved, a second service will initiate a workflow to set up peering. After that, the automated system sends an email to the pair to confirm that everything is ready on the Facebook side. Then they just need to configure their side of the network.
“As soon as our workflow detects that all sessions have been established, our workflow sends a final confirmation email,” the engineers wrote. “At this point, our peer should be able to see the new sessions as active in the table at facebook.com/peering.”
To make sure everything is going well, Facebook has created a monitoring system to triage its [email protected] mailbox. So whenever it detects a peering request, it automatically responds with instructions that direct the requestor to the automated peering page.
Ramseyer and Heichman, the system has so far processed more than 170 peering requests, approving 1,249 at the time of writing. As a result, it automatically launched more than 1,400 total public peering sessions, which saved its engineers about eight hours of work per week.
Constellation Research Inc. analyst Holger Mueller said most internet users have no idea the Herculean effort it takes to manage traffic.
“Peering is the solution for higher, faster and cheaper throughput, so it’s good to see that one of the major bandwidth users, Facebook, now offers an open source solution with its PeeringDB OAuth to enable this. “said Mueller. “This should help Facebook improve user experiences while reducing network costs. We will see in a few months the success of PeeringDB OAuth with the number of peering requests provided and used.
Facebook is now calling for PeeringDB Oauth to become an industry standard in all public peering automation applications. Additionally, it also explores the possibility of using PeeringDB Oauth to automate private peering network interconnections, which are a larger equivalent of public peering.