Russ

Author Archives: Russ

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