<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aaron&#039;s Worthless Words &#187; gre</title>
	<atom:link href="http://aconaway.com/tag/gre/feed/" rel="self" type="application/rss+xml" />
	<link>http://aconaway.com</link>
	<description>It&#039;s possible that someone somewhere needs to see this.</description>
	<lastBuildDate>Wed, 01 Feb 2012 02:07:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Network Protocol Overhead</title>
		<link>http://aconaway.com/2011/01/10/network-protocol-overhead/</link>
		<comments>http://aconaway.com/2011/01/10/network-protocol-overhead/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 15:19:36 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[ah]]></category>
		<category><![CDATA[esp]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[gre]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[l2tp]]></category>
		<category><![CDATA[mpls]]></category>
		<category><![CDATA[overhead]]></category>
		<category><![CDATA[packet]]></category>
		<category><![CDATA[ppp]]></category>
		<category><![CDATA[protocol]]></category>
		<category><![CDATA[rtp]]></category>
		<category><![CDATA[tcp]]></category>
		<category><![CDATA[udp]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=1301</guid>
		<description><![CDATA[Here are some packet overhead numbers for a few popular protocols to help with doing bandwidth requirement calculations.]]></description>
			<content:encoded><![CDATA[<p>Here are some packet overhead numbers for a few popular protocols to help with doing bandwidth requirement calculations.&nbsp; This may be another add-as-we-go post, so please comment with additions or corrections.</p>
<blockquote>
<p>Ethernet : 20 bytes<br />
		Frame Relay : 4 &#8211; 6 bytes<br />
		PPP : 6 bytes<br />
		MLPPP: 10 bytes<br />
		MPLS : 4 bytes</p>
</blockquote>
<blockquote>
<p>IP : 20 bytes</p>
</blockquote>
<blockquote>
<p>TCP : 20+ bytes<br />
		UDP : 8 bytes<br />
		GRE:&nbsp; 4 &#8211; 20+ bytes</p>
<p>IPSec : 50 &#8211; 57 bytes<br />
		ESP : 20+ bytes<br />
		AH : 16+ bytes<br />
		L2TP : 24 bytes<br />
		RTP : 12 bytes</p>
<p>Bonus:&nbsp; A voice packet is always 40 bytes + data link since it will always (?) use RTP + UDP + IP.</p>
</blockquote>
<p><strong>Sources<br />
	</strong></p>
<p><a href="http://www.ciscopress.com/bookstore/product.asp?isbn=1587202077">CCNA Voice Official Exam Certification Guide (640-460 IIUC)</a></p>
<p><a href="http://sd.wareonearth.com/~phil/net/overhead/">Protocol Overhead<br />
	</a></p>
<p><a href="http://en.wikipedia.org/wiki/Generic_Routing_Encapsulation">Generic Routing Encapsulation<br />
	</a></p>
<p><a href="http://en.wikipedia.org/wiki/IPsec">IPSec<br />
	</a></p>
<p><a href="http://tools.ietf.org/html/rfc4302#page-4">IP Authentication Header<br />
	</a></p>
<p><a href="http://www.networksorcery.com/enp/protocol/esp.htm">Encapsulating Security Payload<br />
	</a></p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2011/01/10/network-protocol-overhead/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stubby Post &#8211; A Story on VPN Hardware Acceleration</title>
		<link>http://aconaway.com/2010/11/01/stubby-post-a-story-on-vpn-hardware-acceleration/</link>
		<comments>http://aconaway.com/2010/11/01/stubby-post-a-story-on-vpn-hardware-acceleration/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 18:19:27 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[acceleration]]></category>
		<category><![CDATA[aim]]></category>
		<category><![CDATA[gre]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[rtt]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=1178</guid>
		<description><![CDATA[We use a hosted application that requires IPSec tunnels to the provider from different properties across the country.&#160; The ones in the lower 48 perform adequately, but the new one in Alaska is absolutely horrible.&#160; The RTT from the continental US sites was around 80ms, but the same from the Frozen North was 350ms.&#160; I immediate wrote it off to the vast distance (about 3400 miles one-way by road), but the senior engineer, working as hard as he does, wanted to see if he could shave a few milliseconds off the time. To experiment, he turned up a new IPSec tunnel to our headquarters and found he was getting ping times of right around 350ms again.&#160; He then turned up an unencrypted GRE tunnel back to the same router at headquarters.&#160; Guess what?&#160; RTT went down to 80ms.&#160; He enabled encyption on that same tunnel, and RTT was back up to 350ms.&#160; Coincidence?&#160; I think not. He did an inventory of the router in Alaska and found that it was an EoL Cisco device without an AIM module for VPN acceleration; the sites south of Canada all had fairly-modern routers decked out with the accelerator cards.&#160; It seems that we [...]]]></description>
			<content:encoded><![CDATA[<p>We use a hosted application that requires IPSec tunnels to the provider from different properties across the country.&nbsp; The ones in the lower 48 perform adequately, but the new one in Alaska is absolutely horrible.&nbsp; <span id="more-1178"></span>The RTT from the continental US sites was around 80ms, but the same from the Frozen North was 350ms.&nbsp; I immediate wrote it off to the vast distance (about 3400 miles one-way by road), but the senior engineer, working as hard as he does, wanted to see if he could shave a few milliseconds off the time.</p>
<p>To experiment, he turned up a new IPSec tunnel to our headquarters and found he was getting ping times of right around 350ms again.&nbsp; He then turned up an unencrypted GRE tunnel back to the same router at headquarters.&nbsp; Guess what?&nbsp; RTT went down to 80ms.&nbsp; He enabled encyption on that same tunnel, and RTT was back up to 350ms.&nbsp; Coincidence?&nbsp; I think not.</p>
<p>He did an inventory of the router in Alaska and found that it was an EoL Cisco device without an AIM module for VPN acceleration; the sites south of Canada all had fairly-modern routers decked out with the accelerator cards.&nbsp; It seems that we were seeing quadruple RTT simply because we were doing the encryption and decryption in software!&nbsp; I&#39;ve seen an AIM module give a significant boost to VPN performance in the past, but I&#39;ve never seen it quantified so clearly.&nbsp; This was a big eye-opener for me on the importance of having the right hardware for the job.</p>
<p>A new router is on its way up to Alaska.&nbsp; This one has the accelerator card in it.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2010/11/01/stubby-post-a-story-on-vpn-hardware-acceleration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QoS Pre-classify and Class-map Order</title>
		<link>http://aconaway.com/2010/03/06/qos-pre-classify-and-class-map-order/</link>
		<comments>http://aconaway.com/2010/03/06/qos-pre-classify-and-class-map-order/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 05:18:20 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[ont]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[gre]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[pre-classify]]></category>
		<category><![CDATA[qos]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=539</guid>
		<description><![CDATA[I’m still studying for the ONT test, so I did some labs tonight.&#160; One of them was to demonstrate the qos pre-classify command for tunnel interfaces.&#160; When you have a packet sent over a GRE tunnel, the ToS field gets copied to the GRE packet, but there’s no way to see the original packet’s higher-level headers on the way out the interface.&#160; This can be a problem if your service policy needs to see protocol, port, IPs, etc.&#160; The fix for that is to enable qos pre-classify on the tunnel interface and cyrpto map; doing so will provide a copy of the original packet to the physical interface to classify the packet thoroughly. Here’s the lab.&#160; I was testing from TestHost1 to TestHost2 and configuring R1 to do the pre-classification.&#160; Both R1 and R2 are 3640s running IOS 12.4(25b) and have a GRE tunnel between them. I created a policy map that simply acknowledges the existence of ICMP packets; the router doesn’t do anything except match them in a class-map and smile at them on the way through.&#160; Here’s the snippet. class-map ICMP match protocol icmp ! policy-map PM-S1/0-OUT class ICMP ! interface S1/0 service-policy output PM-S1/0-OUT ! interface tunnel [...]]]></description>
			<content:encoded><![CDATA[<p>I’m still studying for the ONT test, so I did some labs tonight.&#160; One of them was to demonstrate the <strong>qos pre-classify</strong> command for tunnel interfaces.&#160; When you have a packet sent over a GRE tunnel, the ToS field gets copied to the GRE packet, but there’s no way to see the original packet’s higher-level headers on the way out the interface.&#160; This can be a problem if your service policy needs to see protocol, port, IPs, etc.&#160; The fix for that is to enable qos pre-classify on the tunnel interface and cyrpto map; doing so will provide a copy of the original packet to the physical interface to classify the packet thoroughly.</p>
<p>Here’s the lab.&#160; I was testing from TestHost1 to TestHost2 and configuring R1 to do the pre-classification.&#160; Both R1 and R2 are 3640s running IOS 12.4(25b) and have a GRE tunnel between them.</p>
<p><a href="http://aconaway.com/wp-content/uploads/2010/03/qospre11.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="qospre1" border="0" alt="qospre1" src="http://aconaway.com/wp-content/uploads/2010/03/qospre1_thumb1.png" width="244" height="127" /></a> </p>
<p>I created a policy map that simply acknowledges the existence of ICMP packets; the router doesn’t do anything except match them in a class-map and smile at them on the way through.&#160; Here’s the snippet.</p>
<blockquote><pre>class-map ICMP
 match protocol icmp
!
policy-map PM-S1/0-OUT
 class ICMP
!
interface S1/0
 service-policy output PM-S1/0-OUT
!
interface tunnel 0
 qos pre-classify</pre>
</blockquote>
<p>Not much going on there.&#160; We match ICMP using NBAR’s built-in protocols and do absolutely nothing.&#160; I did a few pings and noticed that there were no matches to the ICMP class and that all the packets were classified as class-default .&#160; I thought that the pre-classify wasn’t working, so I cursed for a while after making no progress at all.&#160; I had no idea what was wrong.</p>
<blockquote>
<pre>R1#sh policy-map int s1/0
 Serial1/0

  Service-policy output: PM-S1/0-OUT

    Class-map: ICMP (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps
      Match: protocol icmp
        0 packets, 0 bytes
        5 minute rate 0 bps

    Class-map: class-default (match-any)
      467 packets, 39832 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any</pre>
</blockquote>
<p><em>I need to stop here so people don’t get confused.&#160; The configuration that you see is correct; the problem was actually with the NBAR protocols in the class-map.&#160; As Jeremy Stretch notes at the bottom of </em><a href="http://www.packetlife.net/blog/2009/jun/17/qos-pre-classification/"><em>this article</em></a><em>, there’s some issue with matching NBAR protocols.&#160; I later used an extended ACL to match ICMP which worked.&#160; The same is true for the SSH stuff later.&#160; Back to the show.</em></p>
<p>Here’s what I wound up with after cursing a lot and making random configuration changes to get the blasted thing to work.&#160; Notice the order of the classes.</p>
<blockquote>
<pre>class-map match-any TUNNEL
 match protocol gre
!
policy-map PM-S1/0-OUT
 class TUNNEL
 class ICMP</pre>
</blockquote>
<p>I know that order is going to be important, but these are matching two totally different things, so it shouldn’t matter, right?&#160; I checked out the policy-map again and saw that every packet was matching the TUNNEL class-map, and none were matching the ICMP class-map.</p>
<blockquote>
<pre>R1#sh policy-map int s1/0
 Serial1/0

  Service-policy output: PM-S1/0-OUT

    Class-map: TUNNEL (match-any)
      441 packets, 49392 bytes
      5 minute offered rate 2000 bps
      Match: protocol gre
        441 packets, 49392 bytes
        5 minute rate 2000 bps

    Class-map: ICMP (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps
      Match: access-group name ICMP
        0 packets, 0 bytes
        5 minute rate 0 bps

    Class-map: class-default (match-any)
      467 packets, 39832 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any</pre>
</blockquote>
<p>I finally went downstairs, talked it over with my wife who is my <a href="http://etherealmind.com/network-dictionary-rubber-duck-debugging/">rubber duck</a>, and finally figured it wouldn’t hurt to change the order of the classes.&#160; Once I put ICMP before TUNNEL, it started matching.&#160; I thought that was odd, so I left ICMP and added an SSH class and put it after the TUNNEL class.&#160; I saw the ICMP match and the tunnel match, but I didn’t see a single match on SSH even though I was SSHed through (not to) the router.&#160; </p>
<blockquote>
<pre>R1#sh policy-map int s1/0
 Serial1/0

  Service-policy output: PM-S1/0-OUT

    Class-map: ICMP (match-any)
      252 packets, 28224 bytes
      5 minute offered rate 0 bps
      Match: access-group name ICMP
        252 packets, 28224 bytes
        5 minute rate 0 bps

    Class-map: TUNNEL (match-any)
      5 packets, 440 bytes
      5 minute offered rate 0 bps
      Match: protocol gre
        5 packets, 440 bytes
        5 minute rate 0 bps

    Class-map: SSH (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps
      Match: access-group name SSH
        0 packets, 0 bytes
        5 minute rate 0 bps

    Class-map: class-default (match-any)
      547 packets, 46588 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any</pre>
</blockquote>
<p>When I moved SSH above TUNNEL, it started incrementing as it should.&#160; The best that I can tell is that both the original packet and the GRE packet are being evaluated when pre-classification is enabled.&#160; Since all the packets in the lab are going over a GRE tunnel, GRE will always be matched if you assess before everything else.</p>
<p>For the record, I did this lab twice – once with the GRE tunnel encrypted and once without encryption.&#160; The results of the pre-classification were the same in both attempts; GRE matches every time.</p>
<p>Send any <strike>ROUTE class vouchers</strike> questions my way.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2010/03/06/qos-pre-classify-and-class-map-order/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GRE Tunnels and Encryption</title>
		<link>http://aconaway.com/2008/03/18/gre-tunnels-and-encryption/</link>
		<comments>http://aconaway.com/2008/03/18/gre-tunnels-and-encryption/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 15:38:40 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gre]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://aconaway.com/2008/03/18/gre-tunnels-and-encryption/</guid>
		<description><![CDATA[GRE tunnels rock.  They are interfaces on a router that are used to &#8220;connect&#8221; to another router somewhere on your LAN, your WAN, the Internet, wherever.  The most popular use for them is for router-to-router VPNs. I&#8217;ll let my friend Josh from blindhog.net show you how to do it.  He&#8217;s got a video on how to configure the tunnels, and another on how to set it up for VPN. Aaron ConawayI like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.Website - More Posts]]></description>
			<content:encoded><![CDATA[<p>GRE tunnels rock.  They are interfaces on a router that are used to &#8220;connect&#8221; to another router somewhere on your LAN, your WAN, the Internet, wherever.  The most popular use for them is for router-to-router VPNs.</p>
<p>I&#8217;ll let my friend Josh from <a title="Blindhog.net -- Main Page" href="http://blindhog.net">blindhog.net</a> show you how to do it.  He&#8217;s got <a title="Blindhog.net -- How to configure a GRE/IPSec VPN - Part 1" href="http://www.blindhog.net/how-to-configure-a-greipsec-vpn-part-1/">a video on how to configure the tunnels</a>, and <a title="Blindhog.net -- How to configure a GRE/IPSec VPN - Part 2" href="http://www.blindhog.net/how-to-configure-a-greipsec-vpn-part-2/">another on how to set it up for VPN</a>.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2008/03/18/gre-tunnels-and-encryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

