Do you have an “After IPv4” Plan?

August 19th, 2010

johnmountadamscloseup1a.JPGFor some time I have been predicting that the “heat” around IPv4 exhaustion and IPv6 deployment will go up dramatically when the IPv4 exhaustion story goes mainstream – out of the Tech press and into the Wall Street Journal, or MSNBC.  To date, concern about IPv4 has been building slowly, with some organizations actively deploying (few, and almost entirely carriers), more “planning, but going slow” (the rest of the carriers, government), and even more “tracking” (all other organizations) – where “tracking” means they’ve heard about it, but are unconcerned. 

This is going to change when the WSJ runs a story like “DSL Provider Misses Earnings Projections – Cites Non-Availability of IP Addresses”.  At that point, more business leaders will ask their CIOs what their own status is – and having a good story will be important.  To have a good story ready, a CIO needs to have a plan, and have thought through that plan to make sure it is achievable.  If not, then the CIO needs to go back in time and get cracking.  In a world where time-travel is not yet commonplace, at least the CIO needs to get cracking now – and with conviction.  As a moving-towards-mainstream example, National Public Radio (NPR) ran a story on IPv4 exhaustion in August of this year “IP Address Shortage Has ISPs Scrambling For Space” on their “Weekend Sunday” radio program – it is not quite the WSJ – but it is not way-tech CNET News either (http://www.npr.org/templates/story/story.php?storyId=128907099). 

How close to that headline are we?  Closer.  Quite close I think.  Consider: 

Currently, IANA (Internet Assigned Numbers Authority) holds 14 “/8s” of unallocated space, out of a possible set of 256 “/8s” (so one (1) /8 equals 1/256th of the entire IPv4 address supply) (note that a “/8” is a large chunk of addresses suitable for IANA to assign as a regional block, which is then divided further and assigned to carriers and large enterprises). 

In 2010 (and it is only August – not December), IANA has made these assignments – ten (10) in all:

  • APNIC, January  (Asia-Pac)
  • ARIN, February  (North America)

  • ARIN, February (again)

  • APNIC, April

  • APNIC, April (again)

  • RIPE, May (Europe, Middle East)

  • RIPE, May (again)

  • LACNIC, June (Latin America)

  • APNIC, August

  • APNIC, August (again)

(Note that AFRINIC – Africa – did not receive any allocations in 2010)
(For more details see http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml) 

Per IANA and the NRO (Number Resource Organization - another organization involved in IP address assignment), the last five (5) /8 blocks will be given out – one to each of the five (5) registries – immediately when the 6th to the last /8 block is given to any registry – in other words assigning the 6th to last block triggers final, close-out allocations(For the entire policy see http://www.icann.org/en/general/allocation-remaining-ipv4-space.htm) 

rir-map-small.png(Diagram from http://www.iana.org/numbers/) So, not doing any advanced math, if IANA handed out ten (10) /8 blocks in 7 ½ months in 2010, then the 6th to last – and by definition *ALL* the remaining IANA-held blocks – should be gone in ten (10) months – June 2011.  (This rough analysis is consistent with a much more analytical discussion maintained by Geoff Huston at http://www.potaroo.net/tools/ipv4/) That sounds soon to me. 

Consider this yet another “call to action”.  This one is a little different.  It does not call on CIOs to deploy IPv6.  It calls on CIOs to plan a strategy for IPv4 scarcity, followed by IPv4 exhaustion, throughout which the business can continue to earn, grow, and thrive.  Extending IPv4 services via some kind of Large Scale NAT (LSN) might be part of a near-term strategy, and IPv6 deployment will almost certainly be the mid and long-term strategy. 

Any CIO that hatches a (hasty, ill-conceived, incomplete, somewhat desperate) plan the morning of the WSJ article can’t say they didn’t have some warning. 

US Gov’t IPv6 FAR is now in effect, now what?

June 30th, 2010

It was half a decade in the making (2005) , but the U.S. Government’s IPv6 Federal Acquisition Requirement (FAR) will be in effect on 1 July 2010 (that’s tomorrow).  In most DoD and civilian agencies, this milestone passed without much fanfare.  In fact, many of these agencies are still trying to figure out how to handle its contractual effects.

Fortunately (or unfortunately), each civilian and DoD/IC agency has a lot of latitude in terms of what level of compliance is demonstrated with this Federal Requirement a vendor product must meet in order for that agency to buy the product.

The IPv6 FAR Minimum Requirements

The minimum standard is probably what at least 50% of DoD and Federal Agencies will attempt to achieve as IPv6 isn’t being broadly implemented across the US government at the moment.  So at a minimum, the following is required per the IPv6 FAR:

“Unless the agency Chief Information Officer waives the requirement, when acquiring information technology using Internet protocol, the requirements documents must include reference to the appropriate technical capabilities defined in the USGv6 Profile (NIST Special Publication 500–267) and the corresponding declarations of conformance defined in the USGv6 Test Program. The applicability of IPv6 to agency networks, infrastructure, and applications specific to individual acquisitions will be in accordance with the agency’s Enterprise Architecture (see OMB Memorandum M–05–22 dated August 2, 2005).”

In deconstructing this further, there are two things that need to be done: (1) provide written compliance with the IPv6 standards in the IPv6 Profile from the vendor, and (2) demonstrate compliance with the standards in accordance with the NIST IPv6 Test Program.

The IPv6 Test Program 

So the minimum requirement puts the ownership on the vendor to demonstrate compliance with those standards in accordance with the NIST IPv6 Test Program.  This means the vendor must test their products in the way that the Agency requires in the RFP or procurement requirement.   That looks a little like this:

  • Agency issues IPv6 requirements matrix in open or sole source procurement.
  • In said requirements matrix, the Agency will state what testing is acceptable.  NIST requires that Conformance be demonstrated in at least Accredited 1st Party (vendor owned) test labs and Interoperability testing demonstrated in at least Accredited 2nd Party (Agency owned) or Accredited 3rd Party (independent) labs.  However, the minimum is 1st Party Conformance Testing for Hosts and Routers and 2nd or 3rd Party Conformance and IA Testing for Network Protection Devices (ie Firewalls, IPSs, and IDSs.
  • Vendor provides IPv6 Suppliers Declaration of Conformity (SDoC) proving the stated compliance in the Agency RFP.

Is the Minimum Enough?

Of course that’s the billion dollar question.  Vendors will need to use their judgment as to how much time, effort, and dollars they want to spend on testing. If they chose to do the minimum, they may be “shut out” of some RFPs – the testing they choose to do may not meet the requirements of some agencies.  My advice is that all standard Host and Router companies invest in testing Conformance and Interoperability at one of the NIST and ISO 17025 3rd Party Accredited labs (UNH-IOL or ICSA).  Network Protection Device (NPD) vendors should submit their products for conformance, interoperability and IA testing at one of the aforementioned 3rd Party Accredited labs, as well.

The minimum might be enough for one Agency, but it may not be enough for them all.  For example, DoE might state that Conformance testing at a 1st party vendor lab is enough for that will put onto the DOE network, but the DoD may state that 3rd Party Conformance and Interoperability testing must be done for the routers that will land on DoD networks.  If the vendor only tests for DoE’s requirements, then they could potentially lose a sale for DoD.

However, each vendor must balance risk appropriately as 1 July 2010 is now upon us.  IT equipment vendors must prepare for some type of IPv6 solicitation that will meet this new requirement in the U.S. Government.  Having a plan to respond now will save millions of dollars and man-hours in the future.

Review of last night’s Cyber War Threat debate

June 9th, 2010

  The debate began as rousing and intellectually stimulating as it ended. The motion was, “The Cyber War Threat has been grossly exaggerated.” This Neustar, WAMU, Newseum and Rosencrantz-sponsored debate refreshingly stayed on topic.  This, of course, was unlike the Bipartisan Policy Center’s Cyber Shockwave, which showed how unprepared government and industry can be in even hypothetically discussing cyber threats.

No, this debate took the best minds of cyber security, cyber defense, and cyber warfare and logically debated whether on not the United States is at the precipice of cyber war or merely lots of cyber crime. The debaters were all very qualified in their fields.

The debate centered on trying to delineate the differences between cyber war and cyber crime. Both parties recognized that the Internet is not a safe place. In fact, metaphors regarding passing beer from one person to another at a Red Sox game abounded! Cyber crime, as Rotenburg argued, exists; however, calling it a war only provides billions of dollars in un-needed government expenses, and accelerates a historical “power grab” by the National Security Agency (NSA).

Rotenburg insightfully discussed the numerous attempts by NSA to take control of the Internet, referencing the infamous Clipper Chip, which, of course, was NSA’s failed attempt to be the man-in-the-middle of all encrypted communications on the Internet.

However, the side against the motion argued that this issue was not even the point to the debate. In fact, we are threatened every day by Russian and Chinese cyber warfare agencies. That’s right, they have cyber warfare agencies right now and are actively using them. The Russian cyber war attack on Georgia was referenced as evidence. Even more broad and successful cyber attacks used to reinforce traditional warfare have been conducted by Israel against Syriian radar and North Korean nuclear factories.

Unfortunately, the discussion had to remain at an unclassified level, need I say more?  Overall, the debate was very well argued on both sides. I concluded simply that the threat of cyber war is very real, but having defenses and preparations made in secret are counter productive. Keeping this issue open and transparent and reinforcing our cyber defenses are the only ways to actually mitigate these threats.

In the tradition of all Intelligence Squared Debates, a winner is chosen based on audience feedback. Initially, the vote revealed around 54% against the motion, 22% for the motion, and 24% undecided. However, by the close of the debate the tables turned: 72% against, 22% for, and 6% undecided.  So the convincing arguments from Jonathan Zittrain and VADM McConnell won the debate.

IPv6 Implementation Issues in the Enterprise: 2010 Edition

May 4th, 2010


For all the network architects out there dealing with the problem of trying to add IPv6 to their core applications and services, I can only say it’s getting better. Don’t give up hope. 2009-2012 seem to be the big ISP migration years. The network architect’s job is usually very different — dual-stack the pipe. Other than provisioning, billing, managing and monitoring two layer 3 stacks and migrating customers; enterprise services are not an architect’s concern. To that end, I would like to lay out a few lessons we (Command Information) have learned along the way architecting an IPv6 migration for the average enterprise network.

Issue #1: It’s all about the architecture
You can’t install new plumbing in a house if you don’t know where the current plumbing is, right? Same goes with IPv6. If you want to shake your finger at a vendor to make sure they provide native IPv6 support in their products, then yelling at them to comply with a mandate has little meaning to them. They will deal with your organization as the “check-mark IPv6 user.” These are the U.S. Federal Government (and DoD) enterprises that know IPv6 is an acquisition hurdle, but they don’t ever want to use it (or have a plan to do anything with it). If you are one of these organizations, I suggest you keep reading, because ignoring the problem does not make it go away. In fact, it makes planning and implementation that much harder.
Another reason having an IPv6 architecture in place is that it provides added benefits to the system. It harmonizes and centralizes the entire IT infrastructure because in order to develop said architecture, one must research the past, present, and future of the network. You might come to find that the IPv6 architecture inevitably turns into the only network architecture for your enterprise.

Issue #2: Native IPv6 support may not exist in all of your current and legacy applications (don’t freak out)
Given that this is the case in every enterprise, you need to make a choice: (1) Will you keep these applications on legacy hardware/software on a legacy IPv4-only network enclave? (2) Will you try to upgrade them by updating the code to make more contemporary socket/API calls, or (3) will you risk keeping them on the current dual-stack infrastructure using only the IPv4 stack? There is never a single answer to a situation. It is always conditional. For example, if one of these server applications was written 10 years ago and code familiarization has not been maintained, this may be a case for “test or isolate.”

A test or isolate principle is basically standing up a server with the mix of subject applications, enabling IPv6, and running a few functional tests. The best option is #1. Odds are your network applications need some TLC (Tender Loving Care) anyway, so this may be the best opportunity. However, if re-coding is not an option and everything checks out OK in those tests, then #3 might be just fine. Usually #1 has the highest risk of performance and availability issues.

Issue #3: IA and Cyber Security issues on the enterprise
Didn’t think I’d leave out the most important of the three, did you? This issue has so much mis-information surrounding it that we hear on a regular basis from IA Managers, Security and Accreditation Officers, etc., so I’d like to set the record straight with the following:

  • Myth #1: IPv6 is not a security issue. In fact, that statement is partially right. IPv6 on a network does not, in itself, provide intrusion risks, but trusting your current IA architecture is wrong. Assessment after assessment, the IA industry has failed to fix this problem. Every vendor from Sourcefire, to McAfee, to TippingPoint, to Fortinet is not addressing the real problems. Keep reading, we’ll get into those.
  • Myth# 2: I’m not running IPv6 so there’s no risk. I hear “we are blocking IPv6 at the edge,” or “IPv6 and known tunneling like protocol 41 is being blocked, so there’s no issue.” Sadly, this isn’t the case. In the past 3 months Command Information has uncovered high-risk tunneling and attempted hacks/probes using IPv6 on Federal Government networks. So merely blocking and filtering based solely on port and protocol is not enough. That’s why deep-packet inspection is key to solving this issue. Don’t believe me? Well, don’t take my word for it, but will you take Bob Gourley’s word for it? See article here.

I wish those were all the issues an enterprise network could face, but that’s only scratching the surface. More later, Semper Fi….

IPv6, deployments and developments

March 24th, 2010

While it is a Good Thing that the base/standard IPv6 specifications are stable, for reasons like being able to implement support in devices and operate networks using those devices, it is also a Good Thing that advancements continue …

To the first point, the ability to deploy IPv6, there have been many announcements in the last year or so:

Perhaps most notably, Google has continued their IPv6 progress - adding Youtube to their stable of IPv6-enabled services, along with the majority of their offerings - accessible if you are accepted into their IPv6 “in” crowd :).

Verizon to require IPv6 capability in LTE kit (LTE, Long Term Evolution, is their choice of technologies for their “next generation cellular network”) … also known as 3GPP, and a pre-cursor to so-called “real 4G services” (more here).

Comcast is moving their IPv6 deployment forward (go sign up!) in some great steps, relying on a combination of steps (6RD (see below), Dual-Stack Lite, Native) - and good work on DNSSEC too (but that is a separate conversation!). Dual-Stack Lite was developed (primarily) by Alain Durand, who happens to work at Comcast :)

We are starting to see more IPv6 capabilities in security-related tools, whether on the “Network-based IPv6 Defense” side (disclaimer: gratuitous self-plug) NEWS) or “IPv6 attack” (or verification, perhaps) side … please continue to encourage (require) all of your vendors to fully implement IPv6 in all facets of their gear, only those purchasing the gear have the power to move them.

China Telecom is moving forward with IPv6 trials this year, with commercial deployments due in 2012.

On the actual, technical advancement side - again an interesting year:

A somewhat modified version of 6to4 (an automatic IPv6 in IPv4 tunneling mechanism based on Protocol41 encapsulation), called 6RD has been moving forward (now an RFC) and has even been appliancized. 6RD is particularly interesting because, while it is a tunneling technique and thus reduces the available payload per packet (MTU), it is entirely transparent to the user and whomever/whatever they are communicating with - oh, and 6RD allowed the second largest ISP in France to go from 0 IPv6 to deployed in LESS THAN 35 days.

And, on an interesting (and perhaps confusing) note:

It also appears that the ITU is attempting to get into the IPv6 Registry game.

Migrating to IPv6: Don’t forget about the applications

March 8th, 2010

With the impending countdown to the exhaustion of available IPv4 addresses, the Federal Government, Internet Service Providers and Enterprises are beginning to deploy IPv6 throughout their networks.While IPv4 will not go away immediately, IPv6 capability is being adopted by more companies. IPv6 traffic is increasing at unprecedented rates. Wireless communication providers such as Verizon are requiring device manufacturers to support IPv6. Google has enabled IPv6 on their main search engine (ipv6.google.com) and YouTube. Given the increase in IPv6 devices and the near exhaustion of IPv4 addresses, software applications must now consider porting to IPv6 to support coming onslaught of client IPv6 traffic.Porting to IPv6, What’s the big deal?For many applications, migrating to IPv6 may not require ANY code changes. If the application is behind a firewall and is accessible only to the internal network, there may be no need to port to IPv6. Most hosts on a corporate internal network will have an IPv4 address.If the application is part of a Web Application Suite that does not use IP addressing in its code base, it may not need to be updated. Most web servers today support both IPv4 and IPv6 and most often the application does not need to know about the IP address of its client. For example, Microsoft IIS has supported IPv6 since Windows 2003 Server and IIS 6.0.Most Java and .NET applications do not require porting to IPv6. Java and .NET frameworks shield the developer from the need to use IP protocol-specific socket API calls. By default, the Java runtime will use IPv6 sockets if IPv6 is enabled on the operating system. This feature allows applications deployed in servlet containers like Apache Tomcat to support IPv6 without any modifications. However, applications written using Java or .NET that refer to network IP addresses must be reviewed to make sure they use the non-IPv4 or IPv6 specific calls.The biggest challenge to porting applications involves code that uses the C TCP/IP networking API. If your application uses the C TCP/IP networking API, then you may need to change specific IPv4 function calls to use a common IP function call. Microsoft has provided a good synopsis of porting and testing code. The proof is in the pudding.So what do I do now? Port and test your application. Get started!You will never know what is required to port your application to IPv6 until you get started. The four steps below will help you get there.

1. Set up an IPv6 testbed to test your systems.

Configure the machines that run your application and clients that connect to your application in an IPv6-capable network.

2. Incorporate IPv6-enabled infrastructure components.

Install IPv6-capable infrastructure components for your application (e.g., web servers, application containers, databases). Check with the University of Wisconsin - Madison knowledge base to see which databases and servers support IPv6.

3. Upgrade application code to support IPv6 if needed.

Examine your application to see what needs to be upgraded. Are there specific network calls? If so, then make sure those calls are IPv4 and IPv6 capable.

4. Test application with IPv6 enabled hosts.

Run the application through its paces. Test with IPv6-only, dual-stacked, and IPv4-only network infrastructures. Make sure the application supports the different network architectures.Eureka! I have an IPv6-enabled application. What’s next?Progressing through the four-step process will provide a wealth of information for your network and application development teams. The first application to go through this process will pave the way and set the standards for the remaining applications. Only by jumping in and testing your application with IPv6 will you be able to truly understand the process steps necessary to port. As mentioned before, each application and every company is different.

By porting and testing your application, you will be able to help your company determine the IPv6 transition strategy that best fits the needs of its employees and more importantly its customers. Remember, this strategy is not just about the network — applications must also be considered.

Backbone Provider Deployment Well-Advanced

February 17th, 2010


johnmountadamscloseup1a-padded.JPGIPv6 deployment has come a long way in the last year or two.  Periodically, I make a little informal survey of the state of deployment, and I wanted to share these results.  In blog entries to come I will do the same for Broadband providers and other organizations of interest.These providers were taken from the “Wikipedia Tier-1 Network” (for IPv4) entry, which I am using as a proxy for “big backbone providers.”  I have added “Hurricane Electric” because of their long and deep involvement in IPv6 deployment, and Command Information – not a provider really – where I work and which also specializes in “all things IPv6.”

backbone-provider-statusb.jpg

Figure 1 - Backbone Provider IPv6 Status

What’s interesting here?  A number of things, I think, including:

  • Of these 13 providers, all have IPv6 prefixes assigned.
    • A low bar – it is not difficult – nor does it require much investment – to obtain a /32 prefix.
  • Of the 13, 12 are announcing their IPv6 prefix.
    • This is a higher bar – it suggests a complement of IPv6-savvy engineering talent at the provider, although the provider could have a “thin” internal IPv6 deployment.
  • In terms of “Upstream” peer ASNs, most (all but Savvis) have good diversity (3 or more) (Hurricane has 10).
    • A yet higher bar –providers peering with other providers is another indication of the depth of their IPv6 deployment and a preparatory step for carrying production IPv6 traffic.
  • In terms of “Downstream” peer ASNs, some have a significant number (35 or more).
    • These may be paying customers or other cooperative organizations.
    • Note Hurricane Electric with 476 downstreams – this is partly a result of their liberal peering policy for IPv6 and their tunnel-based peering infrastructure.  NTT, for example, or Global Crossing are likely to have a higher proportion of “high quality” (paying) customers downstream within their count.  Hurricane has many paying customers, but also many tunnel-based small peers.
    • NTT posting impressive numbers as well - another provider with a long-standing commitment to IPv6.
  • Of the 13 providers, 6 have enabled IPv6 transit on their DNS servers.
    • This is significant in several ways – but mostly I use it as a proxy for the *depth* of IPv6 capability and progress within a provider. This means that IPv6 has moved beyond the core engineering team and into other parts of the organization and other competencies.
  • Of the 13, 2 have IPv6-enabled main websites (NTT has IPv6-enabled “www.ntt.net”).
    • No surprise in not being a “Yes” here.  Few large organizations have enabled their “main services” for IPv6.  Google, for example, runs “ipv6.google.com,” rather than having dual-stacked www.google.com (for the masses – Google does have their DNS whitelist server and that is a terrific offering), and no Internet-based user is likely to be running IPv6-only today (especially with no provision for IPv6/IPv4 translation).  Still, my hat is off to providers who have pushed IPv6 so deep into the organization that the main online business site is IPv6-ready.

So, big picture, I think this confirms what we have an innate sense of – big IP backbone providers are actively building out their networks, enabling their support services, and moving IPv6 outside the main engineering groups and deeper into the organization. This is also the case with many broadband ISPs (as we will see next time).  Soon after broadband ISP deployment will come the major content and media providers (Google, Yahoo, YouTube, Bing, etc.) and then enterprises – especially enterprise Internet-facing sites.  Adoption will be uneven – that is leading enterprises will deploy before some lagging providers – but these deployment waves are already shaping up.  Where are you in your deployment?  I would enjoy hearing from you on your experiences with IPv6 deployment in your organization - please comment.  Thanks for reading.

Is the “killer app” for IPv6 YouTube?

February 3rd, 2010

The extremely quiet announcement last week from Google about its image and video distribution servers being enabled for IPv6 dropped like a bombshell this week.  Service Providers on the IPv6 Internet, like Hurricane Electric (HE), noticed a surge in IPv6 traffic in scales of magnitude.  In fact, “30-1” was used by Martin Levy of HE.  Also, Ron Broersma from the Defense Research Engineering Network (DREN) noticed that “IPv6 traffic suddenly increased by 4 to 5 times.”

Now this doesn’t mean if you happen to have IPv6 connectivity you will get your video and audio on YouTube over IPv6.  Just like their applications, you have to be part of their IPv6 program: http://www.google.com/intl/en/ipv6/  Which means, you need to resolve their AAAA records.

However, there is a work around for those of us who want to use Google and YouTube over IPv6.  Just change your IPv6 DNS resolvers to the following:

  • Hurricane Electric: 2001:470:20::2
  • GoGoNet/Freenet6: 2001:5c0:1000:11::2 or 2001:5c0:1001::194


 What does this mean for IPv6 deployment in 2010?

Basically, it means deployment is happening now.  And like many of those worst-case-scenario predictions, it is happening like a shotgun blast to the face.  What’s next?  Google moves into the next phase of opening up all AAAA records of its public apps without service provider barriers.  When this happens you can almost guarantee another exponential growth in use.  The interesting and worrisome part is that most of these IPv6 connections to Google will be accidental.

Why now is not the time to stick your head back in the sand…

During the early years of IPv6 adoption there are going to be a lot of opportunities for malicious actors to exploit features of IPv6 that are not well-understood by security defenders, like tunneling BitTorrent inside IPv6 inside IPv4 and avoiding bandwidth caps, or creating covert channels in IPv6-in-IPv4 tunnels.  Don’t believe me?  See here.

Ladies and Gentlemen, 2010 is the year to get going on IPv6 deployments.  Netflix, Google, and others have added support for their services, and now Comcast is in the first stages of its IPv6 service offering implementation.  All I can say is this: it will be better to be prepared than be surprised by the IPv6 tsunami already heading your way.

I feel like I’ve been lied to..

January 18th, 2010

Hyperbole aside, it seems like IPv6 over-promised what it was never intended on delivering.  So I feel like I have been lied to.  I can remember my first IPv6 Summit/Conference, and there was always one item that struck me as fascinating and amazing: IPv6 is more secure because it mandates use of IPSec.  I remember thinking, “Wow, every node on the network must use end-to-end authentication and encryption with IPv6!”  Only months later in researching IETF, my optimism would be crushed.  So if I just crushed your childhood fantasy of IPv6, please let me explain.

The birthing of IPv6 and IPSec..

Back in 1995, RFC 1883 was written.  This was the original IPv6 standard.  Maybe this is where the myth emerged?  Take a look at Section 4, it states “A full implementation of IPv6 includes implementation of the following extension headers … Authentication (AH) and Encapsulation Security Payload (ESP)  Read more: http://www.faqs.org/rfcs/rfc1883.html#ixzz0czwMCI2P.  So many standards since this have either reiterated it or strengthened this statement.  RFC 4295 (IPv6 Node Requirements, April 2006) states that all nodes in a network must support the basic security architecture including ESP and AH.  This includes routers, workstations, simple network appliances, etc must support IPSec AH and ESP.  This is great right?  Except we have two very real problems.

Then what’s the reality?

Problem # 1: Equipment manufacturers began inserting an entirely new networking stack in order to include basic support for IPv6.  Since IPv4 and IPv6 are not backwards compatible (and supporting IPv6 is not a light switch)  the device still needs to support basic IPv4. So many of these vendors had to make a prioritized feature list.  Well, IPSec lost.  Only on a few select network appliances you find full IPSec support over IPv6. They weren’t ignorant in this decision, because networks are not using IPSec on a host-to-host level.  Most enterprise networks use IPSec for site-to-site VPNs, or host-to-VPN connectivity. Rarely is it used for a host to authenticate and encrypt communications over IPSec to print a document, connect to a mail server, or pull down a web page.  In fact the very idea of it seems like a very different security architecture.

Basically, the vendors called it.  They didn’t do this in a vacuum because networks just don’t use these functions today.   So why can’t the user community just force these vendors to support it?  The use case seems out of grasp for most enterprise networks.  This brings us to problem number 2.

Problem #2: The overall security paradigm must completely change. I encourage you to take a tour of your network facility, and see just how many perimeter security devices there are; then take a look at the hosts in the network.  These hosts will likely only have simple anti-virus software.  Most networks will have a multi-layer perimeter security architecture comprised of firewalls, intrusion detection and prevention systems. These systems trust nothing.  So even if an IPv6 node would want communicate outside of the enterprise, it would not be allowed.  The reasons centers on only one thing: trust.  Network security is only done at the perimeter.  There are a few host-based security systems out there, but these are not the primary means to secure the network.  Cybersecurity has become such an issue that this architecture is already being pulled apart.  As hosts communicate more over SSL (HTTPS), the perimeter security must trust or disallow these communications as well.

Is there a secure way?

Absolutely, integrating IP Security and application security.  The DoD uses a system called Public Key Infrastructure (PKI) that can easily be configured to manage keys at layer 3 instead of layers 6 and 7.   Each node on DoD networks are being required to support a smart card PKI system.  Currently, it’s built to establish an SSL authenticated session.  However, it is one more step to manage public keys for IPSec keys using systems like Internet Key Exchange Version 2 (IKEv2) and associated encryption algorithms. So long as the system is configured properly combined with a robust host-based intrustion security system, security professionals would be more apt to allow end-to-end IPSec.  However, if these two systems are not available, then will IPSec will never be allowed with IPv6.

So do you feel lied to as well?  Or do you have something to say about this as well?  Let me hear you in the comments below!

Is the end of the Internet really near?

November 23rd, 2009

There is one humorous (and slightly hyperbolic) discussion surrounding IPv6 that is relatively ubiquitous around cyberspace:  The Internet is doomed on *date* unless IPv6 is adopted

In order to have an intelligent discussion surrounding this issue it usually involves a very detailed and technical discussion surrounding packet-switching technologies like Internet Protocol (IP).  And honestly, this bores even the most adept CIO or CTO.  So, in order to make this exciting and enliven some immediacy, the hyperbole sets it.  So I’d really like to address this issue, and to the best of my ability, not make your eyes glaze over and push you back to Facebook.

The Internet is dooooomed!!

No, it’s probably not, it was built to survive a nuclear holocost, so this won’t kill it.  However, with the slow pace of IPv6 adoption, capability of IPv6 service offerings, and the overall market penetration North America is at a considerable economic, political and cyber security disadvantage.  So it’s only natural to assume the Internet as we know it is doomed.  Realistically, we just need the collective will to get over this hurdle.  Fox News recently spoke about this very issue in a very fear-inducing way as well earlier this month.  The story itself was accurate, but the headlines were more catchy than true.

Where are we right now?

We aren’t that far behind the adoption of IPv6.  So don’t get too paranoid, we have a considerable amount of planning and road maps out there.  The government (and DoD) are already on the ball.  The DoD finalized a core-wide migration of IPv6 in 2008 and the U.S. Federal Government met a simple OMB mandate in 2008 as well.  The DoD even has the larget IPv6 address block in the world.  North American service providers have already either announced beta offerings (like Comcast) to complete offerings now (like Hurricane Electric).   Even Google has a completely IPv6-enabled offering of its applications, with YouTube planned.  However, the alternative solutions are almost as scary as a 3rd-rate horror flick:bartering of IPv6 addresses and double-NATs (yikes).   Any network engineer will cringe on hearing either one of those scenarios be adopted.

It is true that ARIN and IANA are virtually out of IPv4 address space.  You can follow a real-time tally here… As of this writing, the world only has 26 (of 256)  /8 address blocks left. This is just 10% remaining, calculating 648 days remaining.  The ominous clock is ticking.  But what will happen on day zero?  Fundamentally, nothing.  It’s what starts to happen immediately afterward.  Will North America work towards IPv6 adoption, or will it start to barter leftover space?  For example, if I am Verizon and I need more IPv4 address space I could put out a Craig’s List-type request through the RIRs.  Company X, that has a spare /24 (Class C)  could sell it.  Seems good right?  The market has spoken right?  No…  In fact, from a macro-level, this will cause global latency the Internet has never seen.  The more we fragment address space and have multiple summarization points the harder those routers will have to work.

What about a double NAT?  Believe it or not, even private address space (RFC 1918) is not even enough space for some large and growing networks.  So they will either have to double NAT, meaning have multiple translation points, or expand the sharing of one private address.  This means that you and your neighbor will share the same private address space on your home networks.  So since NAT uses a standard address to port mapping algorithm, collisions and time-outs are likely as we all start to net-enable everything in our house.

Where we still need a lot of work…

There is also a cyber security issue.  As we spoke about in a previous post, our society and infrastructure depends upon the Internet (electric grid, work, telecommunications, etc).  If we can’t protect it with a new protocol on the horizon, we are in real trouble.  There have been numerous studies, articles and discussions surrounding this threat.  Also, with a galvanized and lucrative cyber-terrorism industry from China and Russia, it pays them to use IPv6 to attack.  They have, and still do, to this day.  Some complete cyber security solutions exist to protect this threat, but they are not yet adopted within the industry yet.

The day, the routers died…

So to wrap up,  we aren’t doomed, yet..  We are more likely to die of sun spot activity than the Internet collapsing in 2012.  Or… join in for a classic IPv6 tune!  See below!

http://www.youtube.com/watch?v=_y36fG2Oba0

Review of the “Emerging Cyber Threats: Challenges and Solutions” seminar

October 29th, 2009

Today, the International Spy Museum hosted a very intellectually stimulating panel discussion on the current state of cyber threats and cybersecurity.

Melissa Hathaway led the evening off with a very thorough debrief on her team’s dissection of the current state of cyber threats and the US government.  This report was commission by President Obama, and published last summer entitled the Cyberspace Policy Review: Assuring a Trusted and Resilient Information and Communications Infrastructure.  She stated that the United States has never been more vulnerable to a “weapon of mass disruption” than now.  There are many near-term and immediate actions that need to be addressed in order to keep us from experiencing a very damaging “mass disruption” event.  These events could be nation-wide power failure, mass transit shutdown, communications failures, etc.

Later, James Lewis discussed how our country needs to re-think how we view two things: cybersecurity and civil liberties.  We know we are facing a huge problem, but the US is at a considerable disadvantage in fighting this threat because of our concern over fundamental privacy concerns.  Instead of accepting that line of thinking, Lewis argues that maybe we should open this issue up for debate, and be willing to accept a certain amount of trusted inspection.

Lastly, Michael Assante discussed how vulnerable we really are from a electrical grid and utility standpoint.  One thing that rang through loud and clear across each of these presenters was that we are on the precipice of disaster. Confidence was a huge theme in Assante’s talk.  If you can’t trust your network, your data, your system, then our will to fight and continue to use information systems is lost.  This is the ultimate aim in cyber-warfare; as it is in any terrorist activity - fear.

And how does IPv6 and the Internet have an impact?

An audience member asked a very poignant question after the panel had finished about how will IPv6 be mitigated in planning for the future cyber security actions?  You could actually hear the crickets.. and we were inside…  There was no answer other than to say, “we recognize we are behind.  This and many other technologies…”  Obviously, this answer left many even more uncomfortable, to say the least.

What  exactly is the threat if left un-mitigated you ask?

In its very nature, the IETF wanted to make the transition to IPv6 as easy and painless as possible.  So having many different forms like dual-stack, tunnels, translation, etc was beneficial to many concerned engineers.  But seeing as these are the same people that developed the Internet, openness is always much more important to them than security.  So what are the big ones?

  • Accidental IPv6: meaning unknowing to me I just stumbled upon acquiring IPv6 connectivity because I have Linux, Mac or Windows Vista/7.   Therefore, leaving me completely vulnerable to a botnet gaining access to my PC and turning it in to the next DDoS tool.  (See Teredo, 6in4, TSP, TIC, etc)
  • Intentional IPv6: meaning I am a bad guy and I want to skirt security so I tunnel through my network and gain access to systems that my firewall, IPS/IDS and proxy would have stopped had they been capable of this level of filtering.

The takeaway to this discussion is key: How we react now will define our future.  Will it take another 9-11 for us to wake up to this reality?

“The Real IPv6, Part 7 of 13″ - ULAs

October 5th, 2009

One common topic that arises in every IPv6 deployment/addressing plan is “Should we use Unique Local Addresses?” The response, often, is “What is a Unique Local Address?”.

So let’s answer the latter question first:
Unique Local Addresses (aka ULAs) are, quite simply, the private addresses available in IPv6. In many ways, these are similar to IPv4’s RFC1918 Private addresses. IPv6 originally had a different private address space - Site Local Addresses (SLAs), but these were deprecated largely due to the “collision problem” - where two sites would wish to communicate privately (non-public-Internet connection, say a VPN or network merge) but would have complications due to both using the same address block.

(For reference, ULAs –> http://tools.ietf.org/html/rfc4193 and RFC1918 (unsurprisingly) –> http://tools.ietf.org/html/rfc1918 )

There are some notable differences however, the biggest being that with IPv6 we have a basic assumption of having “more than one address per interface”, unlike in IPv4 where additional IPs are considered special cases and/or require additional config parameters. A statement which might prompt you to ask “Why is this relevant to this conversation?” … and the answer is that the IPv6 node could have a global IP (something from 2000::/3 perhaps) in addition to the ULA. In IPv4 the RFC1918 address would normally be the only address on the machine, meaning either no external connectivity or that the external connectivity is only available with the ‘assistance’ of a Network Address Translation(NAT) and/or proxy device. With IPv6 we could see this as well: ULA-only and thus either disconnected or requiring that type of assistance … or we could have all interfaces having both types of addresses … or we could have a mixed-case environment, with some interfaces being ULA only, some being Global+ULA and perhaps even some being Global only. In all cases, it is important to realize that ULAs are “routable addresses” in the sense that, unlike Link Local addresses, we can get to them from offlink. This is very analogous to RFC1918, and accordingly we typically block the global reachability the same way - BGP prefix-lists to prevent announcement/learning routes and Access Control Lists (ACLs) to block packets.

The mixed case environment is perhaps the most “interesting”, but let’s talk about the ULA-only option first. This would be suitable for a completely disconnected network (stand-alone, or perhaps “back-end administrative stuff / management only”) where the devices were intentionally not allowed to send/receive packets to/from external nodes. This type of “route segregation” based security can be an extra layer in the security architecture.

For a mixed-case environment we would typically see an example of ULA-only (say, management interfaces on routers or print-servers) in conjunction with ‘regular nodes’ that are expected to have direct connectivity. In this case, the ‘regular nodes’ may have ULAs so they can talk directly with the print-servers, or may not - in either case the routing infrastructure must carry the routes / accommodate delivering the packets (or, in the case of management interfaces perhaps take care of NOT routing the packets :) ). Note: Whether or not the ‘regular nodes’ get ULAs and Globals will be an environment-by-environment decision.

Once the decision has been made to use ULAs, regardless of the specifics, the next step is to go ahead and generate your prefix. While you can do this manually (the RFC tells you how, it involves your MAC address, your current system time and some hashing) there are easier options, online tools that will generate a prefix for you based on information you provide - SixXS is probably the best –> http://www.sixxs.net/tools/grh/ula … you simply give them your MAC, as well as as some organizational information, and *bang* - you have a prefix. Note that the organizational information actually has nothing to do with generating your prefix, but instead is used for the ‘added bonus feature’ that SixXS provides - a registry of what blocks have been assigned, and to whom. This further reduces the collision problem mentioned above, and the result is an address of the format: “FD(40bits of entropy)::/48″ - an entire “Enterprise-sized allocation”, leaving 16bits of internal subnetting. You would take this /48 and use it as you see fit, or as your addressing plan (hopefully) dictates - perhaps as simply as using the same 16bit subnet values for ULA as you used for Global.

So - Have you decided whether or not to use ULAs within your network yet?
If so, tell us why - the factors that lead you to that decision, etc.
If not, was this post helpful … was there anything missing? Any of your questions left unresolved? Let us know that too!
We know some that have chosen to, and some that have chosen not to - and both are valid decisions!

/TJ

IPv6 Transition Planning and Technical Implementation Methodologies

September 3rd, 2009

Many of us in the industry have pontificated on how to “manage” the successful transition from IPv4 to IPv6 (in a programmatic sense).  This was a very needed step to ensure organizations had the proper resources in place especially with long and drawn out timelines.  However, there is usually little benefit to the engineers when technical migration must happen.  A detailed technical planning approach should be considered and prepared for.  What I really want to discuss here are the steps necessary to make a technical transition possible and understandable to an engineer and operator.   This methodology may vary depending upon your system lifecycle development process.  Most federal agencies fall into two camps: SDLC (similar to waterfall software development) and Agile.  The are positives and negatives associated with both.  However, for the purposes of this discussion, I will discuss a practical guide loosely following the Systems Development Lifecycle (SDLC) process.  See figure 1 below.

Figure 1 - SDLC Phases 

Phase 1: System Engineering Plan (SEP)

Before you can plan anything, you need to have a plan :-).  Seriously,  a SEP is a great way to ensure you can articulate what you did in the architectural design and implementations stages.  The process is very important because it will most likely need to be repeated elsewhere.

Phase 2: Architectural Design Requirements

One of the most important phases in any system development process is defining requirements.  It’s even more important when your system touches everything!  This should be so detailed that it hurts.  For example, it must look holistically at the network with a firm view.  It should also, more importantly, enhance the mission of the organization.  I can’t stress this point enough.  If an IPv6 migration is nothing more to the organization than a new version number, the transition will ultimately fail or lose significant momentum.  The operator and engineering community must get excited about it.  For example, if the organization is a cable company, then IPv6 multicast routing could be a great functional enhancement into their architecture.  Distributing video cheaper, quicker and easier will resonate.  What ultimately won’t resonate is “IPv4 is running out.”  You are sure to get a “who cares” stare.

In fact, it’s best to include every stakeholder in the network in requirements development at all steps in the process.  If there is a sense of ownership into the migration there will always be less push-back and more buy-in.

Phase 3: Architecture Design and Transition Planning

This phase will piece together those requirements  into an architecture.  The question is: is this a turn key solution or a gradual migration?  My advice is that you just can’t build an architecture out now that will not have issues in migration.  For example, if DHCPv6 is a large part of your organization’s IP address management architecture, but the Microsoft Server OS will not migrate to Server 2008 until years in the future, then the architecture is already unsupportable.

In fact, most DoD organizations like Eglin AFB, Lackland AFB and DTRA are looking at a phased transition.  Mainly for piloting and socialization, but partially to test what application breaks that wasn’t already accounted for.  In DoD, these stages follow strict security accreditation and boundaries called Milestone Objectives.  If you have access to DKO, the DoD IPv6 public site posted the detailed guidance going back to 2005.  So when designing the architecture, these phases should be heavily considered for future application, product  procurement and development.

It is key to be involved in any major procurement or design initiative during this process, because if another system depends upon a specific protocol it will need to be considered ahead of time.  These are some specifics on how the architecture will be laid out upon an IPv6-enabled state.


Milestone Objective

Milestone Description


MO 1

Limited internal LAN IPv6 connectivity and extremely segmented from most operational organizational traffic.


MO 2 v1

More widespread IPv6-enabled traffic on specific internal MO1 enclaves as well as, IPv6-in-IPv4 tunneled traffic to other MO1 enclaves within the local domain


MO 2 v2

Extremely widespread IPv6 use in operation within the MO 2 v1 organizations. However, connectivity will be conducted on using native IPv6 traffic routed between these groups


MO 3 (Phases 1 – 3)

The same IPv6 adoption as MO2v2, but authority is extended for the local domain to exchange native IPv6 traffic with the Global Internet including the rest of the DoD. Each embedded phase will extend IPv6-enabled features within the internal enclave.

In this phase, it’s best to have an extremely detailed transition and/or technical implementation plan (TIP).   It will address the iterative milestone approach discussed in the design phase.  However, it will also include specific implementation approaches needed to achieve each area.  For example, the TIP will specify who will be the designated MO1 enclave, when they will start the IPv6-enabling duties, what those duties consist of, what equipment configurations are affected, and what network services will change in that enclave.  The TIP should also specify the security accreditation strategy.

Phase 4: Test and Evaluation

 In any widespread network change, testing must be complete, detailed and concise.  In formulating the overall test and evaluation plan, the organization must take the following into account:

  • End-to-end IPv6 interoperability and network performance and load testing.  This is done by testing using the benchmarking methodologies in RFCs 2544 and 5180.
  • Network vulnerability and penetration testing.  In order to securely implement IPv6, all of the host-based, application-based, and network based security components need to detect malicious traffic.  A few tools in the marketplace exist for detection and tools used to simulate malicious traffic.  {shameless plug} Our offensive IPv6 test tool (CyberTestING) will stimulate “bad” traffic and Assure6 will detect that “bad” traffic.
  • Applications and product interoperability testing.  There will be applications that your organization won’t know have issues until it happens.  The pilot phase should be where this is discovered.

Phase 5: Technical Implementation

In this phase, each enclave should be enabled from a core-down approach.  For example, if I am initiating  an MO1-like transition implementation, then I should enable the IPv6 perimeter firewall protections, IPv6 ACLs, and internal routing  first.  Next, enabling core internal services like IP Address Management (IPAM), DNS and DHCPv6 should be done.  Finally, enabling network services like web, shared file servers, mail, SAN, and all of my home-grown applications (both from a client and server side).  Each of the security controls should be implemented as well.

The same approach should be conducted in an extremely intentional way for each of the other milestones until the enterprise network is fully dual-stacked.  Otherwise, the schedule for implementation will slip and could affect operational needs.

If an organizations follows these overall principles, then an IPv6 migration can be both rewarding and mission-focused.  Remember: Transitioning to IPv6 should not be the end-state, it should merely be the means to the overall mission need!]

Until later,

010100110110010101101101011100000110010101110010001000000100011001101001

Jeremy

Commerical Providers Launching IPv6 Project - Looking at Long Timelines …

August 7th, 2009

Commercial service providers are all - or mostly all - considering their IPv6 implementation strategies.  Not what kind of advanced peer-to-peer services they can launch, or how they can revolutionize their product and service offerings (that will come later), but the “straightforward” provisioning of IPv6 within their networks and out to the customers.  Simple high-speed Internet, either for organizations or individuals (broadband providers - cable, DSL, and fiber).  Enterprise-focused providers are also looking at their L3 VPN offerings and preparing for IPv6-capable services.  Multicast, and mobility, certainly, offer attractive capabilities for launching next-generation services. 

The providers I have talked to, and worked with, are at different points along the implementation path.  Some are in the design phase, others are conducting pilots on secondary networks, and some have big deployments. 

If there is one overriding realization that all these providers have come to it is that IPv6 implementation is a big project, and a lengthy process - especially the “getting off the ground” phase. 

1) Resolving to launch the project, when there are so many other important projects competing for resources (DSG, IPTV) 

2) Evaluating the hardware and software platforms for IPv6 capability, and putting together a coherent upgrade strategy that does not conflict with upgrades in progress or planned to support other projects (L3 VPN, Voice Services, DOCSIS 3.0, etc.) 

3) Capital budgeting 

4) Breaking down the project into phases, and rationalizing all that into a timeline that provides the right capabilities at the right time 

5) Doing the design work - again within a changing environment - addressing, routing, management, security, peering 

6) Doing the implementation, in a no-downtime environment - again within a changing environment 

7) Provisioning, back-end systems - there are a lot of applications, systems, and process to upgrade as well 

Like any long journey, getting started is the hardest step.  It requires some foresight (likely IPv4 exhaustion - mid-2012), and there are many pressing projects for ISPs - and it is not a great economic climate.  But, the truth is, 2-3 years is not a long time to get as much done as must be done, and what happens in the “late innings” of IPv4 runout is unclear.  Hoping for more time if things get tight is not a strategy. 

So - my advice - start now.  Start slow - but start.  A few people, a modest budget, and a lot of the ground can be prepared for a successful project when it becomes clear a more serious, concerted “push” is required.

“The Real IPv6, Part 6 of 13″ - Address Management: DHCPv6 and SLAAC

August 3rd, 2009

The most common question and issue in any deployed (or planning to be implemented) IPv6 network is address management.  In fact, most network engineers wince anytime they imagine having to tell someone to ping “2001:2222:4638:abd5:44fe:bead:f33d:19a6.”  In fact, that makes me wince a little too.. ;-)

The culture in address management is changing.  Probably even for the better.  In this blog, I will talk about the automatic address configuration mechanisms of DHCPv6 and Stateless Address Autconfiguration, managing and securing each strategy(as previously blogged here and here), and implementing them efficiently and intelligently.  A network engineer/architect cannot implement IPv6 into a network without a plan to manage addresses.  Otherwise, within a few weeks, no one will know what is on the network.  So I’d recommend you follow one or both of the following autoconfiguration strategies, as well as how to manage the space.

Strategy #1: DHCPv6

RFC 3315 and RFC 4862 really define (although with some implementation differences) how to implement DHCPv6.  This much is clear: it’s not the same as IPv4 so get that out of your head right now.  First, decide on a DHCPv6 server implementation.  There are two variations, both with their pro’s and con’s; however, it may be dependent on what organic resources exist.  Windows Server 2008 is the first and only real DHCPv6 server in the Windows Server class.  Server 2003 had a 3rd party install for “Dibbler,” but that is not recommended.  There is also the open source “dhcp6s” package maintained by Red Hat.  Essentially they both work the same, but use of Cryptographically Generated Address (CGA) support may only be supported in “dhcp6s,” (unsure if this is the case currently).

A standard “dhcp6s” configuration looks like this, Server 2008’s has the same configuration options just presented slightly different:

option dns_server fe80::1:2:3:4%3;

prefer-life-time 10000;

valid-life-time 20000;

renew-time 5000;

rebind-time 8000;

interface eth0 {

	link AAA {

		allow unicast;

		send unicast;

		allow rapid-commit;

		send server-preference 5;

		renew-time 1000;

		rebind-time 2400;

		prefer-life-time 2000;

		valid-life-time 3000;

		range 3ffe:ffff:100::10 to 3ffe:ffff:100::110/64;

		prefix 3ffe:ffef:104::/64;

		

	};

	

};

The second issue is the router.  The issuing of Router Advertisements, or RAs, is key to getting a Windows Vista + client deployment working properly.  The RA will issue out a network prefix and various configurations options: DNS servers, gateway, NTP servers, etc.  In fact, it must also issue a “managed configuration” flag.  RFC 4862 discussed the use of the “managed configuration” flags in Router Advertisements for “DHCPv6 configurations” to instruct a client on the network that there are DHCPv6 servers on the network.  Therefore, a client will know to solicit for DHCPv6 servers.  Otherwise, they will only accept address prefixes issued by routers on the network.

Here’s what a standard RA configuration will look like on a Cisco router:

hostname Alpha

ipv6 unicast-routing

interface Ethernet0

description connected to A-LAN

no ip address

no ip directed-broadcast

ipv6 enable

ipv6 address FEC0::C0A8:20C1/123

ipv6 nd ra-interval 20    <—THESE ARE THE RA CONFIGS***

ipv6 nd ra-lifetime 180 

ipv6 nd prefix-advertisement FEC0:1:2:3::/64 0 0 autoconfig

no suppress-ra

ipv6 nd managed-config-flag  <—FOR DHCPv6***

 

The last issue is the client.  Using Windows Vista + is virtually worry-free from a client side.  The only decisions needed are to determine if the router will send RA’s for just a “managed configuration” or a prefix to allow for stateless address configuration.  Either way, a good strategy needs to be developed.

Strategy #2: Stateless Address Autoconfiguration

RFC 4862 defines this mechanism.  In fact, it is really straight-forward.  There are really only three issues that need to be mitigated: secure neighbor discovery (SeND), configuration options, and address management.  SeND is an issue in even IPv4 networks because Address Resolution Protocol (ARP) - done at layer 2 - is always insecure.  However, address management can be a nightmare.   A few RFCs describe how the Router Advertisement can carry other configuration options like DNS, NTP, etc.

By using one, or all, of these mechanisms then there may be no need for DHCPv6.  The next issue is address management.

Strategy #3: IPv6 Address Management (IPv6 IPAM)

If the address management (IPAM) tool does not auto-discover IPv6 hosts on the network, then the solution will be nothing more than a really expensive spreadsheet generator.  There are many IPAMs in the industry.  Some will even serve as DNS servers and DNSSec agents.  In fact, many can be the all-inclusive network management agent on a dual-stacked network.  Needless to say, the following should be the recommended minimal requirements in any dual-stacked configuration:

  1. IPv4 address auto-discovery
  2. IPv6 address auto-discovery (including privacy extensions, static addresses, and randomized addresses)
  3. Capable of participating in SeND and CGA (roadmap)
  4. Provide a real-time snapshot of both protocol hosts on a network

The Takeaway

The takeaway to this discussion was to really show how an enterprise network must be extremely intentional on how the IPv6 addressing is planned.  Plans must be drawn up extremely early in the process in order to ensure address management and security requirements are met much earlier in the implementation process.

Until later,

010100110110010101101101011100000110010101110010001000000100011001101001

Jeremy Duncan


“The Real IPv6, Part 5 of 13″ - Automatic Service Discovery and IPv6

July 27th, 2009

Net-Centricity and service ubiquity are terms that have bounced around network engineering discussions for almost a decade.  Inevitably, users want much more control about (1) what they communicate with, and (2) how they communicate.  However, the wrinkle is that IP networking is always depended upon stateful mechanisms that helps nodes communicate and “gateway” them.  Needless to say, this is no longer an issue unless your network makes it one.  The basic issue is this: if I want to see what is on a camera sitting in front of me, I should just open my network appliance and connect directly to it securely and without inefficient gateways and middlebox protocols.

Zeroconfiguration is already here

Ever since the early part of the decade, varying inclusive and exclusive mechanisms to link specific service discovery of networked devices have been in existence.  Those are:

  • Apple’s Rendezvous
  • Apple’s Bonjour (Rendezvous 2)
  • Universal Plug and Play (UPnP)
  • ZeroConfiguration
  • Multicast Domain Naming Service (mDNS)

No matter the simple network-enabled device, it is most likely capable of this type of function from printers, to sensors, to network cameras, to wireless speakers, to network-attached storage.

So what’s the advantage?  Imagine…

  • Being a ambulance driver and being able to wirelessly control a stop light directly before passing through an intersection
  • Or a fire chief being able to monitor each of his firefighter’s vital signs while they are in a burning building
  • Or immediately controlling, viewing and collecting data from an Unmanned Ariel Vehicle (UAV) within the immediate area.
  • Or home appliances communicating directly with each other given varying scenarios.

So what does IPv6 have to do with this?

Sure, you can do most of these things right now with IPv4, but the network will need to change to facilitate these features.  What IPv6 gives to Zeroconfiguration is a simple, secure, and ready-to-go infrastructure that could be globally reachable (if desired).   Address configuration in IPv6 is already stateless, and joining and dis-joining of multicast groups are already part of IPv6.  Each of the machine-to-machine application and service discovery language and XML is being written with IPv6 (not IPv4) in mind (re: M2MXML Whitepaper).

IPv6 also gives zeroconfiguration something IPv4 didn’t really have: a complete IP Security suite (IPSec) with  globally-reachable addressing.  So if you want to securely connect to your stove from 3,000 miles away because you forgot to turn it off, you could do it securely and efficiently.

In its current state, IPv6 with Zeroconfiguration and mDNS works to connect users to cameras, sensors and printers.  There’s no argument that this is happening now.  The question is, when will this get bigger and see deeper penetration?

Here’s what it looks like (courtesy of Dave Green):

Further reading

Want to read more about it?

  1. Dave Green’s M2M blog entry: http://www.commandinformation.com/blog/?p=73 
  2. IETF Zero Configuration draft RFCs:
    1. http://files.zeroconf.org/draft-ietf-zeroconf-reqts-12.txt
    2. http://files.zeroconf.org/draft-ietf-zeroconf-host-prof-01.txt
  3. Multicast DNS (mDNS): http://www.multicastdns.org/
  4. Zero Configuration and UPnP differences: http://www.zeroconf.org/ZeroconfAndUPnP.html
  5. Zero Configuration Networking Group: http://www.zeroconf.org/

Until later,

010100110110010101101101011100000110010101110010001000000100011001101001

Jeremy Duncan

“The Real IPv6, Part 4 of 13″ - Extending Application Functionality with IPv6 Extension Headers!

July 22nd, 2009

Imagine applications never needing to make process intensive decisions about load-balancing, service allocations, or wireless quality of service.  In IPv6, the protocol at layer-3 can do this.  Yes, the network layer can actually be smarter than that cartoon-ish depiction of a pin-ball machine!

Meaning that in IPv4, anytime a programmer wanted to add a function in the IP header, they would need a protocol re-design.  As painful as this sounded, it wasn’t usually done except in rare cases: IPSec and other IPv4-options.  So the decision made very early on in IPv6 to do away with the variable, kludgy header, and return to a fixed header of 40-bytes with extensibility.  This is where extension headers were born.  For all you network engineers out there, this is something that should be celebrated because it doesn’t just stop at the standard IPv6 extension headers in the following correct order according to RFC 2460:

  • Hop-by-Hop Options
  • Destination Options
  • Routing Header
  • Fragment Header
  • Authentication Header (AH - IPSec)
  • Encapsulation Security Protocol (ESP - IPSec)
  • Destination Options (options ONLY for the final destination)
  • …then the upper-layer header (TCP, UDP, ICMPv6 - Layer 4)

What about extending it further??

That’s the question of the hour!  IPv6 was built to be extending without upsetting the overall function of the header.  So… What if I am a brilliant and network-savvy software engineer, and I want to put simpler application instruction well ahead of the payload? Like saving the payload for more raw data operations? Well, then I would use the new Generic IPv6 Extension Header Format (GIEH).  So long as my application format follows the generic extension header like the graphic below, and uses the correct (soon-to-be-IANA-approved) protocol value then there are no issues.  Since the GIEH is currently still in draft at the IETF, it is unknown what that magic protocol number will be right now.  However, we can at least assume it will be between the currently unassigned numbers of 141-252.  Here’s what it looks like:

Figure 1 - Generic IPv6 Extension Header Format

So what?

So the rest of you not-so-technical folks are probably asking why should I even care?  You should care because now things that would normally be time and process intensive in net-enabled applications can be sped up but disassociating those instructions from the raw function of the application.  Think of this example:

An IPv6 SIP server is implemented in a war-time environment.  Various voice over IPv6 phones are distributed across its control.  Differentiated Services and a good QoS policy is implemented within the same IP-network.  The time is 2100 (9 pm) and thousands of users are making very low priority calls home to their families.   However, the General has to make an emergency call to a tactical commander in the field.  Multi-Level Precedence and Preemption (MLPP) is used in the network, but it takes up too many processing cycles within the application.  Therefore, the VoIP network suffers a multitude of dropped calls, including the General’s.  If the IPv6 SIP server had implemented something similar to the GIEH and configured options depending upon the user’s priority, status, time, etc, then these decisions could have processed preemption much quicker and in an more efficient manner.

Have any thoughts to debate on this one?  Seeing as how this barely fits into the “currently implemented features of IPv6″ because of the draft RFC, there could be some differing opinions.  Hey, I’d love to hear them!

010100110110010101101101011100000110010101110010001000000100011001101001

Until later,

Jeremy Duncan

“The Real IPv6, Part 3 of 13″ - Multicast Video Distribution over IPv6

July 10th, 2009

Video Conferencing is now ubiquitous.  Good for travel budgets and bad for bandwidth utilization.  When more dispersed users in an enterprise are using Video Teleconferencing (VTC) more than standard voice communication, the infrastructure has to adapt to survive.  There are a few “band-aids” out there that can help ease some (but not all) of the pain: grid-casting, “Octoshaping,” video codec compression, throttling user traffic, and a decent QoS policy.  However, the problem is still the same: the originating video broadcast has to send a unicast stream to each individual user.  So if the broadcast has 100 users, there is a 100 video streams.  Compressed, throttled, or DiffeServ’ed won’t fix this.  If there’s a big broadcast, it will have significant performance problems every time.

What is a real-world example of this?  - Michael Jackson’s Funeral.    This was served out by big news agencies that virtually crippled the Internet.  Look at some of the stats, they are surprising!

And how was it all dished out to users? - via IPv4 unicast…  Here’s what a typical and simple unicast video delivery looks like:

Figure 1 - Unicast Video Stream

And here’s what it looks like using multicast:

Figure 2 - IPv6 Muticast Video Stream

What can be done to not cripple our communications infrastructure?  First, upgrade the core infrastructure to IPv6.  After that, it’s simple.  Multicast routing can be enabled relativity easy and the reserved address space is easy to understand and scales very well.  IPv4 multicast routing requires IGMPv3.  Well, this is not standard with IPv4.  Some routers do it and some don’t.  In IPv6, Multicast Listener Discovery Version 2 (MLDv2) comes standard on every router claiming compliance to IPv6 specs.

So how does IPv6 multicast routing work?

In IPv4, the multicast address space is only 224.0.0.0 - 239.255.255.255.  This only allows for only so many streams globally (and that availability has already run out).  IPv6 multicast has the FFXX:0000::/32.  The “x” represents different ways and instructions multicast is routed.  For example, take this address: FF3E:40:2001:dead:beef:cafe:1111:2222/128

  •  The “FF” represents the multicast scope
  •  The “3″represents a temporary unicast prefix (there are other codes used here)
  •  The “E” means global scope (there are other codes used here)
  •  The “40″ represent a 64-bit prefix (40 is 64 in hexadecimal)
  •  The “2001:dead:beef:cafe” is the unicast prefix that the multicast stream resides
  •  The “1111:2222″ represents the multicast group that is sending the stream

So… If a client want to connect to that multicast stream for voice or video, then he/she will point their video client to “FF3E:40:2001:dead:beef:cafe:1111:2222″.  Provided (1) IPv6 is enabled and (2) multicast routing is enabled, the user’s MLD request will traverse the IPv6 Internet for the 2001:dead:beef:cafe::/64 network.  Then when the request gets there, it will be forwarded onto the 1111:2222 multicast group.  It will then receive the exact same stream as everyone else receives on the 1111:2222 multicast group.  See figure 2, for the details of this.

Well, that’s all for multicast video distribution, number 3 in the real-world uses of IPv6 right now!  Until later,

010100110110010101101101011100000110010101110010001000000100011001101001

Jeremy Duncan

U.S. Government IPv6 Testing Update!

July 8th, 2009

NIST and the U.S. Government IPv6 Testing group announced that there is forward momentum in the IPv6 testing process!  Later this year, NIST plans on having a few accredited labs that will be able to test and certify products for IPv6 Capability according to NIST’s U.S. Government Profile for IPv6 Capability.

The test program will follow the standardized NVLAP process of accrediting laboratories as either 1st, 2nd or 3rd Party testing labs.  These labs will also be accredited for the types of testing they will be conducted along with the specifications they will follow.   Once the vendor IT product completes the testing at an accredited lab, they will be able to provide U.S. Government procurements with an IPv6 Suppliers Declaration of Conformity (IPv6 SDoC) along with an accredited lab test report.

The accreditation process is following two documents:

  1. The ISO 17025 or NIST 150
  2. NIST SP 500-273 IPv6 Test Methods: General Description and Validation

These labs will apply to be testers of conformance, interoperability, and/or network protection device testing.  All the currently approved test specifications are located here: http://www.antd.nist.gov/usgv6/test-specifications.html.  However, there are still quit a few specifications from the DoD being discussed and evaluated within the USG Testing Group.  They revolve around IPv6 privacy addressing, routing (BGP4+ and OSPFv3), SNMPv3 (corresponding MIBs), DHCPv6, QoS, and multiple transition mechanisms. Once they are reviewed and approved the resulting test specifications will be added to the overall list.

Currently there are (4) labs working on accreditation, but none have yet been accredited (current list is located here: http://www.antd.nist.gov/usgv6/labsandaccreds.html):

Information on joining in on the discussion is here:

Big Deal!!
The UNH-IOL is hosting a a test event to formerly evaluate the U.S. Government’s test specifications and procedures.  Test window is: 13-17 July 2009 (next week).  For more information go here: http://www.native6.com/blog/2009/06/29/ipv6-testing-evolution/ or here:  https://www.events.unh.edu/RegistrationForm.pm?event_id=5886

Until later!

“The Real IPv6, Part 2 of 13″ - IPv6 Multicast Messaging

June 30th, 2009

   Imagine living in the San Francisco Bay Area (some of you may already live there :-)).  You have just arrived at work for the day and started in on your first cup of coffee and the morning’s “urgent” emails.  When all of the sudden a flashing message from the San Francisco Fire Department flashes on your screen instructing you to leave your work area immediately and find safe cover from an impending earthquake.  This message will also give you time to full magnitude and an estimated countdown of strike.

Real-World Feature #2:  IPv6 Multicast Messaging

The good news is that a system just like this exists in Japan carried by Japan’s telecom NTT.  Not surprisingly, the Japan Meteorological Agency (JMA) is utilizing the built-in and streamlined support of IPv6 multicasting.  Currently, the system has over 1,000 sensors deployed that react upon changes in seismic activity along Japan’s earthquake hot-spots.  Included within this system is a server that collects all of the raw data and distributes location, time and warning messages to each of its paying customers.

What makes IPv6 multicast needed in this case?  Because the complicated networking instructions and decisions no longer need to be the responsibility of the software developer.  With IPv6, you get multicast already configured, enabled and operating by default.  All that remains is a few infrastructure configurations to enable globally routable IPv6 multicasting.  Another good news story, because any IPv6 deployment will probably have this built-out on the onset.

For a complete description on Japan’s earthquake monitoring system take a look at the diagram below:

Japan's IPv6 JMA

For more on this and other IPv6 uses at NTT go here: http://www.digitalgovernment.com/media/Knowledge-Centers/asset_upload_file338_1748.pdf

What’s next??  Part 3 will discuss “Video content distribution via IPv6 multicast.”

Until later..

Jeremy



Creative Commons License
Command Information Weblog by Command Information is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.