Russ

Author Archives: Russ

Reaction; Do we really need a new Internet?

The other day several of us were gathered in a conference room on the 17th floor of the LinkedIn building in San Francisco, looking out of the windows as we discussed some various technical matters. All around us, there were new buildings under construction, with that tall towering crane anchored to the building in several places. We wondered how that crane was built, and considered how precise the building process seemed to be to the complete mess building a network seems to be.

And then, this week, I ran across a couple of articles arguing that we need a new Internet. For instance—

What we really have today is a Prototype Internet. It has shown us what is possible when we have a cheap and ubiquitous digital infrastructure. Everyone who uses it has had joyous moments when they have spoken to family far away, found a hot new lover, discovered their perfect house, or booked a wonderful holiday somewhere exotic. For this, we should be grateful and have no regrets. Yet we have not only learned about the possibilities, but also about the problems. The Prototype Internet is not fit for purpose for the safety-critical and socially sensitive types of Continue reading

Metacognitive

If I could choose just a handful of skills you must learn to be a successful engineer, being metacognitive would certainly be among them. What is metacognition? OOne of my favorite books on the virtue ethic applied to mental skills defines it thus—

Metacognitive people are concerned not just with what they need to know but with what thinking strategies are best suited to achieve that end. —Philip Dow, Virtuous Minds

The concept is simple. Implementation, as always, is the hard part. Particularly as engineers, we spend a lot of time thinking about technique. We ask questions like—

  • How do I configure this?
  • How would I use this technology?
  • What is the problem here?
  • Why would I want to do it that way?

These technos focused questions are great for solving day to day, or even no-so-day-to-day problems. But they aren’t so great for mental growth? Why not? Imagine you are tasked with cutting wood for a living. You might start out by simply cutting the wood. You place a piece on the block, swing the axe, and the splits fall off. You can consider this the what of cutting wood (or, for those who are interested in philosophy, the Continue reading

Blocking a DDoS Upstream

In the first post on DDoS, I considered some mechanisms to disperse an attack across multiple edges (I actually plan to return to this topic with further thoughts in a future post). The second post considered some of the ways you can scrub DDoS traffic. This post is going to complete the basic lineup of reacting to DDoS attacks by considering how to block an attack before it hits your network—upstream.

The key technology in play here is flowspec, a mechanism that can be used to carry packet level filter rules in BGP. The general idea is this—you send a set of specially formatted communities to your provider, who then automagically uses those communities to create filters at the inbound side of your link to the ‘net. There are two parts to the flowspec encoding, as outlined in RFC5575bis, the match rule and the action rule. The match rule is encoded as shown below—

There are a wide range of conditions you can match on. The source and destination addresses are pretty straight forward. For the IP protocol and port numbers, the operator sub-TLVs allow you to specify a set of conditions to match on, and whether to AND the Continue reading