<?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>SGT CCIE &#187; frame relay</title>
	<atom:link href="http://www.sgtccie.com/blog/tag/frame-relay/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sgtccie.com/blog</link>
	<description>A man on a mission</description>
	<lastBuildDate>Sun, 02 Oct 2011 14:22:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Frame Relay Traffic Shaping (FRTS)</title>
		<link>http://www.sgtccie.com/blog/2009/05/frame-relay-traffic-shaping-frts/</link>
		<comments>http://www.sgtccie.com/blog/2009/05/frame-relay-traffic-shaping-frts/#comments</comments>
		<pubDate>Wed, 13 May 2009 14:00:53 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[CCIE]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Routing & Switching]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[frame relay traffic shaping]]></category>
		<category><![CDATA[FRTS]]></category>
		<category><![CDATA[traffic-shaping]]></category>

		<guid isPermaLink="false">http://www.sgtccie.com/blog/?p=243</guid>
		<description><![CDATA[<a href="http://www.sgtccie.com/blog/2009/05/frame-relay-traffic-shaping-frts/" title="Frame Relay Traffic Shaping (FRTS)"></a>While at a first glance, Frame Relay Traffic Shaping (or FRTS) seems daunting..it&#8217;s really not bad. For those of you unfamiliar with FRTS, I&#8217;ll present a couple of scenarios where you may need to configure it. High speed interface &#8211;&#62; &#8230;<p class="read-more"><a href="http://www.sgtccie.com/blog/2009/05/frame-relay-traffic-shaping-frts/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.sgtccie.com/blog/2009/05/frame-relay-traffic-shaping-frts/" title="Frame Relay Traffic Shaping (FRTS)"></a><p>While at a first glance, Frame Relay Traffic Shaping (or FRTS) seems daunting..it&#8217;s really not bad. For those of you unfamiliar with FRTS, I&#8217;ll present a couple of scenarios where you may need to configure it.</p>
<p><br class="spacer_" /></p>
<ol>
<li>High speed interface &#8211;&gt; Low speed interface:  Picture you have one node connecting to the frame relay cloud at 1.544 Mbps, and the router at the far end connecting to the cloud at only 54Kbps. You are essentially creating a bottleneck in this scenario, and will surely experience congestion due to the downstream router having a lower access rate. Shaping the traffic ensures you are sending the data at a speed the other end can handle. </li>
<li>Oversubscription: Let&#8217;s say your access rate (the max rate that you can send to the provider) is 128Kbps, but your CIR is only 32Kbps. You can burst above the CIR, but if congestion occurs drop back to your CIR. This ensures that bandwidth is not sitting idle and going unused..the idea is that not all users will require 100% of their bandwidth all of the time. </li>
</ol>
<p><br class="spacer_" /></p>
<p>The information I&#8217;m going to present is mostly aimed at the first scenario. Let&#8217;s say we have a topology as such:</p>
<p><span style="font-size: large;"><img class="size-full wp-image-249 alignleft" title="frts_drawing1" src="http://www.sgtccie.com/blog/wp-content/uploads/2009/05/frts_drawing1.jpg" alt="frts_drawing1" width="741" height="118" /><br />
 </span></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>In such a scenario, the Access rate- or the maximum rate that the user can send data, is found on the serial links above. R1 can access the FR cloud at 256K, however R2 can only access it at 128K. Because of this mismatch, it would experience congestion at the interface leaving the FR cloud onto R2&#8242;s serial link. Let&#8217;s get some terminology out of the way that we must take care of.</p>
<p><strong>AR</strong>- Access-rate- The maximum rate the user can inject data into the FR network</p>
<p><strong>CIR</strong>- Committed Information Rate- The rate you would like to send under regular conditions to the service provider</p>
<p><strong>Mincir</strong>- The actual guaranteed rate by the service provider. Sending less then this means you are not getting the bandwidth you have paid for. We can use mincir to &#8220;fall back&#8221; in times of congestion, and when things clear up bring our rate back to the CIR.</p>
<p><strong>Tc</strong>- Time interval- By default, the service provider will divide one second into 8 parts, of 125ms in each &#8220;section&#8221;.</p>
<p><strong>Bc</strong>- Committed Burst- CIR/Tc. What&#8217;s this mean? Say we have a CIR of 56000, then we divide that by the number of Tc intervals..by default 8. That means our Bc is 56000/8 = 7000 bits per <strong>timing interval</strong>. This means that every timing interval will send 7000 bits, 8 times to make up our CIR of 56000. Of course, we don&#8217;t have to send at that rate..if we don&#8217;t, the unused bandwidth can go to your token bucket filter..which allows you to burst above your Bc&#8230;this burst above Bc is called Be, or Excess burst.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-283" title="frts_drawing_good3" src="http://www.sgtccie.com/blog/wp-content/uploads/2009/05/frts_drawing_good3.jpg" alt="frts_drawing_good3" width="738" height="475" /></p>
<p style="text-align: left;"><strong>Be</strong>- Excess Burst- Data sent above the Bc (Committed burst) per Tc (Timing interval).</p>
<p><br class="spacer_" /></p>
<p><strong>Be (Excess Burst) Breakdown:</strong> If you are sending below your CIR, you can accrue &#8220;tokens&#8221; in your token bucket, to use at a time you need to burst above your Bc. It is important to note that you should only configure a Be value (the amount you want to burst above Bc..provided you have the credit available in your token bucket) if your CIR is LESS then your AR. This makes sense, if your AR (access rate) is 56k, and your CIR is 56k..you don&#8217;t want to try to burst above that. It will not work!</p>
<p><strong><em>Case study:</em></strong> Without going into the configuration yet, the above example uses the adaptive shaping becn command. This causes the router to react to becn&#8217;s and adjust it&#8217;s throughput on the fly. Using the diagram above, let&#8217;s review what exactly is going on. In the first interval (0-125ms), we use our token bucket credit, and send our Bc plus our Be, with our total throughput for that interval being 24k..for that <em>ONE</em> interval. After the first time interval, we start sending at our CIR, which is 128k divided by the amount of time intervals- by default this is 8. That means we are sending 16000 bits per interval. <em>The best way to think about this is that CIR is your regular throughput- over the period of 1 second.</em> Your Bc is simply your CIR but broken up into time intervals.</p>
<p>Now, you&#8217;ll see at 500ms that we receive a BECN. FRTS throttles the transmit rate 25% once per interval, upon each BECN received until it reaches the Min CIR value, which in our case is 56k, or 7000 bits per interval. After throttling down to Min CIR, the router must allow 16 time intervals (2 seconds by default) to pass with no BECN&#8217;s being received, before ramping the transmit rate back up to the normal CIR. The amount it will increase by is called the byte limit, and can be seen with a show frame pvc X.</p>
<p><strong>Interesting notes regarding FRTS:</strong></p>
<ul>
<li>If you configure &#8220;frame-relay traffic-shaping&#8221; under the interface but with no map-class configured/specified, the default CIR value will be 56000 bps. </li>
<li>By default, Min CIR is 1/2 of CIR (although in the above example we did it a little bit different)</li>
<li>You cannot configure the interval (Tc). The router calculates Tc based on CIR/Bc values..so although you can&#8217;t explicitly configure Tc, you can influence it by CIR/Bc values..although this also has other implications.</li>
<li>Bc = CIR/8 (by default), ie: 56000/8 = 7000 (Bc)</li>
<li>After fully configuring FRTS, if you do a &#8220;<strong>show frame pvc x</strong>&#8220;, it will show &#8220;traffic shaping inactive&#8221;. It will not show active until traffic passes that fall within the scope of the shaping.</li>
<li>Shaping activates upon the following events: BECN&#8217;s received and the DLCI is configured for adaptive shaping (BECN), FRF.12 fragmentation is configured with packets waiting to be fragmented, the number of bytes waiting to leave the interface is more then the byte limit (available credit)</li>
<li>FRTS allows you to control per-VC shaping/traffic</li>
<li>Can use WFQ/CQ/PQ or FIFO (FIFO by default)</li>
<li>In addition to configuring adaptive shaping on BECN receipt, you can configure the interface to react to interface congestion</li>
</ul>
<p>That&#8217;s all I really have for now. There&#8217;s a lot of little details for FRTS that can be kind of tricky, but as a whole it&#8217;s fairly straightforward. I hope to post several configuration examples in the next post, although I personally feel the difficulty in FRTS lies in the terminology/concepts. Once you get those the rest is cake. Take care!</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtccie.com/blog/2009/05/frame-relay-traffic-shaping-frts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My CCIE status</title>
		<link>http://www.sgtccie.com/blog/2009/05/my-ccie-status/</link>
		<comments>http://www.sgtccie.com/blog/2009/05/my-ccie-status/#comments</comments>
		<pubDate>Tue, 12 May 2009 07:45:17 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[ask the expert]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[Ipexpert]]></category>
		<category><![CDATA[jared scrivener]]></category>
		<category><![CDATA[prefix-list]]></category>
		<category><![CDATA[switching]]></category>

		<guid isPermaLink="false">http://www.sgtccie.com/blog/?p=239</guid>
		<description><![CDATA[<a href="http://www.sgtccie.com/blog/2009/05/my-ccie-status/" title="My CCIE status"></a>Well, I am feeling a lot better. Whatever I had was horrible, and took about 7-9 days to get rid of. I don&#8217;t feel 100% yet, but I&#8217;m back at work for better or worse. Figured I would make a &#8230;<p class="read-more"><a href="http://www.sgtccie.com/blog/2009/05/my-ccie-status/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.sgtccie.com/blog/2009/05/my-ccie-status/" title="My CCIE status"></a><p>Well, I am feeling a lot better. Whatever I had was horrible, and took about 7-9 days to get rid of. I don&#8217;t feel 100% yet, but I&#8217;m back at work for better or worse. Figured I would make a post with my current status as it relates to CCIE study. I&#8217;ve been studying cisco docs a lot lately, mostly centered around Frame Relay. I haven&#8217;t labbed much in the past week since I have been sick, and not gotten a lot of sleep. I plan on labbing tomorrow morning, but we&#8217;ll see how I feel after I get off work. Right now I work 7:30pm till 7:30am, so when I get home I&#8217;m usually ready to crash! Here&#8217;s some other updates:</p>
<ul>
<li>The <strong>free CCNA audio nuggets </strong>are somewhat on the back burner right now. I have the class layout drawn up, and it&#8217;s ready to be recorded, but time has been so short lately, and the CCIE study takes precedence over those. Once things free up a bit I&#8217;m going to record that and post it.</li>
<li>I attended Jared Scrivener&#8217;s (Triple CCIE from IPexpert) Ask the expert session on Prefix-lists as it relates to BGP the other day. It was pretty good. I definitely left that session with a better understanding of prefix-lists. The following morning I labbed some BGP to play with prefix-lists a bit and get a more functional understanding of them. I think the key without doubt to prefix-lists is knowing your binary. If you know your binary and the layout of a prefix-list, you can figure it out. Maybe I&#8217;ll post something up once more time allows.</li>
<li>I&#8217;m realistically about 50-60% done with Switching and Frame Relay as far as technology based labs. I&#8217;ve completed all of the tasks in IE Vol I, but I&#8217;m going through the Cisco docs and using those as my yardstick. Once I feel like I&#8217;ve got the majority of topics covered I&#8217;ll move on to IGP. </li>
</ul>
<p>That&#8217;s about it for now. I am going to hop off here and get back to reading. I make it a point to pick a subject each night at work and read about it in the cisco docs. Don&#8217;t know how much it&#8217;s helping, but it certainly can&#8217;t hurt!</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtccie.com/blog/2009/05/my-ccie-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swine flu&#8230;</title>
		<link>http://www.sgtccie.com/blog/2009/05/swine-flu/</link>
		<comments>http://www.sgtccie.com/blog/2009/05/swine-flu/#comments</comments>
		<pubDate>Thu, 07 May 2009 20:30:23 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[eigrp]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[ospf]]></category>
		<category><![CDATA[RIP]]></category>
		<category><![CDATA[swine flu]]></category>
		<category><![CDATA[switching]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.sgtccie.com/blog/?p=237</guid>
		<description><![CDATA[<a href="http://www.sgtccie.com/blog/2009/05/swine-flu/" title="Swine flu..."></a>Well, I wish I had more to update you all with. I got very sick last week, with a temp of 102F, chills, body aches, and all the general symptoms that come with being &#8220;really&#8221; sick. I guess this was &#8230;<p class="read-more"><a href="http://www.sgtccie.com/blog/2009/05/swine-flu/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.sgtccie.com/blog/2009/05/swine-flu/" title="Swine flu..."></a><p>Well, I wish I had more to update you all with. I got very sick last week, with a temp of 102F, chills, body aches, and all the general symptoms that come with being &#8220;really&#8221; sick. I guess this was my karma, as I had been joking about how the H1N1 (formerly the &#8220;swine flu&#8221;) virus was being blown up by the media. Shortly after I got hit with whatever this is, and it hit me hard. I never saw the doctor, but I am recovering slowly, so it looks like I&#8217;ll live.</p>
<p>Being sick has put a damper in my studies for sure. I haven&#8217;t had any energy, let alone motivation, and as a result haven&#8217;t gotten much done. I did review some RIP/Frame Relay/Switching tech labs a little. I plan on getting a frame relay article up soon, so look for that. It won&#8217;t be so much a &#8220;how to&#8221;, but more of a &#8220;things to know..&#8221; type format.</p>
<p>At the moment I am beginning to get into the EIGRP tech labs. They shouldn&#8217;t be too bad, but we&#8217;ll see. I have always used OSPF, not EIGRP in enterprise environments, so this will be my first time really diving deep into the protocol.</p>
<p>Anyway, more to come in a little while. It&#8217;s time for me to transition from SGT CCIE to the daycare taxi for the little one..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtccie.com/blog/2009/05/swine-flu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random Frame Relay/Lab thoughts</title>
		<link>http://www.sgtccie.com/blog/2009/04/random-frame-relaylab-thoughts/</link>
		<comments>http://www.sgtccie.com/blog/2009/04/random-frame-relaylab-thoughts/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 22:53:45 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ARP]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[ccna]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[Cisco_trooper]]></category>
		<category><![CDATA[CT's Journey]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[pvc]]></category>

		<guid isPermaLink="false">http://www.sgtccie.com/blog/?p=175</guid>
		<description><![CDATA[<a href="http://www.sgtccie.com/blog/2009/04/random-frame-relaylab-thoughts/" title="Random Frame Relay/Lab thoughts"></a>Alright, this isn&#8217;t a straight tech article, but I just wanted to post showing that I&#8217;ve made progress. I finished 100% of IEWB Vol I frame relay labs three times now, the first using help and looking up articles to &#8230;<p class="read-more"><a href="http://www.sgtccie.com/blog/2009/04/random-frame-relaylab-thoughts/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.sgtccie.com/blog/2009/04/random-frame-relaylab-thoughts/" title="Random Frame Relay/Lab thoughts"></a><p>Alright, this isn&#8217;t a straight tech article, but I just wanted to post showing that I&#8217;ve made progress. I finished 100% of IEWB Vol I frame relay labs three times now, the first using help and looking up articles to get things straight, and the last two with no outside help, just trying to make sure I understand why things are happening and doing lots of verification. I decided to move onto the RIP labs again, because last time I did them they were over P2P serial links, not a FR cloud. The biggest thing I&#8217;ve noticed with Frame relay..be patient. Verification is key with FR, and patience is important as well. I&#8217;ve noticed on several occasions where a PVC would not come up, and a simple &#8220;shut/no shut&#8221; or &#8220;Clear frame inarp&#8221; was required. A couple of times just waiting was all it took for the PVC to come up. A lot of this comes from Inverse-ARP, which from what I&#8217;ve read/heard can really mess you up on the lab if enabled, but still, it&#8217;s good to know! Anyway, I&#8217;ll post more once I get a little further. I&#8217;m also in the process of watching Jeremy Ciora&#8217;s CBT nuggets for the CCIE, as well as reading.</p>
<p>For more on adding Frame Relay to your CCIE studies, see <a href="http://cisco-ccie-certification.ipnetworksllc.com/2009/04/adding-frame-relay-to-your-cisco-cert.html">CT&#8217;s (Cisco_trooper) blog</a><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtccie.com/blog/2009/04/random-frame-relaylab-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QoS: Essentials, Part II</title>
		<link>http://www.sgtccie.com/blog/2009/03/qos-essentials-part-ii/</link>
		<comments>http://www.sgtccie.com/blog/2009/03/qos-essentials-part-ii/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 20:56:09 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[QoS]]></category>
		<category><![CDATA[atm]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[ccna]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[classification]]></category>
		<category><![CDATA[congestion]]></category>
		<category><![CDATA[DSCP]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[marking]]></category>
		<category><![CDATA[mpls]]></category>
		<category><![CDATA[nbar]]></category>
		<category><![CDATA[quality of service]]></category>

		<guid isPermaLink="false">http://www.sgtccie.com/blog/?p=47</guid>
		<description><![CDATA[<a href="http://www.sgtccie.com/blog/2009/03/qos-essentials-part-ii/" title="QoS: Essentials, Part II"></a>In QoS: Essentials, Part I, we discussed what QoS is, classifying/marking traffic, and trust boundaries. In Part II, we will get into the actual types of marking, do an overview of NBAR, and finally get into Congestion management/Queuing. Ready? Types &#8230;<p class="read-more"><a href="http://www.sgtccie.com/blog/2009/03/qos-essentials-part-ii/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.sgtccie.com/blog/2009/03/qos-essentials-part-ii/" title="QoS: Essentials, Part II"></a><p>In QoS: Essentials, Part I, we discussed what QoS is, classifying/marking traffic, and trust boundaries. In Part II, we will get into the actual types of marking, do an overview of NBAR, and finally get into Congestion management/Queuing. Ready?</p>
<p><strong>Types of Marking</strong>:</p>
<p>There are several different ways to mark, and each one is suited for a special situation. For example, if you&#8217;re running QoS over frame relay, you&#8217;d use the Frame Relay DE (discard elgibility) bit, whereas if you&#8217;re using ATM, you&#8217;d opt for the CLP (Cell loss priority) bit, etc. For now, we are going to simply discuss the different types. First, it is important to note ahead of time that we are going to be discussing markings that are used on layer 2, and some that are used on layer 3. Here are the breakdowns:</p>
<p><br class="spacer_" /></p>
<div><img class="aligncenter size-full wp-image-50" title="markings" src="http://www.sgtccie.com/blog/wp-content/uploads/2009/03/markings.jpg" alt="markings" width="325" height="148" /></div>
<p><br class="spacer_" /></p>
<div style="text-align: left;">
<ul style="text-align: left;">
<li>CoS (Class of Service): CoS is very common in a LAN environment, as it is marked at Layer 2. In the graphic below, we have an 802.1Q frame, with the PRI field (used for CoS) inside a 4 byte tag, where you find the Type ID (TPID), will always be <span class="content">0&#215;8100 in order to identify the frame as an IEEE 802.1Q frame. Next we have the PRI field, which is 3 bits long (8 total values, 0-7), then the CFI, and VLAN ID. The key part here is to remember the PRI field is 3 bits, and can have 8 possible values. Thus our CoS values can be anywhere from zero up to seven. To give you some perspective on this, most Cisco IP phones will tag their traffic with a CoS of 5 by default, putting it into the critical category. This makes sense, since VoIP traffic is very sensitive to delay/jitter. </span></li>
</ul>
<p><img class="aligncenter size-full wp-image-52" title="8021q_p_frame_cos" src="http://www.sgtccie.com/blog/wp-content/uploads/2009/03/8021q_p_frame_cos.jpg" alt="8021q_p_frame_cos" width="690" height="218" /></p>
<p><br class="space_" /><br class="space_" /><br class="space_" /><br class="space_" /><br class="space_" /><br />
 <br class="space_" /><br class="space_" /><br class="space_" /><br class="space_" /></p>
<ul style="text-align: left;">
<p><br class="space_" /></p>
<li><strong>DE bit:</strong> The Discard Elgibility bit is used in Frame relay environments. Here&#8217;s the concept. The USPS mail guy does his usual mail run, and heads back to the office to pick up more mail. Upon arriving, he realizes he has entirely too much to take, so he takes only the unmarked pieces of mail, and leaves the ones with a red marking behind..or drops them. Essentially all that happens with the DE bit is that you are telling nodes along the path that this packet *can* be dropped before others do <em>in times of network congestion- </em>or when the router cannot handle all of the traffic. The other end does not have to act on this bit at all, however. If it does choose to, however, the packets with the DE bit set will be dropped before those with no bit set. </li>
<p><br class="spacer_" /></p>
<li><strong>CLP (Cell Loss Priority):</strong> The CLP bit works the same as the DE bit in concept, except will be used in ATM cells.</li>
<p><br class="spacer_" /></p>
</ul>
</div>
<div style="text-align: left;">
<ul>
<li><strong>IP Precedence:</strong> Now we&#8217;re talking about Layer 3. In 1981, the ToS byte was used to set a certain level of service for that packet. Inside the byte was IP precedence (3 bits, the same as CoS), a ToS field (yes, a ToS field within a ToS byte, which was 4 bits), then the remaining 7 bits were unused. IP Precedence is fine, but DiffServ is quickly becoming standard, with engineers opting for DSCP marking, as it can be more grainular. Instead of 0-5 IP Precedence levels, you have from 0-63 with DSCP. That being said, DSCP is backward compatible with IP Precedence..there are 8 DSCP values that map to IP Precedence values. If a network running IP Precedence receives a packet marked with DSCP, it will simply read the first 3 bits of the DSCP, which it thinks is just a regular IP Precedence mark. That&#8217;s another time and place, however! </li>
<p><br class="spacer_" /></p>
<li><strong>DSCP (Differentiated Services Code Point):</strong> The ToS byte has been redefined as the DSCP field, with the 6 most signifigant bytes making up the DSCP value, and the last two bits being the ECN, or Explicit Congestion Notification bits. As I said, DSCP is backward compatible with IP Precedence, so if a system receives an IP packet with a DSCP value, remember that it will only read the most signifigant 3 bits, and treat it as IP Precedence. With DSCP, you set the DSCP value, which in turn causes a DiffServ node to act in a certain way towards that packet..this is called <em>Per-Hop Behavior</em>. In a nutshell, the node reads the DSCP, and realizes it is part of a group (or behavior aggregate..BA for short), and treats it the same way for the rest of the packets belonging to that BA.</li>
<p><br class="spacer_" /></p>
<li><strong>MPLS EXP:</strong> Ok, this one is kind of odd. Without diving into MPLS too deep, here is a breakdown. MPLS packets can be thought of as a regular IP packet with a 4 byte (or more) MPLS header inside it. The IP packet (with MPLS header inside..) is then encapsulated in a Layer 2 protocol, such as ethernet. It is then sent. Because of the fact that it is technically in a layer 3 packet, but encapsulated by layer 2, the MPLS header can almost be considered Layer 2 1/2. The MPLS header consists of only 4 fields, the label (which is basically like a color that is marked on the packet), the EXP bits (3 bits to be exact), BS bit (bottom-of-stack), and TTL. Inside the EXP bits, you have the same values as you do for CoS, or IP Precedence.</li>
<p><br class="spacer_" /></p>
</ul>
</div>
<p><strong>NBAR: Digging deep&#8230;</strong></p>
<p>Prepare to be amazed! NBAR, also known as Network Based Application Recognition..is incredible. NBAR is a feature found in Cisco IOS, which can allow you to check traffic statistics, protocol discovery, and classify your traffic&#8230;for you! Let&#8217;s say you decide you want to implement QoS on your network. The first step is to identify traffic and requirements, right? Well, with NBAR, you can simply issue the following on the interface you wish to monitor:</p>
<p><code>SGTccie(config-if)#ip nbar protocol-discovery</code></p>
<p>In order to actually see the traffic statistics, we&#8217;d then issue the following command from enable mode:</p>
<p><br class="spacer_" /></p>
<div><code>SGTccie#show ip nbar protocol-discovery</code></div>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>It is worth mentioning CEF is required to run NBAR. Also, when using the &#8220;<em>show ip nbar protocol-discovery</em>&#8221; command, it will show you all interfaces unless you add &#8220;interface X&#8221; after it. NBAR can also save you a lot of time. Once we get to QoS configuration, you will see. The old way of doing things was to configure extended ACL&#8217;s listing port numbers and IP&#8217;s, and etc. Instead of &#8220;access-list 101 permit ip any host 192.168.1.1 eq www&#8221;, we now use &#8220;match protocol http&#8221;. Nice!</p>
<p><br class="spacer_" /></p>
<p><strong>Congestion Management/Queuing&#8230;waiting in line&#8230;</strong></p>
<p>Ahh, congestion management. Running fiber everywhere along with 1GB ethernet everywhere is great..but congestion still happens. Why? Many reasons, really..poor QoS implementation (or none!), poorly designed networks, outdated equipment, etc..the list goes on and on. Generally, however, the point of congestion is almost always where traffic from multiple sources aggregate onto a single link. Picture 10 access-layer switches connecting to one distribution-layer switch, which only has a 100MB link to the core. You could easily have 400 users&#8217; traffic flowing to the core on that one link. Another scenario would be where you have a slow WAN link (pretty common!). Another way you could think of it is: Congestion occurs when the rate of input for incoming traffic exceeds the rate of output. In english? When going from high speed interfaces down to low speed interfaces you are prone to congestion. It&#8217;s no different then a theatre filled with people trying to get out of two doors at once..they can only move so fast!</p>
<p>Queuing is a temporary form of congestion management. It will ease some issues with congestion, but the long-term fix is fairly obvious- getting more capacity. This is not always feasible, unfortunately. So what can we do? We can alter the order that traffic leaves the node, so the low-priority traffic will be dropped first, and not the high priority (VoIP, critical applications, etc) traffic. By default, however, you will experience FIFO (First In, First Out) on interfaces that are faster then 2.048Mbps. Weighted Fair Queuing is used on interfaces slower then 2.048Mbps by default..but we&#8217;ll get into that in a bit. Depicted below is the way FIFO software queuing works. It is key to mention that there is only one hardware queue..and it uses FIFO. When we discuss creating new queues, and assigning traffic to certain queues, we are discussing the software queue only. As you can see below, FIFO treats all traffic equally, meaning the sensitive VoIP traffic will have to wait in line behind the web traffic. Not ideal!</p>
<p><br class="spacer_" /></p>
<div><img class="aligncenter size-full wp-image-348" title="fifo_queue2" src="http://www.sgtccie.com/blog/wp-content/uploads/2009/03/fifo_queue2.jpg" alt="fifo_queue2" width="558" height="108" />
</div>
<p><br class="spacer_" /></p>
<p><strong>Priority Queuing </strong></p>
<p>Priority Queuing, or PQ, consists of four queues: high, medium, normal, and low. By default, all packets will be assigned to the normal queue when using PQ. PQ is a pretty harsh Queuing method, which generally leaves lower-priority queues starved. PQ works by always giving the high priority queue the right of way, so to speak. If there is something in the high queue, it is sent before any other traffic. If the high queue is empty, it will check the medium queue..send one packet from there, then move down to the low, and start the cycle over. What you get is the possibility of the queues below high not getting enough bandwidth, since the high queue is taking it all. The idea is almost right (treating the high priority traffic as such), but the implementation is a little off. Let&#8217;s look at some better options.</p>
<p><strong>Round Robin (RR)</strong></p>
<p>Round robin contrasts heavily in comparison to Priority Queuing. The Round Robin process passes one packet from one queue at a time, effectively (almost) dividing the bandwidth almost equally. This is assuming the packet sizes are almost the same size, however. If one queue consistently has packet sizes much larger then the rest, it will take more bandwidth then the rest. RR does a good job of dealing with queue starvation, but does not prioritize at all. It can also be somewhat unpredictable as to actual queue usage.</p>
<p><strong>Weighted Round Robin (WRR)</strong></p>
<p>WRR is a modification of RR, where each queue receives a weight, and as a result of the weight, receives that portion of the bandwidth. WRR allows you to prioritize to some degree, but can also be somewhat unpredictable as some queues may use more bandwidth then planned.</p>
<p><strong>Weighted Fair Queuing (WFQ)</strong></p>
<p>As I mentioned before, WFQ is the default queuing method used on interfaces that are slower then 2.048Mbps. WFQ is important to know because as we&#8217;ll find later, it is implemented in both LLQ and CBWFQ..which are popular methods of queuing these days. WFQ is flow-based, meaning that once it receives a flow, it is assigned to a FIFO queue. A flow consists of packets that have the same source IP, destination IP, Layer 4 protocol (TCP/UDP), IP Precedence, TCP/UDP source and destination ports. WFQ creates queues on the fly for each flow, so the number of queues can vary greatly.</p>
<p><strong>Class-Based Weighted Fair Queueing (CBWFQ)</strong></p>
<p>CBWFQ divides traffic into classes (that are configured by the user), which are assigned their own respective queue. Although each queue can use more bandwidth then configured for, they can have a minimum bandwidth guarantee, so that even in times of congestion, they will get that amount of bandwidth. CBWFQ can create up to 64 queues, with each one being a FIFO queue. It is worth noting that you can configure the class-default queue to be a WFQ. The class-default queue is used for all undefined traffic. Bear in mind that while the CBWFQ functions with WFQ as a whole, once the traffic has been divided up into it&#8217;s respective queue, they are FIFO. Think of it like this, you are sending traffic into separate lines based on preference, but once in that line, they are considered equal. CBWFQ is a big improvement over previous queuing methods, however it still falls short as it relates to voice or video applications. You&#8217;ll note that CBWFQ provides no method of identifying a priority queue..this can hurt applications sensitive to delay. To solve these issues we move on to LLQ!</p>
<p><strong>Low Latency Queuing (LLQ)</strong></p>
<p>At this point we can agree what we need is a queuing method that will give priority to delay-sensitive traffic, but at the same time not leave all other queues starved for bandwidth. Do you remember the issue with priority queuing? PQ gives priority to one queue- which is great, but leaves the other queues starved in times of congestion. WFQ is good, as it doesn&#8217;t leave flows starved, but it also provides no guarantee to any particular queues. LLQ solves these issues. LLQ is essentially a CBWFQ with at least one strict-priority queue. What does this mean? It means one queue receives priority, however that queue is <em>policed</em>, meaning in times of congestion it cannot use more bandwidth than is configured.</p>
<p><br class="spacer_" /></p>
<p><strong>Ahhh..sigh of relief!</strong></p>
<p>Here we are, at the end of Part II! As you have noticed by now, QoS can definitely be daunting, but if you take the time to tackle the theory behind it, it really isn&#8217;t that difficult. The difficulty (for me at least), has always been in the theory as opposed to the implementation! In Part III we will discuss Traffic shaping/policing, link efficiency, and congestion avoidance. Look forward to seeing you!</p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtccie.com/blog/2009/03/qos-essentials-part-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QoS: Essentials, Part I</title>
		<link>http://www.sgtccie.com/blog/2009/03/qos-essentials-part-i/</link>
		<comments>http://www.sgtccie.com/blog/2009/03/qos-essentials-part-i/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 01:51:11 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[QoS]]></category>
		<category><![CDATA[CCIE]]></category>
		<category><![CDATA[ccip]]></category>
		<category><![CDATA[ccna]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[CLP]]></category>
		<category><![CDATA[DE]]></category>
		<category><![CDATA[DSCP]]></category>
		<category><![CDATA[frame relay]]></category>
		<category><![CDATA[marking]]></category>
		<category><![CDATA[MPLS EXP]]></category>
		<category><![CDATA[quality of service]]></category>

		<guid isPermaLink="false">http://www.sgtccie.com/blog/?p=14</guid>
		<description><![CDATA[<a href="http://www.sgtccie.com/blog/2009/03/qos-essentials-part-i/" title="QoS: Essentials, Part I"></a>Many of you reading this have been mystifyed by terms like WFQ, WRED, Jitter, or DiffServ. My aim in Part I of QoS: Essentials, is to take some of the mystique surrounding Quality of Service away. Let&#8217;s get to it! &#8230;<p class="read-more"><a href="http://www.sgtccie.com/blog/2009/03/qos-essentials-part-i/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://www.sgtccie.com/blog/2009/03/qos-essentials-part-i/" title="QoS: Essentials, Part I"></a><p style="text-align: left;">Many of you reading this have been mystifyed by terms like WFQ, WRED, Jitter, or DiffServ. My aim in Part I of QoS: Essentials, is to take some of the mystique surrounding Quality of Service away. Let&#8217;s get to it!</p>
<p style="text-align: left;"><strong>What is QoS?</strong><br />
While in Iraq, we stayed in tiny trailers with 2 soldiers sharing a room. It wasn&#8217;t horrible, but let&#8217;s just say you got to know your roommate a little bit more then you wanted to due to the close proximity. Two people was OK, compared to what some people had to do! Our commander was given his own trailer, because well, he was more important then the &#8220;foot soldiers&#8221; or &#8220;average joes&#8221;. If something happened to most people in my unit, the position can be filled. If something happens to the commander, it&#8217;s not quite as easy. Moving on, the commander receives his own room, thus putting a soldier out, and forcing him to move in with two guys already occupying a trailer. Their beds were nearly touching&#8230;for 15 months. What happened? QoS&#8230;sort of. Here&#8217;s what cisco has to say about QoS:</p>
<p style="text-align: left;"><em>&#8220;QoS is the ability of the network to provide better or special service to a set of users or applications or both <strong>to the detriment of other users or applications or both</strong>.</em>&#8220;</p>
<p style="text-align: left;">Based on that statement, we can agree that Quality of Service is essentially improving service for one service, while limiting the service of other users/applications. Think about it, you run a network with 1,000+ systems, and run a special application we&#8217;ll call AppX that the companies employee&#8217;s practically live on. You also have employee&#8217;s who are running P2P file transfer programs such as Gnutella, Kazaa, or Limewire. Without a QoS policy in place, heavy P2P use will prove to be detrimental to AppX, and thus decrease company productivity, resulting in less earnings, and ultimately hurt everyone! In the above scenario, using QoS, it would be completely possible to limit the P2P users to only using a percentage of the available bandwidth, and simultaneously guarantee a percentage of bandwidth to AppX..even in times of network congestion. Pretty outstanding!</p>
<p style="text-align: left;">Before we get into the options QoS provides you with, we must first understand the basic QoS models available to you as the network engineer.</p>
<ul style="text-align: left;">
<li>Best Effort: No QoS policy is implemented. All packets receive the same level of service.</li>
</ul>
<ul style="text-align: left;">
<li>Integrated Services Model (IntServ): the first real end-to-end QoS solution. IntServ is based on a per-flow basis, where a &#8220;flow&#8221; is defined as a stream of packets with a common source, destination, and port number. Does not scale well, as each router using IntServ is required to maintain per flow state information.</li>
</ul>
<ul style="text-align: left;">
<li>Differentiated Services (DiffServ): Not a guaranteed service model. Flows are combined into &#8220;classes&#8221;, and are treated on a per class basis. DiffServ is very scalable, and flexible. Packet classification, marking, and conditioning is done at the edge, where the core handles QoS on a Per-Hop Behavior (PHB) based on the packet&#8217;s class. DiffServ is highly scalable</li>
</ul>
<p style="text-align: left;"><strong>QoS: Steps to implementation</strong></p>
<p style="text-align: left;">There are three broad steps required to implement QoS. While the methods of implementation vary, the idea behind each is the same. They are as follows:</p>
<ol style="text-align: left;">
<li><strong>Identify traffic types and requirements</strong></li>
</ol>
<p style="text-align: left;">The first step consists of evaluating business requirements, and the applications/services currently in use on the network- then determining the requirements of each one. The idea behind this step is to later place apps/services with similar requirements into the same class, and then apply policies to each class. For example, if you have VoIP traffic, and have several other important, but not critical applications, you would give priority to the VoIP traffic (therefore getting it&#8217;s own class), and give the lower-priority traffic it&#8217;s own class.</p>
<p style="text-align: left;"><strong></strong>2.<strong> Classifying traffic based on the requirements</strong></p>
<p style="text-align: left;">Classifying traffic is essentially taking a group of applications and placing them into several classes. Marking is also usually done after classifying. Why should you mark? If you don&#8217;t, each device in your network that handles QoS will have to perform a deep-packet inspection along each hop. If you mark at the edge, each device that sees that marking (or &#8220;color&#8221;) after that will know what treatment it should receive already. Classification can be based on the incoming interface, Class of Service (CoS, Layer 2 marking) value, source or destination IP address, IP Precedence/DSCP value, MPLS EXP, or by the application type.</p>
<p style="text-align: left;">3. <strong>Define Policies for each class</strong></p>
<p style="text-align: left;">Now that you&#8217;ve identified business/network requirements, we&#8217;ve classified and marked (you did mark your traffic, didn&#8217;t you?) our traffic..we must do something with all of it! This is where the action happens. This is where you can set a maximum/minimum bandwidth for a class to use, define a priority, or apply congestion management/avoidance (in other words, how to act when there is congestion present..which traffic should be dropped first, etc).</p>
<p style="text-align: left;"><strong>Trust Boundaries</strong></p>
<p style="text-align: left;">So you know the steps to implementing QoS, and classifying/marking..but where do we start? The point at which traffic is marked in our network is defined as the &#8220;trust boundary&#8221;, or where the QoS markings are &#8220;trusted&#8221;. You should always try to mark closest to the source if possible. A common scenario I hear is network admins installing Cisco VoIP phones, with a PC connected to the 3-port switch on the phone. Most Cisco phones will provide a CoS (Layer 2 marking)/IP Precedence (Layer 3 marking) of 5 by default. If you &#8220;trust&#8221; the incoming values at the access switch, your trust boundary is at the IP phone/access switch.  This is ideal. This type of configuration ensures that all of your core/distribution nodes do nothing more then quickly read the markings, and act on the necessary policy for that class instead of deep packet inspection. In the diagram below, we see three different possibilities for trust boundaries:</p>
<p style="text-align: left;"><img class="size-full wp-image-18 alignnone" title="trustboundary" src="http://www.sgtccie.com/blog/wp-content/uploads/2009/03/trustboundary.jpg" alt="trustboundary" width="732" height="111" /></p>
<p style="text-align: left;">A) In this scenario, the IP phone marks it&#8217;s own traffic. This is ideal, however not all IP phones can mark.</p>
<p style="text-align: left;">B) This option is still good, and is a pretty common place to mark- at the access layer. This is generally where you would mark if you just had a regular PC attached, or a phone not capable of marking it&#8217;s own traffic.</p>
<p style="text-align: left;">C) This one is OK. Generally the congestion in networks occur at the WAN links, so as long as you mark before it hits the WAN link, you should still be OK. This is why you generally want to mark as close to the source as possible.</p>
<p style="text-align: left;">
<p style="text-align: left;">Although this has not been a complete overview of QoS, I hope it&#8217;s cleared some things up for those new to QoS. In Part II we&#8217;ll discuss QoS policy, Congestion avoidance/management, and Queueing.</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sgtccie.com/blog/2009/03/qos-essentials-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

