Wednesday, June 27, 2012

IPv6 Refresher: The Need for IPv6 and Address Format


As part of my ongoing #IPv6Mission, I felt that it would be helpful to freshen-up on the IPv6 basics and learn all that I can about the protocol and proper IPv6 network design before I jump right in and configure my home network to connect to a tunnel-broker service.

First up, I’ll be reading “Deploying IPv6 Networks” (Cisco Press, 2005). This content is now a few years old and there have been changes in design and best practice recommendations since 2005, but it will serve as a good refresher on the basics which haven’t changed.

Chapter 1 is an introduction, reviewing the case for IPv6; why we need it. It’s pretty straightforward to understand, so I won’t go into depth on this information. From a high level, the reasons include:
  •       IPv4 address architecture and poor allocation (classful addressing)
  •       Public versus private addressing
  •       Exhaustion of public addressing (and private addressing by some ISPs)
  •       IP renumbering challenges
  •       Elimination of NAT
  •       QoS demands
  •       Increasing demand for multicast services
  •       Better IP Mobility (with MIPv6)


Some things are still required where IPv6 offers comparable functionality with IPv4 (not necessarily better). These services include routing protocol operation, VPN security services, generic network and application security,

It’s worth noting that IPv6 poses some additional challenges. Chief among those is perhaps the globally-unique addressing which can be tied to a unique host interface when using SLAAC, and the privacy concerns this raises. If a host interface always uses the same unique IPv6 address across the public Internet, then data collection and analysis could reveal very private information about the user.

Chapter 2 tackles the topic of IPv6 addressing:

Performance Impact – A 64-bit CPU requires 4 passes to process both the Source Address (SA) and Destination Address (DA) in a packet, versus 1 pass with IPv4. This can impact routing processes through longer lookups, significantly larger routing tables, and larger routing updates. Some of these issues are reduced through the strict use of address hierarchy and aggregation with IPv6 (which will be discussed in a subsequent post).

Format – 128 bits in length, represented as a string of 32 hexadecimal characters, segmented into 8 groups of 4 hex values each separated by colons (:). The format alone of IPv6 addresses marks a departure from the comparatively “easy” dotted-decimal representation used for IPv4.

The format can be optimized by using two address-shortening rules:
  1. Eliminate leading 0’s – within each group of 4 hex values the leading 0’s can be eliminated. For example, :00C0: can be shortened to :C0:
  2. Eliminate consecutive 0’s –multiple groups between colons that contain consecutive all-0 groups can be collapsed and notated with a double-colon (::). For example, 2001:0000:0000:A1:0000:0000:0000:1E2A could be shortened to 2001:0:0:A1::1E2A. This rule can only be applied once to an address to remove ambiguity as to how many groups are represented by a double-colon.

IPv6 Address Representation

There are three types of IPv6 addresses:
  • Unicast – traffic destined to a single node
  • Multicast – traffic destined to an entire group of nodes
  • Anycast – traffic destined to the nearest node of a group of nodes


Notice something missing? There is no concept of “broadcast” addressing in IPv6. Since it was resource intensive and created some problems on IPv4 networks, IPv6 abandoned broadcast addressing like a fair-weather Dodger fan ditches the ballpark in the 5th inning! So IPv6 relies on multicast addressing instead.

In the next post, I’ll continue the IPv6 refresher with a review of IPv6 unicast addressing.

Cheers,
Andrew


P.S. – Please follow or get involved in the discussion on IPv6 architecture, design, and implementation on Twitter with the #IPv6Mission hashtag.

Sunday, June 24, 2012

My IPv6 Mission

I've decided that I've procrastinated long enough. Therefore, over the next few months I'm on a mission, an IPv6 mission. I'll be reading as much material as I can get my hands on, deploying native IPv6 on my home network (including WLAN), and connecting to Hurricane Electric's tunnel broker service for native IPv6 Internet access.

To help me get started, I've acquired the following resources:

Cisco 871W Router
This router is a bit older, but it was easy to acquire, can run dual-stack IPv4 and IPv6 which gives me support for both protocols in my home (because not all of my clients support IPv6, like my Roku and Wii), and it is still receiving software upgrades from Cisco. I won't be using the integrated radio in this unit since it's ancient by fast-moving Wi-Fi standards (802.11g only; when this unit first came out it didn't even support AES-CCMP... so yeah, the radio hardware is a bit old).
Aerohive AP 330 (x2, and one AP 170)
Let's not overlook IPv6 for our Wi-Fi clients! I already have an Aerohive WLAN at home, and it supports IPv6 client access. The AP 330s have two 3x3:3 MIMO radios, full enterprise-class features, and mesh networking which I've extended out to my garage (hey, the man garage cave needs streaming Internet radio while I'm working on my motorcycle)!
IPv6 Essentials, 2nd Edition
Deploying IPv6 Networks
IPv6 for Enterprise Networks

I'll be posting what I learn as I go on this blog. I'll also be tweeting what I learn and my progress using the #IPv6Mission hashtag on Twitter. 

Follow along if you're new to IPv6, and I hope you enjoy! Even if you are familiar with IPv6, I'll be covering specific implementation details for Wi-Fi networks, which can be a bit different animal than wired IPv6 (there are a few gotchas that you'll need to be aware of - but let's save those for another post). And for those IPv6 experts out there, I may just need some help from time to time :)

Cheers,
Andrew

Monday, June 4, 2012

Adaptive Antennas and Interference

There is quite a nice discussion going on over at GT Hill's blog about Adaptive Antennas.

One part of the discussion centers around interference rejection of such a system, by "controlling" the RF signal. This serves to increase signal gain for the intended client and reduce interference in most other directions (I agree on these points). My contention is that in a multi-cell architecture, as is typically found in most enterprise, education, healthcare, and [especially] high density environments, the increased signal gain also results in increased interference (or more aptly "contention") of other neighboring Wi-Fi cells in the path of the newly shaped signal. And, different than directional antennas, the path changes with every client that the Adaptive Antenna system is transmitting to. So, with an omni-directional coverage area and clients distributed throughout that area, interference will impact all other Wi-Fi cells around it. Not at the same time, but at different points in time depending on traffic patterns downlink to clients.

What I'm getting at is that Adaptive Antennas simultaneously reduce interference in some directions and increase it in others. I'm not saying that one outweighs the other, because I don't think anyone can predict that unless we know the specific deployment scenario and network design. My point is just that we need to acknowledge the presence of both effects (not just one, while ignoring the other).

Hopefully this makes sense. It does in my [admittedly jumbled] mind ;)

I would normally just post this in the comments section on GT's blog, but I would like to include a drawing to help convey what I'm talking about. (I'm a great artist BTW. Can't you tell!)

Adaptive Antenna's Simultaneously Decrease and
Increase Interference In Different Directions

GT - Hopefully this clarifies my opinion. Sorry to take the conversation away from your website.

Readers - please comment directly on GT's blog to keep the conversation thread in one location.

Cheers,
Andrew