, but this code // executes before the first paint, when

ƴɸ̳

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); The man who fixed the Internet - News & Stories | ƴɸ̳

ƴɸ̳

Skip to main content

Spark

The man who fixed the Internet

Mon, Sep 01, 2014

In the wee morning hours of , an error from an operations technician caused the Internet to go dark for four hours. No web, no e-mails, nothing.

Most North Americans were asleep during these frantic hours. Initially, Mark Kosters ’87 was, too, in his Virginia home.

“I got a call in the middle of the night by someone in Germany,” said Kosters. “He asked, ‘Do you know that the Internet is down?’ I thought he was crazy, but no, he sure wasn’t.”

Kosters and a team under his direction worked through the night. By 7:30 a.m. Eastern time, the Internet was back up.

“The story was on the front page of every major newspaper the next day,” he said. “That’s when I knew that the Internet had truly arrived—and also how I knew what could happen when something goes bad. I didn’t cause the problem, but I fixed it.”

Why did the person in Germany know to call Kosters that July morning?

Kosters was part of the team that put the Internet as we know it today together, as a chief engineer and principal investigator thanks to, at first, a National Science Foundation grant to run the core part of the Internet.

Originally, Internet development was totally in the academic and military realms but then eventually moved on to broader-based commercial organizations. Kosters and his colleagues assigned domain names and IP addresses to every single applicant, worldwide. The organization has evolved over time and has moved to lots of companies, growing into a multibillion-dollar ecosystem. One part of that is allocating IP addresses—which is now being done by Kosters’ current employer, the American Registry for Internet Numbers (ARIN).

Kosters graduated with a and double major and was headed to law school to specialize in tech-related legal areas. But he first took a programming job right out of Calvin and found that he enjoyed the work and was really, really good at it.

“I started a master’s degree program at George Mason University in computer science and in an advanced networking course heard about work being done on the emerging Internet. I thought it was cool and got a job as a developer for the Network Information Center,” he said.

That began an amazing marathon of effort—putting in 80 hours of work a week for 10 years. Kosters pays homage to his wife, Lisa ’88, for being incredibly understanding and supportive.

“It was the startup phase for the Internet,” he said. “We saw the Internet as world-changing and we resolved not to have it fail. If we failed, the Internet would fail.”

Today, one of the biggest challenges to the workings of the Internet is governance. The Internet began in the United States, and the major structure and foundation has been developed here. But why should one country continue to “run” the Internet?

The establishment of ICANN (the Internet Corporation for Assigned Names and Numbers) is an attempt to globalize the oversight and administration of the Internet.

“This is going to take a while,” said Kosters. “There are a lot of politics involved, of course. And then there are countries such as China and Russia who don’t like to be dependent on the U.S. for anything and want more power—yet those countries have different ideas about the Internet’s use.”

Kosters finds himself traveling more internationally to work on the complicated issues multinational involvement in the Internet produces.

In addition, the success of the Internet has caused another big problem: We are close to running out of possible IP addresses. There are 4 billion addresses possible for use on to the Internet currently. Once they run out, the Internet will not be able to continue to grow.

But not to worry, said Kosters. “A group of engineers has come up with new replacement protocol called IPv6, and ARIN assists in its deployment. We won’t run out of addresses this time around: We will have a total of two-to-the-128th power addresses to provide the Internet—a number that’s so large, there’s no name for it yet.”

“It was a personal goal of mine to ride the crest of the wave and see the Internet take off,” he said. “Twenty years ago this was all unseen. The next crest is to oversee the deployment of this new protocol to help the Internet continue to grow and to ensure an Internet governance system that’s fair and safe.”