Lammle.com The official site of best selling author Todd Lammle

May 10, 2008

The New Network Stack and Why It Is so Important To You (continued)

Filed under: News and Announcements — Todd Lammle @ 8:43 am

Repeat after me: “IPv6 is my friend”! And keep that up because it´s true! But I´m not going to formally introduce you to all its benefits just yet because going there would turn this blog into a full-fledged article. I´ll be going there really soon though, so stay tuned! For now, just know that IPv6 will be a hugely important part of your future, and let me continue my rave on why using Vista and Server 2008 are going to do great things for your networking career.

In my last post I discussed chimney and receive side scaling—stuff that new multiple processor servers are likely to come with. So now I want to move on to telling you about how the new stack provides optimization on both the receiving and sending sides for the hosts on your network. I´ll finish up by telling you why on earth all this Microsoft stuff I´ve been chattering about in these two posts is so very strangely important to you as a Cisco network admin! Here´s a couple good reasons:

Receive Window Auto-Tuning and Compound TCP (CTCP).

    ??????

  • Receive window auto tuning optimized receiver-side throughput and upgrades the old TCP Windowing we used for receive flow control. This little beauty will allow us to have very large MTU´s.
  • CTCP optimizes sender-side throughput and is most noticeable in high-latency, long round-trip time (RTT) networks (like wireless and cellular, or inter-continental links).

Receive Window Auto Tuning is enabled by default on both Vista and Server 2008 and CTCP is only enabled on Server 2008. Personally, at least right now, I see no reason not to enable CTCP on all your hosts, but Microsoft doesn´t advise doing this for some as yet unknown reason.

Okay, before I get to describing the good news part of all this Microsoft stuff, I need to explain something first: Receive Window Auto Tuning tries to send so much data so quickly that you can often watch network problems pop up as fast as noxious weeds. We´ve all heard multitudes howling about Vista creating wide variety of evils, so I´m pretty sure we´ll hear even more complaints as Server 2008 rolls out. But the thing is, it´s actually not Vista´s fault, or even Server 2008´s fault. Nope—it´s your fault! Why? Simple… You need to upgrade your network. This is the part I love about Vista and Server 2008, and it´s also the reason I´m writing a blog about Microsoft on my Cisco training web site! I see this as a true opportunity and so should you—an opportunity to get certified in these things so you will be poised, ready and able to cure the broken networks epidemic we´re about to experience!

Say you´re not surprisingly having problems with your network going up/down, application unreliability, on-line storage problems, and other disturbingly weird issues after you installed Vista. Steel your nerves and resist the temptation to revert back to XP—it´s not your solution. Yes, you can temporarily disable receive window auto tuning, but remember, if you do this, you´re pretty much satisfied with saying “I have a network issue that I can solve temporarily by disabling receive window auto tuning—viola!” You don´t want to do this permanently because it´s total denial, (which is unhealthy), and worse, it prevents you from accessing and enjoying all the bennies that new networking stack has waiting for you! Instead, roll up your sleeves, toss out the crate of tissues and: Upgrade your network to gigabit links for your hosts and switch ports as well as all your router interfaces add ten gig links and TOE cards with RSS capability for your servers, then watch your network rock the house! Oh, and don´t forget to take a (gracious) bow and accept that promotion! The new networking stack can optimally make use of all this bandwidth wealth. The older stack just didn´t have what it takes—it just was not smart enough to understand how to take advantage of it. Interestingly, this means bottlenecks will no longer clog at our hosts and servers, but on our network interfaces and routers instead.

I was in the U.K. last week and came across some fascinating facts: I read that there simply are “not enough certified network individuals with enough network experience and so, it´s estimated that by 2012, the Internet in the U.K. cannot exist as it currently does. For the U.S. that time frame is only slightly extended to 2015”. So basically, in order to keep enjoying our precious internet, we have no choice but to fully embrace the new networking stack and we need to get our networks upgraded, and do so ASAP! Sure, you can disable most of the features to make your networks work temporarily, but call me odd—is it really a solution if it means losing a proven 40 to 400% increase in throughput on your network when with a just few adjustments you´re good to go with the new networking stack instead? Do you really think that you can force your company to stay with XP forever? Sheesh… I remember many companies telling me that they would never consider using wireless networks! HA! That´s laughable today, although sure, I do know some super-high security networks that still don´t allow wireless, but can you imagine a network that exists completely without it? Probably not—at least very rarely and they´re definitely not the norm. In 5 years, it´ll be the same situation regarding IPv6 and Windows 7, due out in 2010 (which means 2011).

So to sum things up, take my advice and make sure you understand how to configure a Cisco router and switch, how to upgrade your network ports to gigabit, and how to implement TOE boards with receive side scaling support on your servers. Get Cisco certified and start planning this migration/network upgrade now; it could save your job!

Oh… Just this one last thought: The top ten jobs of 2015 haven´t even been created yet, and in as little as five years, you´ll be running products on your network that are now just a twinkle in their inventor´s eye! Where and how successfully you´ll fit into this future directly and completely correlates to how well you position yourself for these changes now! Stay current—stay ahead, and best of luck to you.

Cheers!

Side note:
To disable Receive Window Auto-Tuning: netsh interface tcp set global autotuning level-disabled
To enable CTCP on Vista: netsh interface tcp set global congestionprovider=ctcp

May 6, 2008

Todd’s Typically Long-Winded Intro to New Topics: The New Networking Stack and Why It’s So Important To You

Filed under: Microsoft Server 2008 — Todd Lammle @ 6:23 pm

As many of you know and are more than likely less than thrilled about, Microsoft’s Vista has been out for a while now. Old news. On a much fresher note, I’m guessing a whole lot less of you are actually familiar with Server 2008 that’s just now starting to sneak it’s way into computer server rooms. For those of you that are, I know there’s a ton of division there in the ranks, so for now and maybe never, I’m not going down the interface path. Let’s just agree that that some like it, some hate it, and some really don’t give a rip. It is what it is—‘nuff said, because you know what? Core Server 2008, which I happen to think is very cool indeed, doesn’t even have an interface—so much for that noise!

Okay, what I’m all excited about is the new networking stack that lives inside of both Vista and Server 2008. Yes, you could play masochist for a day and update XP and Server 2003 with the Scalable Networking Stack, but only if you’re into pain and suffering. I’ve never seen that result in anything but an ugly crop of nasty problems suddenly making their way onto systems. This isn’t the case with Vista and Server 2008. Now stop—I don’t have my head in the sand or anywhere else nasty. I’m not maintaining that for sure, Vista and Server 2008 can, and have given us grief, but if you really think about it, not to the systems themselves. Instead, any death or destruction you experienced, whether mild or major, occurred mostly on your old, antiquated networks, didn’t it?

To be straight with you, I’ve really never been excited about any product from Microsoft, and I mean any product ( be honest, have you?) but then, this new networking stack is truly a different story—I tell you no lies! It’s just not the same old song and dance. This stack actually provides LAN, WAN and career enhancing changes without smoke, mirrors or looking for a good deal on a straight jacket.

Now you probably already know that the MTU on a segment of data has been stuck at 64k MTU for, like, no less than about 30 years now, right? It’s definitely a serious and totally limiting problem with our old IPv4 networking stack. So yes, IPv4 is obsolete—it sucks and badly! It’s chock full of security holes, cramped with sorely inadequate segment sizes, besieged with legions of retransmissions—oh, not to mention that tiny, little issue of running out of addresses! Let’s face it, using the old windowing flow control has majorly constricted our lives like a hungry anaconda wrapped around our collective neck, we just didn’t know it. No, wait—I’ll be fair. Some of us did, it’s just that there weren’t exactly crowds of people listening—or even interested in doing so. Most people just don’t like change.

Well my friends, those, “that’s the way we’ve always done it”, days are gone…Vista/Sever 2008 networking is going to make you sit up and listen finally, whether you want to or not. Your only real choice is whether you opt to get a head start on this now, or pitifully bring up the rear later!

To wit, let me ask you this: Why break up our data streams into segments, create a window size, and then receive an acknowledgment from a remote host after that window size has been sent, then just keep repeating this process over and over and over again until all the data has been sent? If you answered, “well, because Todd, that’s how we do it”, you would be sort of right…Yes, that’s how we did it. Take a look at the figure and pay close attention to the encapsulation method—everyone should recognize it (click to enlarge):

The old network stacking process

Step-by-step, the network data is encapsulated and processed by the host.

Moving on: It’s the dreadful truth… By default, Windows and Vista are predators. They seek to and strive to bring down your innocent, vulnerable little network, and they’ll do it in a flash of gore given the teensiest window of opportunity! How? Stay tuned for next week’s blog and find out.

But what about the good part of Vista/Server 2008? Well, Windows and Vista want to send data streams from your application to your new, shiny, expensive network card—a TCP Offload Engine (TOE)— and full on skip the network stack all together. Doing this is called Chimney and it can be enabled on both Vista and Server 2008, and BTW, I highly recommend implementing this on all you servers—really! The reason why is that Chimney is proven to provide 60% more throughput on your server and an 800% (yes, 800%!) processor efficiency increase for your applications! Interested yet? Probably, but you may be wondering, “how does the data get from one host to another if we don’t use TCP and IP?” Gnomes/faeries/miracles? Well, kind of… you see, Chimney uses something called Vents that allow both TCP and IP to communicate to the remote host(s) and well to me, vents are pretty close to miraculous—check out the next figure:

The New Network Stack with Chimney Enabled

All of the network stack processing has been lifted from the host processors and instead are all processed on the network card.

Intel has a somewhat competitive, similar product out called Net Direct Memory Access (NetDMA), and it works the same way—sort of. But know that you can’t use Chimey and NetDMA together so don’t get duped into shelling out some serious capitol for a super pricey server with Intel I/O Acceleration Technology (I/O AT) if you have a TOE card. Sad but true, I’d say it’s a good bet although that a lot of companies will foolishly end up with servers that have both technologies thanks to ingenious marketing/sales traps!

And there’s more! Another great feature of the new networking stack is called receive side scaling (RSS) that works like this: When packets are received on a host, they’re placed into a buffer then processed through the networking stack. In order for this to happen, they must go through the processor. So, what if you’ve got a bunch of processors on your host or server? All packets being processed for the network stack can only be handled by one processor. Multiple processors are there to process the application data. The issue we all commonly face is that we require tons of network stack processing to be completed on an already busy, even overloaded server. But with an RSS capable network interface card, the network stack processing can be offloaded to multiple processors—something that Microsoft claims to provide an increase of 50% more requests per second on your server. Just imagine the exponentially increased performance in larger networking environments—wow!

So you can see there’s some pretty fascinating and seriously practical aspects loaded inside Vista/Server 2008—and I’ve only just begun talking about them! Just wait… Very soon, I’ll be telling you a couple more super cool and highly powerful features as well as about the great new logical networking stack called IPv6 that’s enabled by default on Vista/Server 2008. Added to what I’ve told you so far, these new features and IPV6 can truly make a serious improvement in your networking life now and the future!

I know you’re probably thinking I’m pretty confused, after all, what in the world am I doing talking about Microsoft stuff!? WHY are these Microsoft improvements important—relevant enough to warrant putting this on my Cisco blog? I’ll tell you that next week.

Chat soon,
Cheers!

Todd Lammle, CCSI# 31415, is CEO of Internetworking Training, Inc., a Sponsored Organization of Fast Lane Consulting & Education Services, Inc., a Cisco Learning Solutions Partner. GlobalNet Training, Inc is the exclusive reseller of Internetworking Training's "Todd Lammle Cisco Authorized Boot Camps."

Home | About | Blog | Events | Forum | Contact

© 2008 Todd Lammle | All Rights Reserved
Home About Todd Lammle Todd Lammle Blog Todd Lammle Speaking Event Calendar Contact Todd Lammle Todd Lammle Speaking Event Calendar Todd Lammle Blog GlobalNet Training Lammle Press